Skip to content

Commit 35c18f7

Browse files
committed
move lsp to standalone package
1 parent af158a8 commit 35c18f7

File tree

3 files changed

+78
-68
lines changed

3 files changed

+78
-68
lines changed

init.el

+10-68
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@
9090
:files ("*.el" "data"))
9191
:hook
9292
(after-init . global-emojify-mode)
93-
:init
94-
(setq emojify-emoji-styles '(unicode github)))
93+
:custom
94+
(emojify-emoji-styles '(unicode github)))
9595

9696
(use-package dashboard
9797
:straight (dashboard :host github :repo "emacs-dashboard/emacs-dashboard"
@@ -145,18 +145,18 @@
145145
(use-package cnfonts
146146
:straight (cnfonts :host github :repo "tumashu/cnfonts")
147147
:after init-darwin
148-
:init
149-
(setq cnfonts--custom-set-fontnames
148+
:custom
149+
(cnfonts--custom-set-fontnames
150150
'(
151151
("Victor Mono")
152152
("Hiragino Sans GB")
153153
("HanaMinB")))
154154

155-
(setq cnfonts--custom-set-fontsizes
155+
(cnfonts--custom-set-fontsizes
156156
'(
157157
(14 16.5 16.5)
158158
))
159-
159+
:init
160160
(cnfonts-enable))
161161

162162
(use-package all-the-icons :straight t)
@@ -324,8 +324,7 @@
324324
;; .rst 文件禁用 flycheck
325325
(setq-default flycheck-disabled-checkers '(rst)))
326326

327-
(use-package pos-tip
328-
:straight t)
327+
(use-package pos-tip :straight t)
329328

330329
(use-package flycheck-pos-tip
331330
;; :straight (flycheck :host github :repo "flycheck/flycheck-pos-tip")
@@ -334,73 +333,16 @@
334333
:init
335334
(flycheck-pos-tip-mode))
336335

337-
(use-package posframe
338-
:straight t)
336+
(use-package posframe :straight t)
339337

340338
(use-package flycheck-swiftlint
341339
:straight t
342340
:config
343341
(with-eval-after-load 'flycheck
344342
(flycheck-swiftlint-setup)))
345343

346-
;; lsp-mode must come above of all lsp-packages
347-
(use-package lsp-mode
348-
:straight (lsp-mode :host github :repo "emacs-lsp/lsp-mode")
349-
:init
350-
;; Make sure you don't have other gofmt/goimports hooks enabled.
351-
(defun lsp-go-install-save-hooks ()
352-
"Set up before-save hooks to format buffer and add/delete imports."
353-
(add-hook 'before-save-hook #'lsp-format-buffer t t)
354-
(add-hook 'before-save-hook #'lsp-organize-imports t t))
355-
(add-hook 'go-mode-hook #'lsp-go-install-save-hooks)
356-
:hook
357-
(python-mode . lsp)
358-
(go-mode . lsp)
359-
(c++-mode . lsp)
360-
(rust-mode . lsp)
361-
(php-mode . lsp)
362-
(scala-mode . lsp)
363-
(cmake-mode . lsp)
364-
(lsp-mode . lsp-lens-mode)
365-
:custom
366-
(lsp-rust-server 'rust-analyzer)
367-
(lsp-clients-clangd-executable "/usr/local/opt/llvm/bin/clangd")
368-
:after (company flycheck))
369-
370-
(use-package lsp-java
371-
:straight t
372-
:after lsp-mode
373-
:hook
374-
(java-mode . lsp))
375-
376-
(use-package helm-lsp :straight :commands helm-lsp-workspace-symbol)
377-
378-
;; Add metals backend for lsp-mode
379-
(use-package lsp-metals
380-
:straight (lsp-metals :host github :repo "emacs-lsp/lsp-metals")
381-
:custom (lsp-metals-treeview-show-when-views-received t))
382-
383-
(use-package lsp-sourcekit
384-
:straight t
385-
:after lsp-mode
386-
:custom
387-
(lsp-sourcekit-executable "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/sourcekit-lsp"))
388-
389-
(use-package dap-mode
390-
:init
391-
(dap-mode 1)
392-
(dap-ui-mode 1)
393-
(require 'dap-go)
394-
(dap-go-setup)
395-
:custom
396-
;; (dap-go-debug-program `("node" ,(expand-file-name "~/.vscode/extensions/ms-vscode.go-0.9.2/out/src/debugAdapter/goDebug.js")))
397-
(dap-auto-configure-features '(sessions locals controls tooltip))
398-
(dap-print-io t)
399-
:after (lsp-mode))
400-
401-
(use-package lsp-ui
402-
:straight t
403-
:after lsp-mode)
344+
;; Language Server Mode
345+
(use-package init-lsp)
404346

405347
(use-package whitespace
406348
:straight whitespace

lisp/init-helm.el

+3
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@
7575
(projectile-completion-system 'helm)
7676
:init
7777
(helm-projectile-on))
78+
79+
(use-package helm-lsp :straight t :commands helm-lsp-workspace-symbol :after lsp-mode)
80+
7881
(provide 'init-helm)
7982

8083
;;; init-helm.el ends here

lisp/init-lsp.el

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
;;; init-lsp --- Initialize Language Server Mode.
2+
;;; Commentary:
3+
;;;
4+
;;; Code:
5+
6+
;; happy flycheck
7+
(eval-when-compile
8+
(add-to-list 'load-path (expand-file-name "straight/repos/use-package" user-emacs-directory))
9+
(require 'use-package))
10+
11+
(use-package lsp-mode
12+
:straight (lsp-mode :host github :repo "emacs-lsp/lsp-mode")
13+
:hook
14+
((python-mode go-mode c++-mode rust-mode php-mode scala-mode cmake-mode) . lsp)
15+
(go-mode . (lambda ()
16+
"Set up before-save hooks to format buffer and add/delete imports."
17+
;; Make sure you don't have other gofmt/goimports hooks enabled.
18+
(add-hook 'before-save-hook #'lsp-format-buffer t t)
19+
(add-hook 'before-save-hook #'lsp-organize-imports t t)))
20+
(lsp-mode . lsp-lens-mode)
21+
:custom
22+
(lsp-rust-server 'rust-analyzer)
23+
(lsp-clients-clangd-executable "/usr/local/opt/llvm/bin/clangd")
24+
:after (company flycheck))
25+
26+
(use-package lsp-java
27+
:straight t
28+
:after lsp-mode
29+
:hook
30+
(java-mode . lsp))
31+
32+
(use-package lsp-java-lambok
33+
:straight (lsp-java-lambok :host github :repo "sei40kr/lsp-java-lombok")
34+
:after lsp-java
35+
:hook
36+
(java-mode . lsp-java-lombok))
37+
38+
;; Add metals backend for lsp-mode
39+
(use-package lsp-metals
40+
:straight (lsp-metals :host github :repo "emacs-lsp/lsp-metals")
41+
:custom (lsp-metals-treeview-show-when-views-received t))
42+
43+
(use-package lsp-sourcekit
44+
:straight t
45+
:after lsp-mode
46+
:custom
47+
(lsp-sourcekit-executable "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/sourcekit-lsp"))
48+
49+
(use-package dap-mode
50+
:init
51+
(dap-mode 1)
52+
(dap-ui-mode 1)
53+
(require 'dap-go)
54+
(dap-go-setup)
55+
:custom
56+
;; (dap-go-debug-program `("node" ,(expand-file-name "~/.vscode/extensions/ms-vscode.go-0.9.2/out/src/debugAdapter/goDebug.js")))
57+
(dap-auto-configure-features '(sessions locals controls tooltip))
58+
(dap-print-io t)
59+
:after (lsp-mode))
60+
61+
(use-package lsp-ui
62+
:straight t
63+
:after lsp-mode)
64+
(provide 'init-lsp)
65+
;;; init-lsp.el ends here

0 commit comments

Comments
 (0)