Skip to content

aheber/tree-sitter-sfapex

Repository files navigation

tree-sitter-sfapex

Salesforce grammars for tree-sitter, including Apex, SOQL, and SOSL languages.

Try it out using our playground

If you are a Neo-vim user, the parsers and syntax highlights are part of nvim-treesitter plugin already, guidance.

Status

Most of the parsers are built and tested on large corpus of Apex, I still intend to write automated tests that parse large Apex libraries as part of evaluating the grammar.

Apex

  • grammar
  • grammar tests
  • highlighting queries
  • highlighting tests
  • tags queries
  • tags tests (could use more)
  • locals queries
  • locals tests (using highlighting)

Anonymous Apex

  • grammar
  • grammar tests
  • highlighting queries
  • highlighting tests
  • tags queries
  • tags tests (could use more)
  • locals queries
  • locals tests (using highlighting)

This won't be difficult, I just haven't tackled it yet, will largely reuse the Apex grammar with some different construction rules.

SOQL

  • grammar
  • grammar tests
  • highlighting queries
  • highlighting tests

SOSL

  • grammar
  • grammar tests
  • highlighting queries
  • highlighting tests

(not sure tags and locals are relevant to query grammars)

Questions/Issues

Please open an issue on this repo and we'll work through it.

Contributing

Still figuring this out. By far the most useful contributions would be tests, if you have a scenario that doesn't work you can just provide the example or open a PR with a new failing test and I can figure out what to do about it.

About

Tree-sitter implementation for Salesforce's Apex, SOQL, and SOSL

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •