lua-language-server
A language server that offers Lua language support - programmed in Lua (by LuaLS)
packer.nvim
A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config (by wbthomason)
lua-language-server | packer.nvim | |
---|---|---|
79 | 180 | |
3,011 | 7,603 | |
1.8% | - | |
9.4 | 3.4 | |
6 days ago | about 2 months ago | |
Lua | Lua | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lua-language-server
Posts with mentions or reviews of lua-language-server.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-01.
-
Some questions about code formatting with lsp-zero and mason
Check the documentation of lua_ls
-
Beginner question: is there any coding standard for documenting Lua functions or tables emulating OOP?
You can use LLS extension for VSCode. Documentation: https://github.com/LuaLS/lua-language-server/wiki/Annotations
-
Lua: The Little Language That Could
There's lua-language-server which works with types defined in definition files and/or annotations in comments.
-
Documentation Comment highlighting with TreeSitter
Lastly, neovim now supports semantic token highlighting which uses semantic tokens from LSP servers to provide even better, language specific highlighting. Some LSP servers support semantic tokens for doc comments. The lua language server is a good example. Unfortunately, if you're using a language like C or C++, the language servers do not provide semantic tokens for comments because doxygen style comments are not specific to those languages so you might be out of luck for semantic token highlighting.
-
This little thing bugs me: in lua LSP popup content, the closing paren is always highlighted red
I think it is because the language server send a different type for the first line: https://github.com/LuaLS/lua-language-server/blob/eeffd1462b892fda5d01282acf840ba0e154e467/script/core/hover/label.lua (might be one of the other files here, not label)
-
How to add lua-language-server to $PATH
And I was reading this installation guide and after "./bin/lua-language-server " I get this in terminal
-
New to lua
Not sure about typescript but there is a jsdoc equivalent: https://github.com/LuaLS/lua-language-server/wiki/Annotations
-
How complex can I make games in Lua?
Lua with lua-language-server and annotated types is a much nicer experience.
-
mini.nvim - release of version 0.8.0
For it to be language-aware (like provide suggestions for module/table/class methods/fields) you also need language server (like lua_ls for Lua). But even without it you should see suggestions from fallback method. If you don't, then 'mini.completion' is not installed and/or activated.
-
PSA: Changes to the mason.nvim registry
I also want to thank current & past GitHub sponsors who help finance costs associated with the plugin. I regularly pay the surplus forward to other devs whose tooling I heavily rely on (huge shout-out to sumneko for working on the Lua language server, without it a plugin of the complexity of mason.nvim would be impossible, go sponsor them here).
packer.nvim
Posts with mentions or reviews of packer.nvim.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-10-21.
-
thethethe.nvim - neovim friendly autocorrect plugin
packer
-
Help Enablin Powerline Font for Lightline in Kitty NeoVim
-- Check if Packer.nvim is already installed if fn.empty(fn.glob(install_path)) > 0 then -- If not installed, clone it from GitHub fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) -- Load Packer.nvim vim.cmd [[packadd packer.nvim]] return true end return false end
-
Installing neovim on windows 10 does not work (no really, it doesn't)
local ensure_packer = function() local fn = vim.fn local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) vim.cmd [[packadd packer.nvim]] return true end return false end
-
Issue with treesitter highlights, disappears after 5 seconds each time
local fn = vim.fn -- Automatically install packer local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(install_path)) > 0 then PACKER_BOOTSTRAP = fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path, }) print("Installing packer close and reopen Neovim...") vim.cmd([[packadd packer.nvim]]) end -- Autocommand that reloads neovim whenever you save the plugins.lua file vim.cmd([[ augroup packer_user_config autocmd! autocmd BufWritePost plugins.lua source | PackerSync augroup end ]]) -- Use a protected call so we don't error out on first use local status_ok, packer = pcall(require, "packer") if not status_ok then return end -- Have packer use a popup window packer.init({ display = { open_fn = function() return require("packer.util").float({ border = "rounded" }) end, }, }) -- Install your plugins here return packer.startup(function(use) -- My plugins here use({ "wbthomason/packer.nvim" }) -- Have packer manage itself use({ "nvim-lua/plenary.nvim" }) -- Useful lua functions used by lots of plugins use({ "windwp/nvim-autopairs" }) -- Autopairs, integrates with both cmp and treesitter use({ "numToStr/Comment.nvim" }) use({ "JoosepAlviste/nvim-ts-context-commentstring" }) use({ "kyazdani42/nvim-web-devicons" }) use({ "akinsho/bufferline.nvim" }) use({ "moll/vim-bbye" }) use({ "nvim-lualine/lualine.nvim" }) use({ "akinsho/toggleterm.nvim" }) use({ "ahmedkhalf/project.nvim" }) use({ "lewis6991/impatient.nvim" }) use({ "lukas-reineke/indent-blankline.nvim" }) use({ "goolord/alpha-nvim" }) use("folke/which-key.nvim") -- Colorschemes use({ "folke/tokyonight.nvim" }) use("lunarvim/darkplus.nvim") use("bluz71/vim-moonfly-colors") use("fcpg/vim-fahrenheit") use("rainglow/vim") use("wojciechkepka/vim-github-dark") use("gavinok/spaceway.vim") use({"mcchrish/zenbones.nvim", requires = "rktjmp/lush.nvim"}) use({ "ellisonleao/gruvbox.nvim" }) -- Gruvbox theme -- LSP use({ "neovim/nvim-lspconfig" }) -- enable LSP use({ "williamboman/nvim-lsp-installer" }) -- simple to use language server installer use({ "jose-elias-alvarez/null-ls.nvim" }) -- for formatters and linters -- Telescope use({ "nvim-telescope/telescope.nvim" }) -- Treesitter use("nvim-treesitter/nvim-treesitter", {run = ':TSUpdate'}) use("nvim-treesitter/nvim-treesitter-context") use("nvim-treesitter/playground") -- Editor plugins use({ "karb94/neoscroll.nvim" }) -- Git use({ "lewis6991/gitsigns.nvim" }) -- LSP Zero use { 'VonHeikemen/lsp-zero.nvim', requires = { -- LSP Support {'neovim/nvim-lspconfig'}, -- Required {'williamboman/mason.nvim'}, -- Optional {'williamboman/mason-lspconfig.nvim'}, -- Optional -- Autocompletion {'hrsh7th/nvim-cmp'}, -- Required {'hrsh7th/cmp-buffer'}, {'hrsh7th/cmp-path'}, {'hrsh7th/cmp-nvim-lua'}, {'hrsh7th/cmp-nvim-lsp'}, -- Required {'L3MON4D3/LuaSnip'}, -- Required {'rafamadriz/friendly-snippets'}, } } -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if PACKER_BOOTSTRAP then require("packer").sync() end end)
-
Editing init.lua with lua_ls on gives "Undefined global : vim" ?
require('packer').startup(function(use) use 'https://github.com/wbthomason/packer.nvim' use 'https://github.com/neovim/nvim-lspconfig' end)
- error message whenever I write a file
-
[Help] Packer.nvim
git clone --depth 1 https://github.com/wbthomason/packer.nvim\ ~/.local/share/nvim/site/pack/packer/start/packer.nvim
-
Pyright Won't Let me Quit Python Files
``` vim.g.maplocalleader = " " vim.g.mapleader = " " local ensure_packer = function() local fn = vim.fn local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(install_path)) > 0 then fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }) vim.cmd([[packadd packer.nvim]]) return true end return false end
- [Neovim] Gestionnaire de packages basé à Lua
What are some alternatives?
When comparing lua-language-server and packer.nvim you can also consider the following projects:
lua-lsp - A Lua language server
vim-plug - :hibiscus: Minimalist Vim Plugin Manager
luacheck - A tool for linting and static analysis of Lua code.
lazy.nvim - 💤 A modern plugin manager for Neovim
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
lsp-mode - Emacs client/library for the Language Server Protocol
nvim-lspconfig - Quickstart configs for Nvim LSP
lsp-zero.nvim - A starting point to setup some lsp related features in neovim.
paq-nvim - 🌚 Neovim package manager
nvim-cmp - A completion plugin for neovim coded in Lua.
gruvbox.nvim - Lua port of the most famous vim colorscheme
lua-language-server vs lua-lsp
packer.nvim vs vim-plug
lua-language-server vs luacheck
packer.nvim vs lazy.nvim
lua-language-server vs coc.nvim
packer.nvim vs nvim-treesitter
lua-language-server vs lsp-mode
packer.nvim vs nvim-lspconfig
lua-language-server vs lsp-zero.nvim
packer.nvim vs paq-nvim
lua-language-server vs nvim-cmp
packer.nvim vs gruvbox.nvim