86 lines
2.1 KiB
Markdown
86 lines
2.1 KiB
Markdown
# Neovim Configuration Technical Context
|
|
|
|
## Technologies Used
|
|
1. Core Technologies:
|
|
- Neovim - Core editor
|
|
- Lua - Configuration language
|
|
- Kickstart Framework - Configuration foundation
|
|
- lazy.nvim - Plugin manager
|
|
|
|
2. LSP Technologies:
|
|
- mason.nvim - LSP/DAP/Linter manager
|
|
- nvim-lspconfig - LSP configuration
|
|
- nvim-cmp - Completion engine
|
|
- LuaSnip - Snippet engine
|
|
|
|
3. Development Tools:
|
|
- nvim-dap - Debug Adapter Protocol
|
|
- nvim-lint - Linting framework
|
|
- nvim-treesitter - Syntax highlighting
|
|
- nvim-autopairs - Auto-pairing
|
|
- telescope.nvim - Fuzzy finding
|
|
|
|
## Development Setup
|
|
1. Required Components:
|
|
- Neovim >= 0.8.0
|
|
- Git for plugin management
|
|
- Lua >= 5.1
|
|
- Python 3.11.9 (configured for Neovim)
|
|
- (Optional) Nerd Font for icons
|
|
|
|
2. Language Support Dependencies:
|
|
- Language servers (managed by mason.nvim)
|
|
- Debug adapters (managed by mason-nvim-dap)
|
|
- Linters (managed by mason-nvim-lint)
|
|
|
|
## Technical Constraints
|
|
1. Performance Considerations:
|
|
- Lazy loading for improved startup time
|
|
- Event-based plugin loading
|
|
- Efficient LSP configuration
|
|
|
|
2. System Requirements:
|
|
- Sufficient memory for LSP servers
|
|
- Storage space for installed tools
|
|
- Compatible terminal emulator
|
|
|
|
3. Integration Limitations:
|
|
- LSP server availability
|
|
- Debug adapter compatibility
|
|
- Linter tool requirements
|
|
|
|
## Configuration Architecture
|
|
1. Plugin Management:
|
|
- Lazy loading based on events/commands
|
|
- Clear dependency specifications
|
|
- Plugin-specific configurations
|
|
|
|
2. Language Support:
|
|
- Extensive LSP server configurations
|
|
- Language-specific formatters
|
|
- Custom debugging setups
|
|
|
|
3. User Interface:
|
|
- Terminal-based UI
|
|
- Status line integration
|
|
- Diagnostic displays
|
|
- Debug UI integration
|
|
|
|
## Tool Configuration
|
|
1. Debug Adapters:
|
|
- delve for Go
|
|
- debugpy for Python
|
|
- Custom keymaps (F1-F7, leader keys)
|
|
|
|
2. Linters:
|
|
- dockerfile: hadolint
|
|
- json: jsonlint
|
|
- markdown: markdownlint
|
|
- python: pylint
|
|
- terraform: tflint
|
|
|
|
3. Formatters:
|
|
- Managed through conform.nvim
|
|
- Language-specific formatting tools
|
|
- Format-on-save capabilities
|