All Projects → Alloyed → Lua Lsp

Alloyed / Lua Lsp

Licence: mit
A Lua language server

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Lua Lsp

Php Language Server
PHP Implementation of the VS Code Language Server Protocol 🆚↔🖥
Stars: ✭ 1,019 (+365.3%)
Mutual labels:  language-server-protocol, language-server, autocomplete
Intelephense
Intellisense for PHP
Stars: ✭ 212 (-3.2%)
Mutual labels:  language-server-protocol, language-server, autocomplete
Vscode Intelephense
PHP intellisense for Visual Studio Code
Stars: ✭ 872 (+298.17%)
Mutual labels:  language-server-protocol, language-server
Glsl Language Server
Language server implementation for GLSL
Stars: ✭ 53 (-75.8%)
Mutual labels:  language-server-protocol, language-server
Nvim Lspconfig
Quickstart configurations for the Nvim LSP client
Stars: ✭ 3,410 (+1457.08%)
Mutual labels:  language-server-protocol, language-server
Kotlin Language Server
Intelligent Kotlin support for any editor/IDE using the Language Server Protocol
Stars: ✭ 650 (+196.8%)
Mutual labels:  language-server, autocomplete
Python Language Server
Microsoft Language Server for Python
Stars: ✭ 778 (+255.25%)
Mutual labels:  language-server-protocol, language-server
Protocol Buffers Language Server
[WIP] Protocol Buffers Language Server
Stars: ✭ 44 (-79.91%)
Mutual labels:  language-server-protocol, language-server
Ale
Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support
Stars: ✭ 11,380 (+5096.35%)
Mutual labels:  language-server-protocol, autocomplete
Elm Language Client Vscode
Improving your Elm experience since 2019
Stars: ✭ 162 (-26.03%)
Mutual labels:  language-server-protocol, language-server
Dockerfile Language Server Nodejs
A language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies.
Stars: ✭ 170 (-22.37%)
Mutual labels:  language-server-protocol, language-server
Vim Lsc
A vim plugin for communicating with a language server
Stars: ✭ 545 (+148.86%)
Mutual labels:  language-server-protocol, autocomplete
Typescript Language Server
TypeScript & JavaScript Language Server
Stars: ✭ 462 (+110.96%)
Mutual labels:  language-server-protocol, language-server
Pylance Release
Documentation and issues for Pylance
Stars: ✭ 782 (+257.08%)
Mutual labels:  language-server-protocol, language-server
Monaco Languageclient
NPM module to connect Monaco editor with language servers
Stars: ✭ 419 (+91.32%)
Mutual labels:  language-server-protocol, language-server
Powershelleditorservices
A common platform for PowerShell development support in any editor or application!
Stars: ✭ 394 (+79.91%)
Mutual labels:  language-server-protocol, language-server
Sqls
SQL language server written in Go.
Stars: ✭ 301 (+37.44%)
Mutual labels:  language-server-protocol, autocomplete
Erlang ls
The Erlang Language Server
Stars: ✭ 363 (+65.75%)
Mutual labels:  language-server-protocol, language-server
Lsp4intellij
This language client library provides language server protocol support for IntelliJ IDEA and other Jetbrains IDEs.
Stars: ✭ 121 (-44.75%)
Mutual labels:  language-server-protocol, language-server
Langserver Swift
A Swift implementation of the open Language Server Protocol.
Stars: ✭ 171 (-21.92%)
Mutual labels:  language-server-protocol, language-server

lua-lsp

Build Status

A Language Server for Lua code, written in Lua.

It's still a work in progress, but it's usable for day-to-day. It currently supports:

  • Limited autocompletion
  • Goto definition
  • As you type linting and syntax checking
  • Code formatting
  • Supports Lua 5.1-5.3 and Luajit

Installation/Usage

lua-lsp can be installed using luarocks:

$ luarocks install --server=http://luarocks.org/dev lua-lsp

This will install the lua-lsp command. Language clients can then communicate with this process using stdio as a transport. See editors.md for more instructions specific to your editor of choice.

Plugins

lua-lsp automatically integrates with common lua packages, when they are installed. For linting, install luacheck:

$ luarocks install luacheck

For code formatting, we currently support Formatter and LCF. Formatter is 5.1 only, whereas lcf is 5.3 only. 5.1:

$ luarocks-5.1 install Formatter
$ luarocks-5.3 install lcf

If you have another package you'd like to see integrated, feel free to leave an issue/PR. Other plugins are always welcome, especially if they provide materially different results.

if lua-cjson is installed, we will optionally use it for a speed boost. It is unfortunately not supported by all versions of lua at the moment, but as soon as it is we will switch to making it mandatory.

$ luarocks install lua-cjson

Configuration

lua-lsp reads a few project-level configuration files to do its work.

To configure linting, we read your standard .luacheckrc file.

For autocomplete support, we reimplement the .luacompleterc format created by atom-autocomplete-lua. In particular, we need luaVersion to properly understand your code.

More LSP-specific configuration flags will hopefully be provided through your editor's configuration support.

TODO

The LSP spec is big, and we don't implement all of it. here's a quick wishlist ordered by roughly by priority/feasibility.

  • List references (textDocument/references)
  • Find symbols (workspace/symbol)
  • Function signature help (textDocument/signatureHelp)
  • Code links (textDocument/documentLink)
  • File events (workspace/didChangeWatchedFiles)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].