nvim-metals
A Metals plugin for Neovim (by scalameta)
lua-language-server
A language server that offers Lua language support - programmed in Lua (by LuaLS)
Our great sponsors
nvim-metals | lua-language-server | |
---|---|---|
12 | 79 | |
429 | 2,988 | |
3.0% | 4.1% | |
7.6 | 9.4 | |
4 days ago | 7 days ago | |
Lua | Lua | |
Apache License 2.0 | 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.
nvim-metals
Posts with mentions or reviews of nvim-metals.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-13.
-
Seeking input from Metals users about build importing.
By multiple subprojects are they independent builds? Or just one big build with nested build files? I actually have a discussion related to this in here. Please to jump in there if that's the same issue you're having and comment on your situation. It'll be helpful to determine how to address it.
-
Neovim & Scala. Metals LSP not found when using :LspInstall
Use nvim-metals
-
elixir.nvim
elixir.nvim is a langauge plugin for Elixir. It is similar to nvim-metals in that is manages ElixirLS (Elixir's language server) and provides a complete experience over nvim-lspconfig.
-
Use Vim as a Scala IDE
Install https://github.com/scalameta/nvim-metals
-
debugpy.nvim: Command and API frontend to nvim-dap and Debugpy (debugging Python)
But I haven't yet set up anything properly other than Debugpy. nvim-dap is very barebones, so I feel that the best way is to have an extra configuration plugin on top. Debugpy.nvim is a very specific frontend plugin, but there are also more general plugins like nvim-metals and vim-ultest which also offer integration with nvim-dap.
-
What's your preferred setup/process (IDE, settings, etc) for working in Scala?
Yeah it's pretty good already and getting newer features everyday. I didn't want to hook up the vim I use everyday to a heavy editor so installed neovim alongside vim on my system and use this https://github.com/scalameta/nvim-metals (which I believe is the metals official way) and it's super straight forward to use.
-
How do you deal with poorly documented plugins?
Every software project is WIP to some extent, but that doesn't stop Neovim itself from having really high standards in documentation. A lot of Neovim plugins also have really high standards, such as nvim-metals.
-
sidebar.nvim - A generic and modular lua sidebar
nvim-metals (really thorough manual)
- Tree Sitter support
- Scala - what is best development setup?
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).
What are some alternatives?
When comparing nvim-metals and lua-language-server you can also consider the following projects:
completion-nvim - A async completion framework aims to provide completion to neovim's built in LSP written in Lua
lua-lsp - A Lua language server
nvim-lua-guide - A guide to using Lua in Neovim
luacheck - A tool for linting and static analysis of Lua code.
neovim - Vim-fork focused on extensibility and usability
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
tree-sitter-scala - Scala grammar for tree-sitter
lsp-mode - Emacs client/library for the Language Server Protocol
nvim-cmp - A completion plugin for neovim coded in Lua.
lsp-zero.nvim - A starting point to setup some lsp related features in neovim.
nvim-dap - Debug Adapter Protocol client implementation for Neovim
nvim-metals vs completion-nvim
lua-language-server vs lua-lsp
nvim-metals vs nvim-lua-guide
lua-language-server vs luacheck
nvim-metals vs neovim
lua-language-server vs coc.nvim
nvim-metals vs tree-sitter-scala
lua-language-server vs lsp-mode
nvim-metals vs nvim-cmp
lua-language-server vs lsp-zero.nvim
nvim-metals vs nvim-dap
lua-language-server vs nvim-cmp