# How about the new lightwight semantic analyzer in newest 0.19 crystalline?

**URL:** https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125
**Category:** Help & Support
**Created:** [August 31, 2026, 11:08am UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125 "2026-08-31T11:08:30Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![zw963](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/zw963/32/1623_2.png) [@zw963](https://forum.crystal-lang.org/u/zw963)
#### Post date: [August 31, 2026, 11:08am UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125/1 "2026-08-31T11:08:30Z")

</div>

I am compiling, although, I’m not use LSP server too often.

AI told me, current model is `eventually-refined semantic model`.

What do you think? has the speed increased? better experience?

---

<div class="post-metadata">

### Author: ![Fijxu](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/fijxu/32/3422_2.png) [@Fijxu](https://forum.crystal-lang.org/u/Fijxu)
#### Post date: [September 3, 2026, 9:47am UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125/2 "2026-09-03T09:47:11Z")

</div>

I’m going to try it tomorrow, great news ;)

---

<div class="post-metadata">

### Author: ![GalactHD](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/galacthd/32/3477_2.png) [@GalactHD](https://forum.crystal-lang.org/u/GalactHD)
#### Post date: [September 5, 2026, 1:39pm UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125/3 "2026-09-05T13:39:24Z")

</div>

My experience is way better than the last time I used it about 10 months ago. Back then it was very resource hungry and more of a problem than a solution (CPU spikes and bad responsiveness), but now it’s really good and helps to navigate the codebase and see docs in methods.

---

<div class="post-metadata">

### Author: ![gabriel-ss](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/gabriel-ss/32/2298_2.png) [@gabriel-ss](https://forum.crystal-lang.org/u/gabriel-ss)
#### Post date: [September 7, 2026, 2:31am UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125/4 "2026-09-07T02:31:07Z")

</div>

Just tried it again and it’s indeed much better. The thing I used to miss the most in a LSP was the auto-complete, specially for a language with such a rich standard library, but these days I mostly review code and the navigation features became even more important than it. Since the last version, they’ve been working pretty well.

Don’t know if @elbywan is around on the forums, but thank you so much for your work, man. This is really a game changer in tooling.

---

<div class="post-metadata">

### Author: ![Fijxu](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/fijxu/32/3422_2.png) [@Fijxu](https://forum.crystal-lang.org/u/Fijxu)
#### Post date: [September 13, 2026, 10:44pm UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125/5 "2026-09-13T22:44:24Z")

</div>

I said that I was going to test it tomorrow, I tried it now, now I’m getting ACTUAL CODE SUGGESTIONS! THIS IS AN LSP!

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/crystal_lang/original/2X/3/3ae8432960f6b107b17d68aaff305495ff342d1f.png)

Since I’m using NixOS, I had to make some package changes, so if anyone here is using NixOS too, you can use my fork of nixpkgs at the branch `crystal_1_20_crystal_1_21` to install Crystal 1.21.0 with the latest `crystalline` commit. [Comparing NixOS:master...Fijxu:crystal\_1\_20\_crystal\_1\_21 · NixOS/nixpkgs · GitHub](https://github.com/NixOS/nixpkgs/compare/master...Fijxu:nixpkgs:crystal_1_20_crystal_1_21) (Make sure to have enough RAM to compile Crystal yourself, it uses around 9GB of RAM)

---

<div class="post-metadata">

### Author: ![renich](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/renich/32/2137_2.png) [@renich](https://forum.crystal-lang.org/u/renich)
#### Post date: [September 17, 2026, 9:16pm UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125/7 "2026-09-17T21:16:36Z")

</div>

Ah, you deleted it… I dunno why.

Either way, check out renich/crystalino in Gitlab/Github. It’s a fork but it cut all ties with the project in order to be free of commitments and compatibility contracts, simplify, re-design and maintain.

All my respect to @elbywan for his great project and initiative. Yet, I am moving on and trying my hand at it.

Let me know what you think if you end up using it.

I am happy to get PRs, feature requests and bug reports there.

---

<div class="post-metadata">

### Author: ![zw963](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/zw963/32/1623_2.png) [@zw963](https://forum.crystal-lang.org/u/zw963)
#### Post date: [September 18, 2026, 3:23pm UTC](https://forum.crystal-lang.org/t/how-about-the-new-lightwight-semantic-analyzer-in-newest-0-19-crystalline/9125/8 "2026-09-18T15:23:12Z")

</div>

Yes, I deleted my post just now.

Because I switched to your fork today, I want to try it several days before I take suggestion to others again.

But whatever, following is my original post:

* * *

For those who wish to use this 0.19 crystaline, I have a better suggestion: use another fork:

> **[GitHub - renich/crystalino: A Language Server Protocol implementation for...](https://github.com/renich/crystalino)**
>
> A Language Server Protocol implementation for Crystal. 🔮

To my knowledge, it contains all the latest changes from the upstream, and it resolves a major pain point that has persisted throughout my time using Emacs + Crystal LSP.

I can’t help but mimic the way Blizzard announced the mobile version of Diablo: “ **Don’t you use the formatter feature when you use LSP?** ”

There has been a bug present since I first started using crystaline under Emacs. For example, after using LSP for a while, sometimes when I delete a block of code and save, the deleted code immediately rolls back. This is extremely frustrating, and I am forced to disable the LSP formatter feature and instead enable another separate after-save formatter package.

However, the author of crystalino, @renich, encountered the exact same issue. He resolved it in his own fork and submitted a PR. Unfortunately, [elbywan](https://github.com/elbywan) does not accept any PRs, which is why this fork exists.

(Translated from Chinese using gemma4:26b)
