tree-sitter/test/fixtures/test_grammars/precedence_on_token/grammar.js
2025-09-16 02:24:11 -04:00

36 lines
568 B
JavaScript

export default grammar({
name: 'precedence_on_token',
extras: $ => [
/\s/,
$.comment,
],
rules: {
program: $ => repeat(choice(
$.string,
$.regex,
$.identifier,
$.slash,
)),
comment: _ => token(prec(1, /\/\/.*|\/\*[^*]*\*\//)),
string: $ => seq(
'"',
repeat(choice(
token(prec(2, /[^\"\n\\]+/)),
$.escape_sequence,
)),
'"',
),
escape_sequence: _ => /\\./,
regex: _ => /\/[^\/\n]+\/[a-z]*/,
identifier: _ => /[a-z]\w*/,
slash: _ => '/',
},
});