A personal Neovim setup with LSP, treesitter, and modern plugins.
.
├── init.lua # Main entry point
├── lua/
│ ├── core/
│ │ ├── set.lua # Neovim settings
│ │ ├── remap.lua # Key mappings
│ │ ├── diagnostic.lua # Diagnostics config
│ │ └── lsp.lua # LSP configuration
│ └── plugins/
│ ├── ui/
│ │ ├── catppuccin.lua
│ │ └── lualine.lua
│ ├── lsp/
│ │ └── treesitter.lua
│ ├── navigation/
│ │ ├── telescope.lua
│ │ └── harpoon.lua
│ └── misc/
│ └── todo-comments.lua
└── KEYMAPS.md # Custom keymaps
| Category | Plugin | Description |
|---|---|---|
| UI | catppuccin/nvim | Theme (macchiato flavor) |
| UI | nvim-lualine/lualine.nvim | Status line |
| UI | nvim-tree/nvim-web-devicons | File icons (dependency) |
| LSP | nvim-treesitter/nvim-treesitter | Syntax highlighting |
| LSP | nvim-treesitter/nvim-treesitter-textobjects | textobjects selection |
| Navigation | nvim-telescope/telescope.nvim | Fuzzy finder |
| Navigation | ThePrimeagen/harpoon | Quick file navigation |
| Misc | folke/todo-comments.nvim | TODO comments |
| Misc | nvim-lua/plenary.nvim | Utility library (dependency) |
- LSP: Built-in LSP with
lua_ls,gopls,ts_ls - Treesitter: Syntax highlighting for lua, javascript, typescript, go
- Theme: Catppuccin Macchiato
- Statusline: Lualine with mode, branch, diff, diagnostics
See KEYMAPS.md for full list of custom keymaps.