So, we need to analyze your code in order to move your imports. It integrates with VCS and, well, VLSP as I showed you before, it works out of the box. So, diagnostics works in the same like NCIL and LSP. And there are ready like some community efforts around there. So, there's a plugin for Nix, Helix, NeoVim.
So, there's a radio community where they developed plugins for editors that support LSP. Still not IntelliJ, unfortunately, it doesn't support LSP. So, I want to show you now also some of the strengths of from. So, some things that you might not have seen, they are a bit controversial and but just bear with me. And I mean, I think they're good but it's for you to judge.
So, Rome has a recoverable parser. So, a recoverable parser is a parser that when encounters a syntax error doesn't stop. So, it tries to resume the correct parsing as much as they can, and then tries to finish the actual parsing until the end of the file. It must be error resilient because this kind of parser must work in the IDs. And the parser that we have in the IDs, they are the best parsers at all because they are error resilient. When Rome's parser sees a token or a character that doesn't belong in that position, he starts eating those tokens until they find a token that actually makes sense. I don't know, a curly bracket that belongs to the body of a function. There, they start, the parser starts to resume the correct parsing and all those tokens that were eaten were actually gone in this bogus node.
Bogus is actually a term that we borrowed from the Roslyn project. Roslyn is the compiler that pumps .NET essentially. So, we borrowed a lot of concepts from .NET, from this Roslyn project. It's a great project if you are into compilers. So, what about it? I mean, okay, we have this recordable parser, what can you do with that? Well, we can do a lot of niche stuff, like we can format code that has syntax errors. Now, this is quite controversial, because a lot of developers, myself included, used the formatter to understand if the code is actually syntactically correct or not. So, this is an opt-in feature. We can also link the broken code. So, I think this is quite good. Okay. So, you don't need to have a perfect code in order to receive diagnostics. And then, we are also able to parse the configuration file and apply our defaults only for the sections that are broken.
Comments