tree-sitter-objectscript 1.7.9 → 1.7.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/common/scanner.h CHANGED
@@ -1063,7 +1063,7 @@ if (valid_symbols[_POST_CONDITIONAL_ID] && lexer->lookahead==':') {
1063
1063
  if (lexer->lookahead == '.' || (lexer->lookahead >= '0' && lexer->lookahead <= '9')) {
1064
1064
  is_decimal = true;
1065
1065
  }
1066
- if (!is_decimal && dots > 0 && (scanner->terminated_newline || new_line)) {
1066
+ if (!is_decimal && dots > 0) {
1067
1067
  lexer->result_symbol = BOL;
1068
1068
  scanner->terminated_newline = false;
1069
1069
  return true;
@@ -1241,23 +1241,31 @@ else if (valid_symbols[_ASSERT_NO_SPACE_BETWEEN_RULES]) {
1241
1241
  bool saw_nl = scanner->terminated_newline;
1242
1242
 
1243
1243
  while (iswspace(lexer->lookahead)) {
1244
- if (lexer->lookahead == '\n') saw_nl = true;
1244
+ if (lexer->lookahead == '\n') {
1245
+ // End the current statement before the next dotted line so
1246
+ // constructs like `x` newline `. quit` do not collapse into `x.quit`.
1247
+ if (valid_symbols[_TERMINATION] && consumed) {
1248
+ lexer->result_symbol = _WHITESPACE;
1249
+ scanner->terminated_newline = false;
1250
+ return true;
1251
+
1252
+ }
1253
+ saw_nl = true;
1254
+
1255
+ }
1245
1256
  lexer->advance(lexer,false);
1246
1257
  consumed = true;
1247
1258
  }
1248
1259
 
1249
-
1250
1260
  unsigned dots = 0;
1251
1261
 
1252
1262
  lexer->mark_end(lexer);
1253
1263
 
1254
-
1255
1264
  while (lexer->lookahead == '.') { lexer->advance(lexer,false); dots++; }
1256
1265
  bool is_decimal = false;
1257
1266
  if (lexer->lookahead == '.' || (lexer->lookahead >= '0' && lexer->lookahead <= '9')) {
1258
1267
  is_decimal = true;
1259
1268
  }
1260
-
1261
1269
  if (saw_nl && valid_symbols[BOL] && dots > 0 && !is_decimal) {
1262
1270
  lexer->result_symbol = BOL;
1263
1271
  scanner->terminated_newline = false;
package/core/src/parser.c CHANGED
@@ -1980366,7 +1980366,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_objectscript_core(void) {
1980366
1980366
  .metadata = {
1980367
1980367
  .major_version = 1,
1980368
1980368
  .minor_version = 7,
1980369
- .patch_version = 9,
1980369
+ .patch_version = 11,
1980370
1980370
  },
1980371
1980371
  };
1980372
1980372
  return &language;
package/expr/src/parser.c CHANGED
@@ -34600,7 +34600,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_objectscript_expr(void) {
34600
34600
  .metadata = {
34601
34601
  .major_version = 1,
34602
34602
  .minor_version = 7,
34603
- .patch_version = 9,
34603
+ .patch_version = 11,
34604
34604
  },
34605
34605
  };
34606
34606
  return &language;
@@ -2158970,7 +2158970,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_objectscript(void) {
2158970
2158970
  .metadata = {
2158971
2158971
  .major_version = 1,
2158972
2158972
  .minor_version = 7,
2158973
- .patch_version = 9,
2158973
+ .patch_version = 11,
2158974
2158974
  },
2158975
2158975
  };
2158976
2158976
  return &language;
@@ -2075599,7 +2075599,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_objectscript_routine(void) {
2075599
2075599
  .metadata = {
2075600
2075600
  .major_version = 1,
2075601
2075601
  .minor_version = 7,
2075602
- .patch_version = 9,
2075602
+ .patch_version = 11,
2075603
2075603
  },
2075604
2075604
  };
2075605
2075605
  return &language;
@@ -13,6 +13,7 @@ struct ObjectScript_Routine_Scanner {
13
13
  };
14
14
 
15
15
  static bool lex_rtn_dot(TSLexer *lexer) {
16
+ lexer->mark_end(lexer);
16
17
  if (lexer->get_column(lexer) != 0) return false;
17
18
  if (lexer->lookahead != '.') return false;
18
19
 
@@ -64,10 +65,6 @@ static bool scan(void *payload, TSLexer *lexer, const bool *valid_symbols) {
64
65
  return false;
65
66
  }
66
67
 
67
- if (valid_symbols[RTN_DOT] && lex_rtn_dot(lexer)) {
68
- return true;
69
- }
70
-
71
68
  if (ObjectScript_Core_Scanner_scan(&scanner->core_scanner, lexer,
72
69
  valid_symbols)) {
73
70
  return true;
@@ -77,6 +74,10 @@ static bool scan(void *payload, TSLexer *lexer, const bool *valid_symbols) {
77
74
  return true;
78
75
  }
79
76
 
77
+ if (valid_symbols[RTN_DOT] && lex_rtn_dot(lexer)) {
78
+ return true;
79
+ }
80
+
80
81
  return false;
81
82
  }
82
83
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tree-sitter-objectscript",
3
- "version": "1.7.9",
3
+ "version": "1.7.11",
4
4
  "description": "Tree Sitter Grammar for InterSystems ObjectScript",
5
5
  "scripts": {
6
6
  "install": "node-gyp-build",
package/tree-sitter.json CHANGED
@@ -97,7 +97,7 @@
97
97
  }
98
98
  ],
99
99
  "metadata": {
100
- "version": "1.7.9",
100
+ "version": "1.7.11",
101
101
  "license": "MIT",
102
102
  "description": "ObjectScript grammars for tree-sitter",
103
103
  "namespace": "io.github.treesitter.objectscript",
package/udl/src/parser.c CHANGED
@@ -2094596,7 +2094596,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_objectscript_udl(void) {
2094596
2094596
  .metadata = {
2094597
2094597
  .major_version = 1,
2094598
2094598
  .minor_version = 7,
2094599
- .patch_version = 9,
2094599
+ .patch_version = 11,
2094600
2094600
  },
2094601
2094601
  };
2094602
2094602
  return &language;