28 lines
1.8 KiB
Markdown
28 lines
1.8 KiB
Markdown
# README
|
|
|
|
## Project structure
|
|
|
|
- `init.lua`: root config file, commonly used to manage the vim global variables.
|
|
- `lua/`: main code directory
|
|
- `config/`: main config directory, it is required inside the `<root>/init.lua`, therefore its name is arbitrary.
|
|
- `init.lua`: module definition file, simply exports the rest
|
|
- `lazy.lua`: initializes the `lazy.nvim` plugin manager
|
|
- `lsp.lua`: initializes every language server defined, this can be deleted if you decide to use a plugin such as `lsp-zero`, `lsp-config` or anything as such. Note: `lsp-config` is a plugin that is not a plugin, it simply provides a common `<root>/lsp/` definitions, pretty handy.
|
|
- `autocmds.lua`: organization module to define `autocmds` (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 the `plugins` files
|
|
- `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](https://lsp-zero.netlify.app/blog/lsp-config-overview.html): the new nvim integration with LSP makes it unnecessary to rely on third party tools like `lsp-config` or `lsp-zero`.
|