aboutsummaryrefslogtreecommitdiffstats
path: root/sqf-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'sqf-mode.el')
-rw-r--r--sqf-mode.el23
1 files changed, 15 insertions, 8 deletions
diff --git a/sqf-mode.el b/sqf-mode.el
index 39fc04d..4d051c5 100644
--- a/sqf-mode.el
+++ b/sqf-mode.el
@@ -51,18 +51,25 @@ advanced features when available.
"local" "global" "remoteExec" "remoteExecCall")
'words)
(0 font-lock-keyword-face))))
- (sqf-lsp-setup)
- (lsp-deferred))
-;;;###autoload
-(defun sqf-lsp-setup ()
"Configure lsp-mode for SQF."
- (add-to-list 'lsp-language-id-configuration '(sqf-mode . "sqf"))
- (add-to-list 'lsp-server-programs '(sqf-mode "hemtt-language-server"))
- (add-to-list 'lsp-project-roots "hemtt.toml"))
+ (require 'lsp-mode nil)
+ (lsp-deferred))
+
+;; register hemtt-language-server
(with-eval-after-load 'lsp-mode
- (sqf-lsp-setup))
+ (with-eval-after-load 'lsp-mode
+ (defun my/hemtt-server-start-fn (port)
+ `("hemtt-language-server" ,(number-to-string port)))
+
+ (lsp-register-client
+ (make-lsp-client
+ :new-connection (lsp-tcp-server-command 'my/hemtt-server-start-fn)
+ :major-modes '(sqf-mode)
+ :priority 1
+ :server-id 'hemtt-ls
+ :language-id "sqf"))))
;;;###autoload
(add-to-list 'auto-mode-alist '("\\.sqf\\'" . sqf-mode))