Vim filetype and tools support for the Crystal programming language, providing syntax highlighting, indentation, and integration with Crystal's toolchain.
vim-crystal is a Vim plugin that adds filetype support for the Crystal programming language. It provides syntax highlighting, indentation, and integration with Crystal's built-in tools like the formatter, spec runner, and definition finder. The plugin enhances the coding experience for Crystal developers by bringing language-aware features directly into the Vim editor.
Crystal developers who use Vim as their primary code editor and want enhanced language support, including syntax highlighting, tool integration, and testing workflows.
Developers choose vim-crystal for its deep integration with Crystal's official toolchain, providing a native Vim experience without relying on external language servers. It offers a lightweight, fast, and idiomatic way to write Crystal code in Vim.
Vim filetype and tools support for Crystal language.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly integrates with Crystal's built-in tools like `crystal tool` for definitions, context, and formatting, enabling commands such as `:CrystalDef` and `:CrystalFormat` directly from Vim without external servers.
Provides mappings like `gsc` to run Crystal specs for projects, files, or specific test blocks with colorful visual feedback, streamlining testing as shown in the README's GIFs.
Supports automatic code formatting on save using `crystal tool format`, though disabled by default due to bugs, offering a convenient way to maintain code style.
Enables jump-to-definition and context viewing via Crystal's tooling, with commands like `:CrystalContext` and `:CrystalHierarchy` for better code exploration.
Syntax highlighting is adapted from Ruby and may not fully support Crystal's evolving syntax, requiring community contributions for updates, as noted in the README.
Omni-completion is restricted to variable names, lacking support for methods, types, or imports, and the README suggests using external language servers like crystalline for advanced features.
Auto-formatting is disabled by default because `crystal tool format` has known bugs, reducing the reliability and convenience of this feature out of the box.
Requires the Syntastic plugin for syntax checking, adding complexity for users who don't already have it installed, as mentioned in the installation notes.