[ WEBSITE | ISSUES | FORUM | CHANGELOG ]
This package implements XML 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.
-
xml(conf?: Object = {}) → LanguageSupport
XML language support. Includes schema-based autocompletion when configured.
-
conf
-
elements?: readonly ElementSpec[]
Provide a schema to create completions from.
-
attributes?: readonly AttrSpec[]
Supporting attribute descriptions for the schema specified in
elements
.Determines whether
autoCloseTags
is included in the support extensions. Defaults to true.
-
-
-
xmlLanguage: LRLanguage
A language provider based on the Lezer XML parser, extended with highlighting and indentation information.
-
interface
ElementSpec Describes an element in your XML document schema.
-
name: string
The element name.
-
children?: readonly string[]
Allowed children in this element. When not given, all elements are allowed inside it.
-
textContent?: readonly string[]
When given, allows users to complete the given content strings as plain text when at the start of the element.
-
top?: boolean
Whether this element may appear at the top of the document.
-
attributes?: readonly (string | AttrSpec)[]
Allowed attributes in this element. Strings refer to attributes specified in
XMLConfig.attrs
, but you can also provide one-off attribute specs. Attributes marked asglobal
are allowed in every element, and don't have to be mentioned here.-
completion?: Partial<Completion>
Can be provided to add extra fields to the completion object created for this element.
-
-
interface
AttrSpec Describes an attribute in your XML schema.
-
name: string
The attribute name.
-
values?: readonly (string | Completion)[]
Pre-defined values to complete for this attribute.
-
global?: boolean
When
true
, this attribute can be added to all elements.-
completion?: Partial<Completion>
Provides extra fields to the completion object created for this element
-
-
completeFromSchema(eltSpecs: readonly ElementSpec[], attrSpecs: readonly AttrSpec[]) → CompletionSource
Create a completion source for the given schema.
Extension that will automatically insert close tags when a
>
or/
is typed.