| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350 | // CodeMirror, copyright (c) by Marijn Haverbeke and others// Distributed under an MIT license: https://codemirror.net/LICENSE(function(mod) {  if (typeof exports == "object" && typeof module == "object") // CommonJS    mod(require("../../lib/codemirror"), require("./xml-hint"));  else if (typeof define == "function" && define.amd) // AMD    define(["../../lib/codemirror", "./xml-hint"], mod);  else // Plain browser env    mod(CodeMirror);})(function(CodeMirror) {  "use strict";  var langs = "ab aa af ak sq am ar an hy as av ae ay az bm ba eu be bn bh bi bs br bg my ca ch ce ny zh cv kw co cr hr cs da dv nl dz en eo et ee fo fj fi fr ff gl ka de el gn gu ht ha he hz hi ho hu ia id ie ga ig ik io is it iu ja jv kl kn kr ks kk km ki rw ky kv kg ko ku kj la lb lg li ln lo lt lu lv gv mk mg ms ml mt mi mr mh mn na nv nb nd ne ng nn no ii nr oc oj cu om or os pa pi fa pl ps pt qu rm rn ro ru sa sc sd se sm sg sr gd sn si sk sl so st es su sw ss sv ta te tg th ti bo tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa cy wo fy xh yi yo za zu".split(" ");  var targets = ["_blank", "_self", "_top", "_parent"];  var charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"];  var methods = ["get", "post", "put", "delete"];  var encs = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"];  var media = ["all", "screen", "print", "embossed", "braille", "handheld", "print", "projection", "screen", "tty", "tv", "speech",               "3d-glasses", "resolution [>][<][=] [X]", "device-aspect-ratio: X/Y", "orientation:portrait",               "orientation:landscape", "device-height: [X]", "device-width: [X]"];  var s = { attrs: {} }; // Simple tag, reused for a whole lot of tags  var data = {    a: {      attrs: {        href: null, ping: null, type: null,        media: media,        target: targets,        hreflang: langs      }    },    abbr: s,    acronym: s,    address: s,    applet: s,    area: {      attrs: {        alt: null, coords: null, href: null, target: null, ping: null,        media: media, hreflang: langs, type: null,        shape: ["default", "rect", "circle", "poly"]      }    },    article: s,    aside: s,    audio: {      attrs: {        src: null, mediagroup: null,        crossorigin: ["anonymous", "use-credentials"],        preload: ["none", "metadata", "auto"],        autoplay: ["", "autoplay"],        loop: ["", "loop"],        controls: ["", "controls"]      }    },    b: s,    base: { attrs: { href: null, target: targets } },    basefont: s,    bdi: s,    bdo: s,    big: s,    blockquote: { attrs: { cite: null } },    body: s,    br: s,    button: {      attrs: {        form: null, formaction: null, name: null, value: null,        autofocus: ["", "autofocus"],        disabled: ["", "autofocus"],        formenctype: encs,        formmethod: methods,        formnovalidate: ["", "novalidate"],        formtarget: targets,        type: ["submit", "reset", "button"]      }    },    canvas: { attrs: { width: null, height: null } },    caption: s,    center: s,    cite: s,    code: s,    col: { attrs: { span: null } },    colgroup: { attrs: { span: null } },    command: {      attrs: {        type: ["command", "checkbox", "radio"],        label: null, icon: null, radiogroup: null, command: null, title: null,        disabled: ["", "disabled"],        checked: ["", "checked"]      }    },    data: { attrs: { value: null } },    datagrid: { attrs: { disabled: ["", "disabled"], multiple: ["", "multiple"] } },    datalist: { attrs: { data: null } },    dd: s,    del: { attrs: { cite: null, datetime: null } },    details: { attrs: { open: ["", "open"] } },    dfn: s,    dir: s,    div: s,    dl: s,    dt: s,    em: s,    embed: { attrs: { src: null, type: null, width: null, height: null } },    eventsource: { attrs: { src: null } },    fieldset: { attrs: { disabled: ["", "disabled"], form: null, name: null } },    figcaption: s,    figure: s,    font: s,    footer: s,    form: {      attrs: {        action: null, name: null,        "accept-charset": charsets,        autocomplete: ["on", "off"],        enctype: encs,        method: methods,        novalidate: ["", "novalidate"],        target: targets      }    },    frame: s,    frameset: s,    h1: s, h2: s, h3: s, h4: s, h5: s, h6: s,    head: {      attrs: {},      children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]    },    header: s,    hgroup: s,    hr: s,    html: {      attrs: { manifest: null },      children: ["head", "body"]    },    i: s,    iframe: {      attrs: {        src: null, srcdoc: null, name: null, width: null, height: null,        sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],        seamless: ["", "seamless"]      }    },    img: {      attrs: {        alt: null, src: null, ismap: null, usemap: null, width: null, height: null,        crossorigin: ["anonymous", "use-credentials"]      }    },    input: {      attrs: {        alt: null, dirname: null, form: null, formaction: null,        height: null, list: null, max: null, maxlength: null, min: null,        name: null, pattern: null, placeholder: null, size: null, src: null,        step: null, value: null, width: null,        accept: ["audio/*", "video/*", "image/*"],        autocomplete: ["on", "off"],        autofocus: ["", "autofocus"],        checked: ["", "checked"],        disabled: ["", "disabled"],        formenctype: encs,        formmethod: methods,        formnovalidate: ["", "novalidate"],        formtarget: targets,        multiple: ["", "multiple"],        readonly: ["", "readonly"],        required: ["", "required"],        type: ["hidden", "text", "search", "tel", "url", "email", "password", "datetime", "date", "month",               "week", "time", "datetime-local", "number", "range", "color", "checkbox", "radio",               "file", "submit", "image", "reset", "button"]      }    },    ins: { attrs: { cite: null, datetime: null } },    kbd: s,    keygen: {      attrs: {        challenge: null, form: null, name: null,        autofocus: ["", "autofocus"],        disabled: ["", "disabled"],        keytype: ["RSA"]      }    },    label: { attrs: { "for": null, form: null } },    legend: s,    li: { attrs: { value: null } },    link: {      attrs: {        href: null, type: null,        hreflang: langs,        media: media,        sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]      }    },    map: { attrs: { name: null } },    mark: s,    menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },    meta: {      attrs: {        content: null,        charset: charsets,        name: ["viewport", "application-name", "author", "description", "generator", "keywords"],        "http-equiv": ["content-language", "content-type", "default-style", "refresh"]      }    },    meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },    nav: s,    noframes: s,    noscript: s,    object: {      attrs: {        data: null, type: null, name: null, usemap: null, form: null, width: null, height: null,        typemustmatch: ["", "typemustmatch"]      }    },    ol: { attrs: { reversed: ["", "reversed"], start: null, type: ["1", "a", "A", "i", "I"] } },    optgroup: { attrs: { disabled: ["", "disabled"], label: null } },    option: { attrs: { disabled: ["", "disabled"], label: null, selected: ["", "selected"], value: null } },    output: { attrs: { "for": null, form: null, name: null } },    p: s,    param: { attrs: { name: null, value: null } },    pre: s,    progress: { attrs: { value: null, max: null } },    q: { attrs: { cite: null } },    rp: s,    rt: s,    ruby: s,    s: s,    samp: s,    script: {      attrs: {        type: ["text/javascript"],        src: null,        async: ["", "async"],        defer: ["", "defer"],        charset: charsets      }    },    section: s,    select: {      attrs: {        form: null, name: null, size: null,        autofocus: ["", "autofocus"],        disabled: ["", "disabled"],        multiple: ["", "multiple"]      }    },    small: s,    source: { attrs: { src: null, type: null, media: null } },    span: s,    strike: s,    strong: s,    style: {      attrs: {        type: ["text/css"],        media: media,        scoped: null      }    },    sub: s,    summary: s,    sup: s,    table: s,    tbody: s,    td: { attrs: { colspan: null, rowspan: null, headers: null } },    textarea: {      attrs: {        dirname: null, form: null, maxlength: null, name: null, placeholder: null,        rows: null, cols: null,        autofocus: ["", "autofocus"],        disabled: ["", "disabled"],        readonly: ["", "readonly"],        required: ["", "required"],        wrap: ["soft", "hard"]      }    },    tfoot: s,    th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },    thead: s,    time: { attrs: { datetime: null } },    title: s,    tr: s,    track: {      attrs: {        src: null, label: null, "default": null,        kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],        srclang: langs      }    },    tt: s,    u: s,    ul: s,    "var": s,    video: {      attrs: {        src: null, poster: null, width: null, height: null,        crossorigin: ["anonymous", "use-credentials"],        preload: ["auto", "metadata", "none"],        autoplay: ["", "autoplay"],        mediagroup: ["movie"],        muted: ["", "muted"],        controls: ["", "controls"]      }    },    wbr: s  };  var globalAttrs = {    accesskey: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],    "class": null,    contenteditable: ["true", "false"],    contextmenu: null,    dir: ["ltr", "rtl", "auto"],    draggable: ["true", "false", "auto"],    dropzone: ["copy", "move", "link", "string:", "file:"],    hidden: ["hidden"],    id: null,    inert: ["inert"],    itemid: null,    itemprop: null,    itemref: null,    itemscope: ["itemscope"],    itemtype: null,    lang: ["en", "es"],    spellcheck: ["true", "false"],    autocorrect: ["true", "false"],    autocapitalize: ["true", "false"],    style: null,    tabindex: ["1", "2", "3", "4", "5", "6", "7", "8", "9"],    title: null,    translate: ["yes", "no"],    onclick: null,    rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"]  };  function populate(obj) {    for (var attr in globalAttrs) if (globalAttrs.hasOwnProperty(attr))      obj.attrs[attr] = globalAttrs[attr];  }  populate(s);  for (var tag in data) if (data.hasOwnProperty(tag) && data[tag] != s)    populate(data[tag]);  CodeMirror.htmlSchema = data;  function htmlHint(cm, options) {    var local = {schemaInfo: data};    if (options) for (var opt in options) local[opt] = options[opt];    return CodeMirror.hint.xml(cm, local);  }  CodeMirror.registerHelper("hint", "html", htmlHint);});
 |