Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Crystal
  3. crystalline

crystalline

MITCrystalv0.19.0

A Language Server Protocol implementation for Crystal providing code diagnostics, autocompletion, and go-to-definition.

GitHubGitHub
518 stars36 forks0 contributors

What is crystalline?

Crystalline is a Language Server Protocol (LSP) implementation for the Crystal programming language. It provides IDE-like features such as code diagnostics, autocompletion, go-to-definition, and formatting within compatible code editors. It solves the problem of lacking robust language tooling for Crystal developers.

Target Audience

Crystal developers who use editors like VSCode, Vim/Neovim, or Emacs and want enhanced coding assistance like autocompletion and error checking.

Value Proposition

Developers choose Crystalline because it is the primary open-source LSP for Crystal, offering essential language features despite the compiler's limitations. It integrates seamlessly with popular editors and is built specifically for the Crystal ecosystem.

Overview

A Language Server Protocol implementation for Crystal. 🔮

Use Cases

Best For

  • Adding IDE features to Crystal projects in VSCode
  • Enabling go-to-definition and hover info in Vim/Neovim for Crystal
  • Integrating Crystal language support in Emacs via LSP
  • Performing syntax and semantic checks on Crystal code
  • Formatting Crystal source files within an editor
  • Navigating large Crystal codebases with document symbols

Not Ideal For

  • Projects requiring real-time, low-latency code analysis on large codebases due to slow compilation and caching
  • Teams that depend on active community support and frequent feature updates because of passive maintenance
  • Developers needing advanced LSP features like rename refactoring or code actions as it's limited to basic diagnostics and navigation

Pros & Cons

Pros

Core LSP Features

Provides essential tools like syntax checking, formatting, and go-to-definition, specifically designed for Crystal's compiler workflow as outlined in the features section.

Wide Editor Support

Integrates seamlessly with VSCode, Vim/Neovim, and Emacs through standard LSP configurations, detailed in the usage guide for each editor.

Crystal-Native Implementation

Written in Crystal itself, ensuring accurate language semantics and deep integration with the compiler's type inference and limitations.

Practical Configuration

Offers flexible entry point and project configuration via shard.yml, adapting to monorepos and custom compilation flags, as shown in the setup instructions.

Cons

Passive Maintenance

The maintainer has stated they are not actively developing new features or fixing bugs, which limits long-term reliability and support, as highlighted in the project status.

Performance Bottlenecks

High memory usage and long compilation times for large projects, admitted in the limitations, can hinder responsiveness and editor integration.

Limited Feature Set

Lacks advanced LSP capabilities like refactoring or incremental parsing, due to the constraints of the Crystal compiler and non-permissive parser.

Frequently Asked Questions

Quick Stats

Stars518
Forks36
Contributors0
Open Issues0
Last commit8 days ago
CreatedSince 2020

Tags

#autocompletion#developer-tools#vscode-language#language-server#syntax-checking#ide-integration#crystal-lang#crystal#editor-support#lsp-server#code-analysis#lsp

Built With

C
Crystal

Included in

Crystal3.5k
Auto-fetched 1 day ago

Related Projects

scryscry

Scry is a code analysis server for https://crystal-lang.org

Stars328
Forks31
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub