|
37 | 37 | :risky t
|
38 | 38 | :type '(repeat string))
|
39 | 39 |
|
| 40 | +(defcustom lsp-clients-jsonnet-server-download-url |
| 41 | + (concat "https://github.com/grafana/jsonnet-language-server/releases/download/v0.16.0/" |
| 42 | + (cond ((and (eq system-type 'gnu/linux) |
| 43 | + (string-match ".*x86_64.*" system-configuration)) |
| 44 | + "jsonnet-language-server_0.16.0_linux_amd64") |
| 45 | + ((and (eq system-type 'gnu/linux) |
| 46 | + (string-match ".*arm64.*" system-configuration)) |
| 47 | + "jsonnet-language-server_0.16.0_linux_arm64") |
| 48 | + ((and (eq system-type 'darwin) |
| 49 | + (string-match ".*arm.*" system-configuration)) |
| 50 | + "jsonnet-language-server_0.16.0_darwin_arm64") |
| 51 | + ((and (eq system-type 'darwin) |
| 52 | + (string-match ".*x86_64.*" system-configuration)) |
| 53 | + "jsonnet-language-server_0.16.0_darwin_amd64") |
| 54 | + ((eq system-type 'windows-nt) |
| 55 | + "jsonnet-language-server_0.16.0_windows_amd64.exe"))) |
| 56 | + "The jsonnet language server download url." |
| 57 | + :group 'lsp-jsonnet |
| 58 | + :type 'string) |
| 59 | + |
| 60 | +(lsp-dependency 'jsonnet-language-server |
| 61 | + `(:system ,(cl-first lsp-clients-jsonnet-server-executable)) |
| 62 | + `(:download :url ,lsp-clients-jsonnet-server-download-url |
| 63 | + :store-path ,(f-join user-emacs-directory ".cache" "lsp" |
| 64 | + (if (eq system-type 'windows-nt) |
| 65 | + (concat (cl-first lsp-clients-jsonnet-server-executable) ".exe") |
| 66 | + (cl-first lsp-clients-jsonnet-server-executable))) |
| 67 | + :set-executable? t)) |
| 68 | + |
40 | 69 | (lsp-register-client
|
41 | 70 | (make-lsp-client
|
42 |
| - :new-connection (lsp-stdio-connection (lambda () lsp-clients-jsonnet-server-executable)) |
| 71 | + :new-connection (lsp-stdio-connection (lambda () |
| 72 | + `(,(or (executable-find |
| 73 | + (cl-first lsp-clients-jsonnet-server-executable)) |
| 74 | + (lsp-package-path 'jsonnet-language-server) |
| 75 | + (cl-first lsp-clients-jsonnet-server-executable))))) |
43 | 76 | :activation-fn (lsp-activate-on "jsonnet")
|
44 | 77 | :priority -1
|
45 | 78 | :major-modes '(jsonnet-mode)
|
| 79 | + :download-server-fn (lambda (_client callback error-callback _update?) |
| 80 | + (lsp-package-ensure 'jsonnet-language-server callback error-callback)) |
46 | 81 | :server-id 'jsonnet-lsp))
|
47 | 82 |
|
48 | 83 | (lsp-consistency-check lsp-jsonnet)
|
|
0 commit comments