Skip to content

Commit a347a08

Browse files
author
Venkata Subramani Renduchintala
committed
docs(readme): rewrite Featured Plugins section with SRE role coverage
1 parent 1770f67 commit a347a08

1 file changed

Lines changed: 153 additions & 17 deletions

File tree

README.md

Lines changed: 153 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Neovim configuration for Java, Python, Rust and Lua
1+
# Neovim configuration for SRE, Java, Python, Rust and Lua
22

3-
Personal Lua-based Neovim configuration used as a daily IDE for Java, Python and Rust development.
3+
Personal Lua-based Neovim configuration used as a daily IDE for SRE/DevOps work and software development.
44

55
> **Disclaimer:** This configuration is based on and forked from [magidc/nvim-config](https://github.com/magidc/nvim-config). Credits to the original author for the foundational setup.
66
@@ -12,9 +12,9 @@ Personal Lua-based Neovim configuration used as a daily IDE for Java, Python and
1212
```
1313
git clone --depth 1 https://github.com/venkatarenduchintala/nvim-config.git ~/.config/nvim
1414
```
15-
1. Install latest [Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim).
15+
1. Install latest [Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim) (0.11+).
1616
2. Install [ripgrep](https://github.com/BurntSushi/ripgrep) — required by some [Telescope](https://github.com/nvim-telescope/telescope.nvim) search modes.
17-
3. LSP servers and DAP adapters (Java, Python, Rust, Lua) are managed automatically by [mason.nvim](https://github.com/mason-org/mason.nvim) on first launch.
17+
3. LSP servers, DAP adapters, linters and formatters are managed automatically by [mason.nvim](https://github.com/mason-org/mason.nvim) on first launch.
1818
1919
<br>
2020
@@ -31,16 +31,152 @@ Plugin-specific mappings live in `lua/plugins/configs/`. LSP mappings are define
3131
<br>
3232
3333
# Featured Plugins
34-
* [Telescope](https://github.com/nvim-telescope/telescope.nvim)
35-
> Highly extendable fuzzy finder over lists
36-
* [Neotree](https://github.com/nvim-neo-tree/neo-tree.nvim)
37-
> Tree file explorer
38-
* [Aerial](https://github.com/stevearc/aerial.nvim)
39-
> Code outline window for skimming and quick navigation
40-
* [WhichKey](https://github.com/folke/which-key.nvim)
41-
> Displays a popup with possible key bindings of the command you started typing
42-
* [Nvim-jdtls](https://github.com/mfussenegger/nvim-jdtls)
43-
> Extensions for the built-in LSP support in Neovim for eclipse.jdt.ls
44-
* [Nvim-dap](https://github.com/mfussenegger/nvim-dap)
45-
> Debug Adapter Protocol client implementation for Neovim
46-
* Others...
34+
35+
## LSP — Core Infrastructure
36+
*All roles*
37+
38+
- **[mason.nvim](https://github.com/mason-org/mason.nvim)** — automatic installation of LSP servers, DAP adapters, linters and formatters
39+
- **[mason-lspconfig](https://github.com/mason-org/mason-lspconfig.nvim)** — bridges mason with Neovim's native LSP API; auto-enables all installed servers
40+
- **[mason-nvim-lint](https://github.com/rshkarin/mason-nvim-lint)** — bridges mason with nvim-lint for automatic linter installation
41+
- **Native LSP (Neovim 0.11+)** — `vim.lsp.config` / `vim.lsp.enable` API; global capabilities in `lua/lsp/init.lua`; per-server settings in `after/lsp/<name>.lua`
42+
- **[lspsaga.nvim](https://github.com/nvimdev/lspsaga.nvim)** — enhanced LSP UI: code actions, hover docs, rename, breadcrumbs
43+
- **[nvim-lint](https://github.com/mfussenegger/nvim-lint)** — async linting engine; triggers on save
44+
- **[conform.nvim](https://github.com/stevearc/conform.nvim)** — formatting engine with per-filetype formatter chains
45+
46+
---
47+
48+
## SRE / DevOps
49+
*Go · Terraform · Helm · Ansible · Bash · Dockerfile · YAML · Jsonnet · Python · Markdown*
50+
51+
### Language Servers
52+
- **gopls** — Go LSP: unused params, shadow analysis, staticcheck, gofumpt formatting
53+
- **terraformls + tflint** — Terraform/HCL LSP and linting
54+
- **helm_ls** — Helm chart LSP with embedded yamlls for template files
55+
- **ansiblels + ansible-lint** — Ansible playbook LSP with validation and linting
56+
- **bashls + shellcheck + shfmt** — Bash LSP, linting and formatting
57+
- **dockerls + docker_compose_language_service + hadolint** — Dockerfile/Compose LSP and linting
58+
- **yamlls + yamllint + kube-linter** — YAML LSP (SchemaStore-backed), linting; Kubernetes manifest linting
59+
- **jsonnet_ls** — Jsonnet/Grafonnet LSP for Grafana dashboards as code (Tanka support via `-t` flag)
60+
- **pyright + ruff** — Python LSP; ruff for fast linting and formatting (replaces pylint + black)
61+
- **marksman** — Markdown LSP: link resolution, wikilinks, references
62+
- **actionlint** — GitHub Actions workflow linting
63+
64+
### Treesitter Parsers
65+
`go` · `terraform` · `hcl` · `bash` · `gotmpl` · `dockerfile` · `jsonnet` · `python` · `markdown` · `markdown_inline` · `yaml`
66+
67+
---
68+
69+
## Development — Java
70+
*Java · Spring Boot · Gradle · Maven*
71+
72+
- **[nvim-jdtls](https://github.com/mfussenegger/nvim-jdtls)** — full jdtls lifecycle management: organize imports, super implementation, DAP integration
73+
- **[nvim-dap](https://github.com/mfussenegger/nvim-dap)** + **mason-nvim-dap** — Debug Adapter Protocol; Java debug adapter + test runner via jdtls
74+
75+
---
76+
77+
## Development — Rust
78+
*Rust · Cargo*
79+
80+
- **[rustaceanvim](https://github.com/mrcjkb/rustaceanvim)** — native LSP API Rust support: runnables, debuggables, hover actions; uses `after/lsp/rust_analyzer.lua` settings
81+
- **[crates.nvim](https://github.com/saecki/crates.nvim)** — `Cargo.toml` dependency info and version management inline
82+
83+
---
84+
85+
## Development — Python
86+
*Python · Jupyter*
87+
88+
- **pyright + ruff** — type-checked Python LSP with fast unified linting/formatting
89+
- **[nvim-dap-python](https://github.com/mfussenegger/nvim-dap-python)** — Python debug adapter via debugpy
90+
- **[nvim-jupyter-client](https://github.com/geg2102/nvim-jupyter-client)** — Jupyter notebook editing inside Neovim
91+
92+
---
93+
94+
## Development — Lua
95+
*Neovim plugin development*
96+
97+
- **[lazydev.nvim](https://github.com/folke/lazydev.nvim)** — accurate Neovim API completions and type hints for `lua_ls`; replaces manual `workspace.library` setup
98+
- **lua_ls** — Lua LSP with LuaJIT runtime and Neovim global awareness
99+
100+
---
101+
102+
## Development — Web / General
103+
*JavaScript · TypeScript · HTML · CSS · JSON · Rust · C/C++ · LaTeX*
104+
105+
- **eslint** — JavaScript/TypeScript linting with auto-fix on save
106+
- **html/cssls/jsonls/clangd/pyright** — LSP coverage for web and systems languages
107+
- **[vimtex](https://github.com/lervag/vimtex)** — LaTeX editing with live compile and PDF preview
108+
109+
---
110+
111+
## Completion
112+
*All roles*
113+
114+
- **[nvim-cmp](https://github.com/hrsh7th/nvim-cmp)** — completion engine with sources: LSP, Neovim API, buffer, path, luasnip, lazydev
115+
- **[LuaSnip](https://github.com/L3MON4D3/LuaSnip)** — snippet engine with VSCode snippet support
116+
- **[lspkind.nvim](https://github.com/onsails/lspkind.nvim)** — VSCode-style completion item kind icons
117+
118+
---
119+
120+
## Navigation
121+
*All roles*
122+
123+
- **[Telescope](https://github.com/nvim-telescope/telescope.nvim)** — fuzzy finder over files, buffers, LSP symbols, git, diagnostics and more
124+
- **[neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim)** — file explorer with git status integration
125+
- **[aerial.nvim](https://github.com/stevearc/aerial.nvim)** — code outline window for symbols and quick navigation
126+
- **[glance.nvim](https://github.com/dnlhc/glance.nvim)** — peek at definitions, references and implementations in a floating window
127+
- **[leap.nvim](https://github.com/ggandor/leap.nvim)** + **[flash.nvim](https://github.com/folke/flash.nvim)** — fast cursor motion anywhere on screen
128+
- **[nvim-spider](https://github.com/chrisgrieser/nvim-spider)** — CamelCase and snake_case word motions
129+
130+
---
131+
132+
## Editing
133+
*All roles*
134+
135+
- **[nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)** — syntax highlighting, indentation and structural editing
136+
- **[nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects)** — semantic text objects: functions, classes, parameters, blocks, loops, conditionals
137+
- **[nvim-autopairs](https://github.com/windwp/nvim-autopairs)** — auto-close brackets, quotes and tags
138+
- **[nvim-surround](https://github.com/kylechui/nvim-surround)** — add, change and delete surrounding delimiters
139+
- **[vim-visual-multi](https://github.com/mg979/vim-visual-multi)** — multiple cursors
140+
- **[substitute.nvim](https://github.com/gbprod/substitute.nvim)** — replace motion target with register contents
141+
- **[dial.nvim](https://github.com/monaqa/dial.nvim)** — extended increment/decrement for dates, booleans, hex, etc.
142+
- **[comment.nvim](https://github.com/numToStr/Comment.nvim)** — smart line and block commenting
143+
- **[splitjoin](https://github.com/Wansmer/treesj)** — split or join lists and argument blocks
144+
- **[nvim-ufo](https://github.com/kevinhwang91/nvim-ufo)** — improved code folding with LSP/treesitter providers
145+
- **[vim-matchup](https://github.com/andymass/vim-matchup)** — extended `%` matching for language keywords
146+
147+
---
148+
149+
## Git
150+
*All roles*
151+
152+
- **[gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)** — inline blame, hunk preview, stage/reset hunks in the gutter
153+
- **[diffview.nvim](https://github.com/sindrets/diffview.nvim)** — side-by-side diff viewer and merge tool
154+
- **[lazygit.nvim](https://github.com/kdheepak/lazygit.nvim)** — full LazyGit TUI inside Neovim
155+
156+
---
157+
158+
## AI
159+
*All roles*
160+
161+
- **[claudecode.nvim](https://github.com/coder/claudecode.nvim)** — Claude Code integration: AI-assisted editing, code generation and explanation directly in the editor
162+
163+
---
164+
165+
## UI & Productivity
166+
*All roles*
167+
168+
- **[bufferline.nvim](https://github.com/akinsho/bufferline.nvim)** — tab bar with buffer management
169+
- **[lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)** — status line with LSP, git and diagnostics info
170+
- **[trouble.nvim](https://github.com/folke/trouble.nvim)** — diagnostics panel: errors, warnings, LSP references, quickfix
171+
- **[todo-comments.nvim](https://github.com/folke/todo-comments.nvim)** — highlight and search TODO/FIXME/NOTE/HACK comments
172+
- **[which-key.nvim](https://github.com/folke/which-key.nvim)** — popup showing available key bindings as you type
173+
- **[toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim)** — floating, horizontal and vertical terminal panes
174+
- **[neoclip.nvim](https://github.com/AckslD/nvim-neoclip.lua)** — clipboard history picker via Telescope
175+
- **[nvim-notify](https://github.com/rcarriga/nvim-notify)** — animated popup notifications
176+
- **[illuminate.nvim](https://github.com/RRethy/vim-illuminate)** — automatically highlight all occurrences of the word under the cursor
177+
- **[nvim-colorizer](https://github.com/norcalli/nvim-colorizer.lua)** — inline color preview for hex codes and CSS colors
178+
- **[undotree](https://github.com/mbbill/undotree)** — visual undo history tree
179+
- **[project.nvim](https://github.com/ahmedkhalf/project.nvim)** — automatic project root detection and project switching
180+
- **[bigfile.nvim](https://github.com/LunarVim/bigfile.nvim)** — disables heavy features for large files to maintain performance
181+
- **[neoscroll.nvim](https://github.com/karb94/neoscroll.nvim)** — smooth scrolling animations
182+
- **[vim-startify](https://github.com/mhinz/vim-startify)** — start screen with recent files and sessions

0 commit comments

Comments
 (0)