Skip to content

SQL language support for the CodeMirror code editor

License

Notifications You must be signed in to change notification settings

postgresml/lang-sql

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@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.

API Reference

sql(config⁠?: SQLConfig = {}) → LanguageSupport

SQL language support for the given SQL dialect, with keyword completion, and, if provided, schema-based completion as extra extensions.

interface SQLConfig

Options used to configure an SQL extension.

dialect⁠?: SQLDialect

The dialect to use. Defaults to StandardSQL.

schema⁠?: Object<readonly (string | Completion)[]>

An object that maps table names, optionally prefixed with a schema name ("schema.table") to options (columns) that can be completed for that table. Use lower-case names here.

tables⁠?: readonly Completion[]

By default, the completions for the table names will be generated from the schema object. But if you want to customize them, you can pass an array of completions through this option.

schemas⁠?: readonly Completion[]

Similar to tables, if you want to provide completion objects for your schemas rather than using the generated ones, pass them here.

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.

class SQLDialect

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.

static define(specSQLDialectSpec) → SQLDialect

Define a new dialect.

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' or N'str'.

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 "\"".

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

Variant of MySQL for MariaDB.

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(dialectSQLDialect, upperCase⁠?: boolean = false) → CompletionSource

Returns a completion source that provides keyword completion for the given SQL dialect.

schemaCompletionSource(configSQLConfig) → CompletionSource

Returns a completion sources that provides schema-based completion for the given configuration.

About

SQL language support for the CodeMirror code editor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%