starter/GEMINI.md

31 lines
No EOL
2.5 KiB
Markdown

# GEMINI Analysis of Neovim Configuration
## Project Overview
This directory contains a Neovim configuration based on the [LazyVim](https://github.com/LazyVim/LazyVim) starter template. It uses `lazy.nvim` for plugin management and is structured in Lua. The configuration is designed to be modular, with plugins, options, keymaps, and autocommands separated into different files.
## Key Files
* `init.lua`: The main entry point for the Neovim configuration. It bootstraps `lazy.nvim` and loads the configuration.
* `lazy-lock.json`: This file is automatically generated by `lazy.nvim` and locks the versions of all installed plugins, ensuring a reproducible environment.
* `lua/config/lazy.lua`: This file contains the setup for `lazy.nvim`. It specifies the plugins to be loaded, including LazyVim itself and any custom plugins in the `lua/plugins` directory.
* `lua/config/options.lua`: This file is for setting Neovim's options.
* `lua/config/keymaps.lua`: This file is for defining custom keymaps.
* `lua/config/autocmds.lua`: This file is for defining custom autocommands.
* `lua/plugins/`: This directory contains custom plugin specifications. Each file in this directory can add new plugins, disable or enable LazyVim plugins, or override their configurations. The `example.lua` file provides a good starting point for how to structure these files.
* `lua/plugins/nvim-tree.lua`: This file contains the configuration for the `nvim-tree.lua` plugin, which provides a file explorer.
## Building and Running
This is a Neovim configuration, so there is no "building" or "running" in the traditional sense. To use this configuration, you need to have Neovim installed. Once Neovim is installed, you can clone this repository to `~/.config/nvim` and start Neovim. The plugins will be automatically installed on the first run.
## Development Conventions
* **Plugin Management:** Plugins are managed using `lazy.nvim`. To add a new plugin, create a new file in the `lua/plugins/` directory or add it to an existing one.
* **Configuration:** The configuration is modular. Options, keymaps, and autocommands should be defined in their respective files in the `lua/config/` directory.
* **Customization:** The `lua/plugins/` directory is the primary place for customization. You can override the default LazyVim plugins or add new ones here. The `example.lua` file shows how to do this.
* **Styling:** The `stylua.toml` file suggests that the Lua code is formatted with `stylua`.
## Keymaps
* `<leader>e`: Toggle file explorer (`nvim-tree`).