Détail du package

@codemirror/lang-xml

codemirror1.5mMIT6.1.0

XML language support for the CodeMirror code editor

editor, code

readme

@codemirror/lang-xml NPM version

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

API Reference

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.

autoCloseTags⁠?: boolean

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 as global 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.

autoCloseTags: Extension

Extension that will automatically insert close tags when a > or / is typed.

changelog

6.1.0 (2024-03-06)

New features

Add an autoCloseTags extension that closes tags on typing > or /. Enable it by default in the xml() language support.

6.0.2 (2023-01-12)

Bug fixes

Use only the tag name for matching of opening and closing tags.

6.0.1 (2022-10-24)

Bug fixes

Make sure the language object has a name.

6.0.0 (2022-06-08)

Breaking changes

Update dependencies to 6.0.0

0.20.0 (2022-04-20)

Breaking changes

Update dependencies to 0.20.0

0.19.2 (2021-09-23)

New features

Use more specific highlighting tags for attribute names and values.

0.19.1 (2021-08-11)

Bug fixes

Fix incorrect versions for @lezer dependencies.

0.19.0 (2021-08-11)

Breaking changes

Update dependencies to 0.19.0

0.18.0 (2021-03-03)

Breaking changes

Update dependencies to 0.18.

0.17.2 (2021-02-12)

Bug fixes

Export configuration types and completeFromSchema function (which were previously accidentally unexported).

0.17.1 (2021-01-06)

New features

The package now also exports a CommonJS module.

0.17.0 (2020-12-29)

Breaking changes

First numbered release.