difftastic/vendored_parsers/tree-sitter-sfapex
Rodolphe Blancho b818b47091 Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd'
git-subtree-dir: vendored_parsers/tree-sitter-sfapex
git-subtree-mainline: 1d32b477c1
git-subtree-split: a768c956b6
2023-10-05 08:37:36 +07:00
..
.github/workflows Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
apex Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
bindings Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
common Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
docs Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
scripts Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
soql Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
sosl Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
.gitignore Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
Cargo.toml Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
LICENSE Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
README.md Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
binding.gyp Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
nvim-treesitter-setup.md Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
package-lock.json Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00
package.json Add 'vendored_parsers/tree-sitter-sfapex/' from commit 'a768c956b6aee72ffebb5df7f7c0b3702eaa2fbd' 2023-10-05 08:37:36 +07:00

README.md

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.