Child pages
  • Using in JetBrains projects
Skip to end of metadata
Go to start of metadata

As Nitra progresses we will use it in a number of places for dog-fooding and optimizing our own development.

Errors DSL

We have errors.xml files, which utilize Xml as a syntax for input for code generator. Here is how we can improve it:

  1. Using Nitra Parser, create a DSL syntax for these files. It could look like this:
    First phase is to parse it and use AST instead of XElements to power ErrorsGenerator
  2. Use embedded C# language. It should work a bit like Razor, allowing C# code in specific places.
  3. Code completion for keywords, expand selection, comments, syntax errors, and all other AST-based features in ReSharper extension
  4. Resolve, completion, find usages and renames
  5. "Go to" navigation
  6. Create from usage for Fixes

AllAssemblies DSL

  1. Measure speed of AST building compared to XmlSerializer

Actions DSL

  1. Measure speed of processing during load at runtime, build ActionManager's data on parse.
  2. Generate action handlers


  1. Design code query language
  2. Implement processing in ReSharper
  • No labels

1 Comment

  1. Grammar for issues (except for std::header)