# ๐ŸŽจ Darcula Neovim

A modern, cross-platform Neovim distribution for C/C++, Lua, and everyday development.

![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-blue) ![Docker](https://img.shields.io/badge/Docker-Supported-2496ED?logo=docker) ![Neovim](https://img.shields.io/badge/Neovim-0.11+-57A143?logo=neovim) ![License](https://img.shields.io/badge/License-MIT-green)

--- ## โœจ 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**.