|
8 | 8 | [com.rpl.proxy-plus :refer [proxy+]])
|
9 | 9 | (:import
|
10 | 10 | [com.intellij.execution.configurations GeneralCommandLine]
|
| 11 | + [com.intellij.openapi.progress ProgressIndicator] |
11 | 12 | [com.intellij.openapi.project Project ProjectLocator]
|
12 | 13 | [com.intellij.openapi.vfs VirtualFile]
|
13 | 14 | [com.redhat.devtools.lsp4ij LSPIJUtils]
|
14 | 15 | [com.redhat.devtools.lsp4ij.client LanguageClientImpl]
|
15 |
| - [com.redhat.devtools.lsp4ij.client.features LSPClientFeatures] |
| 16 | + [com.redhat.devtools.lsp4ij.client.features LSPClientFeatures LSPProgressFeature] |
16 | 17 | [com.redhat.devtools.lsp4ij.server OSProcessStreamConnectionProvider]
|
17 | 18 | [java.io File]
|
18 | 19 | [java.util List]
|
|
50 | 51 | (server/start! project))))
|
51 | 52 |
|
52 | 53 | (defn -createClientFeatures [_]
|
53 |
| - (proxy+ [] LSPClientFeatures |
54 |
| - (isEnabled [_this ^VirtualFile file] |
55 |
| - (case (:status @server) |
56 |
| - :installing |
57 |
| - false |
| 54 | + (doto |
| 55 | + (proxy+ [] LSPClientFeatures |
| 56 | + (isEnabled [_this ^VirtualFile file] |
| 57 | + (case (:status @server) |
| 58 | + :installing |
| 59 | + false |
58 | 60 |
|
59 |
| - :installed |
60 |
| - true |
| 61 | + :installed |
| 62 | + true |
61 | 63 |
|
62 |
| - :not-found |
63 |
| - (do (install-server (.guessProjectForFile (ProjectLocator/getInstance) file)) |
64 |
| - false))) |
65 |
| - (initializeParams [_ ^InitializeParams params] |
66 |
| - (.setWorkDoneToken params "clojure-lsp-startup") |
67 |
| - (.setInitializationOptions params {"dependency-scheme" "jar" |
68 |
| - "hover" {"arity-on-same-line?" true}})) |
69 |
| - (findFileByUri [_ ^String uri] |
70 |
| - (if (and (string/starts-with? uri "file:") |
71 |
| - (string/includes? uri ".jar!")) |
72 |
| - (LSPIJUtils/findResourceFor (string/replace-first uri "file:" "jar:file:")) |
73 |
| - (LSPIJUtils/findResourceFor uri))))) |
| 64 | + :not-found |
| 65 | + (do (install-server (.guessProjectForFile (ProjectLocator/getInstance) file)) |
| 66 | + false))) |
| 67 | + (initializeParams [_ ^InitializeParams params] |
| 68 | + (.setWorkDoneToken params "clojure-lsp-startup") |
| 69 | + (.setInitializationOptions params {"dependency-scheme" "jar" |
| 70 | + "hover" {"arity-on-same-line?" true}})) |
| 71 | + (findFileByUri [_ ^String uri] |
| 72 | + (if (and (string/starts-with? uri "file:") |
| 73 | + (string/includes? uri ".jar!")) |
| 74 | + (LSPIJUtils/findResourceFor (string/replace-first uri "file:" "jar:file:")) |
| 75 | + (LSPIJUtils/findResourceFor uri)))) |
| 76 | + (.setProgressFeature (proxy+ [] LSPProgressFeature |
| 77 | + (updateMessage [_ ^String message ^ProgressIndicator indicator] |
| 78 | + (.setText indicator (str "LSP: " message))))))) |
0 commit comments