mirror of
https://codeberg.org/scip/dot-emacs.git
synced 2026-08-24 05:34:18 +02:00
Compare commits
3 Commits
1b246af469
...
f7ba06bdbb
| Author | SHA1 | Date | |
|---|---|---|---|
| f7ba06bdbb | |||
| 015ddf877f | |||
| 3b0e07a3cd |
100
lisp/init-lsp.el
100
lisp/init-lsp.el
@@ -10,26 +10,110 @@
|
|||||||
("pyls.plugins.pyls_isort.enabled" t t)))
|
("pyls.plugins.pyls_isort.enabled" t t)))
|
||||||
|
|
||||||
;; disable infantile nonsense
|
;; disable infantile nonsense
|
||||||
(setq lsp-headerline-breadcrumb-enable nil
|
(setq lsp-headerline-breadcrumb-enable t
|
||||||
lsp-modeline-code-actions-enable nil)
|
lsp-modeline-code-actions-enable nil)
|
||||||
|
|
||||||
|
;; (lsp-enable-which-key-integration t)
|
||||||
|
|
||||||
:bind
|
:bind
|
||||||
; same prefix space as dumpjump (C-c)
|
("C-c n". #'lsp-rename)
|
||||||
("C-c r" . #'lsp-find-references) ; default: C-c C-l g r
|
;; I am using lsp-ui for this, see below
|
||||||
("C-c d" . #'lsp-find-definition) ; default: C-c C-l g g
|
;; ("C-c r" . #'lsp-find-references) ; default: C-c C-l g r
|
||||||
|
;; ("C-c d" . #'lsp-find-definition) ; default: C-c C-l g g
|
||||||
|
;; ;; same as above, but directly within prefix, not 'g neede
|
||||||
|
;; ("C-c C-l r" . #'lsp-find-references) ; default: C-c C-l g r
|
||||||
|
;; ("C-c C-l d" . #'lsp-find-definition) ; default: C-c C-l g g
|
||||||
|
|
||||||
:init
|
:init
|
||||||
;; I'm not using any of th lsp commands, but better define a prefix
|
;; I'm not using any of th lsp commands, but better define a prefix
|
||||||
;; than being unable to reach it
|
;; than being unable to reach it
|
||||||
;; FIXME: add at least lsp-find-definition
|
;; FIXME: add at least lsp-find-definition
|
||||||
(setq lsp-keymap-prefix "C-c C-l")
|
(setq lsp-keymap-prefix "C-c C-l"
|
||||||
|
lsp-log-io nil
|
||||||
|
lsp-enable-indentation t
|
||||||
|
lsp-enable-imenu t
|
||||||
|
lsp-file-watch-threshold 500
|
||||||
|
lsp-prefer-flymake nil)
|
||||||
|
|
||||||
:commands lsp)
|
:commands lsp)
|
||||||
|
|
||||||
;; I use ivy
|
;; for lsp code lenses etc
|
||||||
;; (use-package lsp-ivy
|
;; https://emacs-lsp.github.io/lsp-ui/
|
||||||
;; :commands lsp-ivy-global-workspace-symbol)
|
;; FIXME: ⛔ Error (use-package): Failed to install lsp-ui: https://melpa.org/packages/lsp-ui-20250804.2109.tar: Not found
|
||||||
|
;; manually installed using package-install
|
||||||
|
(use-package lsp-ui
|
||||||
|
:ensure t
|
||||||
|
:after (lsp-mode)
|
||||||
|
:commands lsp-ui-doc-hide
|
||||||
|
|
||||||
|
:bind (:map lsp-ui-mode-map
|
||||||
|
("C-c d" . #'lsp-ui-peek-find-definitions)
|
||||||
|
("C-c r" . #'lsp-ui-peek-find-references)
|
||||||
|
([remap xref-find-definitions] . lsp-ui-peek-find-definitions)
|
||||||
|
([remap xref-find-references] . lsp-ui-peek-find-references)
|
||||||
|
;;; ("C-c u" . lsp-ui-imenu) ;; using treemacs for this
|
||||||
|
("C-c D" . tvd-lsp-doc-toggle))
|
||||||
|
|
||||||
|
:init
|
||||||
|
(setq lsp-ui-doc-enable nil ;; enable on the fly with "C-c D"
|
||||||
|
lsp-ui-doc-use-webkit nil
|
||||||
|
lsp-ui-doc-header t
|
||||||
|
lsp-ui-doc-delay 0.2
|
||||||
|
lsp-ui-doc-position 'top
|
||||||
|
lsp-ui-doc-side 'right
|
||||||
|
lsp-ui-doc-include-signature t
|
||||||
|
lsp-ui-doc-alignment 'at-point
|
||||||
|
lsp-ui-doc-use-childframe t
|
||||||
|
lsp-ui-doc-border (face-foreground 'default)
|
||||||
|
|
||||||
|
;; C-c r
|
||||||
|
lsp-ui-peek-enable t
|
||||||
|
lsp-ui-peek-show-directory t
|
||||||
|
lsp-ui-peek-peek-height 40
|
||||||
|
|
||||||
|
;; FIXME: maybe this is too much, check at work
|
||||||
|
lsp-ui-sideline-enable t
|
||||||
|
lsp-ui-sideline-update-mode 'point
|
||||||
|
lsp-ui-sideline-show-code-actions nil
|
||||||
|
lsp-ui-sideline-show-hover t
|
||||||
|
lsp-ui-sideline-delay 2
|
||||||
|
lsp-ui-sideline-show-diagnostics nil
|
||||||
|
lsp-ui-sideline-diagnostic-max-lines t
|
||||||
|
lsp-ui-sideline-ignore-duplicate t)
|
||||||
|
|
||||||
|
:config
|
||||||
|
(add-to-list 'lsp-ui-doc-frame-parameters '(right-fringe . 8))
|
||||||
|
|
||||||
|
(defun tvd-lsp-doc-toggle()
|
||||||
|
"Toggle lsp-ui-doc, takes effect only on buffer start.
|
||||||
|
So in order to change in a buffer, reload the buffer after
|
||||||
|
the toggle with shift-F5."
|
||||||
|
(interactive)
|
||||||
|
(setq lsp-ui-doc-enable (not lsp-ui-doc-enable))
|
||||||
|
(tvd-buffer-reload))
|
||||||
|
|
||||||
|
;; `C-g'to close doc
|
||||||
|
(advice-add #'keyboard-quit :before #'lsp-ui-doc-hide))
|
||||||
|
|
||||||
|
|
||||||
|
;; better recursive refs, symbols, etc
|
||||||
|
;; see also https://github.com/Alexander-Miller/treemacs
|
||||||
|
(use-package lsp-treemacs
|
||||||
|
:after lsp
|
||||||
|
|
||||||
|
:bind
|
||||||
|
("C-c u" . #'lsp-treemacs-symbols)
|
||||||
|
("C-c C-l c" . #'lsp-treemacs-call-hierarchy))
|
||||||
|
|
||||||
|
(use-package treemacs
|
||||||
|
:bind
|
||||||
|
("C-c t" . #'treemacs)
|
||||||
|
|
||||||
|
:init
|
||||||
|
(setq
|
||||||
|
treemacs-project-follow-mode t
|
||||||
|
treemacs-extra-wide-toggle t
|
||||||
|
treemacs-follow-mode t))
|
||||||
|
|
||||||
(provide 'init-lsp)
|
(provide 'init-lsp)
|
||||||
;;; init-lsp.el ends here
|
;;; init-lsp.el ends here
|
||||||
|
|||||||
@@ -195,7 +195,8 @@ a remote file anytime and from everywhere I am by just entering :"
|
|||||||
(push consult--source-perspective consult-buffer-sources)))
|
(push consult--source-perspective consult-buffer-sources)))
|
||||||
|
|
||||||
;; needs to be defined outside
|
;; needs to be defined outside
|
||||||
(defalias 'egrep 'consult-ripgrep)
|
(defalias 'rg 'consult-ripgrep)
|
||||||
|
(defalias 'fd 'consult-fd)
|
||||||
|
|
||||||
;; change directory while opening a file etc
|
;; change directory while opening a file etc
|
||||||
(use-package consult-dir
|
(use-package consult-dir
|
||||||
|
|||||||
@@ -79,17 +79,31 @@
|
|||||||
|
|
||||||
;; F5 == reload file if it has been modified by another process, shift
|
;; F5 == reload file if it has been modified by another process, shift
|
||||||
;; because Xmonad
|
;; because Xmonad
|
||||||
(global-set-key (kbd "S-<f5>") ; re-read a buffer from disk (revert)
|
|
||||||
(lambda (&optional force-reverting)
|
(defun tvd-buffer-reload(&optional force-reverting)
|
||||||
"Interactive call to revert-buffer. Ignoring the auto-save
|
"Interactive call to revert-buffer. Ignoring the auto-save
|
||||||
file and not requesting for confirmation. When the current buffer
|
file and not requesting for confirmation. When the current buffer
|
||||||
is modified, the command refuses to revert it, unless you specify
|
is modified, the command refuses to revert it, unless you specify
|
||||||
the optional argument: force-reverting to true."
|
the optional argument: force-reverting to true."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
;;(message "force-reverting value is %s" force-reverting)
|
;;(message "force-reverting value is %s" force-reverting)
|
||||||
(if (or force-reverting (not (buffer-modified-p)))
|
(if (or force-reverting (not (buffer-modified-p)))
|
||||||
(revert-buffer :ignore-auto :noconfirm)
|
(revert-buffer :ignore-auto :noconfirm)
|
||||||
(error "The buffer has been modified"))))
|
(error "The buffer has been modified")))
|
||||||
|
|
||||||
|
;; re-read a buffer from disk (revert)
|
||||||
|
(global-set-key (kbd "S-<f5>") 'tvd-buffer-reload)
|
||||||
|
|
||||||
|
;; (lambda (&optional force-reverting)
|
||||||
|
;; "Interactive call to revert-buffer. Ignoring the auto-save
|
||||||
|
;; file and not requesting for confirmation. When the current buffer
|
||||||
|
;; is modified, the command refuses to revert it, unless you specify
|
||||||
|
;; the optional argument: force-reverting to true."
|
||||||
|
;; (interactive "P")
|
||||||
|
;; ;;(message "force-reverting value is %s" force-reverting)
|
||||||
|
;; (if (or force-reverting (not (buffer-modified-p)))
|
||||||
|
;; (revert-buffer :ignore-auto :noconfirm)
|
||||||
|
;; (error "The buffer has been modified"))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user