Nonchalantly Perusing Magazines

    TypeScript icon, indicating that this package has built-in type declarations

    0.20.0 • Public • Published

    @codemirror/lang-xml NPM version


    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.

    elements⁠?: readonly ElementSpec[]

    Provide a schema to create completions from.

    attributes⁠?: readonly AttrSpec[]

    Supporting attribute descriptions for the schema specified in elements.

    xmlLanguage: LezerLanguage

    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



    npm i @codemirror/lang-xml

    DownloadsWeekly Downloads






    Unpacked Size

    35.1 kB

    Total Files


    Last publish


    • adrianheine
    • marijn