@coldsmirk/inkstone-codemirror 0.8.2 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,8 +8,8 @@ Part of [inkstone](https://github.com/coldsmirk/inkstone). For a drop-in React c
8
8
 
9
9
  - **`ControlledEditorHost`** — the controlled-editor lifecycle solved once: the view is created once, external value changes reconcile into the document without resetting cursor/undo, and theme/extension swaps happen in place.
10
10
  - **`documentExtensions(options)`** — the standard document editing bundle (history, brackets, completion UI, optional line numbers / wrapping / search), so hosts start from working defaults instead of a bare `EditorState`.
11
- - **`codeMirrorLanguages` / `loadLanguage(language)`** — the supported `CodeMirrorLanguage` names and their lazy loaders: one dynamic `import()` per grammar, so only the selected language is fetched, never the whole catalog.
12
- - **MiniJinja** — `language: "minijinja"` for standalone templates, or `minijinja-<host>` mixed variants (`minijinja-html`, `-xml`, `-json`, `-yaml`, `-css`, `-scss`, `-sass`, `-less`, `-markdown`, `-sql`, `-mysql`, `-pgsql`, `-sqlite`) that overlay MiniJinja tooling on the host grammar. A linter flags non-MiniJinja tags; autocomplete is restricted to MiniJinja's real tags / filters / tests / functions.
11
+ - **`codeMirrorLanguages` / `loadLanguage(language)`** — the supported `CodeMirrorLanguage` names and their lazy loaders: one dynamic `import()` per grammar, so only the selected language is fetched, never the whole catalog. Two tiers back the ids: the official `@codemirror/lang-*` (Lezer) parsers where upstream ships one, plus the full [`@codemirror/legacy-modes`](https://github.com/codemirror/legacy-modes) catalog (stream-mode highlighting) for everything upstream never wrote a Lezer grammar for — `shell`, `dockerfile`, `ini` / `env` / `properties`, `toml`, `nginx`, `powershell`, `lua`, and a hundred more.
12
+ - **MiniJinja** — `language: "minijinja"` for standalone templates, or `minijinja-<host>` mixed variants (`minijinja-html`, `-xml`, `-json`, `-yaml`, `-css`, `-scss`, `-sass`, `-less`, `-markdown`; the SQL family — `-sql` plus every dialect id: `-mysql`, `-pgsql`, `-sqlite`, `-mssql`, `-mariadb`, `-plsql`, `-cassandra`, `-hive`, `-sparksql`, `-gql`, `-gpsql`, `-esper`; and the config/deploy hosts `-toml`, `-ini`, `-env`, `-shell`, `-dockerfile`, `-nginx`) that overlay MiniJinja tooling on the host grammar. A linter flags non-MiniJinja tags; autocomplete is restricted to MiniJinja's real tags / filters / tests / functions.
13
13
  - **Context completion** — `normalizeContext({ schema })` (JSON Schema) or `normalizeContext({ sample })` (representative value) builds an `EditorContext`; dispatch it with `setMinijinjaContext` to make `{{ }}` / `{% if %}` / `{% for %}` complete the render context's variables and walk member access (`user.address.city`). `minijinjaContextField`, `resolveMembers`, and `typeAtPath` expose the underlying pieces.
14
14
  - **`searchPhrasesZhCn`** — an opt-in `EditorState.phrases` table localizing the search panel to Simplified Chinese.
15
15
 
package/dist/index.cjs CHANGED
@@ -103,6 +103,9 @@ function documentExtensions({ placeholder, lineWrapping = false, showLineNumbers
103
103
  }
104
104
  //#endregion
105
105
  //#region src/languages.ts
106
+ function legacy(load) {
107
+ return () => load().then((parser) => new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(parser)));
108
+ }
106
109
  const loaders = {
107
110
  javascript: () => import("@codemirror/lang-javascript").then((mod) => mod.javascript()),
108
111
  typescript: () => import("@codemirror/lang-javascript").then((mod) => mod.javascript({ typescript: true })),
@@ -128,12 +131,138 @@ const loaders = {
128
131
  cpp: () => import("@codemirror/lang-cpp").then((mod) => mod.cpp()),
129
132
  c: () => import("@codemirror/lang-cpp").then((mod) => mod.cpp()),
130
133
  vue: () => import("@codemirror/lang-vue").then((mod) => mod.vue()),
134
+ angular: () => import("@codemirror/lang-angular").then((mod) => mod.angular()),
131
135
  liquid: () => import("@codemirror/lang-liquid").then((mod) => mod.liquid()),
132
136
  wast: () => import("@codemirror/lang-wast").then((mod) => mod.wast()),
137
+ lezer: () => import("@codemirror/lang-lezer").then((mod) => mod.lezer()),
133
138
  sql: () => import("@codemirror/lang-sql").then((mod) => mod.sql()),
134
139
  mysql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.MySQL })),
135
140
  pgsql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.PostgreSQL })),
136
141
  sqlite: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.SQLite })),
142
+ mssql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.MSSQL })),
143
+ mariadb: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.MariaSQL })),
144
+ plsql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.PLSQL })),
145
+ cassandra: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.Cassandra })),
146
+ apl: legacy(() => import("@codemirror/legacy-modes/mode/apl").then((mod) => mod.apl)),
147
+ asciiarmor: legacy(() => import("@codemirror/legacy-modes/mode/asciiarmor").then((mod) => mod.asciiArmor)),
148
+ asn1: legacy(() => import("@codemirror/legacy-modes/mode/asn1").then((mod) => mod.asn1({}))),
149
+ asterisk: legacy(() => import("@codemirror/legacy-modes/mode/asterisk").then((mod) => mod.asterisk)),
150
+ brainfuck: legacy(() => import("@codemirror/legacy-modes/mode/brainfuck").then((mod) => mod.brainfuck)),
151
+ ceylon: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.ceylon)),
152
+ clojure: legacy(() => import("@codemirror/legacy-modes/mode/clojure").then((mod) => mod.clojure)),
153
+ cmake: legacy(() => import("@codemirror/legacy-modes/mode/cmake").then((mod) => mod.cmake)),
154
+ cobol: legacy(() => import("@codemirror/legacy-modes/mode/cobol").then((mod) => mod.cobol)),
155
+ coffeescript: legacy(() => import("@codemirror/legacy-modes/mode/coffeescript").then((mod) => mod.coffeeScript)),
156
+ commonlisp: legacy(() => import("@codemirror/legacy-modes/mode/commonlisp").then((mod) => mod.commonLisp)),
157
+ crystal: legacy(() => import("@codemirror/legacy-modes/mode/crystal").then((mod) => mod.crystal)),
158
+ csharp: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.csharp)),
159
+ cypher: legacy(() => import("@codemirror/legacy-modes/mode/cypher").then((mod) => mod.cypher)),
160
+ cython: legacy(() => import("@codemirror/legacy-modes/mode/python").then((mod) => mod.cython)),
161
+ d: legacy(() => import("@codemirror/legacy-modes/mode/d").then((mod) => mod.d)),
162
+ dart: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.dart)),
163
+ diff: legacy(() => import("@codemirror/legacy-modes/mode/diff").then((mod) => mod.diff)),
164
+ dockerfile: legacy(() => import("@codemirror/legacy-modes/mode/dockerfile").then((mod) => mod.dockerFile)),
165
+ dtd: legacy(() => import("@codemirror/legacy-modes/mode/dtd").then((mod) => mod.dtd)),
166
+ dylan: legacy(() => import("@codemirror/legacy-modes/mode/dylan").then((mod) => mod.dylan)),
167
+ ebnf: legacy(() => import("@codemirror/legacy-modes/mode/ebnf").then((mod) => mod.ebnf)),
168
+ ecl: legacy(() => import("@codemirror/legacy-modes/mode/ecl").then((mod) => mod.ecl)),
169
+ eiffel: legacy(() => import("@codemirror/legacy-modes/mode/eiffel").then((mod) => mod.eiffel)),
170
+ elm: legacy(() => import("@codemirror/legacy-modes/mode/elm").then((mod) => mod.elm)),
171
+ env: legacy(() => import("@codemirror/legacy-modes/mode/properties").then((mod) => mod.properties)),
172
+ erlang: legacy(() => import("@codemirror/legacy-modes/mode/erlang").then((mod) => mod.erlang)),
173
+ esper: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.esper)),
174
+ ez80: legacy(() => import("@codemirror/legacy-modes/mode/z80").then((mod) => mod.ez80)),
175
+ factor: legacy(() => import("@codemirror/legacy-modes/mode/factor").then((mod) => mod.factor)),
176
+ fcl: legacy(() => import("@codemirror/legacy-modes/mode/fcl").then((mod) => mod.fcl)),
177
+ forth: legacy(() => import("@codemirror/legacy-modes/mode/forth").then((mod) => mod.forth)),
178
+ fortran: legacy(() => import("@codemirror/legacy-modes/mode/fortran").then((mod) => mod.fortran)),
179
+ fsharp: legacy(() => import("@codemirror/legacy-modes/mode/mllike").then((mod) => mod.fSharp)),
180
+ gas: legacy(() => import("@codemirror/legacy-modes/mode/gas").then((mod) => mod.gas)),
181
+ "gas-arm": legacy(() => import("@codemirror/legacy-modes/mode/gas").then((mod) => mod.gasArm)),
182
+ gherkin: legacy(() => import("@codemirror/legacy-modes/mode/gherkin").then((mod) => mod.gherkin)),
183
+ gpsql: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.gpSQL)),
184
+ gql: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.gql)),
185
+ groovy: legacy(() => import("@codemirror/legacy-modes/mode/groovy").then((mod) => mod.groovy)),
186
+ gss: legacy(() => import("@codemirror/legacy-modes/mode/css").then((mod) => mod.gss)),
187
+ haskell: legacy(() => import("@codemirror/legacy-modes/mode/haskell").then((mod) => mod.haskell)),
188
+ haxe: legacy(() => import("@codemirror/legacy-modes/mode/haxe").then((mod) => mod.haxe)),
189
+ hive: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.hive)),
190
+ http: legacy(() => import("@codemirror/legacy-modes/mode/http").then((mod) => mod.http)),
191
+ hxml: legacy(() => import("@codemirror/legacy-modes/mode/haxe").then((mod) => mod.hxml)),
192
+ idl: legacy(() => import("@codemirror/legacy-modes/mode/idl").then((mod) => mod.idl)),
193
+ ini: legacy(() => import("@codemirror/legacy-modes/mode/properties").then((mod) => mod.properties)),
194
+ julia: legacy(() => import("@codemirror/legacy-modes/mode/julia").then((mod) => mod.julia)),
195
+ kotlin: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.kotlin)),
196
+ livescript: legacy(() => import("@codemirror/legacy-modes/mode/livescript").then((mod) => mod.liveScript)),
197
+ lua: legacy(() => import("@codemirror/legacy-modes/mode/lua").then((mod) => mod.lua)),
198
+ mathematica: legacy(() => import("@codemirror/legacy-modes/mode/mathematica").then((mod) => mod.mathematica)),
199
+ mbox: legacy(() => import("@codemirror/legacy-modes/mode/mbox").then((mod) => mod.mbox)),
200
+ mirc: legacy(() => import("@codemirror/legacy-modes/mode/mirc").then((mod) => mod.mirc)),
201
+ modelica: legacy(() => import("@codemirror/legacy-modes/mode/modelica").then((mod) => mod.modelica)),
202
+ mscgen: legacy(() => import("@codemirror/legacy-modes/mode/mscgen").then((mod) => mod.mscgen)),
203
+ msgenny: legacy(() => import("@codemirror/legacy-modes/mode/mscgen").then((mod) => mod.msgenny)),
204
+ mumps: legacy(() => import("@codemirror/legacy-modes/mode/mumps").then((mod) => mod.mumps)),
205
+ nesc: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.nesC)),
206
+ nginx: legacy(() => import("@codemirror/legacy-modes/mode/nginx").then((mod) => mod.nginx)),
207
+ nsis: legacy(() => import("@codemirror/legacy-modes/mode/nsis").then((mod) => mod.nsis)),
208
+ ntriples: legacy(() => import("@codemirror/legacy-modes/mode/ntriples").then((mod) => mod.ntriples)),
209
+ "objective-c": legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.objectiveC)),
210
+ "objective-cpp": legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.objectiveCpp)),
211
+ ocaml: legacy(() => import("@codemirror/legacy-modes/mode/mllike").then((mod) => mod.oCaml)),
212
+ octave: legacy(() => import("@codemirror/legacy-modes/mode/octave").then((mod) => mod.octave)),
213
+ oz: legacy(() => import("@codemirror/legacy-modes/mode/oz").then((mod) => mod.oz)),
214
+ pascal: legacy(() => import("@codemirror/legacy-modes/mode/pascal").then((mod) => mod.pascal)),
215
+ pegjs: legacy(() => import("@codemirror/legacy-modes/mode/pegjs").then((mod) => mod.pegjs)),
216
+ perl: legacy(() => import("@codemirror/legacy-modes/mode/perl").then((mod) => mod.perl)),
217
+ pig: legacy(() => import("@codemirror/legacy-modes/mode/pig").then((mod) => mod.pig)),
218
+ powershell: legacy(() => import("@codemirror/legacy-modes/mode/powershell").then((mod) => mod.powerShell)),
219
+ properties: legacy(() => import("@codemirror/legacy-modes/mode/properties").then((mod) => mod.properties)),
220
+ protobuf: legacy(() => import("@codemirror/legacy-modes/mode/protobuf").then((mod) => mod.protobuf)),
221
+ pug: legacy(() => import("@codemirror/legacy-modes/mode/pug").then((mod) => mod.pug)),
222
+ puppet: legacy(() => import("@codemirror/legacy-modes/mode/puppet").then((mod) => mod.puppet)),
223
+ q: legacy(() => import("@codemirror/legacy-modes/mode/q").then((mod) => mod.q)),
224
+ r: legacy(() => import("@codemirror/legacy-modes/mode/r").then((mod) => mod.r)),
225
+ "rpm-changes": legacy(() => import("@codemirror/legacy-modes/mode/rpm").then((mod) => mod.rpmChanges)),
226
+ "rpm-spec": legacy(() => import("@codemirror/legacy-modes/mode/rpm").then((mod) => mod.rpmSpec)),
227
+ ruby: legacy(() => import("@codemirror/legacy-modes/mode/ruby").then((mod) => mod.ruby)),
228
+ sas: legacy(() => import("@codemirror/legacy-modes/mode/sas").then((mod) => mod.sas)),
229
+ scala: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.scala)),
230
+ scheme: legacy(() => import("@codemirror/legacy-modes/mode/scheme").then((mod) => mod.scheme)),
231
+ shader: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.shader)),
232
+ shell: legacy(() => import("@codemirror/legacy-modes/mode/shell").then((mod) => mod.shell)),
233
+ sieve: legacy(() => import("@codemirror/legacy-modes/mode/sieve").then((mod) => mod.sieve)),
234
+ smalltalk: legacy(() => import("@codemirror/legacy-modes/mode/smalltalk").then((mod) => mod.smalltalk)),
235
+ sml: legacy(() => import("@codemirror/legacy-modes/mode/mllike").then((mod) => mod.sml)),
236
+ solr: legacy(() => import("@codemirror/legacy-modes/mode/solr").then((mod) => mod.solr)),
237
+ sparksql: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.sparkSQL)),
238
+ sparql: legacy(() => import("@codemirror/legacy-modes/mode/sparql").then((mod) => mod.sparql)),
239
+ spreadsheet: legacy(() => import("@codemirror/legacy-modes/mode/spreadsheet").then((mod) => mod.spreadsheet)),
240
+ squirrel: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.squirrel)),
241
+ stex: legacy(() => import("@codemirror/legacy-modes/mode/stex").then((mod) => mod.stex)),
242
+ "stex-math": legacy(() => import("@codemirror/legacy-modes/mode/stex").then((mod) => mod.stexMath)),
243
+ stylus: legacy(() => import("@codemirror/legacy-modes/mode/stylus").then((mod) => mod.stylus)),
244
+ swift: legacy(() => import("@codemirror/legacy-modes/mode/swift").then((mod) => mod.swift)),
245
+ tcl: legacy(() => import("@codemirror/legacy-modes/mode/tcl").then((mod) => mod.tcl)),
246
+ textile: legacy(() => import("@codemirror/legacy-modes/mode/textile").then((mod) => mod.textile)),
247
+ tiddlywiki: legacy(() => import("@codemirror/legacy-modes/mode/tiddlywiki").then((mod) => mod.tiddlyWiki)),
248
+ tiki: legacy(() => import("@codemirror/legacy-modes/mode/tiki").then((mod) => mod.tiki)),
249
+ tlv: legacy(() => import("@codemirror/legacy-modes/mode/verilog").then((mod) => mod.tlv)),
250
+ toml: legacy(() => import("@codemirror/legacy-modes/mode/toml").then((mod) => mod.toml)),
251
+ troff: legacy(() => import("@codemirror/legacy-modes/mode/troff").then((mod) => mod.troff)),
252
+ ttcn: legacy(() => import("@codemirror/legacy-modes/mode/ttcn").then((mod) => mod.ttcn)),
253
+ "ttcn-cfg": legacy(() => import("@codemirror/legacy-modes/mode/ttcn-cfg").then((mod) => mod.ttcnCfg)),
254
+ turtle: legacy(() => import("@codemirror/legacy-modes/mode/turtle").then((mod) => mod.turtle)),
255
+ vb: legacy(() => import("@codemirror/legacy-modes/mode/vb").then((mod) => mod.vb)),
256
+ vbscript: legacy(() => import("@codemirror/legacy-modes/mode/vbscript").then((mod) => mod.vbScript)),
257
+ "vbscript-asp": legacy(() => import("@codemirror/legacy-modes/mode/vbscript").then((mod) => mod.vbScriptASP)),
258
+ velocity: legacy(() => import("@codemirror/legacy-modes/mode/velocity").then((mod) => mod.velocity)),
259
+ verilog: legacy(() => import("@codemirror/legacy-modes/mode/verilog").then((mod) => mod.verilog)),
260
+ vhdl: legacy(() => import("@codemirror/legacy-modes/mode/vhdl").then((mod) => mod.vhdl)),
261
+ webidl: legacy(() => import("@codemirror/legacy-modes/mode/webidl").then((mod) => mod.webIDL)),
262
+ xquery: legacy(() => import("@codemirror/legacy-modes/mode/xquery").then((mod) => mod.xQuery)),
263
+ xu: legacy(() => import("@codemirror/legacy-modes/mode/mscgen").then((mod) => mod.xu)),
264
+ yacas: legacy(() => import("@codemirror/legacy-modes/mode/yacas").then((mod) => mod.yacas)),
265
+ z80: legacy(() => import("@codemirror/legacy-modes/mode/z80").then((mod) => mod.z80)),
137
266
  minijinja: () => Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")).then((mod) => mod.minijinja()),
138
267
  "minijinja-html": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-html")]).then(([mj, mod]) => mj.minijinja({ base: mod.html() })),
139
268
  "minijinja-xml": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-xml")]).then(([mj, mod]) => mj.minijinja({ base: mod.xml() })),
@@ -147,7 +276,22 @@ const loaders = {
147
276
  "minijinja-sql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql() })),
148
277
  "minijinja-mysql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.MySQL }) })),
149
278
  "minijinja-pgsql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.PostgreSQL }) })),
150
- "minijinja-sqlite": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.SQLite }) }))
279
+ "minijinja-sqlite": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.SQLite }) })),
280
+ "minijinja-mssql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.MSSQL }) })),
281
+ "minijinja-mariadb": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.MariaSQL }) })),
282
+ "minijinja-plsql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.PLSQL }) })),
283
+ "minijinja-cassandra": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.Cassandra }) })),
284
+ "minijinja-hive": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.hive)) })),
285
+ "minijinja-sparksql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.sparkSQL)) })),
286
+ "minijinja-gql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.gql)) })),
287
+ "minijinja-gpsql": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.gpSQL)) })),
288
+ "minijinja-esper": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.esper)) })),
289
+ "minijinja-toml": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/toml")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.toml)) })),
290
+ "minijinja-ini": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/properties")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.properties)) })),
291
+ "minijinja-env": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/properties")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.properties)) })),
292
+ "minijinja-shell": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/shell")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.shell)) })),
293
+ "minijinja-dockerfile": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/dockerfile")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.dockerFile)) })),
294
+ "minijinja-nginx": () => Promise.all([Promise.resolve().then(() => require("./minijinja-DN9iLNbL.cjs")), import("@codemirror/legacy-modes/mode/nginx")]).then(([mj, mod]) => mj.minijinja({ base: new _codemirror_language.LanguageSupport(_codemirror_language.StreamLanguage.define(mod.nginx)) }))
151
295
  };
152
296
  const codeMirrorLanguages = Object.keys(loaders).toSorted();
153
297
  function loadLanguage(language) {
package/dist/index.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Extension, StateField } from "@codemirror/state";
2
2
  import { EditorView } from "@codemirror/view";
3
+ import { LanguageSupport } from "@codemirror/language";
3
4
 
4
5
  //#region src/context.d.ts
5
6
  /**
@@ -215,134 +216,325 @@ declare function documentExtensions({
215
216
  //#endregion
216
217
  //#region src/languages.d.ts
217
218
  /**
218
- * Language id lazy loader, backed by the official `@codemirror/lang-*` (Lezer) parsers.
219
- * Ids follow Monaco's spelling where they overlap, but the two editors expose independent
220
- * language types {@link CodeMirrorLanguage} is exactly this set.
219
+ * Resolves a language grammar. Every loader is a distinct dynamic `import()`, so a bundler
220
+ * emits one chunk per language and only the selected grammar is fetched at runtime — the
221
+ * whole catalog is never loaded at once.
222
+ */
223
+ type LanguageLoader = () => Promise<Extension>;
224
+ /**
225
+ * Language id → lazy loader. Two tiers back the catalog: the official `@codemirror/lang-*`
226
+ * (Lezer) parsers where upstream ships one, and the full `@codemirror/legacy-modes` catalog
227
+ * for every language upstream never wrote a Lezer grammar for — where a language exists in
228
+ * both, the Lezer parser wins. Ids follow Monaco's spelling where they overlap, but the two
229
+ * editors expose independent language types — {@link CodeMirrorLanguage} is exactly this set.
221
230
  */
222
231
  declare const loaders: {
223
232
  javascript: () => Promise<{
224
233
  extension: Extension;
225
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
234
+ } | readonly Extension[] | LanguageSupport>;
226
235
  typescript: () => Promise<{
227
236
  extension: Extension;
228
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
237
+ } | readonly Extension[] | LanguageSupport>;
229
238
  jsx: () => Promise<{
230
239
  extension: Extension;
231
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
240
+ } | readonly Extension[] | LanguageSupport>;
232
241
  tsx: () => Promise<{
233
242
  extension: Extension;
234
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
243
+ } | readonly Extension[] | LanguageSupport>;
235
244
  json: () => Promise<{
236
245
  extension: Extension;
237
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
246
+ } | readonly Extension[] | LanguageSupport>;
238
247
  html: () => Promise<{
239
248
  extension: Extension;
240
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
249
+ } | readonly Extension[] | LanguageSupport>;
241
250
  css: () => Promise<{
242
251
  extension: Extension;
243
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
252
+ } | readonly Extension[] | LanguageSupport>;
244
253
  scss: () => Promise<{
245
254
  extension: Extension;
246
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
255
+ } | readonly Extension[] | LanguageSupport>;
247
256
  sass: () => Promise<{
248
257
  extension: Extension;
249
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
258
+ } | readonly Extension[] | LanguageSupport>;
250
259
  less: () => Promise<{
251
260
  extension: Extension;
252
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
261
+ } | readonly Extension[] | LanguageSupport>;
253
262
  python: () => Promise<{
254
263
  extension: Extension;
255
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
264
+ } | readonly Extension[] | LanguageSupport>;
256
265
  java: () => Promise<{
257
266
  extension: Extension;
258
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
267
+ } | readonly Extension[] | LanguageSupport>;
259
268
  markdown: () => Promise<{
260
269
  extension: Extension;
261
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
270
+ } | readonly Extension[] | LanguageSupport>;
262
271
  xml: () => Promise<{
263
272
  extension: Extension;
264
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
273
+ } | readonly Extension[] | LanguageSupport>;
265
274
  rust: () => Promise<{
266
275
  extension: Extension;
267
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
276
+ } | readonly Extension[] | LanguageSupport>;
268
277
  php: () => Promise<{
269
278
  extension: Extension;
270
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
279
+ } | readonly Extension[] | LanguageSupport>;
271
280
  yaml: () => Promise<{
272
281
  extension: Extension;
273
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
282
+ } | readonly Extension[] | LanguageSupport>;
274
283
  go: () => Promise<{
275
284
  extension: Extension;
276
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
285
+ } | readonly Extension[] | LanguageSupport>;
277
286
  cpp: () => Promise<{
278
287
  extension: Extension;
279
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
288
+ } | readonly Extension[] | LanguageSupport>;
280
289
  c: () => Promise<{
281
290
  extension: Extension;
282
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
291
+ } | readonly Extension[] | LanguageSupport>;
283
292
  vue: () => Promise<{
284
293
  extension: Extension;
285
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
294
+ } | readonly Extension[] | LanguageSupport>;
295
+ angular: () => Promise<{
296
+ extension: Extension;
297
+ } | readonly Extension[] | LanguageSupport>;
286
298
  liquid: () => Promise<{
287
299
  extension: Extension;
288
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
300
+ } | readonly Extension[] | LanguageSupport>;
289
301
  wast: () => Promise<{
290
302
  extension: Extension;
291
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
303
+ } | readonly Extension[] | LanguageSupport>;
304
+ lezer: () => Promise<{
305
+ extension: Extension;
306
+ } | readonly Extension[] | LanguageSupport>;
292
307
  sql: () => Promise<{
293
308
  extension: Extension;
294
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
309
+ } | readonly Extension[] | LanguageSupport>;
295
310
  mysql: () => Promise<{
296
311
  extension: Extension;
297
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
312
+ } | readonly Extension[] | LanguageSupport>;
298
313
  pgsql: () => Promise<{
299
314
  extension: Extension;
300
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
315
+ } | readonly Extension[] | LanguageSupport>;
301
316
  sqlite: () => Promise<{
302
317
  extension: Extension;
303
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
318
+ } | readonly Extension[] | LanguageSupport>;
319
+ mssql: () => Promise<{
320
+ extension: Extension;
321
+ } | readonly Extension[] | LanguageSupport>;
322
+ mariadb: () => Promise<{
323
+ extension: Extension;
324
+ } | readonly Extension[] | LanguageSupport>;
325
+ plsql: () => Promise<{
326
+ extension: Extension;
327
+ } | readonly Extension[] | LanguageSupport>;
328
+ cassandra: () => Promise<{
329
+ extension: Extension;
330
+ } | readonly Extension[] | LanguageSupport>;
331
+ apl: LanguageLoader;
332
+ asciiarmor: LanguageLoader;
333
+ asn1: LanguageLoader;
334
+ asterisk: LanguageLoader;
335
+ brainfuck: LanguageLoader;
336
+ ceylon: LanguageLoader;
337
+ clojure: LanguageLoader;
338
+ cmake: LanguageLoader;
339
+ cobol: LanguageLoader;
340
+ coffeescript: LanguageLoader;
341
+ commonlisp: LanguageLoader;
342
+ crystal: LanguageLoader;
343
+ csharp: LanguageLoader;
344
+ cypher: LanguageLoader;
345
+ cython: LanguageLoader;
346
+ d: LanguageLoader;
347
+ dart: LanguageLoader;
348
+ diff: LanguageLoader;
349
+ dockerfile: LanguageLoader;
350
+ dtd: LanguageLoader;
351
+ dylan: LanguageLoader;
352
+ ebnf: LanguageLoader;
353
+ ecl: LanguageLoader;
354
+ eiffel: LanguageLoader;
355
+ elm: LanguageLoader;
356
+ env: LanguageLoader;
357
+ erlang: LanguageLoader;
358
+ esper: LanguageLoader;
359
+ ez80: LanguageLoader;
360
+ factor: LanguageLoader;
361
+ fcl: LanguageLoader;
362
+ forth: LanguageLoader;
363
+ fortran: LanguageLoader;
364
+ fsharp: LanguageLoader;
365
+ gas: LanguageLoader;
366
+ "gas-arm": LanguageLoader;
367
+ gherkin: LanguageLoader;
368
+ gpsql: LanguageLoader;
369
+ gql: LanguageLoader;
370
+ groovy: LanguageLoader;
371
+ gss: LanguageLoader;
372
+ haskell: LanguageLoader;
373
+ haxe: LanguageLoader;
374
+ hive: LanguageLoader;
375
+ http: LanguageLoader;
376
+ hxml: LanguageLoader;
377
+ idl: LanguageLoader;
378
+ ini: LanguageLoader;
379
+ julia: LanguageLoader;
380
+ kotlin: LanguageLoader;
381
+ livescript: LanguageLoader;
382
+ lua: LanguageLoader;
383
+ mathematica: LanguageLoader;
384
+ mbox: LanguageLoader;
385
+ mirc: LanguageLoader;
386
+ modelica: LanguageLoader;
387
+ mscgen: LanguageLoader;
388
+ msgenny: LanguageLoader;
389
+ mumps: LanguageLoader;
390
+ nesc: LanguageLoader;
391
+ nginx: LanguageLoader;
392
+ nsis: LanguageLoader;
393
+ ntriples: LanguageLoader;
394
+ "objective-c": LanguageLoader;
395
+ "objective-cpp": LanguageLoader;
396
+ ocaml: LanguageLoader;
397
+ octave: LanguageLoader;
398
+ oz: LanguageLoader;
399
+ pascal: LanguageLoader;
400
+ pegjs: LanguageLoader;
401
+ perl: LanguageLoader;
402
+ pig: LanguageLoader;
403
+ powershell: LanguageLoader;
404
+ properties: LanguageLoader;
405
+ protobuf: LanguageLoader;
406
+ pug: LanguageLoader;
407
+ puppet: LanguageLoader;
408
+ q: LanguageLoader;
409
+ r: LanguageLoader;
410
+ "rpm-changes": LanguageLoader;
411
+ "rpm-spec": LanguageLoader;
412
+ ruby: LanguageLoader;
413
+ sas: LanguageLoader;
414
+ scala: LanguageLoader;
415
+ scheme: LanguageLoader;
416
+ shader: LanguageLoader;
417
+ shell: LanguageLoader;
418
+ sieve: LanguageLoader;
419
+ smalltalk: LanguageLoader;
420
+ sml: LanguageLoader;
421
+ solr: LanguageLoader;
422
+ sparksql: LanguageLoader;
423
+ sparql: LanguageLoader;
424
+ spreadsheet: LanguageLoader;
425
+ squirrel: LanguageLoader;
426
+ stex: LanguageLoader;
427
+ "stex-math": LanguageLoader;
428
+ stylus: LanguageLoader;
429
+ swift: LanguageLoader;
430
+ tcl: LanguageLoader;
431
+ textile: LanguageLoader;
432
+ tiddlywiki: LanguageLoader;
433
+ tiki: LanguageLoader;
434
+ tlv: LanguageLoader;
435
+ toml: LanguageLoader;
436
+ troff: LanguageLoader;
437
+ ttcn: LanguageLoader;
438
+ "ttcn-cfg": LanguageLoader;
439
+ turtle: LanguageLoader;
440
+ vb: LanguageLoader;
441
+ vbscript: LanguageLoader;
442
+ "vbscript-asp": LanguageLoader;
443
+ velocity: LanguageLoader;
444
+ verilog: LanguageLoader;
445
+ vhdl: LanguageLoader;
446
+ webidl: LanguageLoader;
447
+ xquery: LanguageLoader;
448
+ xu: LanguageLoader;
449
+ yacas: LanguageLoader;
450
+ z80: LanguageLoader;
304
451
  minijinja: () => Promise<{
305
452
  extension: Extension;
306
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
453
+ } | readonly Extension[] | LanguageSupport>;
307
454
  "minijinja-html": () => Promise<{
308
455
  extension: Extension;
309
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
456
+ } | readonly Extension[] | LanguageSupport>;
310
457
  "minijinja-xml": () => Promise<{
311
458
  extension: Extension;
312
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
459
+ } | readonly Extension[] | LanguageSupport>;
313
460
  "minijinja-json": () => Promise<{
314
461
  extension: Extension;
315
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
462
+ } | readonly Extension[] | LanguageSupport>;
316
463
  "minijinja-yaml": () => Promise<{
317
464
  extension: Extension;
318
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
465
+ } | readonly Extension[] | LanguageSupport>;
319
466
  "minijinja-css": () => Promise<{
320
467
  extension: Extension;
321
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
468
+ } | readonly Extension[] | LanguageSupport>;
322
469
  "minijinja-scss": () => Promise<{
323
470
  extension: Extension;
324
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
471
+ } | readonly Extension[] | LanguageSupport>;
325
472
  "minijinja-sass": () => Promise<{
326
473
  extension: Extension;
327
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
474
+ } | readonly Extension[] | LanguageSupport>;
328
475
  "minijinja-less": () => Promise<{
329
476
  extension: Extension;
330
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
477
+ } | readonly Extension[] | LanguageSupport>;
331
478
  "minijinja-markdown": () => Promise<{
332
479
  extension: Extension;
333
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
480
+ } | readonly Extension[] | LanguageSupport>;
334
481
  "minijinja-sql": () => Promise<{
335
482
  extension: Extension;
336
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
483
+ } | readonly Extension[] | LanguageSupport>;
337
484
  "minijinja-mysql": () => Promise<{
338
485
  extension: Extension;
339
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
486
+ } | readonly Extension[] | LanguageSupport>;
340
487
  "minijinja-pgsql": () => Promise<{
341
488
  extension: Extension;
342
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
489
+ } | readonly Extension[] | LanguageSupport>;
343
490
  "minijinja-sqlite": () => Promise<{
344
491
  extension: Extension;
345
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
492
+ } | readonly Extension[] | LanguageSupport>;
493
+ "minijinja-mssql": () => Promise<{
494
+ extension: Extension;
495
+ } | readonly Extension[] | LanguageSupport>;
496
+ "minijinja-mariadb": () => Promise<{
497
+ extension: Extension;
498
+ } | readonly Extension[] | LanguageSupport>;
499
+ "minijinja-plsql": () => Promise<{
500
+ extension: Extension;
501
+ } | readonly Extension[] | LanguageSupport>;
502
+ "minijinja-cassandra": () => Promise<{
503
+ extension: Extension;
504
+ } | readonly Extension[] | LanguageSupport>;
505
+ "minijinja-hive": () => Promise<{
506
+ extension: Extension;
507
+ } | readonly Extension[] | LanguageSupport>;
508
+ "minijinja-sparksql": () => Promise<{
509
+ extension: Extension;
510
+ } | readonly Extension[] | LanguageSupport>;
511
+ "minijinja-gql": () => Promise<{
512
+ extension: Extension;
513
+ } | readonly Extension[] | LanguageSupport>;
514
+ "minijinja-gpsql": () => Promise<{
515
+ extension: Extension;
516
+ } | readonly Extension[] | LanguageSupport>;
517
+ "minijinja-esper": () => Promise<{
518
+ extension: Extension;
519
+ } | readonly Extension[] | LanguageSupport>;
520
+ "minijinja-toml": () => Promise<{
521
+ extension: Extension;
522
+ } | readonly Extension[] | LanguageSupport>;
523
+ "minijinja-ini": () => Promise<{
524
+ extension: Extension;
525
+ } | readonly Extension[] | LanguageSupport>;
526
+ "minijinja-env": () => Promise<{
527
+ extension: Extension;
528
+ } | readonly Extension[] | LanguageSupport>;
529
+ "minijinja-shell": () => Promise<{
530
+ extension: Extension;
531
+ } | readonly Extension[] | LanguageSupport>;
532
+ "minijinja-dockerfile": () => Promise<{
533
+ extension: Extension;
534
+ } | readonly Extension[] | LanguageSupport>;
535
+ "minijinja-nginx": () => Promise<{
536
+ extension: Extension;
537
+ } | readonly Extension[] | LanguageSupport>;
346
538
  };
347
539
  /**
348
540
  * The language ids `<CodeMirrorEditor>` supports — exactly the keys of the loader registry.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Extension, StateField } from "@codemirror/state";
2
2
  import { EditorView } from "@codemirror/view";
3
+ import { LanguageSupport } from "@codemirror/language";
3
4
 
4
5
  //#region src/context.d.ts
5
6
  /**
@@ -215,134 +216,325 @@ declare function documentExtensions({
215
216
  //#endregion
216
217
  //#region src/languages.d.ts
217
218
  /**
218
- * Language id lazy loader, backed by the official `@codemirror/lang-*` (Lezer) parsers.
219
- * Ids follow Monaco's spelling where they overlap, but the two editors expose independent
220
- * language types {@link CodeMirrorLanguage} is exactly this set.
219
+ * Resolves a language grammar. Every loader is a distinct dynamic `import()`, so a bundler
220
+ * emits one chunk per language and only the selected grammar is fetched at runtime — the
221
+ * whole catalog is never loaded at once.
222
+ */
223
+ type LanguageLoader = () => Promise<Extension>;
224
+ /**
225
+ * Language id → lazy loader. Two tiers back the catalog: the official `@codemirror/lang-*`
226
+ * (Lezer) parsers where upstream ships one, and the full `@codemirror/legacy-modes` catalog
227
+ * for every language upstream never wrote a Lezer grammar for — where a language exists in
228
+ * both, the Lezer parser wins. Ids follow Monaco's spelling where they overlap, but the two
229
+ * editors expose independent language types — {@link CodeMirrorLanguage} is exactly this set.
221
230
  */
222
231
  declare const loaders: {
223
232
  javascript: () => Promise<{
224
233
  extension: Extension;
225
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
234
+ } | readonly Extension[] | LanguageSupport>;
226
235
  typescript: () => Promise<{
227
236
  extension: Extension;
228
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
237
+ } | readonly Extension[] | LanguageSupport>;
229
238
  jsx: () => Promise<{
230
239
  extension: Extension;
231
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
240
+ } | readonly Extension[] | LanguageSupport>;
232
241
  tsx: () => Promise<{
233
242
  extension: Extension;
234
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
243
+ } | readonly Extension[] | LanguageSupport>;
235
244
  json: () => Promise<{
236
245
  extension: Extension;
237
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
246
+ } | readonly Extension[] | LanguageSupport>;
238
247
  html: () => Promise<{
239
248
  extension: Extension;
240
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
249
+ } | readonly Extension[] | LanguageSupport>;
241
250
  css: () => Promise<{
242
251
  extension: Extension;
243
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
252
+ } | readonly Extension[] | LanguageSupport>;
244
253
  scss: () => Promise<{
245
254
  extension: Extension;
246
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
255
+ } | readonly Extension[] | LanguageSupport>;
247
256
  sass: () => Promise<{
248
257
  extension: Extension;
249
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
258
+ } | readonly Extension[] | LanguageSupport>;
250
259
  less: () => Promise<{
251
260
  extension: Extension;
252
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
261
+ } | readonly Extension[] | LanguageSupport>;
253
262
  python: () => Promise<{
254
263
  extension: Extension;
255
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
264
+ } | readonly Extension[] | LanguageSupport>;
256
265
  java: () => Promise<{
257
266
  extension: Extension;
258
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
267
+ } | readonly Extension[] | LanguageSupport>;
259
268
  markdown: () => Promise<{
260
269
  extension: Extension;
261
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
270
+ } | readonly Extension[] | LanguageSupport>;
262
271
  xml: () => Promise<{
263
272
  extension: Extension;
264
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
273
+ } | readonly Extension[] | LanguageSupport>;
265
274
  rust: () => Promise<{
266
275
  extension: Extension;
267
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
276
+ } | readonly Extension[] | LanguageSupport>;
268
277
  php: () => Promise<{
269
278
  extension: Extension;
270
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
279
+ } | readonly Extension[] | LanguageSupport>;
271
280
  yaml: () => Promise<{
272
281
  extension: Extension;
273
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
282
+ } | readonly Extension[] | LanguageSupport>;
274
283
  go: () => Promise<{
275
284
  extension: Extension;
276
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
285
+ } | readonly Extension[] | LanguageSupport>;
277
286
  cpp: () => Promise<{
278
287
  extension: Extension;
279
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
288
+ } | readonly Extension[] | LanguageSupport>;
280
289
  c: () => Promise<{
281
290
  extension: Extension;
282
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
291
+ } | readonly Extension[] | LanguageSupport>;
283
292
  vue: () => Promise<{
284
293
  extension: Extension;
285
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
294
+ } | readonly Extension[] | LanguageSupport>;
295
+ angular: () => Promise<{
296
+ extension: Extension;
297
+ } | readonly Extension[] | LanguageSupport>;
286
298
  liquid: () => Promise<{
287
299
  extension: Extension;
288
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
300
+ } | readonly Extension[] | LanguageSupport>;
289
301
  wast: () => Promise<{
290
302
  extension: Extension;
291
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
303
+ } | readonly Extension[] | LanguageSupport>;
304
+ lezer: () => Promise<{
305
+ extension: Extension;
306
+ } | readonly Extension[] | LanguageSupport>;
292
307
  sql: () => Promise<{
293
308
  extension: Extension;
294
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
309
+ } | readonly Extension[] | LanguageSupport>;
295
310
  mysql: () => Promise<{
296
311
  extension: Extension;
297
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
312
+ } | readonly Extension[] | LanguageSupport>;
298
313
  pgsql: () => Promise<{
299
314
  extension: Extension;
300
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
315
+ } | readonly Extension[] | LanguageSupport>;
301
316
  sqlite: () => Promise<{
302
317
  extension: Extension;
303
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
318
+ } | readonly Extension[] | LanguageSupport>;
319
+ mssql: () => Promise<{
320
+ extension: Extension;
321
+ } | readonly Extension[] | LanguageSupport>;
322
+ mariadb: () => Promise<{
323
+ extension: Extension;
324
+ } | readonly Extension[] | LanguageSupport>;
325
+ plsql: () => Promise<{
326
+ extension: Extension;
327
+ } | readonly Extension[] | LanguageSupport>;
328
+ cassandra: () => Promise<{
329
+ extension: Extension;
330
+ } | readonly Extension[] | LanguageSupport>;
331
+ apl: LanguageLoader;
332
+ asciiarmor: LanguageLoader;
333
+ asn1: LanguageLoader;
334
+ asterisk: LanguageLoader;
335
+ brainfuck: LanguageLoader;
336
+ ceylon: LanguageLoader;
337
+ clojure: LanguageLoader;
338
+ cmake: LanguageLoader;
339
+ cobol: LanguageLoader;
340
+ coffeescript: LanguageLoader;
341
+ commonlisp: LanguageLoader;
342
+ crystal: LanguageLoader;
343
+ csharp: LanguageLoader;
344
+ cypher: LanguageLoader;
345
+ cython: LanguageLoader;
346
+ d: LanguageLoader;
347
+ dart: LanguageLoader;
348
+ diff: LanguageLoader;
349
+ dockerfile: LanguageLoader;
350
+ dtd: LanguageLoader;
351
+ dylan: LanguageLoader;
352
+ ebnf: LanguageLoader;
353
+ ecl: LanguageLoader;
354
+ eiffel: LanguageLoader;
355
+ elm: LanguageLoader;
356
+ env: LanguageLoader;
357
+ erlang: LanguageLoader;
358
+ esper: LanguageLoader;
359
+ ez80: LanguageLoader;
360
+ factor: LanguageLoader;
361
+ fcl: LanguageLoader;
362
+ forth: LanguageLoader;
363
+ fortran: LanguageLoader;
364
+ fsharp: LanguageLoader;
365
+ gas: LanguageLoader;
366
+ "gas-arm": LanguageLoader;
367
+ gherkin: LanguageLoader;
368
+ gpsql: LanguageLoader;
369
+ gql: LanguageLoader;
370
+ groovy: LanguageLoader;
371
+ gss: LanguageLoader;
372
+ haskell: LanguageLoader;
373
+ haxe: LanguageLoader;
374
+ hive: LanguageLoader;
375
+ http: LanguageLoader;
376
+ hxml: LanguageLoader;
377
+ idl: LanguageLoader;
378
+ ini: LanguageLoader;
379
+ julia: LanguageLoader;
380
+ kotlin: LanguageLoader;
381
+ livescript: LanguageLoader;
382
+ lua: LanguageLoader;
383
+ mathematica: LanguageLoader;
384
+ mbox: LanguageLoader;
385
+ mirc: LanguageLoader;
386
+ modelica: LanguageLoader;
387
+ mscgen: LanguageLoader;
388
+ msgenny: LanguageLoader;
389
+ mumps: LanguageLoader;
390
+ nesc: LanguageLoader;
391
+ nginx: LanguageLoader;
392
+ nsis: LanguageLoader;
393
+ ntriples: LanguageLoader;
394
+ "objective-c": LanguageLoader;
395
+ "objective-cpp": LanguageLoader;
396
+ ocaml: LanguageLoader;
397
+ octave: LanguageLoader;
398
+ oz: LanguageLoader;
399
+ pascal: LanguageLoader;
400
+ pegjs: LanguageLoader;
401
+ perl: LanguageLoader;
402
+ pig: LanguageLoader;
403
+ powershell: LanguageLoader;
404
+ properties: LanguageLoader;
405
+ protobuf: LanguageLoader;
406
+ pug: LanguageLoader;
407
+ puppet: LanguageLoader;
408
+ q: LanguageLoader;
409
+ r: LanguageLoader;
410
+ "rpm-changes": LanguageLoader;
411
+ "rpm-spec": LanguageLoader;
412
+ ruby: LanguageLoader;
413
+ sas: LanguageLoader;
414
+ scala: LanguageLoader;
415
+ scheme: LanguageLoader;
416
+ shader: LanguageLoader;
417
+ shell: LanguageLoader;
418
+ sieve: LanguageLoader;
419
+ smalltalk: LanguageLoader;
420
+ sml: LanguageLoader;
421
+ solr: LanguageLoader;
422
+ sparksql: LanguageLoader;
423
+ sparql: LanguageLoader;
424
+ spreadsheet: LanguageLoader;
425
+ squirrel: LanguageLoader;
426
+ stex: LanguageLoader;
427
+ "stex-math": LanguageLoader;
428
+ stylus: LanguageLoader;
429
+ swift: LanguageLoader;
430
+ tcl: LanguageLoader;
431
+ textile: LanguageLoader;
432
+ tiddlywiki: LanguageLoader;
433
+ tiki: LanguageLoader;
434
+ tlv: LanguageLoader;
435
+ toml: LanguageLoader;
436
+ troff: LanguageLoader;
437
+ ttcn: LanguageLoader;
438
+ "ttcn-cfg": LanguageLoader;
439
+ turtle: LanguageLoader;
440
+ vb: LanguageLoader;
441
+ vbscript: LanguageLoader;
442
+ "vbscript-asp": LanguageLoader;
443
+ velocity: LanguageLoader;
444
+ verilog: LanguageLoader;
445
+ vhdl: LanguageLoader;
446
+ webidl: LanguageLoader;
447
+ xquery: LanguageLoader;
448
+ xu: LanguageLoader;
449
+ yacas: LanguageLoader;
450
+ z80: LanguageLoader;
304
451
  minijinja: () => Promise<{
305
452
  extension: Extension;
306
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
453
+ } | readonly Extension[] | LanguageSupport>;
307
454
  "minijinja-html": () => Promise<{
308
455
  extension: Extension;
309
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
456
+ } | readonly Extension[] | LanguageSupport>;
310
457
  "minijinja-xml": () => Promise<{
311
458
  extension: Extension;
312
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
459
+ } | readonly Extension[] | LanguageSupport>;
313
460
  "minijinja-json": () => Promise<{
314
461
  extension: Extension;
315
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
462
+ } | readonly Extension[] | LanguageSupport>;
316
463
  "minijinja-yaml": () => Promise<{
317
464
  extension: Extension;
318
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
465
+ } | readonly Extension[] | LanguageSupport>;
319
466
  "minijinja-css": () => Promise<{
320
467
  extension: Extension;
321
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
468
+ } | readonly Extension[] | LanguageSupport>;
322
469
  "minijinja-scss": () => Promise<{
323
470
  extension: Extension;
324
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
471
+ } | readonly Extension[] | LanguageSupport>;
325
472
  "minijinja-sass": () => Promise<{
326
473
  extension: Extension;
327
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
474
+ } | readonly Extension[] | LanguageSupport>;
328
475
  "minijinja-less": () => Promise<{
329
476
  extension: Extension;
330
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
477
+ } | readonly Extension[] | LanguageSupport>;
331
478
  "minijinja-markdown": () => Promise<{
332
479
  extension: Extension;
333
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
480
+ } | readonly Extension[] | LanguageSupport>;
334
481
  "minijinja-sql": () => Promise<{
335
482
  extension: Extension;
336
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
483
+ } | readonly Extension[] | LanguageSupport>;
337
484
  "minijinja-mysql": () => Promise<{
338
485
  extension: Extension;
339
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
486
+ } | readonly Extension[] | LanguageSupport>;
340
487
  "minijinja-pgsql": () => Promise<{
341
488
  extension: Extension;
342
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
489
+ } | readonly Extension[] | LanguageSupport>;
343
490
  "minijinja-sqlite": () => Promise<{
344
491
  extension: Extension;
345
- } | readonly Extension[] | import("@codemirror/language").LanguageSupport>;
492
+ } | readonly Extension[] | LanguageSupport>;
493
+ "minijinja-mssql": () => Promise<{
494
+ extension: Extension;
495
+ } | readonly Extension[] | LanguageSupport>;
496
+ "minijinja-mariadb": () => Promise<{
497
+ extension: Extension;
498
+ } | readonly Extension[] | LanguageSupport>;
499
+ "minijinja-plsql": () => Promise<{
500
+ extension: Extension;
501
+ } | readonly Extension[] | LanguageSupport>;
502
+ "minijinja-cassandra": () => Promise<{
503
+ extension: Extension;
504
+ } | readonly Extension[] | LanguageSupport>;
505
+ "minijinja-hive": () => Promise<{
506
+ extension: Extension;
507
+ } | readonly Extension[] | LanguageSupport>;
508
+ "minijinja-sparksql": () => Promise<{
509
+ extension: Extension;
510
+ } | readonly Extension[] | LanguageSupport>;
511
+ "minijinja-gql": () => Promise<{
512
+ extension: Extension;
513
+ } | readonly Extension[] | LanguageSupport>;
514
+ "minijinja-gpsql": () => Promise<{
515
+ extension: Extension;
516
+ } | readonly Extension[] | LanguageSupport>;
517
+ "minijinja-esper": () => Promise<{
518
+ extension: Extension;
519
+ } | readonly Extension[] | LanguageSupport>;
520
+ "minijinja-toml": () => Promise<{
521
+ extension: Extension;
522
+ } | readonly Extension[] | LanguageSupport>;
523
+ "minijinja-ini": () => Promise<{
524
+ extension: Extension;
525
+ } | readonly Extension[] | LanguageSupport>;
526
+ "minijinja-env": () => Promise<{
527
+ extension: Extension;
528
+ } | readonly Extension[] | LanguageSupport>;
529
+ "minijinja-shell": () => Promise<{
530
+ extension: Extension;
531
+ } | readonly Extension[] | LanguageSupport>;
532
+ "minijinja-dockerfile": () => Promise<{
533
+ extension: Extension;
534
+ } | readonly Extension[] | LanguageSupport>;
535
+ "minijinja-nginx": () => Promise<{
536
+ extension: Extension;
537
+ } | readonly Extension[] | LanguageSupport>;
346
538
  };
347
539
  /**
348
540
  * The language ids `<CodeMirrorEditor>` supports — exactly the keys of the loader registry.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { Compartment, EditorState } from "@codemirror/state";
3
3
  import { EditorView, drawSelection, highlightActiveLine, keymap, lineNumbers, placeholder } from "@codemirror/view";
4
4
  import { autocompletion, closeBrackets, closeBracketsKeymap, completionKeymap } from "@codemirror/autocomplete";
5
5
  import { defaultKeymap, history, historyKeymap, indentWithTab } from "@codemirror/commands";
6
- import { bracketMatching, codeFolding, foldGutter, foldKeymap, indentOnInput } from "@codemirror/language";
6
+ import { LanguageSupport, StreamLanguage, bracketMatching, codeFolding, foldGutter, foldKeymap, indentOnInput } from "@codemirror/language";
7
7
  import { highlightSelectionMatches, searchKeymap } from "@codemirror/search";
8
8
  //#region src/controlled-host.ts
9
9
  var ControlledEditorHost = class {
@@ -102,6 +102,9 @@ function documentExtensions({ placeholder: placeholder$1, lineWrapping = false,
102
102
  }
103
103
  //#endregion
104
104
  //#region src/languages.ts
105
+ function legacy(load) {
106
+ return () => load().then((parser) => new LanguageSupport(StreamLanguage.define(parser)));
107
+ }
105
108
  const loaders = {
106
109
  javascript: () => import("@codemirror/lang-javascript").then((mod) => mod.javascript()),
107
110
  typescript: () => import("@codemirror/lang-javascript").then((mod) => mod.javascript({ typescript: true })),
@@ -127,12 +130,138 @@ const loaders = {
127
130
  cpp: () => import("@codemirror/lang-cpp").then((mod) => mod.cpp()),
128
131
  c: () => import("@codemirror/lang-cpp").then((mod) => mod.cpp()),
129
132
  vue: () => import("@codemirror/lang-vue").then((mod) => mod.vue()),
133
+ angular: () => import("@codemirror/lang-angular").then((mod) => mod.angular()),
130
134
  liquid: () => import("@codemirror/lang-liquid").then((mod) => mod.liquid()),
131
135
  wast: () => import("@codemirror/lang-wast").then((mod) => mod.wast()),
136
+ lezer: () => import("@codemirror/lang-lezer").then((mod) => mod.lezer()),
132
137
  sql: () => import("@codemirror/lang-sql").then((mod) => mod.sql()),
133
138
  mysql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.MySQL })),
134
139
  pgsql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.PostgreSQL })),
135
140
  sqlite: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.SQLite })),
141
+ mssql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.MSSQL })),
142
+ mariadb: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.MariaSQL })),
143
+ plsql: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.PLSQL })),
144
+ cassandra: () => import("@codemirror/lang-sql").then((mod) => mod.sql({ dialect: mod.Cassandra })),
145
+ apl: legacy(() => import("@codemirror/legacy-modes/mode/apl").then((mod) => mod.apl)),
146
+ asciiarmor: legacy(() => import("@codemirror/legacy-modes/mode/asciiarmor").then((mod) => mod.asciiArmor)),
147
+ asn1: legacy(() => import("@codemirror/legacy-modes/mode/asn1").then((mod) => mod.asn1({}))),
148
+ asterisk: legacy(() => import("@codemirror/legacy-modes/mode/asterisk").then((mod) => mod.asterisk)),
149
+ brainfuck: legacy(() => import("@codemirror/legacy-modes/mode/brainfuck").then((mod) => mod.brainfuck)),
150
+ ceylon: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.ceylon)),
151
+ clojure: legacy(() => import("@codemirror/legacy-modes/mode/clojure").then((mod) => mod.clojure)),
152
+ cmake: legacy(() => import("@codemirror/legacy-modes/mode/cmake").then((mod) => mod.cmake)),
153
+ cobol: legacy(() => import("@codemirror/legacy-modes/mode/cobol").then((mod) => mod.cobol)),
154
+ coffeescript: legacy(() => import("@codemirror/legacy-modes/mode/coffeescript").then((mod) => mod.coffeeScript)),
155
+ commonlisp: legacy(() => import("@codemirror/legacy-modes/mode/commonlisp").then((mod) => mod.commonLisp)),
156
+ crystal: legacy(() => import("@codemirror/legacy-modes/mode/crystal").then((mod) => mod.crystal)),
157
+ csharp: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.csharp)),
158
+ cypher: legacy(() => import("@codemirror/legacy-modes/mode/cypher").then((mod) => mod.cypher)),
159
+ cython: legacy(() => import("@codemirror/legacy-modes/mode/python").then((mod) => mod.cython)),
160
+ d: legacy(() => import("@codemirror/legacy-modes/mode/d").then((mod) => mod.d)),
161
+ dart: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.dart)),
162
+ diff: legacy(() => import("@codemirror/legacy-modes/mode/diff").then((mod) => mod.diff)),
163
+ dockerfile: legacy(() => import("@codemirror/legacy-modes/mode/dockerfile").then((mod) => mod.dockerFile)),
164
+ dtd: legacy(() => import("@codemirror/legacy-modes/mode/dtd").then((mod) => mod.dtd)),
165
+ dylan: legacy(() => import("@codemirror/legacy-modes/mode/dylan").then((mod) => mod.dylan)),
166
+ ebnf: legacy(() => import("@codemirror/legacy-modes/mode/ebnf").then((mod) => mod.ebnf)),
167
+ ecl: legacy(() => import("@codemirror/legacy-modes/mode/ecl").then((mod) => mod.ecl)),
168
+ eiffel: legacy(() => import("@codemirror/legacy-modes/mode/eiffel").then((mod) => mod.eiffel)),
169
+ elm: legacy(() => import("@codemirror/legacy-modes/mode/elm").then((mod) => mod.elm)),
170
+ env: legacy(() => import("@codemirror/legacy-modes/mode/properties").then((mod) => mod.properties)),
171
+ erlang: legacy(() => import("@codemirror/legacy-modes/mode/erlang").then((mod) => mod.erlang)),
172
+ esper: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.esper)),
173
+ ez80: legacy(() => import("@codemirror/legacy-modes/mode/z80").then((mod) => mod.ez80)),
174
+ factor: legacy(() => import("@codemirror/legacy-modes/mode/factor").then((mod) => mod.factor)),
175
+ fcl: legacy(() => import("@codemirror/legacy-modes/mode/fcl").then((mod) => mod.fcl)),
176
+ forth: legacy(() => import("@codemirror/legacy-modes/mode/forth").then((mod) => mod.forth)),
177
+ fortran: legacy(() => import("@codemirror/legacy-modes/mode/fortran").then((mod) => mod.fortran)),
178
+ fsharp: legacy(() => import("@codemirror/legacy-modes/mode/mllike").then((mod) => mod.fSharp)),
179
+ gas: legacy(() => import("@codemirror/legacy-modes/mode/gas").then((mod) => mod.gas)),
180
+ "gas-arm": legacy(() => import("@codemirror/legacy-modes/mode/gas").then((mod) => mod.gasArm)),
181
+ gherkin: legacy(() => import("@codemirror/legacy-modes/mode/gherkin").then((mod) => mod.gherkin)),
182
+ gpsql: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.gpSQL)),
183
+ gql: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.gql)),
184
+ groovy: legacy(() => import("@codemirror/legacy-modes/mode/groovy").then((mod) => mod.groovy)),
185
+ gss: legacy(() => import("@codemirror/legacy-modes/mode/css").then((mod) => mod.gss)),
186
+ haskell: legacy(() => import("@codemirror/legacy-modes/mode/haskell").then((mod) => mod.haskell)),
187
+ haxe: legacy(() => import("@codemirror/legacy-modes/mode/haxe").then((mod) => mod.haxe)),
188
+ hive: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.hive)),
189
+ http: legacy(() => import("@codemirror/legacy-modes/mode/http").then((mod) => mod.http)),
190
+ hxml: legacy(() => import("@codemirror/legacy-modes/mode/haxe").then((mod) => mod.hxml)),
191
+ idl: legacy(() => import("@codemirror/legacy-modes/mode/idl").then((mod) => mod.idl)),
192
+ ini: legacy(() => import("@codemirror/legacy-modes/mode/properties").then((mod) => mod.properties)),
193
+ julia: legacy(() => import("@codemirror/legacy-modes/mode/julia").then((mod) => mod.julia)),
194
+ kotlin: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.kotlin)),
195
+ livescript: legacy(() => import("@codemirror/legacy-modes/mode/livescript").then((mod) => mod.liveScript)),
196
+ lua: legacy(() => import("@codemirror/legacy-modes/mode/lua").then((mod) => mod.lua)),
197
+ mathematica: legacy(() => import("@codemirror/legacy-modes/mode/mathematica").then((mod) => mod.mathematica)),
198
+ mbox: legacy(() => import("@codemirror/legacy-modes/mode/mbox").then((mod) => mod.mbox)),
199
+ mirc: legacy(() => import("@codemirror/legacy-modes/mode/mirc").then((mod) => mod.mirc)),
200
+ modelica: legacy(() => import("@codemirror/legacy-modes/mode/modelica").then((mod) => mod.modelica)),
201
+ mscgen: legacy(() => import("@codemirror/legacy-modes/mode/mscgen").then((mod) => mod.mscgen)),
202
+ msgenny: legacy(() => import("@codemirror/legacy-modes/mode/mscgen").then((mod) => mod.msgenny)),
203
+ mumps: legacy(() => import("@codemirror/legacy-modes/mode/mumps").then((mod) => mod.mumps)),
204
+ nesc: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.nesC)),
205
+ nginx: legacy(() => import("@codemirror/legacy-modes/mode/nginx").then((mod) => mod.nginx)),
206
+ nsis: legacy(() => import("@codemirror/legacy-modes/mode/nsis").then((mod) => mod.nsis)),
207
+ ntriples: legacy(() => import("@codemirror/legacy-modes/mode/ntriples").then((mod) => mod.ntriples)),
208
+ "objective-c": legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.objectiveC)),
209
+ "objective-cpp": legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.objectiveCpp)),
210
+ ocaml: legacy(() => import("@codemirror/legacy-modes/mode/mllike").then((mod) => mod.oCaml)),
211
+ octave: legacy(() => import("@codemirror/legacy-modes/mode/octave").then((mod) => mod.octave)),
212
+ oz: legacy(() => import("@codemirror/legacy-modes/mode/oz").then((mod) => mod.oz)),
213
+ pascal: legacy(() => import("@codemirror/legacy-modes/mode/pascal").then((mod) => mod.pascal)),
214
+ pegjs: legacy(() => import("@codemirror/legacy-modes/mode/pegjs").then((mod) => mod.pegjs)),
215
+ perl: legacy(() => import("@codemirror/legacy-modes/mode/perl").then((mod) => mod.perl)),
216
+ pig: legacy(() => import("@codemirror/legacy-modes/mode/pig").then((mod) => mod.pig)),
217
+ powershell: legacy(() => import("@codemirror/legacy-modes/mode/powershell").then((mod) => mod.powerShell)),
218
+ properties: legacy(() => import("@codemirror/legacy-modes/mode/properties").then((mod) => mod.properties)),
219
+ protobuf: legacy(() => import("@codemirror/legacy-modes/mode/protobuf").then((mod) => mod.protobuf)),
220
+ pug: legacy(() => import("@codemirror/legacy-modes/mode/pug").then((mod) => mod.pug)),
221
+ puppet: legacy(() => import("@codemirror/legacy-modes/mode/puppet").then((mod) => mod.puppet)),
222
+ q: legacy(() => import("@codemirror/legacy-modes/mode/q").then((mod) => mod.q)),
223
+ r: legacy(() => import("@codemirror/legacy-modes/mode/r").then((mod) => mod.r)),
224
+ "rpm-changes": legacy(() => import("@codemirror/legacy-modes/mode/rpm").then((mod) => mod.rpmChanges)),
225
+ "rpm-spec": legacy(() => import("@codemirror/legacy-modes/mode/rpm").then((mod) => mod.rpmSpec)),
226
+ ruby: legacy(() => import("@codemirror/legacy-modes/mode/ruby").then((mod) => mod.ruby)),
227
+ sas: legacy(() => import("@codemirror/legacy-modes/mode/sas").then((mod) => mod.sas)),
228
+ scala: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.scala)),
229
+ scheme: legacy(() => import("@codemirror/legacy-modes/mode/scheme").then((mod) => mod.scheme)),
230
+ shader: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.shader)),
231
+ shell: legacy(() => import("@codemirror/legacy-modes/mode/shell").then((mod) => mod.shell)),
232
+ sieve: legacy(() => import("@codemirror/legacy-modes/mode/sieve").then((mod) => mod.sieve)),
233
+ smalltalk: legacy(() => import("@codemirror/legacy-modes/mode/smalltalk").then((mod) => mod.smalltalk)),
234
+ sml: legacy(() => import("@codemirror/legacy-modes/mode/mllike").then((mod) => mod.sml)),
235
+ solr: legacy(() => import("@codemirror/legacy-modes/mode/solr").then((mod) => mod.solr)),
236
+ sparksql: legacy(() => import("@codemirror/legacy-modes/mode/sql").then((mod) => mod.sparkSQL)),
237
+ sparql: legacy(() => import("@codemirror/legacy-modes/mode/sparql").then((mod) => mod.sparql)),
238
+ spreadsheet: legacy(() => import("@codemirror/legacy-modes/mode/spreadsheet").then((mod) => mod.spreadsheet)),
239
+ squirrel: legacy(() => import("@codemirror/legacy-modes/mode/clike").then((mod) => mod.squirrel)),
240
+ stex: legacy(() => import("@codemirror/legacy-modes/mode/stex").then((mod) => mod.stex)),
241
+ "stex-math": legacy(() => import("@codemirror/legacy-modes/mode/stex").then((mod) => mod.stexMath)),
242
+ stylus: legacy(() => import("@codemirror/legacy-modes/mode/stylus").then((mod) => mod.stylus)),
243
+ swift: legacy(() => import("@codemirror/legacy-modes/mode/swift").then((mod) => mod.swift)),
244
+ tcl: legacy(() => import("@codemirror/legacy-modes/mode/tcl").then((mod) => mod.tcl)),
245
+ textile: legacy(() => import("@codemirror/legacy-modes/mode/textile").then((mod) => mod.textile)),
246
+ tiddlywiki: legacy(() => import("@codemirror/legacy-modes/mode/tiddlywiki").then((mod) => mod.tiddlyWiki)),
247
+ tiki: legacy(() => import("@codemirror/legacy-modes/mode/tiki").then((mod) => mod.tiki)),
248
+ tlv: legacy(() => import("@codemirror/legacy-modes/mode/verilog").then((mod) => mod.tlv)),
249
+ toml: legacy(() => import("@codemirror/legacy-modes/mode/toml").then((mod) => mod.toml)),
250
+ troff: legacy(() => import("@codemirror/legacy-modes/mode/troff").then((mod) => mod.troff)),
251
+ ttcn: legacy(() => import("@codemirror/legacy-modes/mode/ttcn").then((mod) => mod.ttcn)),
252
+ "ttcn-cfg": legacy(() => import("@codemirror/legacy-modes/mode/ttcn-cfg").then((mod) => mod.ttcnCfg)),
253
+ turtle: legacy(() => import("@codemirror/legacy-modes/mode/turtle").then((mod) => mod.turtle)),
254
+ vb: legacy(() => import("@codemirror/legacy-modes/mode/vb").then((mod) => mod.vb)),
255
+ vbscript: legacy(() => import("@codemirror/legacy-modes/mode/vbscript").then((mod) => mod.vbScript)),
256
+ "vbscript-asp": legacy(() => import("@codemirror/legacy-modes/mode/vbscript").then((mod) => mod.vbScriptASP)),
257
+ velocity: legacy(() => import("@codemirror/legacy-modes/mode/velocity").then((mod) => mod.velocity)),
258
+ verilog: legacy(() => import("@codemirror/legacy-modes/mode/verilog").then((mod) => mod.verilog)),
259
+ vhdl: legacy(() => import("@codemirror/legacy-modes/mode/vhdl").then((mod) => mod.vhdl)),
260
+ webidl: legacy(() => import("@codemirror/legacy-modes/mode/webidl").then((mod) => mod.webIDL)),
261
+ xquery: legacy(() => import("@codemirror/legacy-modes/mode/xquery").then((mod) => mod.xQuery)),
262
+ xu: legacy(() => import("@codemirror/legacy-modes/mode/mscgen").then((mod) => mod.xu)),
263
+ yacas: legacy(() => import("@codemirror/legacy-modes/mode/yacas").then((mod) => mod.yacas)),
264
+ z80: legacy(() => import("@codemirror/legacy-modes/mode/z80").then((mod) => mod.z80)),
136
265
  minijinja: () => import("./minijinja-HpehSBbW.js").then((mod) => mod.minijinja()),
137
266
  "minijinja-html": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-html")]).then(([mj, mod]) => mj.minijinja({ base: mod.html() })),
138
267
  "minijinja-xml": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-xml")]).then(([mj, mod]) => mj.minijinja({ base: mod.xml() })),
@@ -146,7 +275,22 @@ const loaders = {
146
275
  "minijinja-sql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql() })),
147
276
  "minijinja-mysql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.MySQL }) })),
148
277
  "minijinja-pgsql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.PostgreSQL }) })),
149
- "minijinja-sqlite": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.SQLite }) }))
278
+ "minijinja-sqlite": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.SQLite }) })),
279
+ "minijinja-mssql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.MSSQL }) })),
280
+ "minijinja-mariadb": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.MariaSQL }) })),
281
+ "minijinja-plsql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.PLSQL }) })),
282
+ "minijinja-cassandra": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/lang-sql")]).then(([mj, mod]) => mj.minijinja({ base: mod.sql({ dialect: mod.Cassandra }) })),
283
+ "minijinja-hive": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.hive)) })),
284
+ "minijinja-sparksql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.sparkSQL)) })),
285
+ "minijinja-gql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.gql)) })),
286
+ "minijinja-gpsql": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.gpSQL)) })),
287
+ "minijinja-esper": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/sql")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.esper)) })),
288
+ "minijinja-toml": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/toml")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.toml)) })),
289
+ "minijinja-ini": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/properties")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.properties)) })),
290
+ "minijinja-env": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/properties")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.properties)) })),
291
+ "minijinja-shell": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/shell")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.shell)) })),
292
+ "minijinja-dockerfile": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/dockerfile")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.dockerFile)) })),
293
+ "minijinja-nginx": () => Promise.all([import("./minijinja-HpehSBbW.js"), import("@codemirror/legacy-modes/mode/nginx")]).then(([mj, mod]) => mj.minijinja({ base: new LanguageSupport(StreamLanguage.define(mod.nginx)) }))
150
294
  };
151
295
  const codeMirrorLanguages = Object.keys(loaders).toSorted();
152
296
  function loadLanguage(language) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coldsmirk/inkstone-codemirror",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "Framework-agnostic CodeMirror 6 plumbing: a controlled editor host (create-once, external-value reconcile, in-place theme swap) and the standard document extension bundle.",
5
5
  "keywords": [
6
6
  "codemirror",
@@ -42,6 +42,7 @@
42
42
  "dist"
43
43
  ],
44
44
  "dependencies": {
45
+ "@codemirror/lang-angular": "^0.1.4",
45
46
  "@codemirror/lang-cpp": "^6.0.3",
46
47
  "@codemirror/lang-css": "^6.3.1",
47
48
  "@codemirror/lang-go": "^6.0.1",
@@ -51,6 +52,7 @@
51
52
  "@codemirror/lang-jinja": "^6.0.1",
52
53
  "@codemirror/lang-json": "^6.0.2",
53
54
  "@codemirror/lang-less": "^6.0.2",
55
+ "@codemirror/lang-lezer": "^6.0.2",
54
56
  "@codemirror/lang-liquid": "^6.3.2",
55
57
  "@codemirror/lang-markdown": "^6.5.0",
56
58
  "@codemirror/lang-php": "^6.0.2",
@@ -62,6 +64,7 @@
62
64
  "@codemirror/lang-wast": "^6.0.2",
63
65
  "@codemirror/lang-xml": "^6.1.0",
64
66
  "@codemirror/lang-yaml": "^6.1.3",
67
+ "@codemirror/legacy-modes": "^6.5.3",
65
68
  "@codemirror/lint": "^6.9.7",
66
69
  "@lezer/common": "^1.5.2"
67
70
  },