kickstart.nvim/memory-bank/techContext.md

2.1 KiB

Neovim Configuration Technical Context

Technologies Used

  1. Core Technologies:

    • Neovim - Core editor
    • Lua - Configuration language
    • Kickstart Framework - Configuration foundation
    • lazy.nvim - Plugin manager
  2. LSP Technologies:

    • mason.nvim - LSP/DAP/Linter manager
    • nvim-lspconfig - LSP configuration
    • nvim-cmp - Completion engine
    • LuaSnip - Snippet engine
  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
  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
  2. System Requirements:

    • Sufficient memory for LSP servers
    • Storage space for installed tools
    • Compatible terminal emulator
  3. Integration Limitations:

    • LSP server availability
    • Debug adapter compatibility
    • Linter tool requirements

Configuration Architecture

  1. Plugin Management:

    • Lazy loading based on events/commands
    • Clear dependency specifications
    • Plugin-specific configurations
  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