kickstart.nvim/memory-bank/systemPatterns.md

66 lines
1.5 KiB
Markdown

# Neovim Configuration System Patterns
## Architecture Overview
### Directory Structure
```
.
├── init.lua # Main entry point
├── lua/
│ ├── custom/ # Custom configurations
│ │ └── plugins/ # Plugin-specific settings
│ └── kickstart/ # Core functionality
│ └── plugins/ # Plugin management
```
## Design Patterns
### Plugin Management
- Module-based plugin organization
- Lazy loading for performance
- Plugin-specific configuration isolation
- Conditional plugin loading
### Configuration Patterns
1. Modular Configuration
- Separate files for different concerns
- Clear dependency management
- Isolated plugin configurations
2. Event-Driven Setup
- Lazy plugin loading
- Event-based initialization
- Conditional feature enabling
3. Error Handling
- Protected calls for plugin setup
- Fallback configurations
- Clear error reporting
## Component Relationships
1. Core System
- init.lua loads core modules
- Establishes basic editor settings
- Sets up plugin management
2. Plugin System
- Managed through lua/custom/plugins
- Isolated plugin configurations
- Dependency handling
3. Debug Integration
- Separate debug configuration
- Language-specific adapters
- Custom debug commands
## Technical Decisions
1. Lua-based configuration for:
- Better performance
- More powerful customization
- Cleaner syntax
2. Modular structure for:
- Easier maintenance
- Better organization
- Simplified updates