64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
# Technical Context
|
|
|
|
## Technologies Used
|
|
|
|
### Core
|
|
- Neovim (Latest stable or nightly)
|
|
- 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)
|
|
- etc. 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 |