# lang-sql **Repository Path**: mirrors_codemirror/lang-sql ## Basic Information - **Project Name**: lang-sql - **Description**: SQL language support for the CodeMirror code editor - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-30 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @codemirror/lang-sql [](https://www.npmjs.org/package/@codemirror/lang-sql) [ [**WEBSITE**](https://codemirror.net/) | [**ISSUES**](https://github.com/codemirror/dev/issues) | [**FORUM**](https://discuss.codemirror.net/c/next/) | [**CHANGELOG**](https://github.com/codemirror/lang-sql/blob/main/CHANGELOG.md) ] This package implements SQL language support for the [CodeMirror](https://codemirror.net/) code editor. The [project page](https://codemirror.net/) has more information, a number of [examples](https://codemirror.net/examples/) and the [documentation](https://codemirror.net/docs/). This code is released under an [MIT license](https://github.com/codemirror/lang-sql/tree/main/LICENSE). We aim to be an inclusive, welcoming community. To make that explicit, we have a [code of conduct](http://contributor-covenant.org/version/1/1/0/) that applies to communication around the project. ## Usage ```javascript import {EditorView, basicSetup} from "codemirror" import {sql} from "@codemirror/lang-sql" const view = new EditorView({ parent: document.body, doc: `select * from users where age > 20`, extensions: [basicSetup, sql()] }) ``` Use `sql({dialect: PostgreSQL})` or similar to select a specific SQL dialect. ## API Reference
sql(config?: SQLConfig = {}) → LanguageSupportSQL language support for the given SQL dialect, with keyword completion, and, if provided, schema-based completion as extra extensions.
interface
SQLConfigOptions used to configure an SQL extension.
dialect?: SQLDialectThe dialect to use. Defaults to
StandardSQL.
schema?: SQLNamespaceYou can use this to define the schemas, tables, and their fields for autocompletion.
defaultTable?: stringWhen given, columns from the named table can be completed directly at the top level.
defaultSchema?: stringWhen given, tables prefixed with this schema name can be completed directly at the top level.
upperCaseKeywords?: booleanWhen set to true, keyword completions will be upper-case.
keywordCompletion?: fn(label: string, type: string) → CompletionCan be used to customize the completions generated for keywords.
type
SQLNamespace = Object<SQLNamespace> | {self: Completion, children: SQLNamespace} | readonly (string | Completion)[]
The type used to describe a level of the schema for
completion. Can be an array of
options (columns), an object mapping table or schema names to
deeper levels, or a {self, children} object that assigns a
completion option to use for its parent property, when the default option
(its name as label and type "type") isn't suitable.
class
SQLDialectRepresents an SQL dialect.
language: LRLanguageThe language for this dialect.
spec: SQLDialectSpecThe spec used to define this dialect.
extension: ExtensionReturns the language for this dialect as an extension.
configureLanguage(options: ParserConfig, name?: string) → SQLDialectReconfigure the parser used by this dialect. Returns a new dialect object.
static define(spec: SQLDialectSpec) → SQLDialectDefine a new dialect.
type
SQLDialectSpecConfiguration for an SQL Dialect.
keywords?: stringA space-separated list of keywords for the dialect.
builtin?: stringA space-separated string of built-in identifiers for the dialect.
types?: stringA space-separated string of type names for the dialect.
backslashEscapes?: booleanControls whether regular strings allow backslash escapes.
hashComments?: booleanControls whether # creates a line comment.
slashComments?: booleanControls whether // creates a line comment.
spaceAfterDashes?: booleanWhen enabled -- comments are only recognized when there's a
space after the dashes.
doubleDollarQuotedStrings?: booleanWhen enabled, things quoted with "$" are treated as strings, rather than identifiers.
doubleQuotedStrings?: booleanWhen enabled, things quoted with double quotes are treated as strings, rather than identifiers.
charSetCasts?: booleanEnables strings like _utf8'str' or N'str'.
plsqlQuotingMechanism?: booleanEnables string quoting syntax like q'[str]', as used in
PL/SQL.
operatorChars?: stringThe set of characters that make up operators. Defaults to
"*+\-%<>!=&|~^/".
specialVar?: stringThe set of characters that start a special variable name.
Defaults to "?".
identifierQuotes?: stringThe characters that can be used to quote identifiers. Defaults
to "\"". Add [ for MSSQL-style bracket quoted identifiers.
caseInsensitiveIdentifiers?: booleanControls whether identifiers are case-insensitive. Identifiers with upper-case letters are quoted when set to false (which is the default).
unquotedBitLiterals?: booleanControls whether bit values can be defined as 0b1010. Defaults to false.
treatBitsAsBytes?: booleanControls whether bit values can contain other characters than 0 and 1. Defaults to false.
StandardSQL: SQLDialectThe standard SQL dialect.
PostgreSQL: SQLDialectDialect for PostgreSQL.
MySQL: SQLDialectMySQL dialect.
MariaSQL: SQLDialectMSSQL: SQLDialectSQL dialect for Microsoft SQL Server.
SQLite: SQLDialectSQLite dialect.
Cassandra: SQLDialectDialect for Cassandra's SQL-ish query language.
PLSQL: SQLDialectPL/SQL dialect.
keywordCompletionSource(dialect: SQLDialect, upperCase?: boolean = false, build?: fn(label: string, type: string) → Completion) → CompletionSourceReturns a completion source that provides keyword completion for the given SQL dialect.
schemaCompletionSource(config: SQLConfig) → CompletionSourceReturns a completion sources that provides schema-based completion for the given configuration.