2.1 KiB
2.1 KiB
Neovim Configuration Technical Context
Technologies Used
-
Core Technologies:
- Neovim - Core editor
- Lua - Configuration language
- Kickstart Framework - Configuration foundation
- lazy.nvim - Plugin manager
-
LSP Technologies:
- mason.nvim - LSP/DAP/Linter manager
- nvim-lspconfig - LSP configuration
- nvim-cmp - Completion engine
- LuaSnip - Snippet engine
-
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
-
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
-
Language Support Dependencies:
- Language servers (managed by mason.nvim)
- Debug adapters (managed by mason-nvim-dap)
- Linters (managed by mason-nvim-lint)
Technical Constraints
-
Performance Considerations:
- Lazy loading for improved startup time
- Event-based plugin loading
- Efficient LSP configuration
-
System Requirements:
- Sufficient memory for LSP servers
- Storage space for installed tools
- Compatible terminal emulator
-
Integration Limitations:
- LSP server availability
- Debug adapter compatibility
- Linter tool requirements
Configuration Architecture
-
Plugin Management:
- Lazy loading based on events/commands
- Clear dependency specifications
- Plugin-specific configurations
-
Language Support:
- Extensive LSP server configurations
- Language-specific formatters
- Custom debugging setups
-
User Interface:
- Terminal-based UI
- Status line integration
- Diagnostic displays
- Debug UI integration
Tool Configuration
-
Debug Adapters:
- delve for Go
- debugpy for Python
- Custom keymaps (F1-F7, leader keys)
-
Linters:
- dockerfile: hadolint
- json: jsonlint
- markdown: markdownlint
- python: pylint
- terraform: tflint
-
Formatters:
- Managed through conform.nvim
- Language-specific formatting tools
- Format-on-save capabilities