1.8 KiB
1.8 KiB
README
Project structure
init.lua: root config file, commonly used to manage the vim global variables.lua/: main code directoryconfig/: main config directory, it is required inside the<root>/init.lua, therefore its name is arbitrary.init.lua: module definition file, simply exports the restlazy.lua: initializes thelazy.nvimplugin managerlsp.lua: initializes every language server defined, this can be deleted if you decide to use a plugin such aslsp-zero,lsp-configor anything as such. Note:lsp-configis a plugin that is not a plugin, it simply provides a common<root>/lsp/definitions, pretty handy.autocmds.lua: organization module to defineautocmds(event handlers).remap.lua: another organization module, this one is used to define key mappings. The name is arbitrary.
plugins/: main plugin directory, files inside will be automatically read and are only required to return (export) a table with the plugins list.opts/: arbitrary name, just some plugin configs organized to avoid bloating thepluginsfiles
lsp/: language server definitions
Language servers
This list is arbitrary and will depend on the current state of the lsp folder:
# pacman -S lua-language-server bash-language-server typescript-language-server vscode-html-language-server vscode-css-language-server pyright-langserver gopls astro-ls jdtls rust-analyzer solargraph vue-language-server vscode-json-languageserver$ yay -S jdtls ruby-solargraph# npm i -g emmet-language-server emmet-ls @astrojs/language-server
Relevant docs
- LSP config: the new nvim integration with LSP makes it unnecessary to rely on third party tools like
lsp-configorlsp-zero.