如果没有安装lua lsp server , 你需要安装一个。
lsp-mode 支持3个server, 我贴一下我使用得比较多的sumneko/lua-language-server
吧。
参考repo 文档编译安装: https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone)
为了通用(比如我可以多个编辑器共用这个lsp binary), 我一般是安装到:
~/.local/share/lua-language-server/
# clone project
git clone https://github.com/sumneko/lua-language-server ~/.local/share/lua-language-server
cd ~/.local/share/lua-language-server
git submodule update --init --recursive
cd 3rd/luamake
ninja -f ninja/linux.ninja
cd ../..
./3rd/luamake/luamake rebuild
然后在config.el 中配置好:
;; https://emacs-lsp.github.io/lsp-mode/page/performance/
(after! lsp-mode
(setq lsp-log-io nil) ; if set to true can cause a performance hit
(setq lsp-print-performance t)
(setq lsp-auto-guess-root t) ; auto detect workspace and start lang server
;; lua
;; https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/
(setq lsp-clients-lua-language-server-install-dir (f-join (getenv "HOME") ".local/share/lua-language-server/"); Default: ~/.emacs.d/.cache/lsp/lua-language-server/
lsp-clients-lua-language-server-bin (f-join lsp-clients-lua-language-server-install-dir "bin/Linux/lua-language-server")
lsp-clients-lua-language-server-main-location (f-join lsp-clients-lua-language-server-install-dir "main.lua")
lsp-lua-workspace-max-preload 2048 ; Default: 300, Max preloaded files
lsp-lua-workspace-preload-file-size 1024; Default: 100, Skip files larger than this value (KB) when preloading.
)
相关配置项: https://emacs-lsp.github.io/lsp-mode/page/lsp-lua-language-server/