Compare commits
15 commits
Author | SHA1 | Date | |
---|---|---|---|
e917168e1b | |||
77817d8e0f | |||
0b14fdc39c | |||
ebbf5f6d81 | |||
aa2ccfe708 | |||
e4377fe6ba | |||
041bc97472 | |||
0821e98888 | |||
294be272ac | |||
268c853783 | |||
a5a89a65d1 | |||
438dd2fa83 | |||
8deee81a99 | |||
e84127eea8 | |||
35f00faafb |
1 changed files with 55 additions and 93 deletions
148
init.el
148
init.el
|
@ -19,7 +19,7 @@
|
|||
(setq coding-system-for-write 'utf-8 )
|
||||
(setq sentence-end-double-space nil) ; sentence SHOULD end with only a point.
|
||||
(setq initial-scratch-message "Welcome in Emacs") ; print a default message in the empty scratch buffer opened at startup
|
||||
(setq focus-follows-mouse nil)
|
||||
(setq focus-follows-mouse nil) ; stop popups from getting focus
|
||||
|
||||
;; global keybindings
|
||||
(global-set-key (kbd "C-k") 'previous-line)
|
||||
|
@ -43,13 +43,13 @@
|
|||
(use-package doom-themes :ensure t)
|
||||
(use-package monokai-theme :ensure t
|
||||
:config
|
||||
(load-theme 'doom-laserwave t))
|
||||
(load-theme 'doom-monokai-pro t))
|
||||
(use-package all-the-icons :ensure t)
|
||||
(use-package doom-modeline :ensure t
|
||||
:hook (after-init . doom-modeline-mode))
|
||||
(set-face-attribute 'default nil
|
||||
:family "Meslo LG S DZ"
|
||||
:height 105
|
||||
:family "Fira Code"
|
||||
:height 125
|
||||
:weight 'normal
|
||||
:width 'normal)
|
||||
|
||||
|
@ -60,10 +60,7 @@
|
|||
:ensure t
|
||||
:config
|
||||
(global-evil-surround-mode 1)
|
||||
(evil-define-key 'visual evil-surround-mode-map "s" 'evil-surround-region)
|
||||
)
|
||||
(use-package evil-matchit :ensure t
|
||||
:config (global-evil-matchit-mode 1))
|
||||
(evil-define-key 'visual evil-surround-mode-map "s" 'evil-surround-region))
|
||||
|
||||
;; ivy config
|
||||
(use-package ivy :ensure t
|
||||
|
@ -73,14 +70,21 @@
|
|||
(setq enable-recursive-minibuffers t)
|
||||
(setq ivy-re-builders-alist
|
||||
'((swiper . ivy--regex-plus)
|
||||
(t . ivy--regex-fuzzy)))
|
||||
(ivy-mode 1)
|
||||
(t . ivy--regex-plus)))
|
||||
;; better movement
|
||||
(define-key ivy-minibuffer-map (kbd "C-j") 'ivy-next-line)
|
||||
(define-key ivy-minibuffer-map (kbd "C-k") 'ivy-previous-line)
|
||||
(define-key ivy-minibuffer-map (kbd "C-h") (kbd "DEL"))
|
||||
(define-key ivy-minibuffer-map (kbd "C-S-h") help-map)
|
||||
(define-key ivy-minibuffer-map (kbd "C-l") 'ivy-alt-done)
|
||||
(define-key ivy-minibuffer-map (kbd "<escape>") 'minibuffer-keyboard-quit))
|
||||
(define-key ivy-minibuffer-map (kbd "<escape>") 'minibuffer-keyboard-quit)
|
||||
|
||||
(define-key ivy-switch-buffer-map (kbd "C-j") 'ivy-next-line)
|
||||
(define-key ivy-switch-buffer-map (kbd "C-k") 'ivy-previous-line)
|
||||
(define-key ivy-switch-buffer-map (kbd "C-h") (kbd "DEL"))
|
||||
(define-key ivy-switch-buffer-map (kbd "C-S-h") help-map)
|
||||
(define-key ivy-switch-buffer-map (kbd "C-l") 'ivy-alt-done)
|
||||
(define-key ivy-switch-buffer-map (kbd "<escape>") 'minibuffer-keyboard-quit))
|
||||
(use-package ivy-xref :ensure t
|
||||
:init (setq xref-show-xrefs-function #'ivy-xref-show-xrefs))
|
||||
(use-package ivy-rich :ensure t
|
||||
|
@ -99,14 +103,13 @@
|
|||
;; which key
|
||||
(use-package which-key :ensure t
|
||||
:config
|
||||
(which-key-mode 1)
|
||||
(which-key-mode)
|
||||
(which-key-setup-side-window-bottom)
|
||||
(which-key-setup-minibuffer)
|
||||
(setq which-key-idle-delay .3)
|
||||
)
|
||||
|
||||
;; langs
|
||||
;;
|
||||
|
||||
;; vue
|
||||
(use-package vue-mode :ensure t
|
||||
|
@ -114,7 +117,18 @@
|
|||
(add-to-list 'auto-mode-alist '("\\.vue\\'" . vue-mode)))
|
||||
;; js
|
||||
(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))
|
||||
(add-hook 'js2-mode-hook 'lsp-deferred)
|
||||
(add-hook 'js2-mode-hook 'prettier-js-mode)
|
||||
(setq tab-width 2)
|
||||
(setq js2-basic-offset 2))
|
||||
(use-package prettier-js :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))))
|
||||
;; golang
|
||||
(use-package go-mode :ensure t
|
||||
:config
|
||||
|
@ -129,38 +143,23 @@
|
|||
;; dockerfile
|
||||
(use-package dockerfile-mode :ensure t
|
||||
:config (add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode)))
|
||||
;; puppet
|
||||
(use-package puppet-mode :ensure t
|
||||
;; orgmode
|
||||
(use-package evil-org
|
||||
:ensure t
|
||||
:after org
|
||||
:config
|
||||
(add-to-list 'auto-mode-alist '("\\.pp\\'" . puppet-mode))
|
||||
(general-define-key
|
||||
:states '(normal visual insert emacs)
|
||||
:keymaps 'puppet-mode-map
|
||||
:prefix "SPC"
|
||||
:non-normal-prefix "C-SPC"
|
||||
"ma" 'puppet-align-block
|
||||
)
|
||||
)
|
||||
;; php
|
||||
(use-package php-mode :ensure t)
|
||||
;; k8s
|
||||
(use-package k8s-mode :ensure t)
|
||||
;; hcl
|
||||
(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)))
|
||||
(add-hook 'org-mode-hook 'evil-org-mode)
|
||||
(add-hook 'evil-org-mode-hook
|
||||
(lambda ()
|
||||
(evil-org-set-key-theme)))
|
||||
(require 'evil-org-agenda)
|
||||
(evil-org-agenda-set-keys))
|
||||
;; bazel / starlak
|
||||
(use-package bazel-mode :ensure t)
|
||||
|
||||
|
||||
;; code-with-fun
|
||||
(use-package rainbow-mode :ensure t)
|
||||
(use-package hl-todo :ensure t)
|
||||
(use-package whitespace
|
||||
:config
|
||||
(setq whitespace-style '(face empty tabs lines-tail trailing))
|
||||
|
@ -172,13 +171,14 @@
|
|||
(define-key company-active-map (kbd "C-p") 'company-select-previous)
|
||||
(define-key company-active-map (kbd "C-j") 'company-select-next)
|
||||
(define-key company-active-map (kbd "C-k") 'company-select-previous)
|
||||
(setq company-idle-delay 0.2
|
||||
(define-key company-search-map (kbd "C-n") 'company-select-next)
|
||||
(define-key company-search-map (kbd "C-p") 'company-select-previous)
|
||||
(define-key company-search-map (kbd "C-j") 'company-select-next)
|
||||
(define-key company-search-map (kbd "C-k") 'company-select-previous)
|
||||
(setq company-idle-delay 0.1
|
||||
company-minimum-prefix-length 2
|
||||
company-require-match nil
|
||||
company-dabbrev-ignore-case nil
|
||||
company-dabbrev-downcase nil)
|
||||
)
|
||||
(use-package highlight-indentation :ensure t)
|
||||
company-require-match nil)
|
||||
)
|
||||
|
||||
;; lsp
|
||||
(use-package lsp-mode :ensure t
|
||||
|
@ -195,47 +195,16 @@
|
|||
(rust-mode . lsp-deferred)
|
||||
(vue-mode . lsp-deferred)
|
||||
: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
|
||||
(make-lsp-client
|
||||
:new-connection
|
||||
(lsp-stdio-connection '("bundle"
|
||||
"exec"
|
||||
"--keep-file-descriptors"
|
||||
"/home/stefan/Apps/puppet-editor-services/puppet-languageserver"
|
||||
"--debug=/tmp/puplsp"
|
||||
"--stdio"))
|
||||
:major-modes '(puppet-mode)
|
||||
:server-id '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
|
||||
lsp-auto-guess-root t
|
||||
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
|
||||
:init (global-flycheck-mode))
|
||||
(use-package lsp-ui :ensure t
|
||||
:commands lsp-ui-mode
|
||||
:config
|
||||
(setq lsp-ui-doc-position 'at-point
|
||||
lsp-ui-doc-use-childframe t)
|
||||
)
|
||||
(use-package company-lsp :ensure t
|
||||
:commands company-lsp)
|
||||
(use-package yasnippet :ensure t
|
||||
|
@ -250,10 +219,6 @@
|
|||
:commands lsp-treemacs-errors-list)
|
||||
(use-package treemacs-evil :ensure t
|
||||
:after treemacs evil)
|
||||
(use-package treemacs-evil :ensure t
|
||||
:after treemacs evil)
|
||||
(use-package treemacs-evil :ensure t
|
||||
:after treemacs evil)
|
||||
|
||||
;; magit
|
||||
(use-package evil-magit :ensure t)
|
||||
|
@ -284,14 +249,14 @@
|
|||
|
||||
;; Buffers
|
||||
"b" '(:ignore t :which-key "Buffers")
|
||||
"bb" 'switch-to-buffer
|
||||
"bb" 'counsel-switch-buffer
|
||||
"bd" 'evil-delete-buffer
|
||||
"bn" 'next-buffer
|
||||
"bn" 'next-buffer
|
||||
"bs" 'foo/switch-to-scratch-buffer
|
||||
|
||||
;; Files
|
||||
"ff" 'counsel-find-file
|
||||
"ff" 'counsel-find-file
|
||||
"fL" 'counsel-locate
|
||||
"fr" 'counsel-recentf
|
||||
"fR" 'foo/rename-current-buffer-file
|
||||
|
@ -318,7 +283,7 @@
|
|||
"mh" 'lsp-describe-thing-at-point
|
||||
"mj" 'imenu
|
||||
"me" 'lsp-ui-flycheck-list
|
||||
"mn" 'flycheck-next-error
|
||||
"mn" 'flycheck-next-error
|
||||
|
||||
;; Projectile
|
||||
"p" '(:ignore t :which-key "Projectile")
|
||||
|
@ -374,10 +339,7 @@
|
|||
"wv" 'split-window-right
|
||||
"wV" 'split-window-right-and-focus
|
||||
"ww" 'other-window
|
||||
"wx" 'kill-buffer-and-window
|
||||
|
||||
|
||||
))
|
||||
"wx" 'kill-buffer-and-window))
|
||||
|
||||
;; custom functions
|
||||
|
||||
|
@ -499,7 +461,7 @@ initialized with the current directory instead of filename."
|
|||
;; If there is more than one, they won't work right.
|
||||
'(custom-safe-themes
|
||||
(quote
|
||||
("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)))
|
||||
("a92e9da0fab90cbec4af4a2035602208cebf3d071ea547157b2bfc5d9bd4d48d" "82360e5f96244ce8cc6e765eeebe7788c2c5f3aeb96c1a765629c5c7937c0b5b" "d74c5485d42ca4b7f3092e50db687600d0e16006d8fa335c69cf4f379dbd0eee" "f9aede508e587fe21bcfc0a85e1ec7d27312d9587e686a6f5afdbb0d220eab50" "3c7eef027f94956ea194aafa537c78098ab4cd907a2bb11b0e6c5f42e8a95750" "1526aeed166165811eefd9a6f9176061ec3d121ba39500af2048073bea80911e" "d71aabbbd692b54b6263bfe016607f93553ea214bc1435d17de98894a5c3a086" "76bfa9318742342233d8b0b42e824130b3a50dcc732866ff8e47366aed69de11" "f2b56244ecc6f4b952b2bcb1d7e517f1f4272876a8c873b378f5cf68e904bd59" "6177ecbffb8f37756012c9ee9fd73fc043520836d254397566e37c6204118852" "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
|
||||
(quote
|
||||
(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)))
|
||||
|
@ -509,7 +471,7 @@ initialized with the current directory instead of filename."
|
|||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; 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/psalm-language-server"))))
|
||||
)
|
||||
|
||||
(provide 'init)
|
||||
;;; init.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue