This commit is contained in:
Stefan Schwarz 2020-05-19 14:46:46 +02:00
parent 68d2b4ae8e
commit f3037334df

80
init.el
View file

@ -18,8 +18,8 @@
(setq coding-system-for-read 'utf-8 ) ; use utf-8 by default (setq coding-system-for-read 'utf-8 ) ; use utf-8 by default
(setq coding-system-for-write 'utf-8 ) (setq coding-system-for-write 'utf-8 )
(setq sentence-end-double-space nil) ; sentence SHOULD end with only a point. (setq sentence-end-double-space nil) ; sentence SHOULD end with only a point.
(setq default-fill-column 80) ; toggle wrapping text at the 80th character
(setq initial-scratch-message "Welcome in Emacs") ; print a default message in the empty scratch buffer opened at startup (setq initial-scratch-message "Welcome in Emacs") ; print a default message in the empty scratch buffer opened at startup
(setq focus-follows-mouse nil)
;; global keybindings ;; global keybindings
(global-set-key (kbd "C-k") 'previous-line) (global-set-key (kbd "C-k") 'previous-line)
@ -40,9 +40,10 @@
(require 'use-package) (require 'use-package)
;; themes ;; themes
(use-package doom-themes :ensure t (use-package doom-themes :ensure t)
(use-package monokai-theme :ensure t
:config :config
(load-theme 'doom-snazzy t)) (load-theme 'doom-laserwave t))
(use-package all-the-icons :ensure t) (use-package all-the-icons :ensure t)
(use-package doom-modeline :ensure t (use-package doom-modeline :ensure t
:hook (after-init . doom-modeline-mode)) :hook (after-init . doom-modeline-mode))
@ -107,12 +108,18 @@
;; langs ;; langs
;; ;;
;; vue
(use-package vue-mode :ensure t
:config
(add-to-list 'auto-mode-alist '("\\.vue\\'" . vue-mode)))
;; js ;; js
(use-package js2-mode :ensure t (use-package js2-mode :ensure t
:config (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))) :config (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)))
;; golang ;; golang
(use-package go-mode :ensure t (use-package go-mode :ensure t
:config (add-to-list 'auto-mode-alist '("\\.go\\'" . go-mode))) :config
(add-to-list 'auto-mode-alist '("\\.go\\'" . go-mode))
)
;; yaml ;; yaml
(use-package yaml-mode :ensure t (use-package yaml-mode :ensure t
:config :config
@ -137,12 +144,27 @@
;; php ;; php
(use-package php-mode :ensure t) (use-package php-mode :ensure t)
;; k8s ;; k8s
(use-package kubernetes :ensure t) (use-package k8s-mode :ensure t)
(use-package kubernetes-evil :ensure t ;; hcl
:after kubernetes) (use-package hcl-mode :ensure t)
;; rust
(use-package rust-mode :ensure t
:config
(setq rust-format-on-save t)
(add-hook 'rust-mode-hook
(lambda () (setq indent-tabs-mode nil)))
)
(add-hook 'rust-mode-hook
(lambda () (setq indent-tabs-mode nil)))
;; bazel / starlak
(use-package bazel-mode :ensure t)
;; code-with-fun ;; code-with-fun
(use-package whitespace
:config
(setq whitespace-style '(face empty tabs lines-tail trailing))
(global-whitespace-mode t))
(use-package company (use-package company
:config :config
(global-company-mode 1) (global-company-mode 1)
@ -156,7 +178,9 @@
company-dabbrev-ignore-case nil company-dabbrev-ignore-case nil
company-dabbrev-downcase nil) company-dabbrev-downcase nil)
) )
(use-package highlight-indentation :ensure t)
;; lsp
(use-package lsp-mode :ensure t (use-package lsp-mode :ensure t
:commands (lsp lsp-deferred) :commands (lsp lsp-deferred)
:hook :hook
@ -164,33 +188,54 @@
(dockerfile-mode . lsp-deferred) (dockerfile-mode . lsp-deferred)
(go-mode . lsp-deferred) (go-mode . lsp-deferred)
(javascript-mode . lsp-deferred) (javascript-mode . lsp-deferred)
(js-mode . lsp-deferred) (js2-mode . lsp-deferred)
(puppet-mode . lsp-deferred) (puppet-mode . lsp-deferred)
(python-mode . lsp-deferred) (python-mode . lsp-deferred)
(ruby-mode . lsp-deferred) (ruby-mode . lsp-deferred)
(rust-mode . lsp-deferred) (rust-mode . lsp-deferred)
(vue-mode . lsp-deferred)
:config :config
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection '("/usr/bin/terraform-lsp" "-enable-log-file"))
:major-modes '(hcl-mode)
:server-id 'terraform-ls))
(lsp-register-client (lsp-register-client
(make-lsp-client (make-lsp-client
:new-connection :new-connection
(lsp-stdio-connection '("bundle" (lsp-stdio-connection '("bundle"
"exec" "exec"
"--keep-file-descriptors"
"/home/stefan/Apps/puppet-editor-services/puppet-languageserver" "/home/stefan/Apps/puppet-editor-services/puppet-languageserver"
"--debug=/tmp/puplsp" "--debug=/tmp/puplsp"
"--stdio")) "--stdio"))
:major-modes '(puppet-mode) :major-modes '(puppet-mode)
:server-id 'puppet-languageserver)) :server-id 'puppet-languageserver))
(add-to-list 'lsp-language-id-configuration '(puppet-mode . "puppet-languageserver")) (add-to-list 'lsp-language-id-configuration '(puppet-mode . "puppet-languageserver"))
(lsp-register-client
(make-lsp-client
:new-connection
(lsp-stdio-connection '("/home/stefan/Apps/yaml-language-server/bin/yaml-language-server"
"--stdio"))
:major-modes '(yaml-mode)
:server-id 'yaml-languageserver))
(add-to-list 'lsp-language-id-configuration '(yaml-mode . "yaml-languageserver"))
(setq lsp-auto-configure t (setq lsp-auto-configure t
lsp-prefer-flymake nil lsp-auto-guess-root t
lsp-auto-guess-root nil) lsp-enable-indentation t
lsp-enable-on-type-formatting t
lsp-before-save-edits t
lsp-enable-snippet t
)
(defvar lsp-vetur-validation-template nil)
) )
(use-package flycheck :ensure t (use-package flycheck :ensure t
:init (global-flycheck-mode)) :init (global-flycheck-mode))
(use-package lsp-ui :ensure t (use-package lsp-ui :ensure t
:commands lsp-ui-mode :commands lsp-ui-mode
:config (setq lsp-ui-doc-position 'at-point :config
lsp-ui-doc-use-childframe t)) (setq lsp-ui-doc-position 'at-point
lsp-ui-doc-use-childframe t)
)
(use-package company-lsp :ensure t (use-package company-lsp :ensure t
:commands company-lsp) :commands company-lsp)
(use-package yasnippet :ensure t (use-package yasnippet :ensure t
@ -266,11 +311,14 @@
"jj" 'avy-goto-char-2 "jj" 'avy-goto-char-2
;; Langs ;; Langs
"mf" 'lsp
"mf" 'lsp-format-buffer "mf" 'lsp-format-buffer
"mi" 'lsp-organize-imports
"mgg" 'lsp-find-definition "mgg" 'lsp-find-definition
"mh" 'lsp-describe-thing-at-point "mh" 'lsp-describe-thing-at-point
"mj" 'imenu "mj" 'imenu
"me" 'lsp-ui-flycheck-list "me" 'lsp-ui-flycheck-list
"mn" 'flycheck-next-error
;; Projectile ;; Projectile
"p" '(:ignore t :which-key "Projectile") "p" '(:ignore t :which-key "Projectile")
@ -332,6 +380,7 @@
)) ))
;; custom functions ;; custom functions
(defun foo/toggle-maximize-buffer () "Maximize buffer." (defun foo/toggle-maximize-buffer () "Maximize buffer."
(interactive) (interactive)
(save-excursion (save-excursion
@ -450,16 +499,17 @@ initialized with the current directory instead of filename."
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(custom-safe-themes '(custom-safe-themes
(quote (quote
("427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "93a0885d5f46d2aeac12bf6be1754faa7d5e28b27926b8aa812840fe7d0b7983" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "db10381a554231a40b7474eaac28bd58f05067faacce3b25d294bb179a3511a1" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "868abc288f3afe212a70d24de2e156180e97c67ca2e86ba0f2bf9a18c9672f07" default))) ("99ea831ca79a916f1bd789de366b639d09811501e8c092c85b2cb7d697777f93" "e074be1c799b509f52870ee596a5977b519f6d269455b84ed998666cf6fc802a" "ca849ae0c889eb918785cdc75452b1e11a00848a5128a95a23872e0119ccc8f4" "1ca1f43ca32d30b05980e01fa60c107b02240226ac486f41f9b790899f6f6e67" "55257ccc6763185dde2146bcc5aa2b83130cc55042c45daaf5efe3c3137b578f" "5091eadbb87fa0a168a65f2c3e579d1a648d764f12ab9d3ab7bdefca709cd2a5" "5a411e7cb2d7955b28c514cd5b75782c6dd4ba027089fec17a2573405b0fdd5c" "aed6332e9a38b49bb044b994e8be0d57a2f67ff6ca96f5ce8e0130562c4cc233" "2d1fe7c9007a5b76cea4395b0fc664d0c1cfd34bb4f1860300347cdad67fb2f9" "7dc3fe8fadb914563790a3fbe587fd455626442f66da333ea4de2c455feefb98" "37ba833442e0c5155a46df21446cadbe623440ccb6bbd61382eb869a2b9e9bf9" "09cadcc2784baa744c6a7c5ebf2a30df59c275414768b0719b800cabd8d1b842" "427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "93a0885d5f46d2aeac12bf6be1754faa7d5e28b27926b8aa812840fe7d0b7983" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "db10381a554231a40b7474eaac28bd58f05067faacce3b25d294bb179a3511a1" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "868abc288f3afe212a70d24de2e156180e97c67ca2e86ba0f2bf9a18c9672f07" default)))
'(package-selected-packages '(package-selected-packages
(quote (quote
(php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy)))) (bazel-mode rainbow-mode highlight-indentation k8s-mode darkokai-theme monokai-pro-theme php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy)))
'(require-final-newline t))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful. ;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance. ;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
'(lsp-clients-php-server-command (quote ("php /home/stefan/Apps/php-language-server/vendor/bin/php-language-server.php")))) '(lsp-clients-php-server-command (quote ("php /home/stefan/Apps/php-language-server/vendor/bin/psalm-language-server"))))
(provide 'init) (provide 'init)
;;; init.el ends here ;;; init.el ends here