2.6 KiB
2.6 KiB
Technical Context
Technologies Used
-
Core Technologies
- Neovim (>= 0.9.0)
- Lua (>= 5.1)
- Tree-sitter
- Built-in LSP client
-
Package Management
- lazy.nvim (Plugin manager)
- mason.nvim (LSP/DAP/Formatter manager)
- mason-lspconfig.nvim (LSP configuration)
-
Required External Tools
- Git (Version control)
- Ripgrep (Search)
- fd (File finding)
- Node.js (LSP servers)
Development Setup
-
Prerequisites Installation
# Install Neovim # Install Node.js and npm # Install Python and pip # Install Rust and Cargo # Install Go
-
Required Global Tools
# LSP Servers npm install -g pyright typescript-language-server bash-language-server # Formatters npm install -g prettier cargo install stylua
-
Plugin Dependencies
- tree-sitter CLI
- language parsers
- compilation tools (make, gcc)
Technical Constraints
-
Performance Requirements
- Startup time < 100ms
- Memory usage < 1GB
- Responsive editing experience
- Efficient file search
-
System Requirements
- Modern terminal emulator
- True color support
- Unicode support
- Clipboard integration
-
Plugin Limitations
- Compatibility requirements
- Load order dependencies
- Potential conflicts
- Resource usage
Dependencies
-
Core Plugins
- lazy.nvim (Plugin management)
- nvim-lspconfig (LSP configuration)
- nvim-cmp (Completion)
- telescope.nvim (Fuzzy finding)
- neo-tree.nvim (File explorer)
- which-key.nvim (Key binding help)
-
Language Support
- LSP Servers
- Treesitter parsers
- Debug adapters
- Formatters/Linters
-
UI Enhancements
- lualine.nvim (Status line)
- bufferline.nvim (Buffer line)
- nvim-notify (Notifications)
- nvim-web-devicons (Icons)
Build & Deployment
-
Configuration Structure
~/.config/nvim/ ├── init.lua ├── lua/ │ ├── core/ │ ├── plugins/ │ ├── lsp/ │ └── config/
-
Installation Process
- Configuration files setup
- Plugin installation
- LSP servers installation
- Parser installation
-
Update Process
- Plugin updates
- LSP server updates
- Configuration updates
- Backup strategy
Testing Strategy
-
Configuration Testing
- Startup validation
- Plugin compatibility
- Feature verification
- Performance monitoring
-
Language Support Testing
- LSP functionality
- Completion accuracy
- Diagnostic reporting
- Format checking
-
Integration Testing
- Plugin interactions
- Key binding conflicts
- Event handling
- Error recovery