Skip to content

Commit

Permalink
Add mandatory name field to DialectOptions config
Browse files Browse the repository at this point in the history
nene committed Nov 15, 2023
1 parent ad78021 commit 49f611a
Showing 20 changed files with 20 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/dialect.md
Original file line number Diff line number Diff line change
@@ -51,6 +51,7 @@ The `dialect` parameter can also be used to specify a custom SQL dialect configu
import { formatDialect, DialectOptions } from 'sql-formatter';

const myDialect: DialectOptions {
name: 'my_dialect',
tokenizerOptions: {
// See source code for examples of tokenizer config options
// For example: src/languages/sqlite/sqlite.formatter.ts
1 change: 1 addition & 0 deletions src/dialect.ts
Original file line number Diff line number Diff line change
@@ -6,6 +6,7 @@ import Tokenizer from './lexer/Tokenizer.js';
import { TokenizerOptions } from './lexer/TokenizerOptions.js';

export interface DialectOptions {
name: string;
tokenizerOptions: TokenizerOptions;
formatOptions: DialectFormatOptions;
}
1 change: 1 addition & 0 deletions src/languages/bigquery/bigquery.formatter.ts
Original file line number Diff line number Diff line change
@@ -156,6 +156,7 @@ const reservedPhrases = expandPhrases([

// https://cloud.google.com/bigquery/docs/reference/#standard-sql-reference
export const bigquery: DialectOptions = {
name: 'bigquery',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/db2/db2.formatter.ts
Original file line number Diff line number Diff line change
@@ -258,6 +258,7 @@ const reservedPhrases = expandPhrases([
]);

export const db2: DialectOptions = {
name: 'db2',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/db2i/db2i.formatter.ts
Original file line number Diff line number Diff line change
@@ -154,6 +154,7 @@ const reservedPhrases = expandPhrases([

// https://www.ibm.com/docs/en/i/7.5?topic=reference-sql
export const db2i: DialectOptions = {
name: 'db2i',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/hive/hive.formatter.ts
Original file line number Diff line number Diff line change
@@ -83,6 +83,7 @@ const reservedPhrases = expandPhrases(['{ROWS | RANGE} BETWEEN']);

// https://cwiki.apache.org/confluence/display/Hive/LanguageManual
export const hive: DialectOptions = {
name: 'hive',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/mariadb/mariadb.formatter.ts
Original file line number Diff line number Diff line change
@@ -265,6 +265,7 @@ const reservedPhrases = expandPhrases([

// For reference: https://mariadb.com/kb/en/sql-statements-structure/
export const mariadb: DialectOptions = {
name: 'mariadb',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/mysql/mysql.formatter.ts
Original file line number Diff line number Diff line change
@@ -232,6 +232,7 @@ const reservedPhrases = expandPhrases([

// https://dev.mysql.com/doc/refman/8.0/en/
export const mysql: DialectOptions = {
name: 'mysql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/n1ql/n1ql.formatter.ts
Original file line number Diff line number Diff line change
@@ -84,6 +84,7 @@ const reservedPhrases = expandPhrases(['{ROWS | RANGE | GROUPS} BETWEEN']);

// For reference: http://docs.couchbase.com.s3-website-us-west-1.amazonaws.com/server/6.0/n1ql/n1ql-language-reference/index.html
export const n1ql: DialectOptions = {
name: 'n1ql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/plsql/plsql.formatter.ts
Original file line number Diff line number Diff line change
@@ -82,6 +82,7 @@ const reservedPhrases = expandPhrases([
]);

export const plsql: DialectOptions = {
name: 'plsql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/postgresql/postgresql.formatter.ts
Original file line number Diff line number Diff line change
@@ -253,6 +253,7 @@ const reservedPhrases = expandPhrases([

// https://www.postgresql.org/docs/14/index.html
export const postgresql: DialectOptions = {
name: 'postgresql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/redshift/redshift.formatter.ts
Original file line number Diff line number Diff line change
@@ -140,6 +140,7 @@ const reservedPhrases = expandPhrases([

// https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_SQLCommandRef.html
export const redshift: DialectOptions = {
name: 'redshift',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/singlestoredb/singlestoredb.formatter.ts
Original file line number Diff line number Diff line change
@@ -233,6 +233,7 @@ const reservedPhrases = expandPhrases([
]);

export const singlestoredb: DialectOptions = {
name: 'singlestoredb',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/snowflake/snowflake.formatter.ts
Original file line number Diff line number Diff line change
@@ -296,6 +296,7 @@ const reservedPhrases = expandPhrases([
]);

export const snowflake: DialectOptions = {
name: 'snowflake',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/spark/spark.formatter.ts
Original file line number Diff line number Diff line change
@@ -119,6 +119,7 @@ const reservedPhrases = expandPhrases([

// http://spark.apache.org/docs/latest/sql-programming-guide.html
export const spark: DialectOptions = {
name: 'spark',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/sql/sql.formatter.ts
Original file line number Diff line number Diff line change
@@ -74,6 +74,7 @@ const reservedPhrases = expandPhrases([
]);

export const sql: DialectOptions = {
name: 'sql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/sqlite/sqlite.formatter.ts
Original file line number Diff line number Diff line change
@@ -65,6 +65,7 @@ const reservedPhrases = expandPhrases([
]);

export const sqlite: DialectOptions = {
name: 'sqlite',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/transactsql/transactsql.formatter.ts
Original file line number Diff line number Diff line change
@@ -222,6 +222,7 @@ const reservedPhrases = expandPhrases([

// https://docs.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-ver15
export const transactsql: DialectOptions = {
name: 'transactsql',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions src/languages/trino/trino.formatter.ts
Original file line number Diff line number Diff line change
@@ -125,6 +125,7 @@ const reservedPhrases = expandPhrases([
]);

export const trino: DialectOptions = {
name: 'trino',
tokenizerOptions: {
reservedSelect,
reservedClauses: [...reservedClauses, ...onelineClauses],
1 change: 1 addition & 0 deletions test/sqlFormatter.test.ts
Original file line number Diff line number Diff line change
@@ -79,6 +79,7 @@ describe('sqlFormatter', () => {
it('allows use of regex-based custom string type', () => {
// Extend SQLite dialect with additional string type
const sqliteWithTemplates: DialectOptions = {
name: 'myCustomDialect',
tokenizerOptions: {
...sqlite.tokenizerOptions,
stringTypes: [...sqlite.tokenizerOptions.stringTypes, { regex: String.raw`\{\{.*?\}\}` }],

0 comments on commit 49f611a

Please sign in to comment.