refactor: streamline documentation and improve project structure in Neovim configuration

Signed-off-by: juliano.barbosa <julianomb@gmail.com>
This commit is contained in:
Juliano Barbosa 2025-02-25 11:16:03 -03:00
parent 299e063636
commit 1cebd73e12
8 changed files with 283 additions and 238 deletions

View file

@ -1,58 +1,85 @@
# Neovim Configuration Technical Context
## Technologies Used
1. Core Technologies:
- Neovim - Core editor
- Lua - Configuration language
- Kickstart Framework - Configuration foundation
- lazy.nvim - Plugin manager
### Core
- Neovim (>= 0.8.0)
- Lua (>= 5.1)
- Git (for plugin management)
2. LSP Technologies:
- mason.nvim - LSP/DAP/Linter manager
- nvim-lspconfig - LSP configuration
- nvim-cmp - Completion engine
- LuaSnip - Snippet engine
### Plugin Management
- lazy.nvim (plugin manager)
- LSP configurations
- Treesitter for syntax
- Debug Adapter Protocol (DAP)
3. 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
1. 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
### Requirements
1. Neovim installation
2. Git for plugin management
3. Language servers for LSP
4. Compilation tools for Treesitter
5. Debug adapters for debugging
### Configuration Structure
1. Main Configuration
- init.lua: Entry point
- lua/custom/: Custom configurations
- lua/kickstart/: Core functionality
2. Plugin Management
- Lazy-loaded plugins
- Plugin-specific settings
- Custom plugin configurations
2. Language Support Dependencies:
- Language servers (managed by mason.nvim)
- Debug adapters (managed by mason-nvim-dap)
- Linters (managed by mason-nvim-lint)
## Technical Constraints
1. Performance Considerations:
- Lazy loading for improved startup time
- Event-based plugin loading
- Efficient LSP configuration
### Performance
- Lazy loading required for plugins
- Careful management of startup time
- Efficient event handling
2. System Requirements:
- Sufficient memory for LSP servers
- Storage space for installed tools
- Compatible terminal emulator
### Compatibility
- Neovim version requirements
- LSP server compatibility
- Debug adapter requirements
3. Integration Limitations:
- LSP server availability
- Debug adapter compatibility
- Linter tool requirements
### Dependencies
- External language servers
- System-level development tools
- Plugin-specific requirements
## Configuration Architecture
1. Plugin Management:
- Lazy loading based on events/commands
- Clear dependency specifications
- Plugin-specific configurations
## Development Tools
1. LSP Servers
2. Debug Adapters
3. Treesitter Parsers
4. Code Formatters
5. Linters
2. Language Support:
- Extensive LSP server configurations
- Language-specific formatters
- Custom debugging setups
3. User Interface:
- Terminal-based UI
- Status line integration
- Diagnostic displays
- Debug UI integration
## Tool Configuration
1. Debug Adapters:
- delve for Go
- debugpy for Python
- Custom keymaps (F1-F7, leader keys)
2. Linters:
- dockerfile: hadolint
- json: jsonlint
- markdown: markdownlint
- python: pylint
- terraform: tflint
3. Formatters:
- Managed through conform.nvim
- Language-specific formatting tools
- Format-on-save capabilities