# Technical Context ## Technologies Used ### Core - **Neovim**: Latest stable or nightly version - **Lua**: Primary configuration language - **Git**: Version control and plugin management ### Plugin Management - **lazy.nvim**: Plugin manager ### Major Plugins and Tools #### 1. LSP Related - **nvim-lspconfig**: LSP configuration - **mason.nvim**: LSP/DAP/Linter installer - **mason-lspconfig.nvim**: Mason/LSP integration - **cmp-nvim-lsp**: LSP completion integration #### 2. Completion and Snippets - **nvim-cmp**: Completion engine - **LuaSnip**: Snippet engine #### 3. Development Tools - **nvim-treesitter**: Syntax highlighting - **telescope.nvim**: Fuzzy finder - **gitsigns.nvim**: Git integration - **conform.nvim**: Formatting ## Development Setup ### Required External Dependencies - **git** - **make** - **unzip** - **C Compiler (gcc)** - **ripgrep** - **Clipboard tool** (platform dependent) - **Optional**: Nerd Font ### Language-Specific Requirements - **npm**: for TypeScript/JavaScript - **go**: for Golang - **python3**: for Python - Other dependencies based on languages used ## Technical Constraints ### 1. Memory Usage - Configured for reasonable memory usage - Plugin lazy-loading enabled ### 2. Performance - Startup optimizations in place - LSP configurations are lazy-loaded - Treesitter ensures efficient syntax highlighting ### 3. Platform Compatibility - Works across Linux, macOS, and Windows - Some features may require platform-specific setup - Windows may need additional configuration for certain tools ### 4. Dependencies - Requires Neovim 0.9.0 or newer - Some LSP features require external language servers - Format-on-save requires compatible formatters