Skip to content

Commit 3a7bb35

Browse files
committed
Add emmy lua support
1 parent c38b7eb commit 3a7bb35

File tree

3 files changed

+41
-3
lines changed

3 files changed

+41
-3
lines changed

README.org

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132
| C++ | [[https://github.com/MaskRay/ccls][ccls]] | [[https://github.com/MaskRay/emacs-ccls][emacs-ccls]] | [[https://github.com/MaskRay/ccls][ccls]] | Yes (gdb or lldb) |
133133
| C++ | [[https://clang.llvm.org/extra/clangd.html][clangd]] | Yes | [[https://clang.llvm.org/extra/clangd.html][clangd]] | Yes (gdb or lldb) |
134134
| C++ | [[https://github.com/cquery-project/cquery][cquery]] | [[https://github.com/cquery-project/emacs-cquery][emacs-cquery]] | [[https://github.com/cquery-project/cquery][cquery]] | Yes (gdb or lldb) |
135-
| C# | [[https://github.com/OmniSharp/omnisharp-roslyn][OmniSharp-Roslyn]] | Yes | [[https://github.com/OmniSharp/omnisharp-roslyn][OmniSharp-Roslyn]] | No |
135+
| C# | [[https://github.com/OmniSharp/omnisharp-roslyn][OmniSharp-Roslyn]] | Yes | [[https://github.com/OmniSharp/omnisharp-roslyn][OmniSharp-Roslyn]] | No |
136136
| Clojure | [[https://github.com/snoe/clojure-lsp][clojure-lsp]] | Yes | [[https://github.com/snoe/clojure-lsp][clojure-lisp]] | |
137137
| CSS/LessCSS/SASS/SCSS | [[https://github.com/vscode-langservers/vscode-css-languageserver-bin][css]] | Yes | npm install -g vscode-css-languageserver-bin | |
138138
| Dart | [[https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/tool/lsp_spec/README.md][dart_analysis_server]] | Yes | built into dart-sdk | |
@@ -143,12 +143,13 @@
143143
| Erlang | [[https://github.com/erlang-ls/erlang_ls][erlang_ls]] | Yes | [[https://github.com/erlang-ls/erlang_ls][erlang_ls]] | |
144144
| F# | [[https://github.com/fsharp/FsAutoComplete][fsautocomplete]] | Yes | Automatic by [[https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-fsharp.el][lsp-fsharp]] | No |
145145
| Fortran | [[https://github.com/hansec/fortran-language-server][fortran-language-server]] | Yes | pip install fortran-language-server | Yes |
146-
| Go | [[https://golang.org/x/tools/cmd/gopls][gopls]] | Yes | [[https://github.com/golang/go/wiki/gopls][gopls]] go get golang.org/x/tools/gopls@latest | Yes |
146+
| Go | [[https://golang.org/x/tools/cmd/gopls][gopls]] | Yes | [[https://github.com/golang/go/wiki/gopls][gopls]] go get golang.org/x/tools/gopls@latest | Yes |
147147
| Go | [[https://github.com/saibing/bingo][bingo]] | Yes | [[https://github.com/saibing/bingo/wiki/Install][bingo]] | Yes |
148148
| Groovy | [[https://github.com/palantir/language-servers][groovy-language-server]] | Yes | [[https://github.com/palantir/language-servers][groovy-language-server]] | |
149149
| Hack | [[https://docs.hhvm.com/hhvm/][hhvm]] | Yes | [[https://docs.hhvm.com/hhvm/installation/introduction][hhvm]] | |
150150
| HTML | [[https://github.com/vscode-langservers/vscode-html-languageserver][html]] | Yes | npm install -g vscode-html-languageserver-bin | |
151151
| Haskell | [[https://github.com/haskell/haskell-ide-engine][IDE engine]] | [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]] | [[https://github.com/haskell/haskell-ide-engine][IDE engine]] | |
152+
| Lua | [[https://github.com/EmmyLua/EmmyLua-LanguageServer][EmmyLua]] | Yes | [[https://github.com/emacs-lsp/lsp-mode/wiki/Install-EmmyLua-Language-server][Installation]] | |
152153
| Java | [[https://github.com/eclipse/eclipse.jdt.ls][Eclipse JDT LS]] | [[https://github.com/emacs-lsp/lsp-java][lsp-java]] | Automatic by [[https://github.com/emacs-lsp/lsp-java][lsp-java]] | Yes |
153154
| JavaScript/TypeScript | [[https://github.com/theia-ide/typescript-language-server][typescript-language-server]] (recommended) | Yes | npm i -g typescript-language-server; npm i -g typescript | Yes (Firefox/Chrome) |
154155
| JavaScript/TypeScript | [[https://github.com/sourcegraph/javascript-typescript-langserver][javascript-typescript-stdio]] | Yes | npm i -g javascript-typescript-langserver | Yes (Firefox/Chrome) |
@@ -165,7 +166,7 @@
165166
| Rust | [[https://github.com/rust-lang-nursery/rls][rls]] | Yes | [[https://github.com/rust-lang-nursery/rls][rls]] | Yes |
166167
| Scala | [[https://scalameta.org/metals][Metals]] | Yes | [[https://scalameta.org/metals/docs/editors/emacs.html][Metals]] | |
167168
| Swift | [[https://github.com/apple/sourcekit-lsp][sourcekit-LSP]] | [[https://github.com/emacs-lsp/lsp-sourcekit][lsp-sourcekit]] | [[https://github.com/apple/sourcekit-lsp][sourcekit-LSP]] | Yes (via llvm debug adapter) |
168-
| TeX, LaTeX, etc. | [[https://github.com/astoff/digestif][Digestif]] | Yes | luarocks install --server=http://luarocks.org/dev digestif | |
169+
| TeX, LaTeX, etc. | [[https://github.com/astoff/digestif][Digestif]] | Yes | luarocks install --server=http://luarocks.org/dev digestif | |
169170
| Vue | [[https://github.com/vuejs/vetur/tree/master/server][vue-language-server]] | Yes | npm install -g vue-language-server | Yes (Firefox/Chrome) |
170171
| XML | [[https://github.com/angelozerr/lsp4xml][lsp4xml]] | Yes | Download from [[https://github.com/angelozerr/lsp4xml/releases][lsp4xml releases]] | |
171172
** Commands

lsp-clients.el

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,5 +556,40 @@ responsiveness at the cost of possibile stability issues."
556556
:server-id 'digestif))
557557

558558

559+
;; LUA
560+
(defgroup lsp-emmy-lua nil
561+
"LSP support for emmy-lua."
562+
:group 'lsp-mode
563+
:link '(url-link "https://github.com/EmmyLua/EmmyLua-LanguageServer"))
564+
565+
566+
567+
(defcustom lsp-clients-emmy-lua-java-path "java"
568+
"Path to java which will be used for running emmy-lua language server."
569+
:group 'lsp-emmy-lua
570+
:risky t
571+
:type 'file)
572+
573+
(defcustom lsp-clients-emmy-lua-jar-path (f-expand "~/.emacs.d/EmmyLua-LS-all.jar")
574+
"Path to jar which will be used for running EmmyLua language server."
575+
:group 'lsp-emmy-lua
576+
:risky t
577+
:type 'file)
578+
579+
(defun lsp-clients-emmy-lua--create-connection ()
580+
"Create connection to emmy lua language server."
581+
(plist-put
582+
(lsp-stdio-connection
583+
(lambda ()
584+
(list lsp-clients-emmy-lua-java-path "-jar" lsp-clients-emmy-lua-jar-path)))
585+
:test? (lambda ()
586+
(f-exists? lsp-clients-emmy-lua-jar-path))))
587+
588+
(lsp-register-client
589+
(make-lsp-client :new-connection (lsp-clients-emmy-lua--create-connection)
590+
:major-modes '(lua-mode)
591+
:priority -1
592+
:server-id 'emmy-lua))
593+
559594
(provide 'lsp-clients)
560595
;;; lsp-clients.el ends here

lsp-mode.el

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,9 @@ Changes take effect only when a new session is started."
569569
(".*\.jsx$" . "javascriptreact")
570570
(".*\.xml$" . "xml")
571571
(".*\.hx$" . "haxe")
572+
(".*\.lua$" . "lua")
572573
(sh-mode . "shellscript")
574+
(sh-mode . "lua")
573575
(scala-mode . "scala")
574576
(julia-mode . "julia")
575577
(java-mode . "java")

0 commit comments

Comments
 (0)