Skip to content

Commit 4560e6c

Browse files
committed
feat: remove noReserved keywords in completions
1 parent ec65d4e commit 4560e6c

File tree

7 files changed

+52
-0
lines changed

7 files changed

+52
-0
lines changed

src/parser/flink/index.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@ export class FlinkSQL extends BasicSQL<FlinkSqlLexer, ProgramContext, FlinkSqlPa
2929
return new FlinkSqlParser(tokenStream);
3030
}
3131

32+
/**
33+
* The rules that keywords you don't want to be suggested.
34+
*/
35+
protected excludeKeywordRules = new Set([
36+
FlinkSqlParser.RULE_nonReservedKeywords,
37+
FlinkSqlParser.RULE_reservedKeywordsUsedAsFuncName,
38+
FlinkSqlParser.RULE_reservedKeywordsFollowParamsUsedAsFuncName,
39+
FlinkSqlParser.RULE_reservedKeywordsNoParamsUsedAsFuncName,
40+
FlinkSqlParser.RULE_reservedKeywordsUsedAsFuncParam,
41+
]);
42+
3243
protected preferredRules = new Set([
3344
FlinkSqlParser.RULE_catalogPath, // catalog name
3445
FlinkSqlParser.RULE_databasePath, // database name
@@ -47,6 +58,7 @@ export class FlinkSQL extends BasicSQL<FlinkSqlLexer, ProgramContext, FlinkSqlPa
4758
FlinkSqlParser.RULE_columnNameCreate,
4859
FlinkSqlParser.RULE_tablePropertyKey,
4960
FlinkSqlParser.RULE_tablePropertyValue,
61+
...this.excludeKeywordRules,
5062
]);
5163

5264
protected get splitListener() {

src/parser/hive/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ export class HiveSQL extends BasicSQL<HiveSqlLexer, ProgramContext, HiveSqlParse
3030
return new HiveSqlParser(tokenStream);
3131
}
3232

33+
/**
34+
* The rules that keywords you don't want to be suggested.
35+
*/
36+
protected excludeKeywordRules = new Set([HiveSqlParser.RULE_nonReserved]);
37+
3338
protected preferredRules: Set<number> = new Set([
3439
HiveSqlParser.RULE_dbSchemaName, // db or schema name
3540
HiveSqlParser.RULE_dbSchemaNameCreate, // db or schema name that will be created
@@ -43,6 +48,7 @@ export class HiveSQL extends BasicSQL<HiveSqlLexer, ProgramContext, HiveSqlParse
4348
HiveSqlParser.RULE_columnName,
4449
HiveSqlParser.RULE_columnNamePath,
4550
HiveSqlParser.RULE_columnNameCreate,
51+
...this.excludeKeywordRules,
4652
]);
4753

4854
protected get splitListener() {

src/parser/impala/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ export class ImpalaSQL extends BasicSQL<ImpalaSqlLexer, ProgramContext, ImpalaSq
2929
return new ImpalaSqlParser(tokenStream);
3030
}
3131

32+
/**
33+
* The rules that keywords you don't want to be suggested.
34+
*/
35+
protected excludeKeywordRules = new Set([ImpalaSqlParser.RULE_nonReserved]);
36+
3237
protected preferredRules: Set<number> = new Set([
3338
ImpalaSqlParser.RULE_functionNameCreate,
3439
ImpalaSqlParser.RULE_tableNameCreate,
@@ -41,6 +46,7 @@ export class ImpalaSQL extends BasicSQL<ImpalaSqlLexer, ProgramContext, ImpalaSq
4146
ImpalaSqlParser.RULE_databaseNamePath,
4247
ImpalaSqlParser.RULE_columnNamePath,
4348
ImpalaSqlParser.RULE_columnName,
49+
...this.excludeKeywordRules,
4450
]);
4551

4652
protected get splitListener() {

src/parser/mysql/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ export class MySQL extends BasicSQL<MySqlLexer, ProgramContext, MySqlParser> {
2929
return new MySqlParser(tokenStream);
3030
}
3131

32+
/**
33+
* The rules that keywords you don't want to be suggested.
34+
*/
35+
protected excludeKeywordRules = new Set([MySqlParser.RULE_keywordsCanBeId]);
36+
3237
protected preferredRules: Set<number> = new Set([
3338
MySqlParser.RULE_databaseName,
3439
MySqlParser.RULE_databaseNameCreate,
@@ -40,6 +45,7 @@ export class MySQL extends BasicSQL<MySqlLexer, ProgramContext, MySqlParser> {
4045
MySqlParser.RULE_functionNameCreate,
4146
MySqlParser.RULE_columnName,
4247
MySqlParser.RULE_columnNameCreate,
48+
...this.excludeKeywordRules,
4349
]);
4450

4551
protected get splitListener() {

src/parser/postgresql/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ export class PostgreSQL extends BasicSQL<PostgreSqlLexer, ProgramContext, Postgr
3030
return new PostgreSqlParser(tokenStream);
3131
}
3232

33+
/**
34+
* The rules that keywords you don't want to be suggested.
35+
*/
36+
protected excludeKeywordRules = new Set([PostgreSqlParser.RULE_nonReservedWord]);
37+
3338
protected preferredRules: Set<number> = new Set([
3439
PostgreSqlParser.RULE_tableNameCreate, // table name
3540
PostgreSqlParser.RULE_tableName, // table name that will be created
@@ -46,6 +51,7 @@ export class PostgreSQL extends BasicSQL<PostgreSqlLexer, ProgramContext, Postgr
4651
PostgreSqlParser.RULE_columnNameCreate, // column name that will be created
4752
PostgreSqlParser.RULE_columnName, // column name
4853
PostgreSqlParser.RULE_columnNamePath, // column name
54+
...this.excludeKeywordRules,
4955
]);
5056

5157
protected get splitListener() {

src/parser/spark/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ export class SparkSQL extends BasicSQL<SparkSqlLexer, ProgramContext, SparkSqlPa
2929
return new SparkSqlParser(tokenStream);
3030
}
3131

32+
/**
33+
* The rules that keywords you don't want to be suggested.
34+
*/
35+
protected excludeKeywordRules = new Set([
36+
SparkSqlParser.RULE_strictIdentifier,
37+
SparkSqlParser.RULE_strictNonReserved,
38+
SparkSqlParser.RULE_nonReserved,
39+
]);
40+
3241
protected preferredRules: Set<number> = new Set([
3342
SparkSqlParser.RULE_namespaceName,
3443
SparkSqlParser.RULE_namespaceNameCreate,
@@ -41,6 +50,7 @@ export class SparkSQL extends BasicSQL<SparkSqlLexer, ProgramContext, SparkSqlPa
4150
SparkSqlParser.RULE_columnName,
4251
SparkSqlParser.RULE_columnNamePath,
4352
SparkSqlParser.RULE_columnNameCreate,
53+
...this.excludeKeywordRules,
4454
]);
4555

4656
protected get splitListener() {

src/parser/trino/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ export class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, TrinoSqlPa
5050
return new TrinoSemanticContextCollector(input, caretPosition, allTokens, options);
5151
}
5252

53+
/**
54+
* The rules that keywords you don't want to be suggested.
55+
*/
56+
protected excludeKeywordRules = new Set([TrinoSqlParser.RULE_nonReserved]);
57+
5358
protected preferredRules: Set<number> = new Set([
5459
TrinoSqlParser.RULE_catalogRef,
5560
TrinoSqlParser.RULE_catalogNameCreate,
@@ -64,6 +69,7 @@ export class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, TrinoSqlPa
6469
TrinoSqlParser.RULE_columnRef,
6570
TrinoSqlParser.RULE_columnName,
6671
TrinoSqlParser.RULE_columnNameCreate,
72+
...this.excludeKeywordRules,
6773
]);
6874

6975
protected processCandidates(

0 commit comments

Comments
 (0)