Compare commits

...

2 Commits

Author SHA1 Message Date
c5bb3799a0 Add go to brewfile 2023-04-18 09:35:45 -04:00
ad28b2d2d1 Fix eglot JDTLS workspaceEdit handling 2023-04-18 09:35:30 -04:00
2 changed files with 20 additions and 9 deletions

View File

@ -41,16 +41,26 @@
`(html-web-mode . ,(eglot-alternatives `(html-web-mode . ,(eglot-alternatives
'(("vscode-html-language-server" "--stdio") '(("vscode-html-language-server" "--stdio")
("html-languageserver" "--stdio"))))) ("html-languageserver" "--stdio")))))
;; Support jdtls' ability to jump into class files ;; Custom eglot java server for deeper customization
(defclass eglot-java-server (eglot-lsp-server) ()
:documentation "Eglot integration with JDTLS.")
(add-to-list 'eglot-server-programs (add-to-list 'eglot-server-programs
'(java-mode . ("jdtls" :initializationOptions '(java-mode .
(eglot-java-server .
("jdtls" :initializationOptions
(:extendedClientCapabilities (:extendedClientCapabilities
(:classFileContentsSupport t) (:classFileContentsSupport t)
:runtimes [(:name "JavaSE-11" :runtimes [(:name "JavaSE-11"
:path "/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk") :path "/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk")
(:name "JavaSE-17" (:name "JavaSE-17"
:path "/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk" :path "/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk"
:default t)])))) :default t)])))))
;; Fix JDTLS's weird handling of workspaceEdit
(cl-defmethod eglot-execute-command
((_server eglot-java-server) (_cmd (eql java.apply.workspaceEdit)) arguments)
"Eclipse JDT breaks spec and replies with edits as arguments."
(mapc #'eglot--apply-workspace-edit arguments))
;; Support jdtls' ability to jump into class files
(defun jdt-class-file-name-handler (operation &rest args) (defun jdt-class-file-name-handler (operation &rest args)
"File name handler for jdtls' `jdt://' URIs." "File name handler for jdtls' `jdt://' URIs."
(cond (cond

View File

@ -10,6 +10,7 @@ brew "direnv"
brew "ffmpeg" brew "ffmpeg"
brew "git" brew "git"
brew "git-lfs" brew "git-lfs"
brew "go"
brew "gnupg" brew "gnupg"
brew "grpcurl" brew "grpcurl"
brew "isync" brew "isync"