|
|
|
@ -265,8 +265,6 @@ Turn on spell checking with hunspell and enable it for specific modes
|
|
|
|
|
(use-package flyspell-correct
|
|
|
|
|
:after flyspell)
|
|
|
|
|
|
|
|
|
|
(use-package flyspell-correct-ivy
|
|
|
|
|
:after flyspell-correct)
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* Functions
|
|
|
|
@ -307,53 +305,45 @@ This sets up the environment path from the shell configuration. Useful for detec
|
|
|
|
|
(when (memq window-system '(mac ns x))
|
|
|
|
|
(exec-path-from-shell-initialize))
|
|
|
|
|
#+end_src
|
|
|
|
|
** Terminals
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(use-package multi-vterm
|
|
|
|
|
:after (evil)
|
|
|
|
|
:config
|
|
|
|
|
(add-hook 'vterm-mode-hook
|
|
|
|
|
(lambda ()
|
|
|
|
|
(setq-local evil-insert-state-cursor 'box)
|
|
|
|
|
(evil-insert-state)))
|
|
|
|
|
;; (define-key vterm-mode-map [return] #'vterm-send-return)
|
|
|
|
|
;; (setq vterm-keymap-exceptions nil)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-e") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-f") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-a") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-v") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-b") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-w") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-u") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-d") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-n") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-m") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-p") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-j") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-k") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-r") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-t") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-g") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-c") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'insert vterm-mode-map (kbd "C-SPC") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'normal vterm-mode-map (kbd "C-d") #'vterm--self-insert)
|
|
|
|
|
;; (evil-define-key 'normal vterm-mode-map (kbd ",c") #'multi-vterm)
|
|
|
|
|
;; (evil-define-key 'normal vterm-mode-map (kbd ",n") #'multi-vterm-next)
|
|
|
|
|
;; (evil-define-key 'normal vterm-mode-map (kbd ",p") #'multi-vterm-prev)
|
|
|
|
|
;; (evil-define-key 'normal vterm-mode-map (kbd "i") #'evil-insert-resume)
|
|
|
|
|
;; (evil-define-key 'normal vterm-mode-map (kbd "o") #'evil-insert-resume)
|
|
|
|
|
;; (evil-define-key 'normal vterm-mode-map (kbd "<return>") #'evil-insert-resume)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
** Counsel
|
|
|
|
|
Better completion for various selection lists
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(use-package counsel
|
|
|
|
|
:init
|
|
|
|
|
:bind (("M-x" . counsel-M-x)
|
|
|
|
|
:map minibuffer-local-map
|
|
|
|
|
("C-r" . 'counsel-minibuffer-history))
|
|
|
|
|
:custom
|
|
|
|
|
(counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only)
|
|
|
|
|
:config
|
|
|
|
|
(counsel-mode 1)
|
|
|
|
|
(setq ivy-initial-inputs-alist nil)) ;; Don't start searches with ^
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Ivy
|
|
|
|
|
Ivy completion, Swiper and ivy rich for nice completion and buffer searching.
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(use-package ivy
|
|
|
|
|
:diminish
|
|
|
|
|
:bind (("C-s" . swiper)
|
|
|
|
|
:map ivy-minibuffer-map
|
|
|
|
|
("TAB" . ivy-alt-done)
|
|
|
|
|
("C-l" . ivy-alt-done)
|
|
|
|
|
("C-j" . ivy-next-line)
|
|
|
|
|
("C-k" . ivy-previous-line)
|
|
|
|
|
:map ivy-switch-buffer-map
|
|
|
|
|
("C-k" . ivy-previous-line)
|
|
|
|
|
("C-l" . ivy-done)
|
|
|
|
|
("C-d" . ivy-switch-buffer-kill)
|
|
|
|
|
:map ivy-reverse-i-search-map
|
|
|
|
|
("C-k" . ivy-previous-line)
|
|
|
|
|
("C-d" . ivy-reverse-i-search-kill))
|
|
|
|
|
:init
|
|
|
|
|
(setq enable-recursive-minibuffers t)
|
|
|
|
|
:custom
|
|
|
|
|
(ivy-height 10)
|
|
|
|
|
:config
|
|
|
|
|
(ivy-mode 1))
|
|
|
|
|
|
|
|
|
|
(use-package ivy-rich
|
|
|
|
|
:custom
|
|
|
|
|
(setcdr (assq t ivy-format-functions-alist) #'ivy-format-function-line)
|
|
|
|
|
(ivy-rich-mode 1))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Doom Mode line
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(use-package doom-modeline
|
|
|
|
@ -389,12 +379,12 @@ Improves the help buffer inside Emacs
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(use-package helpful
|
|
|
|
|
:custom
|
|
|
|
|
(counsel-describe-function-function #'helpful-callable)
|
|
|
|
|
(counsel-describe-variable-function #'helpful-variable)
|
|
|
|
|
(describe-function-function #'helpful-callable)
|
|
|
|
|
(describe-variable-function #'helpful-variable)
|
|
|
|
|
:bind
|
|
|
|
|
([remap describe-function] . counsel-describe-function)
|
|
|
|
|
([remap describe-function] . describe-function)
|
|
|
|
|
([remap describe-command] . helpful-command)
|
|
|
|
|
([remap describe-variable] . counsel-describe-variable)
|
|
|
|
|
([remap describe-variable] . describe-variable)
|
|
|
|
|
([remap describe-key] . helpful-key))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
@ -437,7 +427,6 @@ Projectile gives Emacs project management features.
|
|
|
|
|
(use-package projectile
|
|
|
|
|
:diminish projectile-mode
|
|
|
|
|
:config (projectile-mode)
|
|
|
|
|
:custom ((projectile-completion-system 'ivy))
|
|
|
|
|
:bind-keymap
|
|
|
|
|
("C-c p" . projectile-command-map)
|
|
|
|
|
:init
|
|
|
|
@ -446,10 +435,6 @@ Projectile gives Emacs project management features.
|
|
|
|
|
(setq projectile-enable-caching t))
|
|
|
|
|
(setq projectile-switch-project-action #'projectile-dired))
|
|
|
|
|
|
|
|
|
|
(use-package counsel-projectile
|
|
|
|
|
:config
|
|
|
|
|
(counsel-projectile-mode))
|
|
|
|
|
|
|
|
|
|
(use-package flycheck-projectile)
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
@ -506,7 +491,6 @@ This function sets up the basic org functionality and is called when org is init
|
|
|
|
|
"mtcr" '(org-clock-report :which-key "generate report")
|
|
|
|
|
|
|
|
|
|
"mn" '(org-toggle-narrow-to-subtree :which-key "toggle narrow")
|
|
|
|
|
"mf" '(counsel-org-goto :which-key "find section")
|
|
|
|
|
"mp" '(fs/publish-html :which-key "publish file")
|
|
|
|
|
"mr" '(org-refile :which-key "refile")
|
|
|
|
|
"me" '(org-export-dispatch t :which-key "export"))
|
|
|
|
@ -985,24 +969,144 @@ Tweaks to kill old DIRED buffers, use tab to open subtrees, and make file sizes
|
|
|
|
|
(add-hook 'dired-mode-hook 'all-the-icons-dired-mode))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Mastodon
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(when config/mastodon-username (use-package mastodon
|
|
|
|
|
** Completion
|
|
|
|
|
#+begin_src elisp
|
|
|
|
|
(use-package vertico
|
|
|
|
|
:init
|
|
|
|
|
(vertico-mode))
|
|
|
|
|
|
|
|
|
|
(use-package vertico-directory
|
|
|
|
|
:after vertico
|
|
|
|
|
:ensure nil
|
|
|
|
|
;; More convenient directory navigation commands
|
|
|
|
|
:bind (:map vertico-map
|
|
|
|
|
("RET" . vertico-directory-enter)
|
|
|
|
|
("DEL" . vertico-directory-delete-word)
|
|
|
|
|
("M-DEL" . vertico-directory-delete-char))
|
|
|
|
|
;; Tidy shadowed file names
|
|
|
|
|
:hook (rfn-eshadow-update-overlay . vertico-directory-tidy))
|
|
|
|
|
|
|
|
|
|
(use-package orderless
|
|
|
|
|
:init
|
|
|
|
|
;; Configure a custom style dispatcher (see the Consult wiki)
|
|
|
|
|
;; (setq orderless-style-dispatchers '(+orderless-consult-dispatch orderless-affix-dispatch)
|
|
|
|
|
;; orderless-component-separator #'orderless-escapable-split-on-space)
|
|
|
|
|
(setq completion-styles '(orderless basic)
|
|
|
|
|
completion-category-defaults nil
|
|
|
|
|
completion-category-overrides '((file (styles partial-completion)))))
|
|
|
|
|
|
|
|
|
|
;; Example configuration for Consult
|
|
|
|
|
(use-package consult
|
|
|
|
|
;; Enable automatic preview at point in the *Completions* buffer. This is
|
|
|
|
|
;; relevant when you use the default completion UI.
|
|
|
|
|
:hook (completion-list-mode . consult-preview-at-point-mode)
|
|
|
|
|
|
|
|
|
|
;; The :init configuration is always executed (Not lazy)
|
|
|
|
|
:init
|
|
|
|
|
|
|
|
|
|
;; Optionally configure the register formatting. This improves the register
|
|
|
|
|
;; preview for `consult-register', `consult-register-load',
|
|
|
|
|
;; `consult-register-store' and the Emacs built-ins.
|
|
|
|
|
(setq register-preview-delay 0.5
|
|
|
|
|
register-preview-function #'consult-register-format)
|
|
|
|
|
|
|
|
|
|
;; Optionally tweak the register preview window.
|
|
|
|
|
;; This adds thin lines, sorting and hides the mode line of the window.
|
|
|
|
|
(advice-add #'register-preview :override #'consult-register-window)
|
|
|
|
|
|
|
|
|
|
;; Use Consult to select xref locations with preview
|
|
|
|
|
(setq xref-show-xrefs-function #'consult-xref
|
|
|
|
|
xref-show-definitions-function #'consult-xref)
|
|
|
|
|
|
|
|
|
|
;; Configure other variables and modes in the :config section,
|
|
|
|
|
;; after lazily loading the package.
|
|
|
|
|
:config
|
|
|
|
|
|
|
|
|
|
;; Optionally configure preview. The default value
|
|
|
|
|
;; is 'any, such that any key triggers the preview.
|
|
|
|
|
;; (setq consult-preview-key 'any)
|
|
|
|
|
;; (setq consult-preview-key "M-.")
|
|
|
|
|
;; (setq consult-preview-key '("S-<down>" "S-<up>"))
|
|
|
|
|
;; For some commands and buffer sources it is useful to configure the
|
|
|
|
|
;; :preview-key on a per-command basis using the `consult-customize' macro.
|
|
|
|
|
(consult-customize
|
|
|
|
|
consult-theme :preview-key '(:debounce 0.2 any)
|
|
|
|
|
consult-ripgrep consult-git-grep consult-grep
|
|
|
|
|
consult-bookmark consult-recent-file consult-xref
|
|
|
|
|
consult--source-bookmark consult--source-file-register
|
|
|
|
|
consult--source-recent-file consult--source-project-recent-file
|
|
|
|
|
;; :preview-key "M-."
|
|
|
|
|
:preview-key '(:debounce 0.4 any))
|
|
|
|
|
|
|
|
|
|
;; Optionally configure the narrowing key.
|
|
|
|
|
;; Both < and C-+ work reasonably well.
|
|
|
|
|
(setq consult-narrow-key "<") ;; "C-+"
|
|
|
|
|
|
|
|
|
|
;; Optionally make narrowing help available in the minibuffer.
|
|
|
|
|
;; You may want to use `embark-prefix-help-command' or which-key instead.
|
|
|
|
|
;; (define-key consult-narrow-map (vconcat consult-narrow-key "?") #'consult-narrow-help)
|
|
|
|
|
|
|
|
|
|
;; By default `consult-project-function' uses `project-root' from project.el.
|
|
|
|
|
;; Optionally configure a different project root function.
|
|
|
|
|
;;;; 1. project.el (the default)
|
|
|
|
|
;; (setq consult-project-function #'consult--default-project--function)
|
|
|
|
|
;;;; 2. vc.el (vc-root-dir)
|
|
|
|
|
;; (setq consult-project-function (lambda (_) (vc-root-dir)))
|
|
|
|
|
;;;; 3. locate-dominating-file
|
|
|
|
|
;; (setq consult-project-function (lambda (_) (locate-dominating-file "." ".git")))
|
|
|
|
|
;;;; 4. projectile.el (projectile-project-root)
|
|
|
|
|
;; (autoload 'projectile-project-root "projectile")
|
|
|
|
|
;; (setq consult-project-function (lambda (_) (projectile-project-root)))
|
|
|
|
|
;;;; 5. No project support
|
|
|
|
|
;; (setq consult-project-function nil)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(use-package marginalia
|
|
|
|
|
:ensure t
|
|
|
|
|
:config
|
|
|
|
|
(setq mastodon-instance-url "https://mastodon.5sigma.io")
|
|
|
|
|
(setq mastodon-active-user config/mastodon-username)
|
|
|
|
|
(add-hook 'mastodon-mode-hook 'turn-off-evil-mode)))
|
|
|
|
|
(marginalia-mode))
|
|
|
|
|
|
|
|
|
|
(use-package embark
|
|
|
|
|
:ensure t
|
|
|
|
|
|
|
|
|
|
:bind
|
|
|
|
|
(("C-." . embark-act) ;; pick some comfortable binding
|
|
|
|
|
("C-;" . embark-dwim) ;; good alternative: M-.
|
|
|
|
|
("C-h B" . embark-bindings)) ;; alternative for `describe-bindings'
|
|
|
|
|
|
|
|
|
|
:init
|
|
|
|
|
|
|
|
|
|
;; Optionally replace the key help with a completing-read interface
|
|
|
|
|
(setq prefix-help-command #'embark-prefix-help-command)
|
|
|
|
|
|
|
|
|
|
;; Show the Embark target at point via Eldoc. You may adjust the Eldoc
|
|
|
|
|
;; strategy, if you want to see the documentation from multiple providers.
|
|
|
|
|
(add-hook 'eldoc-documentation-functions #'embark-eldoc-first-target)
|
|
|
|
|
;; (setq eldoc-documentation-strategy #'eldoc-documentation-compose-eagerly)
|
|
|
|
|
|
|
|
|
|
:config
|
|
|
|
|
|
|
|
|
|
;; Hide the mode line of the Embark live/completions buffers
|
|
|
|
|
(add-to-list 'display-buffer-alist
|
|
|
|
|
'("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*"
|
|
|
|
|
nil
|
|
|
|
|
(window-parameters (mode-line-format . none)))))
|
|
|
|
|
|
|
|
|
|
;; Consult users will also want the embark-consult package.
|
|
|
|
|
(use-package embark-consult
|
|
|
|
|
:ensure t ; only need to install it, embark loads it after consult if found
|
|
|
|
|
:hook
|
|
|
|
|
(embark-collect-mode . consult-preview-at-point-mode))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* Keybindings
|
|
|
|
|
General keybindings. Mode specific key binds are generally defined in the initialization of the modes package. These are more global key binds.
|
|
|
|
|
** Root
|
|
|
|
|
Root level actions bound directly on space.
|
|
|
|
|
Root level actions bound directly on space.
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(fs/leader "SPC" '(counsel-find-file :which-key "find file"))
|
|
|
|
|
(fs/leader "SPC" '(find-file :which-key "find file"))
|
|
|
|
|
(fs/leader
|
|
|
|
|
"`" '(fs/swap-buffer :which-key "swap buffers"))
|
|
|
|
|
"`" '(multi-vterm-dedicated-toggle :which-key "swap buffers"))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
**ch i Buffers
|
|
|
|
@ -1013,9 +1117,8 @@ Key binds for interacting with buffers
|
|
|
|
|
"b[" '(previous-buffer :which-key "previous buffer")
|
|
|
|
|
"b]" '(next-buffer :which-key "next buffer")
|
|
|
|
|
"bk" '(kill-current-buffer :which-key "kill buffer")
|
|
|
|
|
"bb" '(counsel-switch-buffer :which-key "list buffers"))
|
|
|
|
|
"bb" '(consult-buffer :which-key "list buffers"))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Tools
|
|
|
|
|
Various tools and neat things that are useful on a key bind
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
@ -1051,9 +1154,9 @@ Key binds for easy access to various help information
|
|
|
|
|
(fs/leader
|
|
|
|
|
"h"
|
|
|
|
|
'(:ignore t :which-key "help")
|
|
|
|
|
"hv" '(counsel-describe-variable :which-key "variable")
|
|
|
|
|
"ha" '((lambda () (interactive) (counsel-describe-face)) :which-key "face")
|
|
|
|
|
"hf" '((lambda () (interactive) (counsel-describe-function)) :which-key "function")
|
|
|
|
|
"hv" '(describe-variable :which-key "variable")
|
|
|
|
|
"ha" '((lambda () (interactive) (describe-face)) :which-key "face")
|
|
|
|
|
"hf" '((lambda () (interactive) (describe-function)) :which-key "function")
|
|
|
|
|
"hc" '((lambda ()
|
|
|
|
|
(interactive)
|
|
|
|
|
(find-file
|
|
|
|
@ -1068,14 +1171,14 @@ Org mode specific key binds that are nice to have no matter what mode we are in
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(fs/leader
|
|
|
|
|
"o" '(:ignore t :which-key "ORG")
|
|
|
|
|
"oo" '((lambda () (interactive) (counsel-find-file config/org-path)) :which-key "browse files")
|
|
|
|
|
"oo" '((lambda () (interactive) (find-file config/org-path)) :which-key "browse files")
|
|
|
|
|
"oi" '((lambda () (interactive) (find-file (expand-file-name "inbox.org" (car config/org-agenda-path))))
|
|
|
|
|
:which-key "task inbox")
|
|
|
|
|
"oa" '(org-agenda :which-key "agenda")
|
|
|
|
|
"ot" '(org-clock-goto :which-key "current/last task")
|
|
|
|
|
"oO" '(org-clock-out :which-key "clock out")
|
|
|
|
|
"ou" '(org-update-all-dblocks :which-key "update all blocks")
|
|
|
|
|
"oc" '(counsel-org-capture t :which-key "capture"))
|
|
|
|
|
"oc" '(org-capture t :which-key "capture"))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Projects
|
|
|
|
@ -1099,6 +1202,7 @@ Key binds for performing actions on code buffers
|
|
|
|
|
"ca" '(lsp-execute-code-action :which-key "code actions")
|
|
|
|
|
"co" '(lsp-ui-imenu :which-key "outline")
|
|
|
|
|
"cf" '(lsp-format-buffer :which-key "format buffer")
|
|
|
|
|
"cs" '(lsp-treemacs-symbols :which-key "format buffer")
|
|
|
|
|
"ci" '(indent-region :which-key "indent region")
|
|
|
|
|
;; "ce" '(flycheck-projectile-list-errors :which-key "errors")
|
|
|
|
|
"ce" '(lsp-treemacs-errors-list :which-key "errors")
|
|
|
|
@ -1125,9 +1229,9 @@ Key binds for interacting with the file system
|
|
|
|
|
#+begin_src emacs-lisp
|
|
|
|
|
(fs/leader
|
|
|
|
|
"f" '(:ignore t :which-key "files")
|
|
|
|
|
"fc" '((lambda () (interactive) (counsel-find-file config/dotfiles-path)) :which-key "edit dotfiles")
|
|
|
|
|
"fc" '((lambda () (interactive) (find-file config/dotfiles-path)) :which-key "edit dotfiles")
|
|
|
|
|
"fs" '(yas-new-snippet :which-key "new snippet file")
|
|
|
|
|
"fr" '(counsel-recentf :which-key "Recent"))
|
|
|
|
|
"fr" '(consult-recent-file :which-key "Recent"))
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Execute
|
|
|
|
@ -1181,7 +1285,7 @@ This creates a hydra for inserting the current date. So we can select the format
|
|
|
|
|
(fs/leader
|
|
|
|
|
"pb" '(:ignore t :which-key "Blog")
|
|
|
|
|
"pbb" '((lambda () (interactive
|
|
|
|
|
) (counsel-find-file (expand-file-name "blog" config/projects-path))) :which-key "open blog")
|
|
|
|
|
) (find-file (expand-file-name "blog" config/projects-path))) :which-key "open blog")
|
|
|
|
|
"pbu" '(org-publish-upload-files :which-key "publish")
|
|
|
|
|
"pbp" '(org-publish-all :which-key "publish"))
|
|
|
|
|
#+end_src
|
|
|
|
@ -1206,7 +1310,7 @@ There are also some LSP specific key binds that are enabled when in a LSP enable
|
|
|
|
|
:commands (lsp lsp-deferred)
|
|
|
|
|
:init
|
|
|
|
|
:custom
|
|
|
|
|
(lsp-rust-analyzer-cargo-watch-command "check")
|
|
|
|
|
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
|
|
|
|
(lsp-eldoc-render-all nil)
|
|
|
|
|
(lsp-idle-delay 0.6)
|
|
|
|
|
(lsp-rust-analyzer-server-display-inlay-hints t)
|
|
|
|
@ -1228,7 +1332,7 @@ There are also some LSP specific key binds that are enabled when in a LSP enable
|
|
|
|
|
"cl" '(:ignore t :which-key "LSP")
|
|
|
|
|
"cr" '(lsp-ui-peek-find-references :which-key "lookup reference")
|
|
|
|
|
"cd" '(lsp-find-definition :which-key "lookup definition")
|
|
|
|
|
"cs" '(lsp-ivy-workspace-symbol :which-key "find symbol")
|
|
|
|
|
;; "cs" '(lsp-ivy-workspace-symbol :which-key "find symbol")
|
|
|
|
|
"clx" '(lsp-workspace-restart :which-key "restart")
|
|
|
|
|
"cld" '(lsp-ui-doc-show :which-key "show docs")
|
|
|
|
|
"ca" '(lsp-execute-code-action :which-key "code actions"))
|
|
|
|
@ -1249,7 +1353,6 @@ There are also some LSP specific key binds that are enabled when in a LSP enable
|
|
|
|
|
(lsp-ui-sideline-enable nil)
|
|
|
|
|
(lsp-ui-doc-enable t))
|
|
|
|
|
|
|
|
|
|
(use-package lsp-ivy :commands lsp-ivy-workspace-symbol)
|
|
|
|
|
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|