# ๐จ Darcula Neovim
A modern, cross-platform Neovim distribution for C/C++, Lua, and everyday development.
   
--- ## โจ Highlights - ๐ Two complete editor environments - **COC** (`viml.sh`) - **Native LSP** (`viml2.sh`) - ๐ณ Fully reproducible Docker environments - โก Fast startup and modern UI - ๐ฒ Tree-sitter syntax highlighting - ๐ญ Telescope fuzzy finder - ๐ ๏ธ Clangd and Lua development - ๐พ Persistent editor state - ๐ Linux, macOS, and Windows support --- ## ๐ Quick Start ### Local (COC) ```bash ./viml.sh . ``` ### Local (Native LSP) ```bash ./viml2.sh . ``` ### Docker (COC) ```bash ./build_nvim.sh ./dviml.sh . ``` ### Docker (Native LSP) ```bash ./build_nvim2.sh ./dviml2.sh . ``` --- ## ๐ Repository Scripts | Script | Description | |--------|-------------| | `viml.sh` | Launch local COC configuration | | `viml2.sh` | Launch local Native LSP configuration | | `dviml.sh` | Launch Docker COC configuration | | `dviml2.sh` | Launch Docker Native LSP configuration | | `build_nvim.sh` | Build Docker COC image | | `build_nvim2.sh` | Build Docker Native LSP image | | `build_all.sh` | Build both Docker images | --- ## ๐ฏ Which Configuration? ### ๐ COC Best if you want: - Rich completion - Mature plugin ecosystem - Extensive language support - IDE-like experience ### โก Native LSP Best if you prefer: - Pure Neovim - Built-in LSP - Lower memory usage - Faster startup - Minimal configuration --- ## ๐ป Local Development All launcher arguments are forwarded directly to Neovim. Examples: ```bash ./viml.sh . ./viml.sh src/main.cpp ./viml.sh +150 src/main.cpp ./viml.sh -p file1.cpp file2.cpp ``` The same options work with `viml2.sh`. --- ## ๐ณ Docker Development Build once: ```bash ./build_nvim.sh ``` Launch: ```bash ./dviml.sh . ``` Or use the native LSP environment: ```bash ./build_nvim2.sh ./dviml2.sh . ``` > **Note:** `build_all.sh` builds both images and may remove unused Docker resources beforehand. --- ## โ๏ธ Local vs Docker | Local | Docker | |------|------| | โก Fastest startup | ๐ Fully isolated | | ๐ฅ๏ธ Uses host toolchain | ๐ฆ Reproducible environment | | ๐พ Native filesystem | ๐งช Great for testing | | ๐ Daily development | ๐ Consistent across machines | --- ## ๐พ Persistent Docker Data Docker containers are disposable, but your editor state is not. The Docker launchers preserve: - Plugin installations - Cache - Undo history - ShaDa history - Swap files Each environment maintains its own independent data directory. --- ## ๐ Requirements ### ๐ฅ๏ธ Local - Git - Supported shell - Linux, macOS, or Windows ### ๐ณ Docker - Docker Engine --- ## ๐ค Contributing Issues, feature requests, and pull requests are welcome. If you encounter a bug, please include: - Operating system - Neovim version - Launcher used (`viml`, `viml2`, `dviml`, or `dviml2`) - Steps to reproduce --- ## ๐ License Released under the **MIT License**.