tree-sitter-ebnf
EBNF grammar for tree-sitter
Reference
This parser implements the EBNF syntax as described by the ISO/IEC 14977:1996 standard with two notable differences:
- The ISO standard does not allow underscores
_in meta-identifiers - The ISO standard only allows characters from the ISO/IEC 646:1991 character set
Usage in Neovim
Parser Installation
The nvim-treesitter plugin
does not include this parser
currently. To
use it you must instead manually add it to your tree-sitter config and then
install it with :TSInstall ebnf or by adding it to your ensure_installed
list:
require.. =
File type detection
You will likely also have to add the ebnf file type:
vim..
Highlighting
If you want to use this parser for highlighting, you will also have to add the
contents of queries/highlights.scm to a file
called queries/ebnf/highlights.scm in your Neovim runtime path (see
:help rtp). I also recommend customizing these highlights:
@string.grammar: terminal symbols enclosed with'or", falls back to@string@string.special.grammar: special sequences enclosed with?, falls back to@string.special@variable.grammar: non-terminal symbols, i.e., identifiers, falls back to@variable@variable.grammar.pascal: non-terminal symbols in PascalCase@variable.grammar.camel: non-terminal symbols in camelCase@variable.grammar.upper: non-terminal symbols in UPPERCASE@variable.grammar.lower: non-terminal symbols in lowercase
As an example, here is my personal configuration:
vim..
vim..
vim..
vim..
vim..