@actualwave/react-native-codeditor 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +790 -0
- package/app.plugin.js +133 -0
- package/lib/module/BlockingView.js +25 -0
- package/lib/module/CodeEditor.js +239 -0
- package/lib/module/EditorAPI.js +2 -0
- package/lib/module/WebViewAPI.js +133 -0
- package/lib/module/index.js +6 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/app.plugin.d.ts +3 -0
- package/lib/typescript/babel.config.d.ts +10 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/react-native.config.d.ts +2 -0
- package/lib/typescript/scripts/copy-assets.d.ts +2 -0
- package/lib/typescript/src/BlockingView.d.ts +3 -0
- package/lib/typescript/src/CodeEditor.d.ts +33 -0
- package/lib/typescript/src/EditorAPI.d.ts +66 -0
- package/lib/typescript/src/WebViewAPI.d.ts +46 -0
- package/lib/typescript/src/index.d.ts +7 -0
- package/package.json +106 -0
- package/react-native.config.js +3 -0
- package/src/assets/codemirror/@actualwave_codemirror-lang-sksl.js +15 -0
- package/src/assets/codemirror/@babel_runtime_helpers_interopRequireDefault.js +1 -0
- package/src/assets/codemirror/@babel_runtime_helpers_objectSpread2.js +1 -0
- package/src/assets/codemirror/@babel_runtime_helpers_toConsumableArray.js +1 -0
- package/src/assets/codemirror/@codemirror_autocomplete.js +206 -0
- package/src/assets/codemirror/@codemirror_collab.js +31 -0
- package/src/assets/codemirror/@codemirror_commands.js +411 -0
- package/src/assets/codemirror/@codemirror_lang-angular.js +7 -0
- package/src/assets/codemirror/@codemirror_lang-cpp.js +7 -0
- package/src/assets/codemirror/@codemirror_lang-css.js +14 -0
- package/src/assets/codemirror/@codemirror_lang-go.js +13 -0
- package/src/assets/codemirror/@codemirror_lang-html.js +20 -0
- package/src/assets/codemirror/@codemirror_lang-java.js +7 -0
- package/src/assets/codemirror/@codemirror_lang-javascript.js +54 -0
- package/src/assets/codemirror/@codemirror_lang-jinja.js +15 -0
- package/src/assets/codemirror/@codemirror_lang-json.js +10 -0
- package/src/assets/codemirror/@codemirror_lang-less.js +10 -0
- package/src/assets/codemirror/@codemirror_lang-lezer.js +7 -0
- package/src/assets/codemirror/@codemirror_lang-liquid.js +15 -0
- package/src/assets/codemirror/@codemirror_lang-markdown.js +55 -0
- package/src/assets/codemirror/@codemirror_lang-php.js +7 -0
- package/src/assets/codemirror/@codemirror_lang-python.js +19 -0
- package/src/assets/codemirror/@codemirror_lang-rust.js +7 -0
- package/src/assets/codemirror/@codemirror_lang-sass.js +10 -0
- package/src/assets/codemirror/@codemirror_lang-sql.js +52 -0
- package/src/assets/codemirror/@codemirror_lang-vue.js +6 -0
- package/src/assets/codemirror/@codemirror_lang-wast.js +2 -0
- package/src/assets/codemirror/@codemirror_lang-xml.js +13 -0
- package/src/assets/codemirror/@codemirror_lang-yaml.js +13 -0
- package/src/assets/codemirror/@codemirror_language-data.js +5 -0
- package/src/assets/codemirror/@codemirror_language.js +524 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_apl.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_asciiarmor.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_asn1.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_asterisk.js +9 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_brainfuck.js +13 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_clike.js +31 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_clojure.js +5 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_cmake.js +6 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_cobol.js +7 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_coffeescript.js +14 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_commonlisp.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_crystal.js +18 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_css.js +5 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_cypher.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_d.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_diff.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_dockerfile.js +9 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_dtd.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_dylan.js +35 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_ebnf.js +9 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_ecl.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_eiffel.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_elm.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_erlang.js +52 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_factor.js +14 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_fcl.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_forth.js +5 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_fortran.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_gas.js +13 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_gherkin.js +5 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_go.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_groovy.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_haskell.js +5 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_haxe.js +12 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_http.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_idl.js +7 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_javascript.js +23 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_jinja2.js +8 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_julia.js +17 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_livescript.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_lua.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_mathematica.js +26 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_mbox.js +11 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_mirc.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_mllike.js +8 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_modelica.js +12 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_mscgen.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_mumps.js +16 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_nginx.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_nsis.js +20 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_ntriples.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_octave.js +8 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_oz.js +17 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_pascal.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_pegjs.js +25 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_perl.js +247 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_pig.js +6 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_powershell.js +7 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_properties.js +5 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_protobuf.js +7 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_pug.js +24 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_puppet.js +42 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_python.js +15 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_q.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_r.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_rpm.js +9 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_ruby.js +4 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_rust.js +5 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_sas.js +23 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_sass.js +26 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_scheme.js +14 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_shell.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_sieve.js +7 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_simple-mode.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_smalltalk.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_solr.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_sparql.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_spreadsheet.js +6 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_sql.js +84 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_stex.js +11 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_stylus.js +45 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_swift.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_tcl.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_textile.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_tiddlywiki.js +33 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_tiki.js +20 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_toml.js +4 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_troff.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_ttcn-cfg.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_ttcn.js +3 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_turtle.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_vb.js +11 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_vbscript.js +26 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_velocity.js +15 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_verilog.js +67 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_vhdl.js +2 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_wast.js +7 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_webidl.js +25 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_xml.js +6 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_xquery.js +51 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_yacas.js +16 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_yaml.js +1 -0
- package/src/assets/codemirror/@codemirror_legacy-modes_mode_z80.js +1 -0
- package/src/assets/codemirror/@codemirror_lint.js +46 -0
- package/src/assets/codemirror/@codemirror_merge.js +167 -0
- package/src/assets/codemirror/@codemirror_search.js +121 -0
- package/src/assets/codemirror/@codemirror_state.js +793 -0
- package/src/assets/codemirror/@codemirror_theme-one-dark.js +12 -0
- package/src/assets/codemirror/@codemirror_view.js +1210 -0
- package/src/assets/codemirror/@lezer_common.js +407 -0
- package/src/assets/codemirror/@lezer_cpp.js +4 -0
- package/src/assets/codemirror/@lezer_css.js +4 -0
- package/src/assets/codemirror/@lezer_go.js +3 -0
- package/src/assets/codemirror/@lezer_highlight.js +380 -0
- package/src/assets/codemirror/@lezer_html.js +20 -0
- package/src/assets/codemirror/@lezer_java.js +2 -0
- package/src/assets/codemirror/@lezer_javascript.js +7 -0
- package/src/assets/codemirror/@lezer_json.js +2 -0
- package/src/assets/codemirror/@lezer_lezer.js +2 -0
- package/src/assets/codemirror/@lezer_lr.js +325 -0
- package/src/assets/codemirror/@lezer_markdown.js +286 -0
- package/src/assets/codemirror/@lezer_php.js +3 -0
- package/src/assets/codemirror/@lezer_python.js +5 -0
- package/src/assets/codemirror/@lezer_rust.js +3 -0
- package/src/assets/codemirror/@lezer_sass.js +5 -0
- package/src/assets/codemirror/@lezer_xml.js +3 -0
- package/src/assets/codemirror/@lezer_yaml.js +12 -0
- package/src/assets/codemirror/@marijn_find-cluster-break.js +10 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-androidstudio.js +3 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-andromeda.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-atomone.js +6 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-aura.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-basic.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-bbedit.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-copilot.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-darcula.js +6 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-dracula.js +6 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-duotone.js +5 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-eclipse.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-github.js +3 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-material.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-monokai.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-nord.js +2 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-okaidia.js +2 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-solarized.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-sublime.js +2 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-tokyo-night.js +1 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-vscode.js +5 -0
- package/src/assets/codemirror/@uiw_codemirror-theme-xcode.js +3 -0
- package/src/assets/codemirror/@uiw_codemirror-themes.js +1 -0
- package/src/assets/codemirror/_core.js +4494 -0
- package/src/assets/codemirror/codemirror.js +46 -0
- package/src/assets/codemirror/crelt.js +1 -0
- package/src/assets/codemirror/style-mod.js +36 -0
- package/src/assets/codemirror/w3c-keyname.js +8 -0
- package/src/assets/codemirror-editor.umd.js +415 -0
- package/src/assets/editor.html +377 -0
- package/src/assets/webview-interface.umd.js +2 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredVb,vb$1={},vbExports=function requireVb(){function wordRegexp(words){return new RegExp("^(("+words.join(")|(")+"))\\b","i")}function indent(_stream,state){state.currentIndent++}function dedent(_stream,state){state.currentIndent--}// tokenizers
|
|
2
|
+
function tokenBase(stream,state){if(stream.eatSpace())return null;var ch=stream.peek();// Handle Comments
|
|
3
|
+
if("'"===ch)return stream.skipToEnd(),"comment";// Handle Number Literals
|
|
4
|
+
if(stream.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var floatLiteral=!1;// Floats
|
|
5
|
+
if(stream.match(/^\d*\.\d+F?/i)?floatLiteral=!0:stream.match(/^\d+\.\d*F?/)?floatLiteral=!0:stream.match(/^\.\d+F?/)&&(floatLiteral=!0),floatLiteral)return stream.eat(/J/i),"number";// Integers
|
|
6
|
+
var intLiteral=!1;// Hex
|
|
7
|
+
if(stream.match(/^&H[0-9a-f]+/i)?intLiteral=!0:stream.match(/^&O[0-7]+/i)?intLiteral=!0:stream.match(/^[1-9]\d*F?/)?(stream.eat(/J/i),intLiteral=!0):stream.match(/^0(?![\dx])/i)&&(intLiteral=!0),intLiteral)return stream.eat(/L/i),"number"}// Handle Strings
|
|
8
|
+
return stream.match("\"")?(state.tokenize=tokenStringFactory(stream.current()),state.tokenize(stream,state)):stream.match(tripleDelimiters)||stream.match(doubleDelimiters)?null:stream.match(doubleOperators)||stream.match(singleOperators)||stream.match(wordOperators)?"operator":stream.match(singleDelimiters)?null:stream.match(doOpening)?(indent(stream,state),state.doInCurrentLine=!0,"keyword"):stream.match(opening)?(state.doInCurrentLine?state.doInCurrentLine=!1:indent(stream,state),"keyword"):stream.match(middle)?"keyword":stream.match(doubleClosing)?(dedent(stream,state),dedent(stream,state),"keyword"):stream.match(closing)?(dedent(stream,state),"keyword"):stream.match(types)?"keyword":stream.match(keywords)?"keyword":stream.match(identifiers)?"variable":(stream.next(),"error");// Handle operators and Delimiters
|
|
9
|
+
// Handle non-detected items
|
|
10
|
+
}function tokenStringFactory(delimiter){var singleline=1==delimiter.length,OUTCLASS="string";return function(stream,state){for(;!stream.eol();){if(stream.eatWhile(/[^'"]/),stream.match(delimiter))return state.tokenize=tokenBase,OUTCLASS;stream.eat(/['"]/)}return singleline&&(state.tokenize=tokenBase),OUTCLASS}}function tokenLexer(stream,state){var style=state.tokenize(stream,state),current=stream.current();// Handle '.' connected identifiers
|
|
11
|
+
if("."===current)return style=state.tokenize(stream,state),"variable"===style?"variable":"error";var delimiter_index="[({".indexOf(current);return-1!==delimiter_index&&indent(stream,state),delimiter_index="])}".indexOf(current),-1!==delimiter_index&&dedent(stream,state)?"error":style}if(hasRequiredVb)return vb$1;hasRequiredVb=1,Object.defineProperty(vb$1,"__esModule",{value:!0});var ERRORCLASS="error",singleOperators=/^[\+\-\*/%&\\|\^~<>!]/,singleDelimiters=/^[\(\)\[\]\{\}@,:`=;\.]/,doubleOperators=/^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(\/\/)|(\*\*))/,doubleDelimiters=/^((\+=)|(\-=)|(\*=)|(%=)|(\/=)|(&=)|(\|=)|(\^=))/,tripleDelimiters=/^((\/\/=)|(>>=)|(<<=)|(\*\*=))/,identifiers=/^[_A-Za-z][_A-Za-z0-9]*/,openingKeywords=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],middleKeywords=["else","elseif","case","catch","finally"],endKeywords=["next","loop"],operatorKeywords=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],wordOperators=wordRegexp(operatorKeywords),commonKeywords=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],commontypes=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],keywords=wordRegexp(commonKeywords),types=wordRegexp(commontypes),stringPrefixes="\"",opening=wordRegexp(openingKeywords),middle=wordRegexp(middleKeywords),closing=wordRegexp(endKeywords),doubleClosing=wordRegexp(["end"]),doOpening=wordRegexp(["do"]);const vb={name:"vb",startState:function(){return{tokenize:tokenBase,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(stream,state){stream.sol()&&(state.currentIndent+=state.nextLineIndent,state.nextLineIndent=0,state.doInCurrentLine=0);var style=tokenLexer(stream,state);return state.lastToken={style:style,content:stream.current()},style},indent:function(state,textAfter,cx){var trueText=textAfter.replace(/^\s+|\s+$/g,"");return trueText.match(closing)||trueText.match(doubleClosing)||trueText.match(middle)?cx.unit*(state.currentIndent-1):0>state.currentIndent?0:state.currentIndent*cx.unit},languageData:{closeBrackets:{brackets:["(","[","{","\""]},commentTokens:{line:"'"},autocomplete:openingKeywords.concat(middleKeywords).concat(endKeywords).concat(operatorKeywords).concat(commonKeywords).concat(commontypes)}};return vb$1.vb=vb,vb$1}(),vb=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(vbExports);return module.exports=vb,module.exports}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredVbscript,vbscript$1={},vbscriptExports=function requireVbscript(){function mkVBScript(parserConf){function wordRegexp(words){return new RegExp("^(("+words.join(")|(")+"))\\b","i")}function indent(_stream,state){state.currentIndent++}function dedent(_stream,state){state.currentIndent--}// tokenizers
|
|
2
|
+
function tokenBase(stream,state){if(stream.eatSpace())return null;//return null;
|
|
3
|
+
var ch=stream.peek();// Handle Comments
|
|
4
|
+
if("'"===ch)return stream.skipToEnd(),"comment";if(stream.match(comment))return stream.skipToEnd(),"comment";// Handle Number Literals
|
|
5
|
+
if(stream.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!stream.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var floatLiteral=!1;// Floats
|
|
6
|
+
if(stream.match(/^\d*\.\d+/i)?floatLiteral=!0:stream.match(/^\d+\.\d*/)?floatLiteral=!0:stream.match(/^\.\d+/)&&(floatLiteral=!0),floatLiteral)return stream.eat(/J/i),"number";// Integers
|
|
7
|
+
var intLiteral=!1;// Hex
|
|
8
|
+
if(stream.match(/^&H[0-9a-f]+/i)?intLiteral=!0:stream.match(/^&O[0-7]+/i)?intLiteral=!0:stream.match(/^[1-9]\d*F?/)?(stream.eat(/J/i),intLiteral=!0):stream.match(/^0(?![\dx])/i)&&(intLiteral=!0),intLiteral)return stream.eat(/L/i),"number"}// Handle Strings
|
|
9
|
+
return stream.match("\"")?(state.tokenize=tokenStringFactory(stream.current()),state.tokenize(stream,state)):stream.match(doubleOperators)||stream.match(singleOperators)||stream.match(wordOperators)?"operator":stream.match(singleDelimiters)?null:stream.match(brackets)?"bracket":stream.match(noIndentWords)?(state.doInCurrentLine=!0,"keyword"):stream.match(doOpening)?(indent(stream,state),state.doInCurrentLine=!0,"keyword"):stream.match(opening)?(state.doInCurrentLine?state.doInCurrentLine=!1:indent(stream,state),"keyword"):stream.match(middle)?"keyword":stream.match(doubleClosing)?(dedent(stream,state),dedent(stream,state),"keyword"):stream.match(closing)?(state.doInCurrentLine?state.doInCurrentLine=!1:dedent(stream,state),"keyword"):stream.match(keywords)?"keyword":stream.match(atoms)?"atom":stream.match(known)?"variableName.special":stream.match(builtinFuncs)?"builtin":stream.match(builtinObjs)?"builtin":stream.match(identifiers)?"variable":(stream.next(),"error");// Handle operators and Delimiters
|
|
10
|
+
// Handle non-detected items
|
|
11
|
+
}function tokenStringFactory(delimiter){var singleline=1==delimiter.length,OUTCLASS="string";return function(stream,state){for(;!stream.eol();){if(stream.eatWhile(/[^'"]/),stream.match(delimiter))return state.tokenize=tokenBase,OUTCLASS;stream.eat(/['"]/)}return singleline&&(state.tokenize=tokenBase),OUTCLASS}}function tokenLexer(stream,state){var style=state.tokenize(stream,state),current=stream.current();// Handle '.' connected identifiers
|
|
12
|
+
return"."===current?(style=state.tokenize(stream,state),current=stream.current(),style&&("variable"===style.substr(0,8)||"builtin"===style||"keyword"===style)?(("builtin"===style||"keyword"===style)&&(style="variable"),-1<knownWords.indexOf(current.substr(1))&&(style="keyword"),style):"error"):style}var ERRORCLASS="error",singleOperators=/^[\+\-\*/&\\\^<>=]/,doubleOperators=/^((<>)|(<=)|(>=))/,singleDelimiters=/^[\.,]/,brackets=/^[\(\)]/,identifiers=/^[A-Za-z][_A-Za-z0-9]*/,openingKeywords=["class","sub","select","while","if","function","property","with","for"],middleKeywords=["else","elseif","case"],endKeywords=["next","loop","wend"],wordOperators=wordRegexp(["and","or","not","xor","is","mod","eqv","imp"]),commonkeywords=["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"],atomWords=["true","false","nothing","empty","null"],builtinFuncsWords=["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"],builtinConsts=["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"],builtinObjsWords=["WScript","err","debug","RegExp"],knownProperties=["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"],knownMethods=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"],aspBuiltinObjsWords=["server","response","request","session","application"],aspKnownProperties=["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status",//response
|
|
13
|
+
"clientcertificate","cookies","form","querystring","servervariables","totalbytes",//request
|
|
14
|
+
"contents","staticobjects",//application
|
|
15
|
+
"codepage","lcid","sessionid","timeout",//session
|
|
16
|
+
"scripttimeout"],aspKnownMethods=["addheader","appendtolog","binarywrite","end","flush","redirect",//response
|
|
17
|
+
"binaryread",//request
|
|
18
|
+
"remove","removeall","lock","unlock",//application
|
|
19
|
+
"abandon",//session
|
|
20
|
+
"getlasterror","htmlencode","mappath","transfer","urlencode"],knownWords=knownMethods.concat(knownProperties);//This list was from: http://msdn.microsoft.com/en-us/library/f8tbc79x(v=vs.84).aspx
|
|
21
|
+
//This list was from: http://msdn.microsoft.com/en-us/library/3ca8tfek(v=vs.84).aspx
|
|
22
|
+
//This list was from: http://msdn.microsoft.com/en-us/library/ydz4cfk3(v=vs.84).aspx
|
|
23
|
+
//This list was from: http://msdn.microsoft.com/en-us/library/hkc375ea(v=vs.84).aspx
|
|
24
|
+
//server
|
|
25
|
+
//server
|
|
26
|
+
builtinObjsWords=builtinObjsWords.concat(builtinConsts),parserConf.isASP&&(builtinObjsWords=builtinObjsWords.concat(aspBuiltinObjsWords),knownWords=knownWords.concat(aspKnownMethods,aspKnownProperties));var keywords=wordRegexp(commonkeywords),atoms=wordRegexp(atomWords),builtinFuncs=wordRegexp(builtinFuncsWords),builtinObjs=wordRegexp(builtinObjsWords),known=wordRegexp(knownWords),stringPrefixes="\"",opening=wordRegexp(openingKeywords),middle=wordRegexp(middleKeywords),closing=wordRegexp(endKeywords),doubleClosing=wordRegexp(["end"]),doOpening=wordRegexp(["do"]),noIndentWords=wordRegexp(["on error resume next","exit"]),comment=wordRegexp(["rem"]);return{name:"vbscript",startState:function(){return{tokenize:tokenBase,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(stream,state){stream.sol()&&(state.currentIndent+=state.nextLineIndent,state.nextLineIndent=0,state.doInCurrentLine=0);var style=tokenLexer(stream,state);return state.lastToken={style:style,content:stream.current()},null===style&&(style=null),style},indent:function(state,textAfter,cx){var trueText=textAfter.replace(/^\s+|\s+$/g,"");return trueText.match(closing)||trueText.match(doubleClosing)||trueText.match(middle)?cx.unit*(state.currentIndent-1):0>state.currentIndent?0:state.currentIndent*cx.unit}}}if(hasRequiredVbscript)return vbscript$1;hasRequiredVbscript=1,Object.defineProperty(vbscript$1,"__esModule",{value:!0});const vbScript=mkVBScript({}),vbScriptASP=mkVBScript({isASP:!0});return vbscript$1.vbScript=vbScript,vbscript$1.vbScriptASP=vbScriptASP,vbscript$1}(),vbscript=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(vbscriptExports);return module.exports=vbscript,module.exports}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredVelocity,velocity$1={},velocityExports=function requireVelocity(){function parseWords(str){for(var obj={},words=str.split(" "),i=0;i<words.length;++i)obj[words[i]]=!0;return obj}function chain(stream,state,f){return state.tokenize=f,f(stream,state)}function tokenBase(stream,state){var beforeParams=state.beforeParams;state.beforeParams=!1;var ch=stream.next();// start of unparsed string?
|
|
2
|
+
if("'"==ch&&!state.inString&&state.inParams)return state.lastTokenWasBuiltin=!1,chain(stream,state,tokenString(ch));// start of parsed string?
|
|
3
|
+
if("\""==ch){if(state.lastTokenWasBuiltin=!1,state.inString)return state.inString=!1,"string";if(state.inParams)return chain(stream,state,tokenString(ch))}// is it one of the special signs []{}().,;? Separator?
|
|
4
|
+
else{if(/[\[\]{}\(\),;\.]/.test(ch))return"("==ch&&beforeParams?state.inParams=!0:")"==ch&&(state.inParams=!1,state.lastTokenWasBuiltin=!0),null;// start of a number value?
|
|
5
|
+
if(/\d/.test(ch))return state.lastTokenWasBuiltin=!1,stream.eatWhile(/[\w\.]/),"number";// multi line comment?
|
|
6
|
+
if("#"==ch&&stream.eat("*"))return state.lastTokenWasBuiltin=!1,chain(stream,state,tokenComment);// unparsed content?
|
|
7
|
+
if("#"==ch&&stream.match(/ *\[ *\[/))return state.lastTokenWasBuiltin=!1,chain(stream,state,tokenUnparsed);// single line comment?
|
|
8
|
+
if("#"==ch&&stream.eat("#"))return state.lastTokenWasBuiltin=!1,stream.skipToEnd(),"comment";// variable?
|
|
9
|
+
if("$"==ch)// is it one of the specials?
|
|
10
|
+
return stream.eat("!"),stream.eatWhile(/[\w\d\$_\.{}-]/),specials&&specials.propertyIsEnumerable(stream.current())?"keyword":(state.lastTokenWasBuiltin=!0,state.beforeParams=!0,"builtin");// is it a operator?
|
|
11
|
+
if(isOperatorChar.test(ch))return state.lastTokenWasBuiltin=!1,stream.eatWhile(isOperatorChar),"operator";stream.eatWhile(/[\w\$_{}@]/);var word=stream.current();// is it one of the listed keywords?
|
|
12
|
+
return keywords&&keywords.propertyIsEnumerable(word)?"keyword":functions&&functions.propertyIsEnumerable(word)||stream.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==stream.peek()&&!(functions&&functions.propertyIsEnumerable(word.toLowerCase()))?(state.beforeParams=!0,state.lastTokenWasBuiltin=!1,"keyword"):state.inString?(state.lastTokenWasBuiltin=!1,"string"):stream.pos>word.length&&"."==stream.string.charAt(stream.pos-word.length-1)&&state.lastTokenWasBuiltin?"builtin":(state.lastTokenWasBuiltin=!1,null);// is it one of the listed functions?
|
|
13
|
+
// default: just a "word"
|
|
14
|
+
}}function tokenString(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}if("\""==quote&&"$"==stream.peek()&&!escaped){state.inString=!0,end=!0;break}escaped=!escaped&&"\\"==next}return end&&(state.tokenize=tokenBase),"string"}}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("#"==ch&&maybeEnd){state.tokenize=tokenBase;break}maybeEnd="*"==ch}return"comment"}function tokenUnparsed(stream,state){for(var ch,maybeEnd=0;ch=stream.next();){if("#"==ch&&2==maybeEnd){state.tokenize=tokenBase;break}"]"==ch?maybeEnd++:" "!=ch&&(maybeEnd=0)}return"meta"}// Interface
|
|
15
|
+
if(hasRequiredVelocity)return velocity$1;hasRequiredVelocity=1,Object.defineProperty(velocity$1,"__esModule",{value:!0});var keywords=parseWords("#end #else #break #stop #[[ #]] #{end} #{else} #{break} #{stop}"),functions=parseWords("#if #elseif #foreach #set #include #parse #macro #define #evaluate #{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}"),specials=parseWords("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent"),isOperatorChar=/[+\-*&%=<>!?:\/|]/;const velocity={name:"velocity",startState:function(){return{tokenize:tokenBase,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(stream,state){return stream.eatSpace()?null:state.tokenize(stream,state)},languageData:{commentTokens:{line:"##",block:{open:"#*",close:"*#"}}}};return velocity$1.velocity=velocity,velocity$1}(),velocity=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(velocityExports);return module.exports=velocity,module.exports}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredVerilog,verilog$1={},verilogExports=function requireVerilog(){function mkVerilog(parserConfig){function words(str){for(var obj={},words=str.split(" "),i=0;i<words.length;++i)obj[words[i]]=!0;return obj}/**
|
|
2
|
+
* Keywords from IEEE 1800-2012
|
|
3
|
+
*/function tokenBase(stream,state){var style,ch=stream.peek();if(hooks[ch]&&!1!=(style=hooks[ch](stream,state)))return style;if(hooks.tokenBase&&!1!=(style=hooks.tokenBase(stream,state)))return style;if(/[,;:\.]/.test(ch))return curPunc=stream.next(),null;if(isBracketChar.test(ch))return curPunc=stream.next(),"bracket";// Macros (tick-defines)
|
|
4
|
+
if("`"==ch)return stream.next(),stream.eatWhile(/[\w\$_]/)?"def":null;// System calls
|
|
5
|
+
if("$"==ch)return stream.next(),stream.eatWhile(/[\w\$_]/)?"meta":null;// Time literals
|
|
6
|
+
if("#"==ch)return stream.next(),stream.eatWhile(/[\d_.]/),"def";// Strings
|
|
7
|
+
if("\""==ch)return stream.next(),state.tokenize=tokenString(ch),state.tokenize(stream,state);// Comments
|
|
8
|
+
if("/"==ch){if(stream.next(),stream.eat("*"))return state.tokenize=tokenComment,tokenComment(stream,state);if(stream.eat("/"))return stream.skipToEnd(),"comment";stream.backUp(1)}// Numeric literals
|
|
9
|
+
if(stream.match(realLiteral)||stream.match(decimalLiteral)||stream.match(binaryLiteral)||stream.match(octLiteral)||stream.match(hexLiteral)||stream.match(unsignedNumber)||stream.match(realLiteral))return"number";// Operators
|
|
10
|
+
if(stream.eatWhile(isOperatorChar))return"meta";// Keywords / plain variables
|
|
11
|
+
if(stream.eatWhile(/[\w\$_]/)){var cur=stream.current();return keywords[cur]?(openClose[cur]&&(curPunc="newblock"),statementKeywords[cur]&&(curPunc="newstatement"),curKeyword=cur,"keyword"):"variable"}return stream.next(),null}function tokenString(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return(end||!(escaped||multiLineStrings))&&(state.tokenize=tokenBase),"string"}}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=tokenBase;break}maybeEnd="*"==ch}return"comment"}function Context(indented,column,type,align,prev){this.indented=indented,this.column=column,this.type=type,this.align=align,this.prev=prev}function pushContext(state,col,type){var indent=state.indented,c=new Context(indent,col,type,null,state.context);return state.context=c}function popContext(state){var t=state.context.type;return(")"==t||"]"==t||"}"==t)&&(state.indented=state.context.indented),state.context=state.context.prev}function isClosing(text,contextClosing){if(text==contextClosing)return!0;// contextClosing may be multiple keywords separated by ;
|
|
12
|
+
var closingKeywords=contextClosing.split(";");for(var i in closingKeywords)if(text==closingKeywords[i])return!0;return!1}function buildElectricInputRegEx(){// Reindentation should occur on any bracket char: {}()[]
|
|
13
|
+
// or on a match of any of the block closing keywords, at
|
|
14
|
+
// the end of a line
|
|
15
|
+
var allClosings=[];for(var i in openClose)if(openClose[i]){var closings=openClose[i].split(";");for(var j in closings)allClosings.push(closings[j])}var re=new RegExp("[{}()\\[\\]]|("+allClosings.join("|")+")$");return re}// Interface
|
|
16
|
+
var curPunc,curKeyword,statementIndentUnit=parserConfig.statementIndentUnit,dontAlignCalls=parserConfig.dontAlignCalls,noIndentKeywords=parserConfig.noIndentKeywords||[],multiLineStrings=parserConfig.multiLineStrings,hooks=parserConfig.hooks||{},keywords=words("accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor"),isOperatorChar=/[\+\-\*\/!~&|^%=?:]/,isBracketChar=/[\[\]{}()]/,unsignedNumber=/\d[0-9_]*/,decimalLiteral=/\d*\s*'s?d\s*\d[0-9_]*/i,binaryLiteral=/\d*\s*'s?b\s*[xz01][xz01_]*/i,octLiteral=/\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i,hexLiteral=/\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i,realLiteral=/(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i,closingBracketOrWord=/^((\w+)|[)}\]])/,closingBracket=/[)}\]]/,blockKeywords=words("case checker class clocking config function generate interface module package primitive program property specify sequence table task"),openClose={};/** Operators from IEEE 1800-2012
|
|
17
|
+
unary_operator ::=
|
|
18
|
+
+ | - | ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
|
|
19
|
+
binary_operator ::=
|
|
20
|
+
+ | - | * | / | % | == | != | === | !== | ==? | !=? | && | || | **
|
|
21
|
+
| < | <= | > | >= | & | | | ^ | ^~ | ~^ | >> | << | >>> | <<<
|
|
22
|
+
| -> | <->
|
|
23
|
+
inc_or_dec_operator ::= ++ | --
|
|
24
|
+
unary_module_path_operator ::=
|
|
25
|
+
! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
|
|
26
|
+
binary_module_path_operator ::=
|
|
27
|
+
== | != | && | || | & | | | ^ | ^~ | ~^
|
|
28
|
+
*/ // Block openings which are closed by a matching keyword in the form of ("end" + keyword)
|
|
29
|
+
// E.g. "task" => "endtask"
|
|
30
|
+
// Opening/closing pairs
|
|
31
|
+
for(var keyword in blockKeywords)openClose[keyword]="end"+keyword;for(var i in openClose.begin="end",openClose.casex="endcase",openClose.casez="endcase",openClose["do"]="while",openClose.fork="join;join_any;join_none",openClose.covergroup="endgroup",noIndentKeywords){var keyword=noIndentKeywords[i];openClose[keyword]&&(openClose[keyword]=void 0)}// Keywords which open statements that are ended with a semi-colon
|
|
32
|
+
var statementKeywords=words("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while");return{name:"verilog",startState:function(indentUnit){var state={tokenize:null,context:new Context(-indentUnit,0,"top",!1),indented:0,startOfLine:!0};return hooks.startState&&hooks.startState(state),state},token:function(stream,state){var ctx=state.context;if(stream.sol()&&(null==ctx.align&&(ctx.align=!1),state.indented=stream.indentation(),state.startOfLine=!0),hooks.token){// Call hook, with an optional return value of a style to override verilog styling.
|
|
33
|
+
var style=hooks.token(stream,state);if(void 0!==style)return style}if(stream.eatSpace())return null;curPunc=null,curKeyword=null;var style=(state.tokenize||tokenBase)(stream,state);if("comment"==style||"meta"==style||"variable"==style)return style;if(null==ctx.align&&(ctx.align=!0),curPunc==ctx.type)popContext(state);else if(";"==curPunc&&"statement"==ctx.type||ctx.type&&isClosing(curKeyword,ctx.type))for(ctx=popContext(state);ctx&&"statement"==ctx.type;)ctx=popContext(state);else if("{"==curPunc)pushContext(state,stream.column(),"}");else if("["==curPunc)pushContext(state,stream.column(),"]");else if("("==curPunc)pushContext(state,stream.column(),")");else if(ctx&&"endcase"==ctx.type&&":"==curPunc)pushContext(state,stream.column(),"statement");else if("newstatement"==curPunc)pushContext(state,stream.column(),"statement");else if("newblock"==curPunc)if("function"==curKeyword&&ctx&&("statement"==ctx.type||"endgroup"==ctx.type));else if("task"==curKeyword&&ctx&&"statement"==ctx.type);else{var close=openClose[curKeyword];pushContext(state,stream.column(),close)}return state.startOfLine=!1,style},indent:function(state,textAfter,cx){if(state.tokenize!=tokenBase&&null!=state.tokenize)return null;if(hooks.indent){var fromHook=hooks.indent(state);if(0<=fromHook)return fromHook}var ctx=state.context,firstChar=textAfter&&textAfter.charAt(0);"statement"==ctx.type&&"}"==firstChar&&(ctx=ctx.prev);var closing=!1,possibleClosing=textAfter.match(closingBracketOrWord);return possibleClosing&&(closing=isClosing(possibleClosing[0],ctx.type)),"statement"==ctx.type?ctx.indented+("{"==firstChar?0:statementIndentUnit||cx.unit):closingBracket.test(ctx.type)&&ctx.align&&!dontAlignCalls?ctx.column+(closing?0:1):")"!=ctx.type||closing?ctx.indented+(closing?0:cx.unit):ctx.indented+(statementIndentUnit||cx.unit)},languageData:{indentOnInput:buildElectricInputRegEx(),commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}}if(hasRequiredVerilog)return verilog$1;hasRequiredVerilog=1,Object.defineProperty(verilog$1,"__esModule",{value:!0});const verilog=mkVerilog({});// TL-Verilog mode.
|
|
34
|
+
// See tl-x.org for language spec.
|
|
35
|
+
// See the mode in action at makerchip.com.
|
|
36
|
+
// Contact: steve.hoover@redwoodeda.com
|
|
37
|
+
// TLV Identifier prefixes.
|
|
38
|
+
// Note that sign is not treated separately, so "+/-" versions of numeric identifiers
|
|
39
|
+
// are included.
|
|
40
|
+
var tlvIdentifierStyle={"|":"link",">":"property",// Should condition this off for > TLV 1c.
|
|
41
|
+
$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"contentSeparator","/":"property","/-":"property","@":"variableName.special","@-":"variableName.special","@++":"variableName.special","@+=":"variableName.special","@+=-":"variableName.special","@--":"variableName.special","@-=":"variableName.special","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag",// Need to choose a style for this.
|
|
42
|
+
"^":"attribute","^^":"attribute","^!":"attribute","*":"variable","**":"variable","\\":"keyword",'"':"comment"},tlvScopePrefixChars={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},tlvIndentUnit=3,tlvIdentMatch=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,tlvLineIndentationMatch=/^[! ] */,tlvCommentMatch=/^\/[\/\*]/;// Lines starting with these characters define scope (result in indentation).
|
|
43
|
+
// Matches an identifier.
|
|
44
|
+
// Note that ':' is excluded, because of it's use in [:].
|
|
45
|
+
const tlv=mkVerilog({hooks:{electricInput:!1,// Return undefined for verilog tokenizing, or style for TLV token (null not used).
|
|
46
|
+
// Standard CM styles are used for most formatting, but some TL-Verilog-specific highlighting
|
|
47
|
+
// can be enabled with the definition of cm-tlv-* styles, including highlighting for:
|
|
48
|
+
// - M4 tokens
|
|
49
|
+
// - TLV scope indentation
|
|
50
|
+
// - Statement delimitation (enabled by tlvTrackStatements)
|
|
51
|
+
token:function(stream,state){var match,style=void 0;// Return value of pattern matches.
|
|
52
|
+
// Set highlighting mode based on code region (TLV or SV).
|
|
53
|
+
if(stream.sol()&&!state.tlvInBlockComment){"\\"==stream.peek()&&(style="def",stream.skipToEnd(),stream.string.match(/\\SV/)?state.tlvCodeActive=!1:stream.string.match(/\\TLV/)&&(state.tlvCodeActive=!0)),state.tlvCodeActive&&0==stream.pos&&0==state.indented&&(match=stream.match(tlvLineIndentationMatch,!1))&&(state.indented=match[0].length);// Compute indentation state:
|
|
54
|
+
// o Auto indentation on next line
|
|
55
|
+
// o Indentation scope styles
|
|
56
|
+
var indented=state.indented,depth=indented/tlvIndentUnit;if(depth<=state.tlvIndentationStyle.length){// not deeper than current scope
|
|
57
|
+
var blankline=stream.string.length==indented,chPos=depth*tlvIndentUnit;if(chPos<stream.string.length){var bodyString=stream.string.slice(chPos),ch=bodyString[0];tlvScopePrefixChars[ch]&&(match=bodyString.match(tlvIdentMatch))&&tlvIdentifierStyle[match[1]]&&(indented+=tlvIndentUnit,!("\\"==ch&&0<chPos)&&(state.tlvIndentationStyle[depth]=tlvScopePrefixChars[ch],depth++))}// Clear out deeper indentation levels unless line is blank.
|
|
58
|
+
if(!blankline)for(;state.tlvIndentationStyle.length>depth;)state.tlvIndentationStyle.pop()}// Set next level of indentation.
|
|
59
|
+
state.tlvNextIndent=indented}if(state.tlvCodeActive){var match;if(void 0!==style);else if(state.tlvInBlockComment)stream.match(/^.*?\*\//)?state.tlvInBlockComment=!1:stream.skipToEnd(),style="comment";else if((match=stream.match(tlvCommentMatch))&&!state.tlvInBlockComment)"//"==match[0]?stream.skipToEnd():state.tlvInBlockComment=!0,style="comment";else if(match=stream.match(tlvIdentMatch)){// looks like an identifier (or identifier prefix)
|
|
60
|
+
var prefix=match[1],mnemonic=match[2];// is identifier prefix
|
|
61
|
+
tlvIdentifierStyle.hasOwnProperty(prefix)&&(// has mnemonic or we're at the end of the line (maybe it hasn't been typed yet)
|
|
62
|
+
0<mnemonic.length||stream.eol())?style=tlvIdentifierStyle[prefix]:stream.backUp(stream.current().length-1)}else stream.match(/^\t+/)?// Highlight tabs, which are illegal.
|
|
63
|
+
style="invalid":stream.match(/^[\[\]{}\(\);\:]+/)?// [:], (), {}, ;.
|
|
64
|
+
style="meta":(match=stream.match(/^[mM]4([\+_])?[\w\d_]*/))?// m4 pre proc
|
|
65
|
+
style="+"==match[1]?"keyword.special":"keyword":stream.match(/^ +/)?stream.eol()&&(style="error"):stream.match(/^[\w\d_]+/)?// alpha-numeric token.
|
|
66
|
+
style="number":// Eat the next char w/ no formatting.
|
|
67
|
+
stream.next()}else stream.match(/^[mM]4([\w\d_]*)/)&&(style="keyword");return style},indent:function(state){return!0==state.tlvCodeActive?state.tlvNextIndent:-1},startState:function(state){state.tlvIndentationStyle=[],state.tlvCodeActive=!0,state.tlvNextIndent=-1,state.tlvInBlockComment=!1}}});return verilog$1.tlv=tlv,verilog$1.verilog=verilog,verilog$1}(),verilog=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(verilogExports);return module.exports=verilog,module.exports}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredVhdl,vhdl$1={},vhdlExports=function requireVhdl(){function words(str){for(var obj={},words=str.split(","),i=0;i<words.length;++i){var allCaps=words[i].toUpperCase(),firstCap=words[i].charAt(0).toUpperCase()+words[i].slice(1);obj[words[i]]=!0,obj[allCaps]=!0,obj[firstCap]=!0}return obj}function metaHook(stream){return stream.eatWhile(/[\w\$_]/),"meta"}function tokenBase(stream,state){var ch=stream.next();if(hooks[ch]){var result=hooks[ch](stream,state);if(!1!==result)return result}if("\""==ch)return state.tokenize=tokenString2(ch),state.tokenize(stream,state);if("'"==ch)return state.tokenize=tokenString(ch),state.tokenize(stream,state);if(/[\[\]{}\(\),;\:\.]/.test(ch))return curPunc=ch,null;if(/[\d']/.test(ch))return stream.eatWhile(/[\w\.']/),"number";if("-"==ch&&stream.eat("-"))return stream.skipToEnd(),"comment";if(isOperatorChar.test(ch))return stream.eatWhile(isOperatorChar),"operator";stream.eatWhile(/[\w\$_]/);var cur=stream.current();return keywords.propertyIsEnumerable(cur.toLowerCase())?(blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"keyword"):atoms.propertyIsEnumerable(cur)?"atom":"variable"}function tokenString(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"--"==next}return(end||!escaped&&1)&&(state.tokenize=tokenBase),"string"}}function tokenString2(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"--"==next}return(end||!escaped&&1)&&(state.tokenize=tokenBase),"string.special"}}function Context(indented,column,type,align,prev){this.indented=indented,this.column=column,this.type=type,this.align=align,this.prev=prev}function pushContext(state,col,type){return state.context=new Context(state.indented,col,type,null,state.context)}function popContext(state){var t=state.context.type;return(")"==t||"]"==t||"}"==t)&&(state.indented=state.context.indented),state.context=state.context.prev}// Interface
|
|
2
|
+
if(hasRequiredVhdl)return vhdl$1;hasRequiredVhdl=1,Object.defineProperty(vhdl$1,"__esModule",{value:!0});var curPunc,atoms=words("null"),hooks={"`":metaHook,$:metaHook},multiLineStrings=!1,keywords=words("abs,access,after,alias,all,and,architecture,array,assert,attribute,begin,block,body,buffer,bus,case,component,configuration,constant,disconnect,downto,else,elsif,end,end block,end case,end component,end for,end generate,end if,end loop,end process,end record,end units,entity,exit,file,for,function,generate,generic,generic map,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage,literal,loop,map,mod,nand,new,next,nor,null,of,on,open,or,others,out,package,package body,port,port map,postponed,procedure,process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,signal,sla,sll,sra,srl,subtype,then,to,transport,type,unaffected,units,until,use,variable,wait,when,while,with,xnor,xor"),blockKeywords=words("architecture,entity,begin,case,port,else,elsif,end,for,function,if"),isOperatorChar=/[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/;const vhdl={name:"vhdl",startState:function(indentUnit){return{tokenize:null,context:new Context(-indentUnit,0,"top",!1),indented:0,startOfLine:!0}},token:function(stream,state){var ctx=state.context;if(stream.sol()&&(null==ctx.align&&(ctx.align=!1),state.indented=stream.indentation(),state.startOfLine=!0),stream.eatSpace())return null;curPunc=null;var style=(state.tokenize||tokenBase)(stream,state);if("comment"==style||"meta"==style)return style;if(null==ctx.align&&(ctx.align=!0),(";"==curPunc||":"==curPunc)&&"statement"==ctx.type)popContext(state);else if("{"==curPunc)pushContext(state,stream.column(),"}");else if("["==curPunc)pushContext(state,stream.column(),"]");else if("("==curPunc)pushContext(state,stream.column(),")");else if("}"==curPunc){for(;"statement"==ctx.type;)ctx=popContext(state);for("}"==ctx.type&&(ctx=popContext(state));"statement"==ctx.type;)ctx=popContext(state)}else curPunc==ctx.type?popContext(state):("}"==ctx.type||"top"==ctx.type||"statement"==ctx.type&&"newstatement"==curPunc)&&pushContext(state,stream.column(),"statement");return state.startOfLine=!1,style},indent:function(state,textAfter,cx){if(state.tokenize!=tokenBase&&null!=state.tokenize)return 0;var firstChar=textAfter&&textAfter.charAt(0),ctx=state.context,closing=firstChar==ctx.type;return"statement"==ctx.type?ctx.indented+("{"==firstChar?0:cx.unit):ctx.align?ctx.column+(closing?0:1):ctx.indented+(closing?0:cx.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"--"}}};return vhdl$1.vhdl=vhdl,vhdl$1}(),vhdl=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(vhdlExports);return module.exports=vhdl,module.exports}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredWast,wast$1={},wastExports=function requireWast(){function simpleMode(states){ensureState(states,"start");var states_={},meta=states.languageData||{},hasIndentation=!1;for(var state in states)if(state!=meta&&states.hasOwnProperty(state))for(var data,list=states_[state]=[],orig=states[state],i=0;i<orig.length;i++)data=orig[i],list.push(new Rule(data,states)),(data.indent||data.dedent)&&(hasIndentation=!0);return{name:meta.name,startState:function(){return{state:"start",pending:null,indent:hasIndentation?[]:null}},copyState:function(state){var s={state:state.state,pending:state.pending,indent:state.indent&&state.indent.slice(0)};return state.stack&&(s.stack=state.stack.slice(0)),s},token:tokenFunction(states_),indent:indentFunction(states_,meta),mergeTokens:meta.mergeTokens,languageData:meta}}function ensureState(states,name){if(!states.hasOwnProperty(name))throw new Error("Undefined state "+name+" in simple mode")}function toRegex(val,caret){if(!val)return /(?:)/;var flags="";return val instanceof RegExp?(val.ignoreCase&&(flags="i"),val.unicode&&(flags+="u"),val=val.source):val+="",new RegExp("^(?:"+val+")",flags)}function asToken(val){if(!val)return null;if(val.apply)return val;if("string"==typeof val)return val.replace(/\./g," ");for(var result=[],i=0;i<val.length;i++)result.push(val[i]&&val[i].replace(/\./g," "));return result}function Rule(data,states){(data.next||data.push)&&ensureState(states,data.next||data.push),this.regex=toRegex(data.regex),this.token=asToken(data.token),this.data=data}function tokenFunction(states){return function(stream,state){if(state.pending){var pend=state.pending.shift();return 0==state.pending.length&&(state.pending=null),stream.pos+=pend.text.length,pend.token}for(var curState=states[state.state],i=0;i<curState.length;i++){var rule=curState[i],matches=(!rule.data.sol||stream.sol())&&stream.match(rule.regex);if(matches){rule.data.next?state.state=rule.data.next:rule.data.push?((state.stack||(state.stack=[])).push(state.state),state.state=rule.data.push):rule.data.pop&&state.stack&&state.stack.length&&(state.state=state.stack.pop()),rule.data.indent&&state.indent.push(stream.indentation()+stream.indentUnit),rule.data.dedent&&state.indent.pop();var token=rule.token;if(token&&token.apply&&(token=token(matches)),2<matches.length&&rule.token&&"string"!=typeof rule.token){state.pending=[];for(var j=2;j<matches.length;j++)matches[j]&&state.pending.push({text:matches[j],token:rule.token[j-1]});return stream.backUp(matches[0].length-(matches[1]?matches[1].length:0)),token[0]}return token&&token.join?token[0]:token}}return stream.next(),null}}function indentFunction(states,meta){return function(state,textAfter){if(null==state.indent||meta.dontIndentStates&&-1<meta.dontIndentStates.indexOf(state.state))return null;var pos=state.indent.length-1,rules=states[state.state];scan:for(;;){for(var rule,i=0;i<rules.length;i++)if(rule=rules[i],rule.data.dedent&&!1!==rule.data.dedentIfLineStart){var m=rule.regex.exec(textAfter);if(m&&m[0]){pos--,(rule.next||rule.push)&&(rules=states[rule.next||rule.push]),textAfter=textAfter.slice(m[0].length);continue scan}}break}return 0>pos?0:state.indent[pos]}}if(hasRequiredWast)return wast$1;hasRequiredWast=1,Object.defineProperty(wast$1,"__esModule",{value:!0});var kKeywords=["align","block","br(_if|_table|_on_(cast|data|func|i31|null))?","call(_indirect|_ref)?","current_memory","\\bdata\\b","catch(_all)?","delegate","drop","elem","else","end","export","\\bextern\\b","\\bfunc\\b","global(\\.(get|set))?","if","import","local(\\.(get|set|tee))?","loop","module","mut","nop","offset","param","result","rethrow","return(_call(_indirect|_ref)?)?","select","start","table(\\.(size|get|set|size|grow|fill|init|copy))?","then","throw","try","type","unreachable","unwind",// Numeric opcodes.
|
|
2
|
+
"i(32|64)\\.(store(8|16)|(load(8|16)_[su]))","i64\\.(load32_[su]|store32)","[fi](32|64)\\.(const|load|store)","f(32|64)\\.(abs|add|ceil|copysign|div|eq|floor|[gl][et]|max|min|mul|nearest|neg?|sqrt|sub|trunc)","i(32|64)\\.(a[dn]d|c[lt]z|(div|rem)_[su]|eqz?|[gl][te]_[su]|mul|ne|popcnt|rot[lr]|sh(l|r_[su])|sub|x?or)","i64\\.extend_[su]_i32","i32\\.wrap_i64","i(32|64)\\.trunc_f(32|64)_[su]","f(32|64)\\.convert_i(32|64)_[su]","f64\\.promote_f32","f32\\.demote_f64","f32\\.reinterpret_i32","i32\\.reinterpret_f32","f64\\.reinterpret_i64","i64\\.reinterpret_f64",// Atomics.
|
|
3
|
+
"memory(\\.((atomic\\.(notify|wait(32|64)))|grow|size))?","i64.atomic\\.(load32_u|store32|rmw32\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u)","i(32|64)\\.atomic\\.(load((8|16)_u)?|store(8|16)?|rmw(\\.(a[dn]d|sub|x?or|(cmp)?xchg)|(8|16)\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u))",// SIMD.
|
|
4
|
+
"v128\\.load(8x8|16x4|32x2)_[su]","v128\\.load(8|16|32|64)_splat","v128\\.(load|store)(8|16|32|64)_lane","v128\\.load(32|64)_zero","v128.(load|store|const|not|andnot|and|or|xor|bitselect|any_true)","i(8x16|16x8)\\.(extract_lane_[su]|(add|sub)_sat_[su]|avgr_u)","i(8x16|16x8|32x4|64x2)\\.(neg|add|sub|abs|shl|shr_[su]|all_true|bitmask|eq|ne|[lg][te]_s)","(i(8x16|16x8|32x4|64x2)|f(32x4|64x2)).(splat|replace_lane)","i(8x16|16x8|32x4)\\.(([lg][te]_u)|((min|max)_[su]))","f(32x4|64x2)\\.(neg|add|sub|abs|nearest|eq|ne|[lg][te]|sqrt|mul|div|min|max|ceil|floor|trunc)","[fi](32x4|64x2)\\.extract_lane","i8x16\\.(shuffle|swizzle|popcnt|narrow_i16x8_[su])","i16x8\\.(narrow_i32x4_[su]|mul|extadd_pairwise_i8x16_[su]|q15mulr_sat_s)","i16x8\\.(extend|extmul)_(low|high)_i8x16_[su]","i32x4\\.(mul|dot_i16x8_s|trunc_sat_f64x2_[su]_zero)","i32x4\\.((extend|extmul)_(low|high)_i16x8_|trunc_sat_f32x4_|extadd_pairwise_i16x8_)[su]","i64x2\\.(mul|(extend|extmul)_(low|high)_i32x4_[su])","f32x4\\.(convert_i32x4_[su]|demote_f64x2_zero)","f64x2\\.(promote_low_f32x4|convert_low_i32x4_[su])",// Reference types, function references, and GC.
|
|
5
|
+
"\\bany\\b","array\\.len","(array|struct)(\\.(new_(default_)?with_rtt|get(_[su])?|set))?","\\beq\\b","field","i31\\.(new|get_[su])","\\bnull\\b","ref(\\.(([ai]s_(data|func|i31))|cast|eq|func|(is_|as_non_)?null|test))?","rtt(\\.(canon|sub))?"];const wast=simpleMode({start:[{regex:new RegExp(kKeywords.join("|")),token:"keyword"},{regex:/\b((any|data|eq|extern|i31|func)ref|[fi](32|64)|i(8|16))\b/,token:"atom"},{regex:/\b(funcref|externref|[fi](32|64))\b/,token:"atom"},{regex:/\$([a-zA-Z0-9_`\+\-\*\/\\\^~=<>!\?@#$%&|:\.]+)/,token:"variable"},{regex:/"(?:[^"\\\x00-\x1f\x7f]|\\[nt\\'"]|\\[0-9a-fA-F][0-9a-fA-F])*"/,token:"string"},{regex:/\(;.*?/,token:"comment",next:"comment"},{regex:/;;.*$/,token:"comment"},{regex:/\(/,indent:!0},{regex:/\)/,dedent:!0}],comment:[{regex:/.*?;\)/,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"wast",dontIndentStates:["comment"]}});// https://github.com/WebAssembly/design/issues/981 mentions text/webassembly,
|
|
6
|
+
// which seems like a reasonable choice, although it's not standard right now.
|
|
7
|
+
return wast$1.wast=wast,wast$1}(),wast=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(wastExports);return module.exports=wast,module.exports}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredWebidl,webidl$1={},webidlExports=function requireWebidl(){function wordRegexp(words){return new RegExp("^(("+words.join(")|(")+"))\\b")}function readToken(stream,state){// whitespace
|
|
2
|
+
if(stream.eatSpace())return null;// comment
|
|
3
|
+
if(state.inComment)return stream.match(multilineCommentsEnd)?(state.inComment=!1,"comment"):(stream.skipToEnd(),"comment");if(stream.match("//"))return stream.skipToEnd(),"comment";if(stream.match(multilineComments))return"comment";if(stream.match(multilineCommentsStart))return state.inComment=!0,"comment";// integer and float
|
|
4
|
+
if(stream.match(/^-?[0-9\.]/,!1)&&(stream.match(integers)||stream.match(floats)))return"number";// string
|
|
5
|
+
if(stream.match(strings))return"string";// identifier
|
|
6
|
+
if(state.startDef&&stream.match(identifiers))return"def";if(state.endDef&&stream.match(identifiersEnd))return state.endDef=!1,"def";if(stream.match(keywords))return"keyword";if(stream.match(types)){var lastToken=state.lastToken,nextToken=(stream.match(/^\s*(.+?)\b/,!1)||[])[1];return":"===lastToken||"implements"===lastToken||"implements"===nextToken||"="===nextToken?"builtin":"type"}return stream.match(builtins)?"builtin":stream.match(atoms)?"atom":stream.match(identifiers)?"variable":stream.match(singleOperators)?"operator":(stream.next(),null);// other
|
|
7
|
+
// unrecognized
|
|
8
|
+
}if(hasRequiredWebidl)return webidl$1;hasRequiredWebidl=1,Object.defineProperty(webidl$1,"__esModule",{value:!0});var builtinArray=["Clamp","Constructor","EnforceRange","Exposed","ImplicitThis","Global","PrimaryGlobal","LegacyArrayClass","LegacyUnenumerableNamedProperties","LenientThis","NamedConstructor","NewObject","NoInterfaceObject","OverrideBuiltins","PutForwards","Replaceable","SameObject","TreatNonObjectAsNull","TreatNullAs","EmptyString","Unforgeable","Unscopeable"],builtins=wordRegexp(builtinArray),typeArray=["unsigned","short","long",// UnsignedIntegerType
|
|
9
|
+
"unrestricted","float","double",// UnrestrictedFloatType
|
|
10
|
+
"boolean","byte","octet",// Rest of PrimitiveType
|
|
11
|
+
"Promise",// PromiseType
|
|
12
|
+
"ArrayBuffer","DataView","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","Uint8ClampedArray","Float32Array","Float64Array",// BufferRelatedType
|
|
13
|
+
"ByteString","DOMString","USVString","sequence","object","RegExp","Error","DOMException","FrozenArray",// Rest of NonAnyType
|
|
14
|
+
"any",// Rest of SingleType
|
|
15
|
+
"void"// Rest of ReturnType
|
|
16
|
+
],types=wordRegexp(typeArray),keywordArray=["attribute","callback","const","deleter","dictionary","enum","getter","implements","inherit","interface","iterable","legacycaller","maplike","partial","required","serializer","setlike","setter","static","stringifier","typedef",// ArgumentNameKeyword except
|
|
17
|
+
// "unrestricted"
|
|
18
|
+
"optional","readonly","or"],keywords=wordRegexp(keywordArray),atomArray=["true","false",// BooleanLiteral
|
|
19
|
+
"Infinity","NaN",// FloatLiteral
|
|
20
|
+
"null"// Rest of ConstValue
|
|
21
|
+
],atoms=wordRegexp(atomArray),startDefArray=["callback","dictionary","enum","interface"],startDefs=wordRegexp(startDefArray),endDefArray=["typedef"],endDefs=wordRegexp(endDefArray),singleOperators=/^[:<=>?]/,integers=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,floats=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,identifiers=/^_?[A-Za-z][0-9A-Z_a-z-]*/,identifiersEnd=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,strings=/^"[^"]*"/,multilineComments=/^\/\*.*?\*\//,multilineCommentsStart=/^\/\*.*/,multilineCommentsEnd=/^.*?\*\//;const webIDL={name:"webidl",startState:function(){return{// Is in multiline comment
|
|
22
|
+
inComment:!1,// Last non-whitespace, matched token
|
|
23
|
+
lastToken:"",// Next token is a definition
|
|
24
|
+
startDef:!1,// Last token of the statement is a definition
|
|
25
|
+
endDef:!1}},token:function(stream,state){var style=readToken(stream,state);if(style){var cur=stream.current();state.lastToken=cur,"keyword"===style?(state.startDef=startDefs.test(cur),state.endDef=state.endDef||endDefs.test(cur)):state.startDef=!1}return style},languageData:{autocomplete:builtinArray.concat(typeArray).concat(keywordArray).concat(atomArray)}};return webidl$1.webIDL=webIDL,webidl$1}(),webidl=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(webidlExports);return module.exports=webidl,module.exports}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredXml,xml$1={},xmlExports=function requireXml(){function mkXML(parserConfig){function inText(stream,state){function chain(parser){return state.tokenize=parser,parser(stream,state)}var ch=stream.next();if("<"==ch)return stream.eat("!")?stream.eat("[")?stream.match("CDATA[")?chain(inBlock("atom","]]>")):null:stream.match("--")?chain(inBlock("comment","-->")):stream.match("DOCTYPE",!0,!0)?(stream.eatWhile(/[\w\._\-]/),chain(doctype(1))):null:stream.eat("?")?(stream.eatWhile(/[\w\._\-]/),state.tokenize=inBlock("meta","?>"),"meta"):(type=stream.eat("/")?"closeTag":"openTag",state.tokenize=inTag,"angleBracket");if("&"==ch){var ok;return ok=stream.eat("#")?stream.eat("x")?stream.eatWhile(/[a-fA-F\d]/)&&stream.eat(";"):stream.eatWhile(/[\d]/)&&stream.eat(";"):stream.eatWhile(/[\w\.\-:]/)&&stream.eat(";"),ok?"atom":"error"}return stream.eatWhile(/[^&<]/),null}function inTag(stream,state){var ch=stream.next();return">"==ch||"/"==ch&&stream.eat(">")?(state.tokenize=inText,type=">"==ch?"endTag":"selfcloseTag","angleBracket"):"="==ch?(type="equals",null):"<"==ch?(state.tokenize=inText,state.state=baseState,state.tagName=state.tagStart=null,state.tokenize(stream,state),"invalid"):/[\'\"]/.test(ch)?(state.tokenize=inAttribute(ch),state.stringStartCol=stream.column(),state.tokenize(stream,state)):(stream.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function inAttribute(quote){var closure=function(stream,state){for(;!stream.eol();)if(stream.next()==quote){state.tokenize=inTag;break}return"string"};return closure.isInAttribute=!0,closure}function inBlock(style,terminator){return function(stream,state){for(;!stream.eol();){if(stream.match(terminator)){state.tokenize=inText;break}stream.next()}return style}}function doctype(depth){return function(stream,state){for(var ch;null!=(ch=stream.next());){if("<"==ch)return state.tokenize=doctype(depth+1),state.tokenize(stream,state);if(">"==ch)if(1==depth){state.tokenize=inText;break}else return state.tokenize=doctype(depth-1),state.tokenize(stream,state)}return"meta"}}function lower(tagName){return tagName&&tagName.toLowerCase()}function Context(state,tagName,startOfLine){this.prev=state.context,this.tagName=tagName||"",this.indent=state.indented,this.startOfLine=startOfLine,(config.doNotIndent.hasOwnProperty(tagName)||state.context&&state.context.noIndent)&&(this.noIndent=!0)}function popContext(state){state.context&&(state.context=state.context.prev)}function maybePopContext(state,nextTagName){for(var parentTagName;!0;){if(!state.context)return;if(parentTagName=state.context.tagName,!config.contextGrabbers.hasOwnProperty(lower(parentTagName))||!config.contextGrabbers[lower(parentTagName)].hasOwnProperty(lower(nextTagName)))return;popContext(state)}}function baseState(type,stream,state){return"openTag"==type?(state.tagStart=stream.column(),tagNameState):"closeTag"==type?closeTagNameState:baseState}function tagNameState(type,stream,state){return"word"==type?(state.tagName=stream.current(),setStyle="tag",attrState):config.allowMissingTagName&&"endTag"==type?(setStyle="angleBracket",attrState(type,stream,state)):(setStyle="error",tagNameState)}function closeTagNameState(type,stream,state){if("word"==type){var tagName=stream.current();return state.context&&state.context.tagName!=tagName&&config.implicitlyClosed.hasOwnProperty(lower(state.context.tagName))&&popContext(state),state.context&&state.context.tagName==tagName||!1===config.matchClosing?(setStyle="tag",closeState):(setStyle="error",closeStateErr)}return config.allowMissingTagName&&"endTag"==type?(setStyle="angleBracket",closeState(type,stream,state)):(setStyle="error",closeStateErr)}function closeState(type,_stream,state){return"endTag"==type?(popContext(state),baseState):(setStyle="error",closeState)}function closeStateErr(type,stream,state){return setStyle="error",closeState(type,stream,state)}function attrState(type,_stream,state){if("word"==type)return setStyle="attribute",attrEqState;if("endTag"==type||"selfcloseTag"==type){var tagName=state.tagName,tagStart=state.tagStart;return state.tagName=state.tagStart=null,"selfcloseTag"==type||config.autoSelfClosers.hasOwnProperty(lower(tagName))?maybePopContext(state,tagName):(maybePopContext(state,tagName),state.context=new Context(state,tagName,tagStart==state.indented)),baseState}return setStyle="error",attrState}function attrEqState(type,stream,state){return"equals"==type?attrValueState:(config.allowMissing||(setStyle="error"),attrState(type,stream,state))}function attrValueState(type,stream,state){return"string"==type?attrContinuedState:"word"==type&&config.allowUnquoted?(setStyle="string",attrState):(setStyle="error",attrState(type,stream,state))}function attrContinuedState(type,stream,state){return"string"==type?attrContinuedState:attrState(type,stream,state)}var config={},defaults=parserConfig.htmlMode?htmlConfig:xmlConfig;for(var prop in defaults)config[prop]=defaults[prop];for(var prop in parserConfig)config[prop]=parserConfig[prop];// Return variables for tokenizers
|
|
2
|
+
var type,setStyle;return inText.isInText=!0,{name:"xml",startState:function(){var state={tokenize:inText,state:baseState,indented:0,tagName:null,tagStart:null,context:null};return state},token:function(stream,state){if(!state.tagName&&stream.sol()&&(state.indented=stream.indentation()),stream.eatSpace())return null;type=null;var style=state.tokenize(stream,state);return(style||type)&&"comment"!=style&&(setStyle=null,state.state=state.state(type||style,stream,state),setStyle&&(style=setStyle)),style},indent:function(state,textAfter,cx){var context=state.context;// Indent multi-line strings (e.g. css).
|
|
3
|
+
if(state.tokenize.isInAttribute)return state.tagStart==state.indented?state.stringStartCol+1:state.indented+cx.unit;if(context&&context.noIndent)return null;if(state.tokenize!=inTag&&state.tokenize!=inText)return null;// Indent the starts of attribute names.
|
|
4
|
+
if(state.tagName)return!1===config.multilineTagIndentPastTag?state.tagStart+cx.unit*(config.multilineTagIndentFactor||1):state.tagStart+state.tagName.length+2;if(config.alignCDATA&&/<!\[CDATA\[/.test(textAfter))return 0;var tagAfter=textAfter&&/^<(\/)?([\w_:\.-]*)/.exec(textAfter);if(tagAfter&&tagAfter[1]){// Closing tag spotted
|
|
5
|
+
for(;context;)if(context.tagName==tagAfter[2]){context=context.prev;break}else if(config.implicitlyClosed.hasOwnProperty(lower(context.tagName)))context=context.prev;else break;}else if(tagAfter)// Opening tag spotted
|
|
6
|
+
for(;context;){var grabbers=config.contextGrabbers[lower(context.tagName)];if(grabbers&&grabbers.hasOwnProperty(lower(tagAfter[2])))context=context.prev;else break}for(;context&&context.prev&&!context.startOfLine;)context=context.prev;return context?context.indent+cx.unit:state.baseIndent||0},languageData:{indentOnInput:/<\/[\s\w:]+>$/,commentTokens:{block:{open:"<!--",close:"-->"}}},configuration:config.htmlMode?"html":"xml",skipAttribute:function(state){state.state==attrValueState&&(state.state=attrState)},xmlCurrentTag:function(state){return state.tagName?{name:state.tagName,close:"closeTag"==state.type}:null},xmlCurrentContext:function(state){for(var context=[],cx=state.context;cx;cx=cx.prev)context.push(cx.tagName);return context.reverse()}}}if(hasRequiredXml)return xml$1;hasRequiredXml=1,Object.defineProperty(xml$1,"__esModule",{value:!0});var htmlConfig={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},xmlConfig={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};const xml=mkXML({}),html=mkXML({htmlMode:!0});return xml$1.html=html,xml$1.mkXML=mkXML,xml$1.xml=xml,xml$1}(),xml=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(xmlExports);return module.exports=xml,module.exports}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredXquery,xquery$1={},xqueryExports=function requireXquery(){function chain(stream,state,f){return state.tokenize=f,f(stream,state)}// the primary mode tokenizer
|
|
2
|
+
function tokenBase(stream,state){var ch=stream.next(),mightBeFunction=!1,isEQName=isEQNameAhead(stream);// an XML tag (if not in some sub, chained tokenizer)
|
|
3
|
+
if("<"==ch){if(stream.match("!--",!0))return chain(stream,state,tokenXMLComment);if(stream.match("![CDATA",!1))return state.tokenize=tokenCDATA,"tag";if(stream.match("?",!1))return chain(stream,state,tokenPreProcessing);var isclose=stream.eat("/");stream.eatSpace();for(var c,tagName="";c=stream.eat(/[^\s\u00a0=<>\"\'\/?]/);)tagName+=c;return chain(stream,state,tokenTag(tagName,isclose))}// start code block
|
|
4
|
+
if("{"==ch)return pushStateStack(state,{type:"codeblock"}),null;// end code block
|
|
5
|
+
if("}"==ch)return popStateStack(state),null;// if we're in an XML block
|
|
6
|
+
if(isInXmlBlock(state))return">"==ch?"tag":"/"==ch&&stream.eat(">")?(popStateStack(state),"tag"):"variable";// if a number
|
|
7
|
+
if(/\d/.test(ch))return stream.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";// comment start
|
|
8
|
+
if("("===ch&&stream.eat(":"))return pushStateStack(state,{type:"comment"}),chain(stream,state,tokenComment);// quoted string
|
|
9
|
+
if(!isEQName&&("\""===ch||"'"===ch))return startString(stream,state,ch);// variable
|
|
10
|
+
if("$"===ch)return chain(stream,state,tokenVariable);// assignment
|
|
11
|
+
if(":"===ch&&stream.eat("="))return"keyword";// open paren
|
|
12
|
+
if("("===ch)return pushStateStack(state,{type:"paren"}),null;// close paren
|
|
13
|
+
if(")"===ch)return popStateStack(state),null;// open paren
|
|
14
|
+
if("["===ch)return pushStateStack(state,{type:"bracket"}),null;// close paren
|
|
15
|
+
if("]"===ch)return popStateStack(state),null;var known=keywords.propertyIsEnumerable(ch)&&keywords[ch];// if there's a EQName ahead, consume the rest of the string portion, it's likely a function
|
|
16
|
+
if(isEQName&&"\""===ch)for(;"\""!==stream.next(););if(isEQName&&"'"===ch)for(;"'"!==stream.next(););// gobble up a word if the character is not known
|
|
17
|
+
known||stream.eatWhile(/[\w\$_-]/);// gobble a colon in the case that is a lib func type call fn:doc
|
|
18
|
+
var foundColon=stream.eat(":");// if there's not a second colon, gobble another word. Otherwise, it's probably an axis specifier
|
|
19
|
+
// which should get matched as a keyword
|
|
20
|
+
!stream.eat(":")&&foundColon&&stream.eatWhile(/[\w\$_-]/),stream.match(/^[ \t]*\(/,!1)&&(mightBeFunction=!0);// is the word a keyword?
|
|
21
|
+
var word=stream.current();// if the previous word was element, attribute, axis specifier, this word should be the name of that
|
|
22
|
+
return(known=keywords.propertyIsEnumerable(word)&&keywords[word],mightBeFunction&&!known&&(known={type:"function_call",style:"def"}),isInXmlConstructor(state))?(popStateStack(state),"variable"):(("element"==word||"attribute"==word||"axis_specifier"==known.type)&&pushStateStack(state,{type:"xmlconstructor"}),known?known.style:"variable");// as previously checked, if the word is element,attribute, axis specifier, call it an "xmlconstructor" and
|
|
23
|
+
// push the stack so we know to look for it on the next word
|
|
24
|
+
// if the word is known, return the details of that else just call this a generic 'word'
|
|
25
|
+
}// handle comments, including nested
|
|
26
|
+
function tokenComment(stream,state){for(var ch,maybeEnd=!1,maybeNested=!1,nestedCount=0;ch=stream.next();){if(!(")"==ch&&maybeEnd))":"==ch&&maybeNested&&nestedCount++;else if(0<nestedCount)nestedCount--;else{popStateStack(state);break}maybeEnd=":"==ch,maybeNested="("==ch}return"comment"}// tokenizer for string literals
|
|
27
|
+
// optionally pass a tokenizer function to set state.tokenize back to when finished
|
|
28
|
+
function tokenString(quote,f){return function(stream,state){for(var ch;ch=stream.next();)if(ch==quote){popStateStack(state),f&&(state.tokenize=f);break}else if(stream.match("{",!1)&&isInXmlAttributeBlock(state))return pushStateStack(state,{type:"codeblock"}),state.tokenize=tokenBase,"string";return"string"}}function startString(stream,state,quote,f){let tokenize=tokenString(quote,f);return pushStateStack(state,{type:"string",name:quote,tokenize}),chain(stream,state,tokenize)}// tokenizer for variables
|
|
29
|
+
function tokenVariable(stream,state){var isVariableChar=/[\w\$_-]/;// a variable may start with a quoted EQName so if the next character is quote, consume to the next quote
|
|
30
|
+
if(stream.eat("\"")){for(;"\""!==stream.next(););stream.eat(":")}else stream.eatWhile(isVariableChar),stream.match(":=",!1)||stream.eat(":");return stream.eatWhile(isVariableChar),state.tokenize=tokenBase,"variable"}// tokenizer for XML tags
|
|
31
|
+
function tokenTag(name,isclose){return function(stream,state){return(stream.eatSpace(),isclose&&stream.eat(">"))?(popStateStack(state),state.tokenize=tokenBase,"tag"):(stream.eat("/")||pushStateStack(state,{type:"tag",name:name,tokenize:tokenBase}),!stream.eat(">"))?(state.tokenize=tokenAttribute,"tag"):(state.tokenize=tokenBase,"tag");// self closing tag without attributes?
|
|
32
|
+
}}// tokenizer for XML attributes
|
|
33
|
+
function tokenAttribute(stream,state){var ch=stream.next();return"/"==ch&&stream.eat(">")?(isInXmlAttributeBlock(state)&&popStateStack(state),isInXmlBlock(state)&&popStateStack(state),"tag"):">"==ch?(isInXmlAttributeBlock(state)&&popStateStack(state),"tag"):"="==ch?null:"\""==ch||"'"==ch?startString(stream,state,ch,tokenAttribute):(isInXmlAttributeBlock(state)||pushStateStack(state,{type:"attribute",tokenize:tokenAttribute}),stream.eat(/[a-zA-Z_:]/),stream.eatWhile(/[-a-zA-Z0-9_:.]/),stream.eatSpace(),(stream.match(">",!1)||stream.match("/",!1))&&(popStateStack(state),state.tokenize=tokenBase),"attribute");// quoted string
|
|
34
|
+
}// handle comments, including nested
|
|
35
|
+
function tokenXMLComment(stream,state){for(var ch;ch=stream.next();)if("-"==ch&&stream.match("->",!0))return state.tokenize=tokenBase,"comment"}// handle CDATA
|
|
36
|
+
function tokenCDATA(stream,state){for(var ch;ch=stream.next();)if("]"==ch&&stream.match("]",!0))return state.tokenize=tokenBase,"comment"}// handle preprocessing instructions
|
|
37
|
+
function tokenPreProcessing(stream,state){for(var ch;ch=stream.next();)if("?"==ch&&stream.match(">",!0))return state.tokenize=tokenBase,"processingInstruction"}// functions to test the current context of the state
|
|
38
|
+
function isInXmlBlock(state){return isIn(state,"tag")}function isInXmlAttributeBlock(state){return isIn(state,"attribute")}function isInXmlConstructor(state){return isIn(state,"xmlconstructor")}function isEQNameAhead(stream){// assume we've already eaten a quote (")
|
|
39
|
+
return"\""===stream.current()?stream.match(/^[^\"]+\"\:/,!1):"'"===stream.current()&&stream.match(/^[^\"]+\'\:/,!1)}function isIn(state,type){return state.stack.length&&state.stack[state.stack.length-1].type==type}function pushStateStack(state,newState){state.stack.push(newState)}function popStateStack(state){state.stack.pop();var reinstateTokenize=state.stack.length&&state.stack[state.stack.length-1].tokenize;state.tokenize=reinstateTokenize||tokenBase}// the interface for the mode API
|
|
40
|
+
if(hasRequiredXquery)return xquery$1;hasRequiredXquery=1,Object.defineProperty(xquery$1,"__esModule",{value:!0});// The keywords object is set to the result of this self executing
|
|
41
|
+
// function. Each keyword is a property of the keywords object whose
|
|
42
|
+
// value is {type: atype, style: astyle}
|
|
43
|
+
var keywords=function(){// convenience functions used to build keywords object
|
|
44
|
+
function kw(type){return{type:type,style:"keyword"}}// kwObj is what is return from this function at the end
|
|
45
|
+
// a list of 'basic' keywords. For each add a property to kwObj with the value of
|
|
46
|
+
// {type: basic[i], style: "keyword"} e.g. 'after' --> {type: "after", style: "keyword"}
|
|
47
|
+
for(var operator=kw("operator"),atom={type:"atom",style:"atom"},punctuation={type:"punctuation",style:null},qualifier={type:"axis_specifier",style:"qualifier"},kwObj={",":punctuation},basic=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],i=0,l=basic.length;i<l;i++)kwObj[basic[i]]=kw(basic[i]);// a list of types. For each add a property to kwObj with the value of
|
|
48
|
+
// {type: "atom", style: "atom"}
|
|
49
|
+
for(var types=["xs:anyAtomicType","xs:anySimpleType","xs:anyType","xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:dateTimeStamp","xs:dayTimeDuration","xs:decimal","xs:double","xs:duration","xs:ENTITIES","xs:ENTITY","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:ID","xs:IDREF","xs:IDREFS","xs:int","xs:integer","xs:item","xs:java","xs:language","xs:long","xs:Name","xs:NCName","xs:negativeInteger","xs:NMTOKEN","xs:NMTOKENS","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:normalizedString","xs:NOTATION","xs:numeric","xs:positiveInteger","xs:precisionDecimal","xs:QName","xs:short","xs:string","xs:time","xs:token","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort","xs:untyped","xs:untypedAtomic","xs:yearMonthDuration"],i=0,l=types.length;i<l;i++)kwObj[types[i]]=atom;// each operator will add a property to kwObj with value of {type: "operator", style: "keyword"}
|
|
50
|
+
for(var operators=["eq","ne","lt","le","gt","ge",":=","=",">",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"],i=0,l=operators.length;i<l;i++)kwObj[operators[i]]=operator;// each axis_specifiers will add a property to kwObj with value of {type: "axis_specifier", style: "qualifier"}
|
|
51
|
+
for(var axis_specifiers=["self::","attribute::","child::","descendant::","descendant-or-self::","parent::","ancestor::","ancestor-or-self::","following::","preceding::","following-sibling::","preceding-sibling::"],i=0,l=axis_specifiers.length;i<l;i++)kwObj[axis_specifiers[i]]=qualifier;return kwObj}();const xQuery={name:"xquery",startState:function(){return{tokenize:tokenBase,cc:[],stack:[]}},token:function(stream,state){if(stream.eatSpace())return null;var style=state.tokenize(stream,state);return style},languageData:{commentTokens:{block:{open:"(:",close:":)"}}}};return xquery$1.xQuery=xQuery,xquery$1}(),xquery=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(xqueryExports);return module.exports=xquery,module.exports}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredYacas,yacas$1={},yacasExports=function requireYacas(){function words(str){for(var obj={},words=str.split(" "),i=0;i<words.length;++i)obj[words[i]]=!0;return obj}function tokenBase(stream,state){var ch;// get next character
|
|
2
|
+
// string
|
|
3
|
+
if(ch=stream.next(),"\""===ch)return state.tokenize=tokenString,state.tokenize(stream,state);// comment
|
|
4
|
+
if("/"===ch){if(stream.eat("*"))return state.tokenize=tokenComment,state.tokenize(stream,state);if(stream.eat("/"))return stream.skipToEnd(),"comment"}// go back one character
|
|
5
|
+
stream.backUp(1);// update scope info
|
|
6
|
+
var m=stream.match(/^(\w+)\s*\(/,!1);null!==m&&bodiedOps.hasOwnProperty(m[1])&&state.scopes.push("bodied");var scope=currentScope(state);if("bodied"===scope&&"["===ch&&state.scopes.pop(),("["===ch||"{"===ch||"("===ch)&&state.scopes.push(ch),scope=currentScope(state),("["===scope&&"]"===ch||"{"===scope&&"}"===ch||"("===scope&&")"===ch)&&state.scopes.pop(),";"===ch)for(;"bodied"===scope;)state.scopes.pop(),scope=currentScope(state);// look for ordered rules
|
|
7
|
+
return stream.match(/\d+ *#/,!0,!1)?"qualifier":stream.match(reFloatForm,!0,!1)?"number":stream.match(rePattern,!0,!1)?"variableName.special":stream.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":stream.match(reFunctionLike,!0,!1)?(stream.backUp(1),"variableName.function"):stream.match(reIdentifier,!0,!1)?"variable":stream.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error";// look for numbers
|
|
8
|
+
// look for placeholders
|
|
9
|
+
// match all braces separately
|
|
10
|
+
// literals looking like function calls
|
|
11
|
+
// all other identifiers
|
|
12
|
+
// operators; note that operators like @@ or /; are matched separately for each symbol.
|
|
13
|
+
// everything else is an error
|
|
14
|
+
}function tokenString(stream,state){for(var next,end=!1,escaped=!1;null!=(next=stream.next());){if("\""===next&&!escaped){end=!0;break}escaped=!escaped&&"\\"===next}return end&&!escaped&&(state.tokenize=tokenBase),"string"}function tokenComment(stream,state){for(var prev,next;null!=(next=stream.next());){if("*"===prev&&"/"===next){state.tokenize=tokenBase;break}prev=next}return"comment"}function currentScope(state){var scope=null;return 0<state.scopes.length&&(scope=state.scopes[state.scopes.length-1]),scope}if(hasRequiredYacas)return yacas$1;hasRequiredYacas=1,Object.defineProperty(yacas$1,"__esModule",{value:!0});var bodiedOps=words("Assert BackQuote D Defun Deriv For ForEach FromFile FromString Function Integrate InverseTaylor Limit LocalSymbols Macro MacroRule MacroRulePattern NIntegrate Rule RulePattern Subst TD TExplicitSum TSum Taylor Taylor1 Taylor2 Taylor3 ToFile ToStdout ToString TraceRule Until While"),pFloatForm="(?:(?:\\.\\d+|\\d+\\.\\d*|\\d+)(?:[eE][+-]?\\d+)?)",pIdentifier="(?:[a-zA-Z\\$'][a-zA-Z0-9\\$']*)",reFloatForm=new RegExp(pFloatForm),reIdentifier=new RegExp(pIdentifier),rePattern=new RegExp(pIdentifier+"?_"+pIdentifier),reFunctionLike=new RegExp(pIdentifier+"\\s*\\(");// patterns
|
|
15
|
+
// regular expressions
|
|
16
|
+
const yacas={name:"yacas",startState:function(){return{tokenize:tokenBase,scopes:[]}},token:function(stream,state){return stream.eatSpace()?null:state.tokenize(stream,state)},indent:function(state,textAfter,cx){if(state.tokenize!==tokenBase&&null!==state.tokenize)return null;var delta=0;return("]"===textAfter||"];"===textAfter||"}"===textAfter||"};"===textAfter||");"===textAfter)&&(delta=-1),(state.scopes.length+delta)*cx.unit},languageData:{electricInput:/[{}\[\]()\;]/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};return yacas$1.yacas=yacas,yacas$1}(),yacas=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(yacasExports);return module.exports=yacas,module.exports}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredYaml,yaml$1={},yamlExports=function requireYaml(){if(hasRequiredYaml)return yaml$1;hasRequiredYaml=1,Object.defineProperty(yaml$1,"__esModule",{value:!0});var cons=["true","false","on","off","yes","no"],keywordRegex=new RegExp("\\b(("+cons.join(")|(")+"))$","i");const yaml={name:"yaml",token:function(stream,state){var ch=stream.peek(),esc=state.escaped;/* comments */if(state.escaped=!1,"#"==ch&&(0==stream.pos||/\s/.test(stream.string.charAt(stream.pos-1))))return stream.skipToEnd(),"comment";if(stream.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(state.literal&&stream.indentation()>state.keyCol)return stream.skipToEnd(),"string";if(state.literal&&(state.literal=!1),stream.sol()){/* document start */if(state.keyCol=0,state.pair=!1,state.pairStart=!1,stream.match("---"))return"def";/* document end */if(stream.match("..."))return"def";/* array list item */if(stream.match(/^\s*-\s+/))return"meta"}/* inline pairs/lists */if(stream.match(/^(\{|\}|\[|\])/))return"{"==ch?state.inlinePairs++:"}"==ch?state.inlinePairs--:"["==ch?state.inlineList++:state.inlineList--,"meta";/* list separator */if(0<state.inlineList&&!esc&&","==ch)return stream.next(),"meta";/* pairs separator */if(0<state.inlinePairs&&!esc&&","==ch)return state.keyCol=0,state.pair=!1,state.pairStart=!1,stream.next(),"meta";/* start of value of a pair */if(state.pairStart){/* block literals */if(stream.match(/^\s*(\||\>)\s*/))return state.literal=!0,"meta";/* references */if(stream.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";/* numbers */if(0==state.inlinePairs&&stream.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(0<state.inlinePairs&&stream.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";/* keywords */if(stream.match(keywordRegex))return"keyword"}/* pairs (associative arrays) -> key */return!state.pair&&stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(state.pair=!0,state.keyCol=stream.indentation(),"atom"):state.pair&&stream.match(/^:\s*/)?(state.pairStart=!0,"meta"):(state.pairStart=!1,state.escaped="\\"==ch,stream.next(),null);/* nothing found, continue */},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};return yaml$1.yaml=yaml,yaml$1}(),yaml=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(yamlExports);return module.exports=yaml,module.exports}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredZ80,z80$1={},z80Exports=function requireZ80(){function mkZ80(ez80){var keywords1,keywords2;ez80?(keywords1=/^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i,keywords2=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(keywords1=/^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i,keywords2=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var variables1=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,variables2=/^(n?[zc]|p[oe]?|m)\b/i,errors=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,numbers=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{name:"z80",startState:function(){return{context:0}},token:function(stream,state){if(stream.column()||(state.context=0),stream.eatSpace())return null;var w;if(!stream.eatWhile(/\w/)){if(stream.eat(";"))return stream.skipToEnd(),"comment";if(stream.eat("\"")){for(;(w=stream.next())&&"\""!=w;)"\\"==w&&stream.next();return"string"}if(stream.eat("'")){if(stream.match(/\\?.'/))return"number";}else if(stream.eat(".")||stream.sol()&&stream.eat("#")){if(state.context=5,stream.eatWhile(/\w/))return"def";}else if(stream.eat("$")){if(stream.eatWhile(/[\da-f]/i))return"number";}else if(!stream.eat("%"))stream.next();else if(stream.eatWhile(/[01]/))return"number"}else if(ez80&&stream.eat(".")&&stream.eatWhile(/\w/),w=stream.current(),stream.indentation()){if((1==state.context||4==state.context)&&variables1.test(w))return state.context=4,"variable";if(2==state.context&&variables2.test(w))return state.context=4,"variableName.special";if(keywords1.test(w))return state.context=1,"keyword";if(keywords2.test(w))return state.context=2,"keyword";if(4==state.context&&numbers.test(w))return"number";if(errors.test(w))return"error"}else return stream.match(numbers)?"number":null;return null}}}if(hasRequiredZ80)return z80$1;hasRequiredZ80=1,Object.defineProperty(z80$1,"__esModule",{value:!0});const z80=mkZ80(!1),ez80=mkZ80(!0);return z80$1.ez80=ez80,z80$1.z80=z80,z80$1}(),z80=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(z80Exports);return module.exports=z80,module.exports}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredDist,require$$0=await requireAsyncModule("@codemirror/view"),require$$1=await requireAsyncModule("@codemirror/state"),require$$2=await requireAsyncModule("crelt"),dist={},distExports=function requireDist(){function findDiagnostic(diagnostics,diagnostic=null,after=0){let found=null;return diagnostics.between(after,1e9,(from,to,{spec})=>{if(!(diagnostic&&0>spec.diagnostics.indexOf(diagnostic)))if(!found)found=new SelectedDiagnostic(from,to,diagnostic||spec.diagnostics[0]);else{if(0>spec.diagnostics.indexOf(found.diagnostic))return!1;found=new SelectedDiagnostic(found.from,to,found.diagnostic)}}),found}function hideTooltip(tr,tooltip){let from=tooltip.pos,to=tooltip.end||from,result=tr.state.facet(lintConfig).hideOn(tr,from,to);if(null!=result)return result;let line=tr.startState.doc.lineAt(tooltip.pos);return!!(tr.effects.some(e=>e.is(setDiagnosticsEffect))||tr.changes.touchesRange(line.from,Math.max(line.to,to)))}function maybeEnableLint(state$1,effects){return state$1.field(lintState,!1)?effects:effects.concat(state.StateEffect.appendConfig.of(lintExtensions))}/**
|
|
2
|
+
Returns a transaction spec which updates the current set of
|
|
3
|
+
diagnostics, and enables the lint extension if if wasn't already
|
|
4
|
+
active.
|
|
5
|
+
*/function setDiagnostics(state,diagnostics){return{effects:maybeEnableLint(state,[setDiagnosticsEffect.of(diagnostics)])}}/**
|
|
6
|
+
The state effect that updates the set of active diagnostics. Can
|
|
7
|
+
be useful when writing an extension that needs to track these.
|
|
8
|
+
*/ /**
|
|
9
|
+
Returns the number of active lint diagnostics in the given state.
|
|
10
|
+
*/function diagnosticCount(state){let lint=state.field(lintState,!1);return lint?lint.diagnostics.size:0}function lintTooltip(view,pos,side){let found,{diagnostics}=view.state.field(lintState),start=-1,end=-1;diagnostics.between(pos-(0>side?1:0),pos+(0<side?1:0),(from,to,{spec})=>{if(pos>=from&&pos<=to&&(from==to||(pos>from||0<side)&&(pos<to||0>side)))return found=spec.diagnostics,start=from,end=to,!1});let diagnosticFilter=view.state.facet(lintConfig).tooltipFilter;return found&&diagnosticFilter&&(found=diagnosticFilter(found,view.state)),found?{pos:start,end:end,above:view.state.doc.lineAt(start).to<end,create(){return{dom:diagnosticsTooltip(view,found)}}}:null}function diagnosticsTooltip(view,diagnostics){return elt("ul",{class:"cm-tooltip-lint"},diagnostics.map(d=>renderDiagnostic(view,d,!1)))}/**
|
|
11
|
+
Command to open and focus the lint panel.
|
|
12
|
+
*/function batchResults(promises,sink,error){let collected=[],timeout=-1;for(let p of promises)p.then(value=>{collected.push(value),clearTimeout(timeout),collected.length==promises.length?sink(collected):timeout=setTimeout(()=>sink(collected),200)},error)}function combineFilter(a,b){return a?b?(d,s)=>b(a(d,s),s):a:b}/**
|
|
13
|
+
Given a diagnostic source, this function returns an extension that
|
|
14
|
+
enables linting with that source. It will be called whenever the
|
|
15
|
+
editor is idle (after its content changed).
|
|
16
|
+
|
|
17
|
+
Note that settings given here will apply to all linters active in
|
|
18
|
+
the editor. If `null` is given as source, this only configures the
|
|
19
|
+
lint extension.
|
|
20
|
+
*/function linter(source,config={}){return[lintConfig.of({source,config}),lintPlugin,lintExtensions]}/**
|
|
21
|
+
Forces any linters [configured](https://codemirror.net/6/docs/ref/#lint.linter) to run when the
|
|
22
|
+
editor is idle to run right away.
|
|
23
|
+
*/function forceLinting(view){let plugin=view.plugin(lintPlugin);plugin&&plugin.force()}function assignKeys(actions){let assigned=[];if(actions)actions:for(let{name}of actions){for(let ch,i=0;i<name.length;i++)if(ch=name[i],/[a-zA-Z]/.test(ch)&&!assigned.some(c=>c.toLowerCase()==ch.toLowerCase())){assigned.push(ch);continue actions}assigned.push("")}return assigned}function renderDiagnostic(view,diagnostic,inPanel){var _a;let keys=inPanel?assignKeys(diagnostic.actions):[];return elt("li",{class:"cm-diagnostic cm-diagnostic-"+diagnostic.severity},elt("span",{class:"cm-diagnosticText"},diagnostic.renderMessage?diagnostic.renderMessage(view):diagnostic.message),null===(_a=diagnostic.actions)||void 0===_a?void 0:_a.map((action,i)=>{let fired=!1,click=e=>{if(e.preventDefault(),!fired){fired=!0;let found=findDiagnostic(view.state.field(lintState).diagnostics,diagnostic);found&&action.apply(view,found.from,found.to)}},{name}=action,keyIndex=keys[i]?name.indexOf(keys[i]):-1,nameElt=0>keyIndex?name:[name.slice(0,keyIndex),elt("u",name.slice(keyIndex,keyIndex+1)),name.slice(keyIndex+1)],markClass=action.markClass?" "+action.markClass:"";return elt("button",{type:"button",class:"cm-diagnosticAction"+markClass,onclick:click,onmousedown:click,"aria-label":` Action: ${name}${0>keyIndex?"":` (access key "${keys[i]})"`}.`},nameElt)}),diagnostic.source&&elt("div",{class:"cm-diagnosticSource"},diagnostic.source))}function svg(content,attrs=`viewBox="0 0 40 40"`){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${attrs}>${encodeURIComponent(content)}</svg>')`}function underline(color){return svg(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${color}" fill="none" stroke-width=".7"/>`,`width="6" height="3"`)}function severityWeight(sev){return"error"==sev?4:"warning"==sev?3:"info"==sev?2:1}function maxSeverity(diagnostics){let sev="hint",weight=1;for(let d of diagnostics){let w=severityWeight(d.severity);w>weight&&(weight=w,sev=d.severity)}return sev}function trackHoverOn(view,marker){let mousemove=event=>{let rect=marker.getBoundingClientRect();if(!(event.clientX>rect.left-10/* Hover.Margin */&&event.clientX<rect.right+10/* Hover.Margin */&&event.clientY>rect.top-10/* Hover.Margin */&&event.clientY<rect.bottom+10/* Hover.Margin */)){for(let target=event.target;target;target=target.parentNode)if(1==target.nodeType&&target.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",mousemove),view.state.field(lintGutterTooltip)&&view.dispatch({effects:setLintGutterTooltip.of(null)})}};window.addEventListener("mousemove",mousemove)}function gutterMarkerMouseOver(view,marker,diagnostics){function hovered(){let line=view.elementAtHeight(marker.getBoundingClientRect().top+5-view.documentTop);const linePos=view.coordsAtPos(line.from);linePos&&view.dispatch({effects:setLintGutterTooltip.of({pos:line.from,above:!1,clip:!1,create(){return{dom:diagnosticsTooltip(view,diagnostics),getCoords:()=>marker.getBoundingClientRect()}}})}),marker.onmouseout=marker.onmousemove=null,trackHoverOn(view,marker)}let{hoverTime}=view.state.facet(lintGutterConfig),hoverTimeout=setTimeout(hovered,hoverTime);marker.onmouseout=()=>{clearTimeout(hoverTimeout),marker.onmouseout=marker.onmousemove=null},marker.onmousemove=()=>{clearTimeout(hoverTimeout),hoverTimeout=setTimeout(hovered,hoverTime)}}function markersForDiagnostics(doc,diagnostics){let byLine=Object.create(null);for(let diagnostic of diagnostics){let line=doc.lineAt(diagnostic.from);(byLine[line.from]||(byLine[line.from]=[])).push(diagnostic)}let markers=[];for(let line in byLine)markers.push(new LintGutterMarker(byLine[line]).range(+line));return state.RangeSet.of(markers,!0)}/**
|
|
24
|
+
Returns an extension that installs a gutter showing markers for
|
|
25
|
+
each line that has diagnostics, which can be hovered over to see
|
|
26
|
+
the diagnostics.
|
|
27
|
+
*/function lintGutter(config={}){return[lintGutterConfig.of(config),lintGutterMarkers,lintGutterExtension,lintGutterTheme,lintGutterTooltip]}/**
|
|
28
|
+
Iterate over the marked diagnostics for the given editor state,
|
|
29
|
+
calling `f` for each of them. Note that, if the document changed
|
|
30
|
+
since the diagnostics were created, the `Diagnostic` object will
|
|
31
|
+
hold the original outdated position, whereas the `to` and `from`
|
|
32
|
+
arguments hold the diagnostic's current position.
|
|
33
|
+
*/function forEachDiagnostic(state$1,f){let lState=state$1.field(lintState,!1);if(lState&&lState.diagnostics.size){let pending=[],pendingStart=[],lastEnd=-1;for(let iter=state.RangeSet.iter([lState.diagnostics]);;iter.next()){for(let i=0;i<pending.length;i++)(!iter.value||0>iter.value.spec.diagnostics.indexOf(pending[i]))&&(f(pending[i],pendingStart[i],lastEnd),pending.splice(i,1),pendingStart.splice(i--,1));if(!iter.value)break;for(let d of iter.value.spec.diagnostics)0>pending.indexOf(d)&&(pending.push(d),pendingStart.push(iter.from));lastEnd=iter.to}}}if(hasRequiredDist)return dist;hasRequiredDist=1;var view=require$$0,state=require$$1,elt=require$$2;class SelectedDiagnostic{constructor(from,to,diagnostic){this.from=from,this.to=to,this.diagnostic=diagnostic}}class LintState{constructor(diagnostics,panel,selected){this.diagnostics=diagnostics,this.panel=panel,this.selected=selected}static init(diagnostics,panel,state$1){// Filter the list of diagnostics for which to create markers
|
|
34
|
+
let diagnosticFilter=state$1.facet(lintConfig).markerFilter;diagnosticFilter&&(diagnostics=diagnosticFilter(diagnostics,state$1));let sorted=diagnostics.slice().sort((a,b)=>a.from-b.from||a.to-b.to),deco=new state.RangeSetBuilder,active=[],pos=0,scan=state$1.doc.iter(),scanPos=0,docLen=state$1.doc.length;for(let next,i=0;;){if(next=i==sorted.length?null:sorted[i],!next&&!active.length)break;let from,to;if(active.length)from=pos,to=active.reduce((p,d)=>Math.min(p,d.to),next&&next.from>from?next.from:1e8);else{if(from=next.from,from>docLen)break;to=next.to,active.push(next),i++}for(;i<sorted.length;){let next=sorted[i];if(next.from==from&&(next.to>next.from||next.to==from))active.push(next),i++,to=Math.min(next.to,to);else{to=Math.min(next.from,to);break}}to=Math.min(to,docLen);let widget=!1;if(active.some(d=>d.from==from&&(d.to==to||to==docLen))&&(widget=from==to,!widget&&10>to-from)){let behind=from-(scanPos+scan.value.length);0<behind&&(scan.next(behind),scanPos=from);for(let check=from;;){if(check>=to){widget=!0;break}if(!scan.lineBreak&&scanPos+scan.value.length>check)break;check=scanPos+scan.value.length,scanPos+=scan.value.length,scan.next()}}let sev=maxSeverity(active);if(widget)deco.add(from,from,view.Decoration.widget({widget:new DiagnosticWidget(sev),diagnostics:active.slice()}));else{let markClass=active.reduce((c,d)=>d.markClass?c+" "+d.markClass:c,"");deco.add(from,to,view.Decoration.mark({class:"cm-lintRange cm-lintRange-"+sev+markClass,diagnostics:active.slice(),inclusiveEnd:active.some(a=>a.to>to)}))}if(pos=to,pos==docLen)break;for(let i=0;i<active.length;i++)active[i].to<=pos&&active.splice(i--,1)}let set=deco.finish();return new LintState(set,panel,findDiagnostic(set))}}const setDiagnosticsEffect=state.StateEffect.define(),togglePanel=state.StateEffect.define(),movePanelSelection=state.StateEffect.define(),lintState=state.StateField.define({create(){return new LintState(view.Decoration.none,null,null)},update(value,tr){if(tr.docChanged&&value.diagnostics.size){let mapped=value.diagnostics.map(tr.changes),selected=null,panel=value.panel;if(value.selected){let selPos=tr.changes.mapPos(value.selected.from,1);selected=findDiagnostic(mapped,value.selected.diagnostic,selPos)||findDiagnostic(mapped,null,selPos)}!mapped.size&&panel&&tr.state.facet(lintConfig).autoPanel&&(panel=null),value=new LintState(mapped,panel,selected)}for(let effect of tr.effects)if(effect.is(setDiagnosticsEffect)){let panel=tr.state.facet(lintConfig).autoPanel?effect.value.length?LintPanel.open:null:value.panel;value=LintState.init(effect.value,panel,tr.state)}else effect.is(togglePanel)?value=new LintState(value.diagnostics,effect.value?LintPanel.open:null,value.selected):effect.is(movePanelSelection)&&(value=new LintState(value.diagnostics,value.panel,effect.value));return value},provide:f=>[view.showPanel.from(f,val=>val.panel),view.EditorView.decorations.from(f,s=>s.diagnostics)]}),activeMark=view.Decoration.mark({class:"cm-lintRange cm-lintRange-active"}),openLintPanel=view$1=>{let field=view$1.state.field(lintState,!1);field&&field.panel||view$1.dispatch({effects:maybeEnableLint(view$1.state,[togglePanel.of(!0)])});let panel=view.getPanel(view$1,LintPanel.open);return panel&&panel.dom.querySelector(".cm-panel-lint ul").focus(),!0},closeLintPanel=view=>{let field=view.state.field(lintState,!1);return!!(field&&field.panel)&&(view.dispatch({effects:togglePanel.of(!1)}),!0)},nextDiagnostic=view$1=>{let field=view$1.state.field(lintState,!1);if(!field)return!1;let sel=view$1.state.selection.main,next=findDiagnostic(field.diagnostics,null,sel.to+1);return(next||(next=findDiagnostic(field.diagnostics,null,0),next&&(next.from!=sel.from||next.to!=sel.to)))&&(view$1.dispatch({selection:{anchor:next.from,head:next.to},scrollIntoView:!0}),view.activateHover(view$1,next.from,1,{tooltip:lintHover,until:tr=>tr.docChanged||tr.newSelection.main.head<next.from||tr.newSelection.main.head>next.to}),!0)},previousDiagnostic=view$1=>{var _a;let{state}=view$1,field=state.field(lintState,!1);if(!field)return!1;let prevFrom,prevTo,lastFrom,lastTo,sel=state.selection.main;if(field.diagnostics.between(0,state.doc.length,(from,to)=>{to<sel.to&&(null==prevFrom||prevFrom<from)&&(prevFrom=from,prevTo=to),(null==lastFrom||from>lastFrom)&&(lastFrom=from,lastTo=to)}),null==lastFrom||null==prevFrom&&lastFrom==sel.from)return!1;let from=null!==prevFrom&&void 0!==prevFrom?prevFrom:lastFrom,to=null!==(_a=null!==prevTo&&void 0!==prevTo?prevTo:lastTo)&&void 0!==_a?_a:from;return view$1.dispatch({selection:{anchor:from,head:to},scrollIntoView:!0}),view.activateHover(view$1,from,1,{tooltip:lintHover,until:tr=>tr.docChanged||tr.newSelection.main.head<from||tr.newSelection.main.head>to}),!0},lintKeymap=[{key:"Mod-Shift-m",run:openLintPanel,preventDefault:!0},{key:"F8",run:nextDiagnostic}],lintPlugin=view.ViewPlugin.fromClass(class{constructor(view){this.view=view,this.timeout=-1,this.set=!0;let{delay}=view.state.facet(lintConfig);this.lintTime=Date.now()+delay,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,delay)}run(){clearTimeout(this.timeout);let now=Date.now();if(now<this.lintTime-10)this.timeout=setTimeout(this.run,this.lintTime-now);else{this.set=!1;let{state}=this.view,{sources}=state.facet(lintConfig);sources.length&&batchResults(sources.map(s=>Promise.resolve(s(this.view))),annotations=>{this.view.state.doc==state.doc&&this.view.dispatch(setDiagnostics(this.view.state,annotations.reduce((a,b)=>a.concat(b))))},error=>{view.logException(this.view.state,error)})}}update(update){let config=update.state.facet(lintConfig);(update.docChanged||config!=update.startState.facet(lintConfig)||config.needsRefresh&&config.needsRefresh(update))&&(this.lintTime=Date.now()+config.delay,!this.set&&(this.set=!0,this.timeout=setTimeout(this.run,config.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),lintConfig=state.Facet.define({combine(input){return{sources:input.map(i=>i.source).filter(x=>null!=x),...state.combineConfig(input.map(i=>i.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:combineFilter,tooltipFilter:combineFilter,needsRefresh:(a,b)=>a?b?u=>a(u)||b(u):a:b,hideOn:(a,b)=>a?b?(t,x,y)=>a(t,x,y)||b(t,x,y):a:b,autoPanel:(a,b)=>a||b})}}});/**
|
|
35
|
+
Command to close the lint panel, when open.
|
|
36
|
+
*/ /**
|
|
37
|
+
Move the selection to the next diagnostic.
|
|
38
|
+
*/ /**
|
|
39
|
+
Move the selection to the previous diagnostic.
|
|
40
|
+
*/ /**
|
|
41
|
+
A set of default key bindings for the lint functionality.
|
|
42
|
+
|
|
43
|
+
- Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)
|
|
44
|
+
- F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)
|
|
45
|
+
*/class DiagnosticWidget extends view.WidgetType{constructor(sev){super(),this.sev=sev}eq(other){return other.sev==this.sev}toDOM(){return elt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class PanelItem{constructor(view,diagnostic){this.diagnostic=diagnostic,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=renderDiagnostic(view,diagnostic,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class LintPanel{constructor(view){this.view=view,this.items=[];let onkeydown=event=>{if(!(event.ctrlKey||event.altKey||event.metaKey)){if(27==event.keyCode)closeLintPanel(this.view),this.view.focus();else if(38==event.keyCode||33==event.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==event.keyCode||34==event.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==event.keyCode)this.moveSelection(0);else if(35==event.keyCode)this.moveSelection(this.items.length-1);else if(13==event.keyCode)this.view.focus();else if(65<=event.keyCode&&90>=event.keyCode&&0<=this.selectedIndex){// A-Z
|
|
46
|
+
let{diagnostic}=this.items[this.selectedIndex],keys=assignKeys(diagnostic.actions);for(let i=0;i<keys.length;i++)if(keys[i].toUpperCase().charCodeAt(0)==event.keyCode){let found=findDiagnostic(this.view.state.field(lintState).diagnostics,diagnostic);found&&diagnostic.actions[i].apply(view,found.from,found.to)}}else return;event.preventDefault()}},onclick=event=>{for(let i=0;i<this.items.length;i++)this.items[i].dom.contains(event.target)&&this.moveSelection(i)};this.list=elt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown,onclick}),this.dom=elt("div",{class:"cm-panel-lint"},this.list,elt("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>closeLintPanel(this.view)},"\xD7")),this.update()}get selectedIndex(){let selected=this.view.state.field(lintState).selected;if(!selected)return-1;for(let i=0;i<this.items.length;i++)if(this.items[i].diagnostic==selected.diagnostic)return i;return-1}update(){let{diagnostics,selected}=this.view.state.field(lintState),i=0,needsSync=!1,newSelectedItem=null,seen=new Set;for(diagnostics.between(0,this.view.state.doc.length,(_start,_end,{spec})=>{for(let diagnostic of spec.diagnostics){if(seen.has(diagnostic))continue;seen.add(diagnostic);let item,found=-1;for(let j=i;j<this.items.length;j++)if(this.items[j].diagnostic==diagnostic){found=j;break}0>found?(item=new PanelItem(this.view,diagnostic),this.items.splice(i,0,item),needsSync=!0):(item=this.items[found],found>i&&(this.items.splice(i,found-i),needsSync=!0)),selected&&item.diagnostic==selected.diagnostic?!item.dom.hasAttribute("aria-selected")&&(item.dom.setAttribute("aria-selected","true"),newSelectedItem=item):item.dom.hasAttribute("aria-selected")&&item.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(1==this.items.length&&0>this.items[0].diagnostic.from);)needsSync=!0,this.items.pop();0==this.items.length&&(this.items.push(new PanelItem(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),needsSync=!0),newSelectedItem?(this.list.setAttribute("aria-activedescendant",newSelectedItem.id),this.view.requestMeasure({key:this,read:()=>({sel:newSelectedItem.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel,panel})=>{let scaleY=panel.height/this.list.offsetHeight;sel.top<panel.top?this.list.scrollTop-=(panel.top-sel.top)/scaleY:sel.bottom>panel.bottom&&(this.list.scrollTop+=(sel.bottom-panel.bottom)/scaleY)}})):0>this.selectedIndex&&this.list.removeAttribute("aria-activedescendant"),needsSync&&this.sync()}sync(){function rm(){let prev=domPos;domPos=prev.nextSibling,prev.remove()}let domPos=this.list.firstChild;for(let item of this.items)if(item.dom.parentNode==this.list){for(;domPos!=item.dom;)rm();domPos=item.dom.nextSibling}else this.list.insertBefore(item.dom,domPos);for(;domPos;)rm()}moveSelection(selectedIndex){if(0>this.selectedIndex)return;let field=this.view.state.field(lintState),selection=findDiagnostic(field.diagnostics,this.items[selectedIndex].diagnostic);selection&&this.view.dispatch({selection:{anchor:selection.from,head:selection.to},scrollIntoView:!0,effects:movePanelSelection.of(selection)})}static open(view){return new LintPanel(view)}}const baseTheme=view.EditorView.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:underline("#f11")},".cm-lintRange-warning":{backgroundImage:underline("orange")},".cm-lintRange-info":{backgroundImage:underline("#999")},".cm-lintRange-hint":{backgroundImage:underline("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:"\"\"",position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});class LintGutterMarker extends view.GutterMarker{constructor(diagnostics){super(),this.diagnostics=diagnostics,this.severity=maxSeverity(diagnostics)}toDOM(view){let elt=document.createElement("div");elt.className="cm-lint-marker cm-lint-marker-"+this.severity;let diagnostics=this.diagnostics,diagnosticsFilter=view.state.facet(lintGutterConfig).tooltipFilter;return diagnosticsFilter&&(diagnostics=diagnosticsFilter(diagnostics,view.state)),diagnostics.length&&(elt.onmouseover=()=>gutterMarkerMouseOver(view,elt,diagnostics)),elt}}const lintGutterExtension=view.gutter({class:"cm-gutter-lint",markers:view=>view.state.field(lintGutterMarkers),widgetMarker:(view,widget,block)=>{let diagnostics=[];return view.state.field(lintGutterMarkers).between(block.from,block.to,(from,to,value)=>{from>block.from&&from<block.to&&diagnostics.push(...value.diagnostics)}),diagnostics.length?new LintGutterMarker(diagnostics):null}}),lintGutterMarkers=state.StateField.define({create(){return state.RangeSet.empty},update(markers,tr){markers=markers.map(tr.changes);let diagnosticFilter=tr.state.facet(lintGutterConfig).markerFilter;for(let effect of tr.effects)if(effect.is(setDiagnosticsEffect)){let diagnostics=effect.value;diagnosticFilter&&(diagnostics=diagnosticFilter(diagnostics||[],tr.state)),markers=markersForDiagnostics(tr.state.doc,diagnostics.slice(0))}return markers}}),setLintGutterTooltip=state.StateEffect.define(),lintGutterTooltip=state.StateField.define({create(){return null},update(tooltip,tr){return tooltip&&tr.docChanged&&(tooltip=hideTooltip(tr,tooltip)?null:{...tooltip,pos:tr.changes.mapPos(tooltip.pos)}),tr.effects.reduce((t,e)=>e.is(setLintGutterTooltip)?e.value:t,tooltip)},provide:field=>view.showTooltip.from(field)}),lintGutterTheme=view.EditorView.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:svg(`<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>`)},".cm-lint-marker-warning":{content:svg(`<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>`)},".cm-lint-marker-error":{content:svg(`<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>`)}}),lintHover=view.hoverTooltip(lintTooltip,{hideOn:hideTooltip}),lintExtensions=[lintState,view.EditorView.decorations.compute([lintState],state=>{let{selected,panel}=state.field(lintState);return selected&&panel&&selected.from!=selected.to?view.Decoration.set([activeMark.range(selected.from,selected.to)]):view.Decoration.none}),lintHover,baseTheme],lintGutterConfig=state.Facet.define({combine(configs){return state.combineConfig(configs,{hoverTime:300/* Hover.Time */,markerFilter:null,tooltipFilter:null})}});return dist.closeLintPanel=closeLintPanel,dist.diagnosticCount=diagnosticCount,dist.forEachDiagnostic=forEachDiagnostic,dist.forceLinting=forceLinting,dist.lintGutter=lintGutter,dist.lintKeymap=lintKeymap,dist.linter=linter,dist.nextDiagnostic=nextDiagnostic,dist.openLintPanel=openLintPanel,dist.previousDiagnostic=previousDiagnostic,dist.setDiagnostics=setDiagnostics,dist.setDiagnosticsEffect=setDiagnosticsEffect,dist}(),index=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(distExports);return module.exports=index,module.exports}
|