refactor: streamline documentation and improve project structure in Neovim configuration
Signed-off-by: juliano.barbosa <julianomb@gmail.com>
This commit is contained in:
parent
299e063636
commit
1cebd73e12
8 changed files with 283 additions and 238 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue