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: the new nvim integration with LSP makes it unnecessary to rely on third party tools like lsp-config or lsp-zero.
Description
My personal neovim configuration.
Readme 144 KiB
Languages
Lua 100%