This repository has moved to https://code.haverbeke.berlin/codemirror/lang-sql
@codemirror/lang-sql NPM version
[ WEBSITE | ISSUES | FORUM | CHANGELOG ]
This package implements SQL language support for the CodeMirror code editor.
The project page has more information, a number of examples and the documentation.
This code is released under an MIT license.
We aim to be an inclusive, welcoming community. To make that explicit, we have a code of conduct that applies to communication around the project.
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.
-
sql (config?: SQLConfig = {}) → LanguageSupport SQL language support for the given SQL dialect, with keyword completion, and, if provided, schema-based completion as extra extensions.
-
interfaceSQLConfig Options used to configure an SQL extension.
-
dialect ?: SQLDialect The dialect to use. Defaults to
StandardSQL.-
schema ?: SQLNamespace You can use this to define the schemas, tables, and their fields for autocompletion.
-
defaultTable ?: string When given, columns from the named table can be completed directly at the top level.
-
defaultSchema ?: string When given, tables prefixed with this schema name can be completed directly at the top level.
-
upperCaseKeywords ?: boolean When set to true, keyword completions will be upper-case.
-
keywordCompletion ?: fn(label: string, type: string) → Completion Can be used to customize the completions generated for keywords.
-
-
typeSQLNamespace = 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.-
classSQLDialect Represents an SQL dialect.
-
language : LRLanguage The language for this dialect.
-
spec : SQLDialectSpec The spec used to define this dialect.
-
extension : Extension Returns the language for this dialect as an extension.
-
configureLanguage (options: ParserConfig, name?: string) → SQLDialect Reconfigure the parser used by this dialect. Returns a new dialect object.
-
static define (spec: SQLDialectSpec) → SQLDialect Define a new dialect.
-
-
typeSQLDialectSpec Configuration for an SQL Dialect.
-
keywords ?: string A space-separated list of keywords for the dialect.
-
builtin ?: string A space-separated string of built-in identifiers for the dialect.
-
types ?: string A space-separated string of type names for the dialect.
-
backslashEscapes ?: boolean Controls whether regular strings allow backslash escapes.
-
hashComments ?: boolean Controls whether # creates a line comment.
-
slashComments ?: boolean Controls whether
//creates a line comment.-
spaceAfterDashes ?: boolean When enabled
--comments are only recognized when there's a space after the dashes.-
doubleDollarQuotedStrings ?: boolean When enabled, things quoted with "$" are treated as strings, rather than identifiers.
-
doubleQuotedStrings ?: boolean When enabled, things quoted with double quotes are treated as strings, rather than identifiers.
-
charSetCasts ?: boolean Enables strings like
_utf8'str'orN'str'.-
plsqlQuotingMechanism ?: boolean Enables string quoting syntax like
q'[str]', as used in PL/SQL.-
operatorChars ?: string The set of characters that make up operators. Defaults to
"*+\-%<>!=&|~^/".-
specialVar ?: string The set of characters that start a special variable name. Defaults to
"?".-
identifierQuotes ?: string The characters that can be used to quote identifiers. Defaults to
"\"". Add[for MSSQL-style bracket quoted identifiers.-
caseInsensitiveIdentifiers ?: boolean Controls whether identifiers are case-insensitive. Identifiers with upper-case letters are quoted when set to false (which is the default).
-
unquotedBitLiterals ?: boolean Controls whether bit values can be defined as 0b1010. Defaults to false.
-
treatBitsAsBytes ?: boolean Controls whether bit values can contain other characters than 0 and 1. Defaults to false.
-
-
StandardSQL : SQLDialect The standard SQL dialect.
-
PostgreSQL : SQLDialect Dialect for PostgreSQL.
-
MySQL : SQLDialect MySQL dialect.
-
MariaSQL : SQLDialect -
MSSQL : SQLDialect SQL dialect for Microsoft SQL Server.
-
SQLite : SQLDialect SQLite dialect.
-
Cassandra : SQLDialect Dialect for Cassandra's SQL-ish query language.
-
PLSQL : SQLDialect PL/SQL dialect.
-
keywordCompletionSource (dialect: SQLDialect, upperCase?: boolean = false, build?: fn(label: string, type: string) → Completion) → CompletionSource Returns a completion source that provides keyword completion for the given SQL dialect.
-
schemaCompletionSource (config: SQLConfig) → CompletionSource Returns a completion sources that provides schema-based completion for the given configuration.