Mercurial
comparison .cms/lib/codemirror/addon/hint/html-hint.js @ 0:78edf6b517a0 draft
24.10
author | Coffee CMS <info@coffee-cms.ru> |
---|---|
date | Fri, 11 Oct 2024 22:40:23 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:78edf6b517a0 |
---|---|
1 // CodeMirror, copyright (c) by Marijn Haverbeke and others | |
2 // Distributed under an MIT license: https://codemirror.net/5/LICENSE | |
3 | |
4 (function(mod) { | |
5 if (typeof exports == "object" && typeof module == "object") // CommonJS | |
6 mod(require("../../lib/codemirror"), require("./xml-hint")); | |
7 else if (typeof define == "function" && define.amd) // AMD | |
8 define(["../../lib/codemirror", "./xml-hint"], mod); | |
9 else // Plain browser env | |
10 mod(CodeMirror); | |
11 })(function(CodeMirror) { | |
12 "use strict"; | |
13 | |
14 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(" "); | |
15 var targets = ["_blank", "_self", "_top", "_parent"]; | |
16 var charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"]; | |
17 var methods = ["get", "post", "put", "delete"]; | |
18 var encs = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]; | |
19 var media = ["all", "screen", "print", "embossed", "braille", "handheld", "print", "projection", "screen", "tty", "tv", "speech", | |
20 "3d-glasses", "resolution [>][<][=] [X]", "device-aspect-ratio: X/Y", "orientation:portrait", | |
21 "orientation:landscape", "device-height: [X]", "device-width: [X]"]; | |
22 var s = { attrs: {} }; // Simple tag, reused for a whole lot of tags | |
23 | |
24 var data = { | |
25 a: { | |
26 attrs: { | |
27 href: null, ping: null, type: null, | |
28 media: media, | |
29 target: targets, | |
30 hreflang: langs | |
31 } | |
32 }, | |
33 abbr: s, | |
34 acronym: s, | |
35 address: s, | |
36 applet: s, | |
37 area: { | |
38 attrs: { | |
39 alt: null, coords: null, href: null, target: null, ping: null, | |
40 media: media, hreflang: langs, type: null, | |
41 shape: ["default", "rect", "circle", "poly"] | |
42 } | |
43 }, | |
44 article: s, | |
45 aside: s, | |
46 audio: { | |
47 attrs: { | |
48 src: null, mediagroup: null, | |
49 crossorigin: ["anonymous", "use-credentials"], | |
50 preload: ["none", "metadata", "auto"], | |
51 autoplay: ["", "autoplay"], | |
52 loop: ["", "loop"], | |
53 controls: ["", "controls"] | |
54 } | |
55 }, | |
56 b: s, | |
57 base: { attrs: { href: null, target: targets } }, | |
58 basefont: s, | |
59 bdi: s, | |
60 bdo: s, | |
61 big: s, | |
62 blockquote: { attrs: { cite: null } }, | |
63 body: s, | |
64 br: s, | |
65 button: { | |
66 attrs: { | |
67 form: null, formaction: null, name: null, value: null, | |
68 autofocus: ["", "autofocus"], | |
69 disabled: ["", "autofocus"], | |
70 formenctype: encs, | |
71 formmethod: methods, | |
72 formnovalidate: ["", "novalidate"], | |
73 formtarget: targets, | |
74 type: ["submit", "reset", "button"] | |
75 } | |
76 }, | |
77 canvas: { attrs: { width: null, height: null } }, | |
78 caption: s, | |
79 center: s, | |
80 cite: s, | |
81 code: s, | |
82 col: { attrs: { span: null } }, | |
83 colgroup: { attrs: { span: null } }, | |
84 command: { | |
85 attrs: { | |
86 type: ["command", "checkbox", "radio"], | |
87 label: null, icon: null, radiogroup: null, command: null, title: null, | |
88 disabled: ["", "disabled"], | |
89 checked: ["", "checked"] | |
90 } | |
91 }, | |
92 data: { attrs: { value: null } }, | |
93 datagrid: { attrs: { disabled: ["", "disabled"], multiple: ["", "multiple"] } }, | |
94 datalist: { attrs: { data: null } }, | |
95 dd: s, | |
96 del: { attrs: { cite: null, datetime: null } }, | |
97 details: { attrs: { open: ["", "open"] } }, | |
98 dfn: s, | |
99 dir: s, | |
100 div: s, | |
101 dialog: { attrs: { open: null } }, | |
102 dl: s, | |
103 dt: s, | |
104 em: s, | |
105 embed: { attrs: { src: null, type: null, width: null, height: null } }, | |
106 eventsource: { attrs: { src: null } }, | |
107 fieldset: { attrs: { disabled: ["", "disabled"], form: null, name: null } }, | |
108 figcaption: s, | |
109 figure: s, | |
110 font: s, | |
111 footer: s, | |
112 form: { | |
113 attrs: { | |
114 action: null, name: null, | |
115 "accept-charset": charsets, | |
116 autocomplete: ["on", "off"], | |
117 enctype: encs, | |
118 method: methods, | |
119 novalidate: ["", "novalidate"], | |
120 target: targets | |
121 } | |
122 }, | |
123 frame: s, | |
124 frameset: s, | |
125 h1: s, h2: s, h3: s, h4: s, h5: s, h6: s, | |
126 head: { | |
127 attrs: {}, | |
128 children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"] | |
129 }, | |
130 header: s, | |
131 hgroup: s, | |
132 hr: s, | |
133 html: { | |
134 attrs: { manifest: null }, | |
135 children: ["head", "body"] | |
136 }, | |
137 i: s, | |
138 iframe: { | |
139 attrs: { | |
140 src: null, srcdoc: null, name: null, width: null, height: null, | |
141 sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"], | |
142 seamless: ["", "seamless"] | |
143 } | |
144 }, | |
145 img: { | |
146 attrs: { | |
147 alt: null, src: null, ismap: null, usemap: null, width: null, height: null, | |
148 crossorigin: ["anonymous", "use-credentials"] | |
149 } | |
150 }, | |
151 input: { | |
152 attrs: { | |
153 alt: null, dirname: null, form: null, formaction: null, | |
154 height: null, list: null, max: null, maxlength: null, min: null, | |
155 name: null, pattern: null, placeholder: null, size: null, src: null, | |
156 step: null, value: null, width: null, | |
157 accept: ["audio/*", "video/*", "image/*"], | |
158 autocomplete: ["on", "off"], | |
159 autofocus: ["", "autofocus"], | |
160 checked: ["", "checked"], | |
161 disabled: ["", "disabled"], | |
162 formenctype: encs, | |
163 formmethod: methods, | |
164 formnovalidate: ["", "novalidate"], | |
165 formtarget: targets, | |
166 multiple: ["", "multiple"], | |
167 readonly: ["", "readonly"], | |
168 required: ["", "required"], | |
169 type: ["hidden", "text", "search", "tel", "url", "email", "password", "datetime", "date", "month", | |
170 "week", "time", "datetime-local", "number", "range", "color", "checkbox", "radio", | |
171 "file", "submit", "image", "reset", "button"] | |
172 } | |
173 }, | |
174 ins: { attrs: { cite: null, datetime: null } }, | |
175 kbd: s, | |
176 keygen: { | |
177 attrs: { | |
178 challenge: null, form: null, name: null, | |
179 autofocus: ["", "autofocus"], | |
180 disabled: ["", "disabled"], | |
181 keytype: ["RSA"] | |
182 } | |
183 }, | |
184 label: { attrs: { "for": null, form: null } }, | |
185 legend: s, | |
186 li: { attrs: { value: null } }, | |
187 link: { | |
188 attrs: { | |
189 href: null, type: null, | |
190 hreflang: langs, | |
191 media: media, | |
192 sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"] | |
193 } | |
194 }, | |
195 map: { attrs: { name: null } }, | |
196 mark: s, | |
197 menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } }, | |
198 meta: { | |
199 attrs: { | |
200 content: null, | |
201 charset: charsets, | |
202 name: ["viewport", "application-name", "author", "description", "generator", "keywords"], | |
203 "http-equiv": ["content-language", "content-type", "default-style", "refresh"] | |
204 } | |
205 }, | |
206 meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } }, | |
207 nav: s, | |
208 noframes: s, | |
209 noscript: s, | |
210 object: { | |
211 attrs: { | |
212 data: null, type: null, name: null, usemap: null, form: null, width: null, height: null, | |
213 typemustmatch: ["", "typemustmatch"] | |
214 } | |
215 }, | |
216 ol: { attrs: { reversed: ["", "reversed"], start: null, type: ["1", "a", "A", "i", "I"] } }, | |
217 optgroup: { attrs: { disabled: ["", "disabled"], label: null } }, | |
218 option: { attrs: { disabled: ["", "disabled"], label: null, selected: ["", "selected"], value: null } }, | |
219 output: { attrs: { "for": null, form: null, name: null } }, | |
220 p: s, | |
221 param: { attrs: { name: null, value: null } }, | |
222 pre: s, | |
223 progress: { attrs: { value: null, max: null } }, | |
224 q: { attrs: { cite: null } }, | |
225 rp: s, | |
226 rt: s, | |
227 ruby: s, | |
228 s: s, | |
229 samp: s, | |
230 script: { | |
231 attrs: { | |
232 type: ["text/javascript"], | |
233 src: null, | |
234 async: ["", "async"], | |
235 defer: ["", "defer"], | |
236 charset: charsets | |
237 } | |
238 }, | |
239 section: s, | |
240 select: { | |
241 attrs: { | |
242 form: null, name: null, size: null, | |
243 autofocus: ["", "autofocus"], | |
244 disabled: ["", "disabled"], | |
245 multiple: ["", "multiple"] | |
246 } | |
247 }, | |
248 small: s, | |
249 source: { attrs: { src: null, type: null, media: null } }, | |
250 span: s, | |
251 strike: s, | |
252 strong: s, | |
253 style: { | |
254 attrs: { | |
255 type: ["text/css"], | |
256 media: media, | |
257 scoped: null | |
258 } | |
259 }, | |
260 sub: s, | |
261 summary: s, | |
262 sup: s, | |
263 table: s, | |
264 tbody: s, | |
265 td: { attrs: { colspan: null, rowspan: null, headers: null } }, | |
266 textarea: { | |
267 attrs: { | |
268 dirname: null, form: null, maxlength: null, name: null, placeholder: null, | |
269 rows: null, cols: null, | |
270 autofocus: ["", "autofocus"], | |
271 disabled: ["", "disabled"], | |
272 readonly: ["", "readonly"], | |
273 required: ["", "required"], | |
274 wrap: ["soft", "hard"] | |
275 } | |
276 }, | |
277 tfoot: s, | |
278 th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } }, | |
279 thead: s, | |
280 time: { attrs: { datetime: null } }, | |
281 title: s, | |
282 tr: s, | |
283 track: { | |
284 attrs: { | |
285 src: null, label: null, "default": null, | |
286 kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"], | |
287 srclang: langs | |
288 } | |
289 }, | |
290 tt: s, | |
291 u: s, | |
292 ul: s, | |
293 "var": s, | |
294 video: { | |
295 attrs: { | |
296 src: null, poster: null, width: null, height: null, | |
297 crossorigin: ["anonymous", "use-credentials"], | |
298 preload: ["auto", "metadata", "none"], | |
299 autoplay: ["", "autoplay"], | |
300 mediagroup: ["movie"], | |
301 muted: ["", "muted"], | |
302 controls: ["", "controls"] | |
303 } | |
304 }, | |
305 wbr: s | |
306 }; | |
307 | |
308 var globalAttrs = { | |
309 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"], | |
310 "class": null, | |
311 contenteditable: ["true", "false"], | |
312 contextmenu: null, | |
313 dir: ["ltr", "rtl", "auto"], | |
314 draggable: ["true", "false", "auto"], | |
315 dropzone: ["copy", "move", "link", "string:", "file:"], | |
316 hidden: ["hidden"], | |
317 id: null, | |
318 inert: ["inert"], | |
319 itemid: null, | |
320 itemprop: null, | |
321 itemref: null, | |
322 itemscope: ["itemscope"], | |
323 itemtype: null, | |
324 lang: ["en", "es"], | |
325 spellcheck: ["true", "false"], | |
326 autocorrect: ["true", "false"], | |
327 autocapitalize: ["true", "false"], | |
328 style: null, | |
329 tabindex: ["1", "2", "3", "4", "5", "6", "7", "8", "9"], | |
330 title: null, | |
331 translate: ["yes", "no"], | |
332 onclick: null, | |
333 rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"] | |
334 }; | |
335 function populate(obj) { | |
336 for (var attr in globalAttrs) if (globalAttrs.hasOwnProperty(attr)) | |
337 obj.attrs[attr] = globalAttrs[attr]; | |
338 } | |
339 | |
340 populate(s); | |
341 for (var tag in data) if (data.hasOwnProperty(tag) && data[tag] != s) | |
342 populate(data[tag]); | |
343 | |
344 CodeMirror.htmlSchema = data; | |
345 function htmlHint(cm, options) { | |
346 var local = {schemaInfo: data}; | |
347 if (options) for (var opt in options) local[opt] = options[opt]; | |
348 return CodeMirror.hint.xml(cm, local); | |
349 } | |
350 CodeMirror.registerHelper("hint", "html", htmlHint); | |
351 }); |