XML language support for the CodeMirror code editor
npm install @codemirror/lang-xml[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 = {}) → LanguageSupportXML language support. Includes schema-based autocompletion when
configured.
confelements?: readonly ElementSpec[]Provide a schema to create completions from.
attributes?: readonly AttrSpec[]Supporting attribute descriptions for the schema specified inelements.
Determines whether autoCloseTags
is included in the support extensions. Defaults to true.
xmlLanguage: LRLanguageA language provider based on the Lezer XML
parser, extended with
highlighting and indentation information.
interfaceDescribes an element in your XML document schema.
name: stringThe 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?: booleanWhether 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.
interfaceDescribes an attribute in your XML schema.
name: stringThe attribute name.
values?: readonly (string | Completion)[]Pre-defined values to complete for this attribute.
global?: booleanWhen 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[]) → CompletionSourceCreate a completion source for the given schema.
Extension that will automatically insert close tags when a > or/ is typed.