|  | 
| 20 | 20 |    [com.intellij.openapi.vfs LocalFileSystem VirtualFile] | 
| 21 | 21 |    [com.redhat.devtools.lsp4ij LSPIJUtils ServerStatus] | 
| 22 | 22 |    [com.redhat.devtools.lsp4ij.client LanguageClientImpl] | 
| 23 |  | -   [com.redhat.devtools.lsp4ij.client.features LSPClientFeatures LSPProgressFeature] | 
|  | 23 | +   [com.redhat.devtools.lsp4ij.client.features EditorBehaviorFeature LSPClientFeatures LSPProgressFeature] | 
| 24 | 24 |    [com.redhat.devtools.lsp4ij.installation LanguageServerInstallerBase] | 
| 25 | 25 |    [com.redhat.devtools.lsp4ij.server OSProcessStreamConnectionProvider] | 
| 26 | 26 |    [java.io File] | 
|  | 
| 88 | 88 |     (LSPIJUtils/findResourceFor uri))) | 
| 89 | 89 | 
 | 
| 90 | 90 | (defn -createClientFeatures [_] | 
| 91 |  | -  (doto | 
| 92 |  | -   (proxy+ [] LSPClientFeatures | 
| 93 |  | -     (keepServerAlive [_] true) | 
| 94 |  | -     (initializeParams [_ ^InitializeParams params] | 
| 95 |  | -       (.setWorkDoneToken params "clojure-lsp-startup") | 
| 96 |  | -       (.setInitializationOptions params {"dependency-scheme" "jar" | 
| 97 |  | -                                          "hover" {"arity-on-same-line?" true}})) | 
| 98 |  | -     (findFileByUri ^VirtualFile [_ ^String uri] | 
| 99 |  | -       (find-file-by-uri uri)) | 
| 100 |  | -     (handleServerStatusChanged [^LSPClientFeatures this ^ServerStatus server-status] | 
| 101 |  | -       (let [status (keyword (.toString server-status))] | 
| 102 |  | -         (db/assoc-in (.getProject this) [:status] status) | 
| 103 |  | -         (run! #(% status) (db/get-in (.getProject this) [:on-status-changed-fns]))))) | 
| 104 |  | -    (.setProgressFeature (proxy+ [] LSPProgressFeature | 
|  | 91 | +  (let [lsp-client-features (proxy+ [] LSPClientFeatures | 
|  | 92 | +                              (keepServerAlive [_] true) | 
|  | 93 | +                              (initializeParams [_ ^InitializeParams params] | 
|  | 94 | +                                (.setWorkDoneToken params "clojure-lsp-startup") | 
|  | 95 | +                                (.setInitializationOptions params {"dependency-scheme" "jar" | 
|  | 96 | +                                                                   "hover" {"arity-on-same-line?" true}})) | 
|  | 97 | +                              (findFileByUri ^VirtualFile [_ ^String uri] | 
|  | 98 | +                                (find-file-by-uri uri)) | 
|  | 99 | +                              (handleServerStatusChanged [^LSPClientFeatures this ^ServerStatus server-status] | 
|  | 100 | +                                (let [status (keyword (.toString server-status))] | 
|  | 101 | +                                  (db/assoc-in (.getProject this) [:status] status) | 
|  | 102 | +                                  (run! #(% status) (db/get-in (.getProject this) [:on-status-changed-fns])))))] | 
|  | 103 | +    (.setProgressFeature lsp-client-features | 
|  | 104 | +                         (proxy+ [] LSPProgressFeature | 
| 105 | 105 |                            (updateMessage [_ ^String message ^ProgressIndicator indicator] | 
| 106 | 106 |                              (.setText indicator (str "LSP: " message))))) | 
| 107 |  | -    (.setServerInstaller (proxy+ [] LanguageServerInstallerBase | 
|  | 107 | +    (.setServerInstaller lsp-client-features | 
|  | 108 | +                         (proxy+ [] LanguageServerInstallerBase | 
| 108 | 109 |                            (getInstallationTaskTitle [_] "LSP: installing clojure-lsp") | 
| 109 | 110 |                            (progressCheckingServerInstalled [_ indicator] (tasks/set-progress indicator "LSP: checking for clojure-lsp")) | 
| 110 | 111 |                            (progressInstallingServer [_ indicator] (tasks/set-progress indicator "LSP: downloading clojure-lsp")) | 
|  | 
| 119 | 120 |                              (when-not @server-installing* | 
| 120 | 121 |                                (reset! server-installing* true) | 
| 121 | 122 |                                (reset! server-path* (server/install-server! (.getProject (.getClientFeatures this)))) | 
| 122 |  | -                               (reset! server-installing* false))))))) | 
|  | 123 | +                               (reset! server-installing* false))))) | 
|  | 124 | +    (.setEditorBehaviorFeature lsp-client-features | 
|  | 125 | +                               (proxy+ [lsp-client-features] EditorBehaviorFeature | 
|  | 126 | +                                 (isEnableSemanticTokensFileViewProvider [_ _] true))) | 
|  | 127 | +    lsp-client-features)) | 
0 commit comments