@@ -110,27 +110,20 @@ If unspecified, diagnostics will not be generated."
110110 (append (list (file-name-directory (buffer-file-name ))) lsp-dart-extra-library-directories)
111111 lsp-dart-extra-library-directories)))
112112
113- (defun lsp-dart--dart-capabiliities (&optional sdk-root )
114- " Given an SDK-ROOT, return capabilities for that dart version.
115- Default to `lsp-dart-get-sdk-dir' if no root is passed.
116- Returns nil if an invalid SDK-ROOT has been passed."
117- (when-let* ((root (or sdk-root lsp-dart-sdk-dir (lsp-dart-get-sdk-dir)))
118- (dart-version (string-trim
119- (with-temp-buffer
120- (insert-file-contents (expand-file-name " version" root))
121- (buffer-string )))))
122- `((canUseLanguageServer . ,(version<= " 3.14.4" dart-version)))))
113+ (defun lsp-dart--dart-capabiliities ()
114+ " Return capabilities for current dart version."
115+ `((canUseLanguageServer . ,(lsp-dart-version-at-least-p " 2.14.4" ))))
123116
124117(defun lsp-dart--server-command ()
125118 " Generate LSP startup command."
126119 (or lsp-dart-server-command
127- ( list (lsp-dart-dart-command)
128- (if (alist-get 'canUseLanguageServer (lsp-dart--dart-capabiliities))
129- " language-server"
130- (expand-file-name " bin/snapshots/analysis_server.dart.snapshot" (lsp-dart-get-sdk-dir))
131- " --lsp" )
132- " --client-id emacs.lsp-dart"
133- (format " --client-version %s " lsp-dart-version-string))))
120+ `(, (lsp-dart-dart-command)
121+ ,@ (if (alist-get 'canUseLanguageServer (lsp-dart--dart-capabiliities))
122+ ( list " language-server" )
123+ ( list (expand-file-name " bin/snapshots/analysis_server.dart.snapshot" (lsp-dart-get-sdk-dir))
124+ " --lsp" ) )
125+ " --client-id emacs.lsp-dart"
126+ , (format " --client-version %s " lsp-dart-version-string))))
134127
135128(defun lsp-dart--activate-features ()
136129 " Activate lsp-dart features if enabled."
0 commit comments