This role installs and configures Neovim with a modern, plugin-based setup using Lazy.nvim as the plugin manager.
- Plugin Management: Uses Lazy.nvim for efficient, lazy-loaded plugins
- Theme: Tokyo Night theme with Lualine statusline integration
- File Navigation: Telescope integration for finding files, live grep, buffers, and help tags
- Language Server Protocol (LSP): Extensive LSP support with Mason for managing language servers
- Syntax Highlighting: Treesitter integration with support for Python, Bash, and YAML
<leader>is mapped to space (" ")
<leader>ff- Find files<leader>fg- Live grep<leader>fb- List buffers<leader>fh- Help tags
gd- Go to definitiongD- Go to declarationgr- Show referencesgi- Go to implementationK- Show hover documentation<leader>rn- Rename symbol<leader>ca- Code actions[d- Previous diagnostic]d- Next diagnostic<leader>e- Show diagnostic in float
The role configures LSP support for multiple languages (some may require additional setup):
- C/C++ (clangd)
- Clojure (clojure_lsp)
- Dart (dartls)
- Elixir (elixirls)
- Java (jdtls)
- Julia (julials)
- Kotlin (kotlin_language_server)
- Lua (lua_ls)
- Pascal (pasls)
- PHP (phpactor)
- Python (pyright)
- Rust (rust_analyzer)
- Scala (metals)
- SQL (sqlls)
- TypeScript/JavaScript (ts_ls)
Configuration for Visual Studio Code is currently under development.