Skip to content

Commit

Permalink
feat: add bit datatype
Browse files Browse the repository at this point in the history
  • Loading branch information
matthias-Q committed Mar 2, 2023
1 parent ce6b3b9 commit fb1895e
Show file tree
Hide file tree
Showing 5 changed files with 146,249 additions and 148,394 deletions.
16 changes: 14 additions & 2 deletions grammar.js
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ module.exports = grammar({
keyword_false: _ => make_keyword("false"),

keyword_boolean: _ => make_keyword("boolean"),
keyword_bit: _ => make_keyword("bit"),

keyword_smallserial: _ => choice(make_keyword("smallserial"),make_keyword("serial2")),
keyword_serial: _ => choice(make_keyword("serial"),make_keyword("serial4")),
Expand All @@ -240,13 +241,14 @@ module.exports = grammar({
keyword_precision: _ => make_keyword("precision"),

keyword_money: _ => make_keyword("money"),
keyword_varying: _ => make_keyword("varying"),

keyword_char: _ => choice(make_keyword("char"), make_keyword("character")),
keyword_varchar: _ => choice(
keyword_varchar: $ => choice(
make_keyword("varchar"),
seq(
make_keyword("character"),
make_keyword("varying"),
$.keyword_varying,
)
),
keyword_text: _ => make_keyword("text"),
Expand Down Expand Up @@ -299,6 +301,7 @@ module.exports = grammar({

_type: $ => choice(
$.keyword_boolean,
$.bit,

$.keyword_smallserial,
$.keyword_serial,
Expand Down Expand Up @@ -357,6 +360,15 @@ module.exports = grammar({
int: $ => unsigned_type($, parametric_type($, $.keyword_int)),
bigint: $ => unsigned_type($, parametric_type($, $.keyword_bigint)),

bit: $ => choice(
$.keyword_bit,
seq(
$.keyword_bit,
prec(0, parametric_type($, $.keyword_varying, ['precision'])),
),
prec(1, parametric_type($, $.keyword_bit, ['precision'])),
),

// TODO: should qualify against /\\b(0?[1-9]|[1-4][0-9]|5[0-4])\\b/g
float: $ => choice(
prec(0, parametric_type($, $.keyword_float, ['precision'])),
Expand Down
128 changes: 126 additions & 2 deletions src/grammar.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

62 changes: 61 additions & 1 deletion src/node-types.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit fb1895e

Please sign in to comment.