sqltools-duckdb-driver
Version:
Latest DuckDB support: Run queries and explore your DuckDB Database in VSCode
165 lines (162 loc) • 2.22 kB
text/typescript
import { NSDatabase } from '@sqltools/types';
const keywordsArr = [
'ABORT',
'ACTION',
'ADD',
'AFTER',
'ALL',
'ALTER',
'ALWAYS',
'ANALYZE',
'AND',
'AS',
'ASC',
'ATTACH',
'AUTOINCREMENT',
'BEFORE',
'BEGIN',
'BETWEEN',
'BY',
'CASCADE',
'CASE',
'CAST',
'CHECK',
'COLLATE',
'COLUMN',
'COMMIT',
'CONFLICT',
'CONSTRAINT',
'CREATE',
'CROSS',
'CURRENT',
'CURRENT_DATE',
'CURRENT_TIME',
'CURRENT_TIMESTAMP',
'DATABASE',
'DEFAULT',
'DEFERRABLE',
'DEFERRED',
'DELETE',
'DESC',
'DETACH',
'DISTINCT',
'DO',
'DROP',
'EACH',
'ELSE',
'END',
'ESCAPE',
'EXCEPT',
'EXCLUDE',
'EXCLUSIVE',
'EXISTS',
'EXPLAIN',
'FAIL',
'FILTER',
'FIRST',
'FOLLOWING',
'FOR',
'FOREIGN',
'FROM',
'FULL',
'GENERATED',
'GLOB',
'GROUP',
'GROUPS',
'HAVING',
'IF',
'IGNORE',
'IMMEDIATE',
'IN',
'INDEX',
'INDEXED',
'INITIALLY',
'INNER',
'INSERT',
'INSTEAD',
'INTERSECT',
'INTO',
'IS',
'ISNULL',
'JOIN',
'KEY',
'LAST',
'LEFT',
'LIKE',
'LIMIT',
'MATCH',
'NATURAL',
'NO',
'NOT',
'NOTHING',
'NOTNULL',
'NULL',
'NULLS',
'OF',
'OFFSET',
'ON',
'OR',
'ORDER',
'OTHERS',
'OUTER',
'OVER',
'PARTITION',
'PLAN',
'PRAGMA',
'PRECEDING',
'PRIMARY',
'QUERY',
'RAISE',
'RANGE',
'RECURSIVE',
'REFERENCES',
'REGEXP',
'REINDEX',
'RELEASE',
'RENAME',
'REPLACE',
'RESTRICT',
'RIGHT',
'ROLLBACK',
'ROW',
'ROWS',
'SAVEPOINT',
'SELECT',
'SET',
'TABLE',
'TEMP',
'TEMPORARY',
'THEN',
'TIES',
'TO',
'TRANSACTION',
'TRIGGER',
'UNBOUNDED',
'UNION',
'UNIQUE',
'UPDATE',
'USING',
'VACUUM',
'VALUES',
'VIEW',
'VIRTUAL',
'WHEN',
'WHERE',
'WINDOW',
'WITH',
'WITHOUT',
];
const keywordsCompletion: { [w: string]: NSDatabase.IStaticCompletion } = keywordsArr.reduce((agg, word) => {
agg[word] = {
label: word,
detail: word,
filterText: word,
sortText: (['SELECT', 'CREATE', 'UPDATE', 'DELETE'].includes(word) ? '2:' : '') + word,
documentation: {
value: `\`\`\`yaml\nWORD: ${word}\n\`\`\``,
kind: 'markdown'
}
};
return agg;
}, {});
export default keywordsCompletion;