sqruff_lib_dialects/
lib.rs1use sqruff_lib_core::dialects::base::Dialect;
2use sqruff_lib_core::dialects::init::DialectKind;
3
4pub mod ansi;
5mod ansi_keywords;
6#[cfg(feature = "athena")]
7pub mod athena;
8#[cfg(feature = "athena")]
9mod athena_keywords;
10#[cfg(feature = "bigquery")]
11pub mod bigquery;
12#[cfg(feature = "bigquery")]
13mod bigquery_keywords;
14#[cfg(feature = "clickhouse")]
15pub mod clickhouse;
16#[cfg(feature = "clickhouse")]
17mod clickhouse_keywords;
18#[cfg(feature = "databricks")]
19pub mod databricks;
20#[cfg(feature = "databricks")]
21pub mod databricks_keywords;
22#[cfg(feature = "duckdb")]
23pub mod duckdb;
24#[cfg(feature = "hive")]
25pub mod hive;
26#[cfg(feature = "postgres")]
27pub mod postgres;
28#[cfg(feature = "postgres")]
29mod postgres_keywords;
30#[cfg(feature = "redshift")]
31pub mod redshift;
32#[cfg(feature = "redshift")]
33mod redshift_keywords;
34#[cfg(feature = "snowflake")]
35pub mod snowflake;
36#[cfg(feature = "snowflake")]
37mod snowflake_keywords;
38#[cfg(feature = "sparksql")]
39pub mod sparksql;
40#[cfg(feature = "sparksql")]
41mod sparksql_keywords;
42#[cfg(feature = "sqlite")]
43pub mod sqlite;
44#[cfg(feature = "sqlite")]
45mod sqlite_keywords;
46#[cfg(feature = "trino")]
47pub mod trino;
48#[cfg(feature = "trino")]
49mod trino_keywords;
50
51pub fn kind_to_dialect(kind: &DialectKind) -> Option<Dialect> {
52 #[allow(unreachable_patterns)]
53 Some(match kind {
54 DialectKind::Ansi => ansi::dialect(),
55 #[cfg(feature = "athena")]
56 DialectKind::Athena => athena::dialect(),
57 #[cfg(feature = "bigquery")]
58 DialectKind::Bigquery => bigquery::dialect(),
59 #[cfg(feature = "clickhouse")]
60 DialectKind::Clickhouse => clickhouse::dialect(),
61 #[cfg(feature = "databricks")]
62 DialectKind::Databricks => databricks::dialect(),
63 #[cfg(feature = "duckdb")]
64 DialectKind::Duckdb => duckdb::dialect(),
65 #[cfg(feature = "postgres")]
66 DialectKind::Postgres => postgres::dialect(),
67 #[cfg(feature = "redshift")]
68 DialectKind::Redshift => redshift::dialect(),
69 #[cfg(feature = "snowflake")]
70 DialectKind::Snowflake => snowflake::dialect(),
71 #[cfg(feature = "sparksql")]
72 DialectKind::Sparksql => sparksql::dialect(),
73 #[cfg(feature = "sqlite")]
74 DialectKind::Sqlite => sqlite::dialect(),
75 #[cfg(feature = "trino")]
76 DialectKind::Trino => trino::dialect(),
77 _ => return None,
78 })
79}