67 lines
1.7 KiB
Markdown
67 lines
1.7 KiB
Markdown
# 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 |