|
41 | 41 |
|
42 | 42 | (lsp-dependency
|
43 | 43 | 'typespec-lsp
|
44 |
| - '(:npm :package "@typespec/compiler" |
45 |
| - :path "tsp-server") |
| 44 | + '(:npm |
| 45 | + :package "@typespec/compiler" |
| 46 | + :path "tsp-server") |
46 | 47 | '(:system "tsp-server"))
|
47 | 48 |
|
48 | 49 | (defun lsp-typespec--server-executable-path ()
|
49 | 50 | "Return the typespec-lsp server command."
|
50 | 51 | (or
|
51 | 52 | (when-let* ((workspace-folder (lsp-find-session-folder (lsp-session) default-directory)))
|
52 | 53 | (let ((tsp-server-local-path (f-join workspace-folder "node_modules" ".bin"
|
53 |
| - (if (eq system-type 'windows-nt) "tsp-server.cmd" "tsp-server")))) |
| 54 | + (if (eq system-type 'windows-nt) "tsp-server.cmd" "tsp-server")))) |
54 | 55 | (when (f-exists? tsp-server-local-path)
|
55 | 56 | tsp-server-local-path)))
|
56 | 57 | (executable-find "tsp-server")
|
|
63 | 64 | ("event" . default)))
|
64 | 65 | :new-connection (lsp-stdio-connection `(,(lsp-typespec--server-executable-path) "--stdio"))
|
65 | 66 | :activation-fn (lsp-activate-on "typespec")
|
66 |
| - :major-modes '(typespec-mode) |
| 67 | + :major-modes '(typespec-mode typespec-ts-mode) |
67 | 68 | :server-id 'typespec-lsp))
|
68 | 69 |
|
69 | 70 | (lsp-consistency-check lsp-typespec)
|
70 | 71 |
|
71 | 72 | (defun lsp-typespec-semantic-tokens-refresh (&rest _)
|
72 | 73 | "Force refresh semantic tokens."
|
73 | 74 | (when-let* ((workspace (and lsp-semantic-tokens-enable
|
74 |
| - (lsp-find-workspace 'typespec-lsp (buffer-file-name))))) |
| 75 | + (lsp-find-workspace 'typespec-lsp (buffer-file-name))))) |
75 | 76 | (--each (lsp--workspace-buffers workspace)
|
76 | 77 | (when (lsp-buffer-live-p it)
|
77 | 78 | (lsp-with-current-buffer it
|
|
80 | 81 | (with-eval-after-load 'typespec
|
81 | 82 | (when lsp-semantic-tokens-enable
|
82 | 83 | ;; refresh tokens
|
83 |
| - (add-hook 'typespec-mode-hook #'lsp-typespec-semantic-tokens-refresh))) |
| 84 | + (dolist (hook '(typespec-mode-hook typespec-ts-mode-hook)) |
| 85 | + (add-hook hook #'lsp-typespec-semantic-tokens-refresh)))) |
84 | 86 |
|
85 | 87 | (provide 'lsp-typespec)
|
86 | 88 | ;;; lsp-typespec.el ends here
|
|
0 commit comments