Skip to content

Commit 103a859

Browse files
committed
Fix dart server command when pkg-info is not available
1 parent ac52f45 commit 103a859

File tree

2 files changed

+27
-26
lines changed

2 files changed

+27
-26
lines changed

lsp-dart.el

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
;; Copyright (C) 2020 Eric Dallo
44

55
;; Version: 1.19.2
6-
;; Package-Requires: ((emacs "26.1") (lsp-treemacs "0.3") (lsp-mode "7.0.1") (dap-mode "0.6") (f "0.20.0") (dash "2.14.1") (pkg-info "0.4") (dart-mode "1.0.5"))
6+
;; Package-Requires: ((emacs "26.1") (lsp-treemacs "0.3") (lsp-mode "7.0.1") (dap-mode "0.6") (f "0.20.0") (dash "2.14.1") (dart-mode "1.0.5"))
77
;; Keywords: languages, extensions
88
;; URL: https://emacs-lsp.github.io/lsp-dart
99

@@ -119,15 +119,16 @@ If unspecified, diagnostics will not be generated."
119119

120120
(defun lsp-dart--server-command ()
121121
"Generate LSP startup command."
122-
(let ((client-version (when (require 'pkg-info nil t)
123-
(format "--client-version %s"
124-
(pkg-info-version-info 'lsp-dart)))))
122+
(let ((client-version (format "--client-version %s"
123+
(or (when (require 'pkg-info nil t)
124+
(pkg-info-version-info 'lsp-dart))
125+
"unknown-version"))))
125126
(or lsp-dart-server-command
126-
`(,(lsp-dart-dart-command)
127-
,(expand-file-name (f-join (lsp-dart-get-sdk-dir) "bin/snapshots/analysis_server.dart.snapshot"))
128-
"--lsp"
129-
"--client-id emacs.lsp-dart"
130-
,client-version))))
127+
(list (lsp-dart-dart-command)
128+
(expand-file-name (f-join (lsp-dart-get-sdk-dir) "bin/snapshots/analysis_server.dart.snapshot"))
129+
"--lsp"
130+
"--client-id emacs.lsp-dart"
131+
client-version))))
131132

132133
(defun lsp-dart--activate-features ()
133134
"Activate lsp-dart features if enabled."

test/lsp-dart-test.el

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,29 +56,29 @@
5656
(with-mock
5757
(stub lsp-dart-dart-command => "/sdk/bin/dart")
5858
(stub lsp-dart-get-sdk-dir => "/sdk")
59-
(mock (pkg-info-version-info 'lsp-dart) => "1.123.456")
6059
(should (equal (lsp-dart--server-command)
6160
'("/sdk/bin/dart"
6261
"/sdk/bin/snapshots/analysis_server.dart.snapshot"
6362
"--lsp"
6463
"--client-id emacs.lsp-dart"
65-
"--client-version 1.123.456")))))
64+
"--client-version unknown-version")))))
6665

6766
(ert-deftest lsp-dart-version--test ()
68-
(let ((pkg-version (lsp-dart-test-package-version "lsp-dart.el")))
69-
(with-mock
70-
(stub lsp-dart-get-full-dart-version => "2.8.2")
71-
(stub lsp-dart-get-sdk-dir => t)
72-
(stub lsp-dart-get-flutter-sdk-dir => "flutter-sdk")
73-
(stub lsp-dart-flutter-project-p => t)
74-
(stub lsp-dart-get-project-entrypoint => "/path/to/entrypoint")
75-
(should (equal (lsp-dart-version) (concat (format "[LSP Dart] %s at %s @ Emacs %s\n"
76-
pkg-version
77-
(format-time-string "%Y.%m.%d" (current-time))
78-
emacs-version)
79-
"[Dart SDK] 2.8.2\n"
80-
"[Flutter SDK] flutter-sdk\n"
81-
"[Flutter project] true\n"
82-
"[Project entrypoint] /path/to/entrypoint"))))))
67+
(with-mock
68+
(stub lsp-dart-get-full-dart-version => "2.8.2")
69+
(stub lsp-dart-get-sdk-dir => t)
70+
(stub lsp-dart-get-flutter-sdk-dir => "flutter-sdk")
71+
(stub lsp-dart-flutter-project-p => t)
72+
(stub lsp-dart-get-project-entrypoint => "/path/to/entrypoint")
73+
(mock (require 'pkg-info nil t) => t)
74+
(mock (pkg-info-version-info 'lsp-dart) => "1.2.3")
75+
(should (equal (lsp-dart-version) (concat (format "[LSP Dart] %s at %s @ Emacs %s\n"
76+
"1.2.3"
77+
(format-time-string "%Y.%m.%d" (current-time))
78+
emacs-version)
79+
"[Dart SDK] 2.8.2\n"
80+
"[Flutter SDK] flutter-sdk\n"
81+
"[Flutter project] true\n"
82+
"[Project entrypoint] /path/to/entrypoint")))))
8383

8484
;;; lsp-dart-test.el ends here

0 commit comments

Comments
 (0)