Skip to content

Repository files navigation

Emmy Lua Language Server

Use EmmyLuaAnalyzer Please

CI statusDownload
Build statusEmmyLua-LS-all.jar

Emmy lua Language server have lots of features for lua language, including:

  • Find usages
  • Go to definition
  • Comment based type/class annotation
  • Basic completion

For an exhaustive list of features see the intellij plugin description.

Requirements

Building

Run from root:

$ gradlew shadowJar

The EmmyLua-LS-all.jar file will be created in EmmyLua-LanguageServer/EmmyLua-LS/build .

Running Server

To run the language server use:

$ java -cp EmmyLua-LS-all.jar com.tang.vscode.MainKt

Adding to an Sublime

Just pass the instantiating instruction to the LSP plugin.

Example: adding EmmyLua to SublimeText with Sublime-LSP:

  • install the LSP plugin in sublime
  • add emmy as a client to LSP.sublime-settings:
{
"clients":
{
"emmy":
{
"command":
[
"java",
"-cp",
"<path to jar>/*",
"com.tang.vscode.MainKt"
],
"enabled": true,
"languageId": "lua",
"scopes":
[
"source.lua"
],
"syntaxes":
[
"Packages/Lua/Lua.sublime-syntax"
]
}
}
}

Adding to Emacs

you can use lsp-lua-emmy as lsp client.

add following code to your ~/.emacs or .emacs.d/init.el .

(use-package lsp-mode
:ensuret:commands lsp
:hook ((lua-mode) . lsp)
:config
)
(use-package company-lsp
:ensuret:after lsp-mode
:config
(setq company-lsp-enable-recompletion t)
(setq lsp-auto-configure nil) ;该功能会自动执行(push company-lsp company-backends)
)
(use-package lsp-lua-emmy
:demand:ensurenil:load-path"~/github/lsp-lua-emmy":hook (lua-mode . lsp)
:config
(setq lsp-lua-emmy-jar-path (expand-file-name"EmmyLua-LS-all.jar" user-emacs-directory))
)
(defunset-company-backends-for-lua()
"Set lua company backend."
(setq-local company-backends '(
(
company-lsp
company-lua
company-keywords
company-gtags
company-yasnippet
)
company-capf
company-dabbrev-code
company-files
)))
(use-package lua-mode
:ensuret:mode"\\.lua$":interpreter"lua":hook (lua-mode . set-company-backends-for-lua)
:config
(setq lua-indent-level 4)
(setq lua-indent-string-contents t)
(setq lua-prefix-key nil)
)

work with company-mode and lua-mode in Emacs 26.1:

work-with-emacs

Adding to Vim/NeoVim

Install Vim-EasyComplete. Run InstallLspServer after opening a lua file with vim.

About

No description, website, or topics provided.

Resources

Stars

161 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages