|
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