nomadexapp 0.1.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 +21 -0
- package/README.md +224 -0
- package/bin/nomadex.mjs +1026 -0
- package/dist/assets/apl-Dgw9L7wA.js +1 -0
- package/dist/assets/asciiarmor-B3T-Ib7X.js +1 -0
- package/dist/assets/asn1-C0KgO0Wt.js +1 -0
- package/dist/assets/asterisk-D7tOY-Ef.js +1 -0
- package/dist/assets/brainfuck-Dr6WXxS2.js +1 -0
- package/dist/assets/clike-DQfG49Bz.js +1 -0
- package/dist/assets/clojure-DsDsbt3V.js +1 -0
- package/dist/assets/cmake-CaoY67QC.js +1 -0
- package/dist/assets/cobol-ng5WMKOY.js +1 -0
- package/dist/assets/coffeescript-L66efR1O.js +1 -0
- package/dist/assets/commonlisp-rk__8_Ow.js +1 -0
- package/dist/assets/crystal-C1BeQSjD.js +1 -0
- package/dist/assets/css-zrdFFahf.js +1 -0
- package/dist/assets/cypher-DTKBhe_T.js +1 -0
- package/dist/assets/d-CDf89RKe.js +1 -0
- package/dist/assets/diff-BY4_GICG.js +1 -0
- package/dist/assets/dist--QplBylv.js +6 -0
- package/dist/assets/dist-BOz4jprC.js +1 -0
- package/dist/assets/dist-BSpuB3dZ.js +1 -0
- package/dist/assets/dist-BVTS1puf.js +1 -0
- package/dist/assets/dist-BvjF9csH.js +1 -0
- package/dist/assets/dist-ByyB_57-.js +11 -0
- package/dist/assets/dist-C5sjJwrm.js +1 -0
- package/dist/assets/dist-C6S96i9v.js +1 -0
- package/dist/assets/dist-CUQQ4au1.js +1 -0
- package/dist/assets/dist-C_ZftsU-.js +1 -0
- package/dist/assets/dist-Cc03jTPl.js +1 -0
- package/dist/assets/dist-CftiQ_Tf.js +1 -0
- package/dist/assets/dist-ChuUwcd4.js +2 -0
- package/dist/assets/dist-Cuva2wRW.js +1 -0
- package/dist/assets/dist-CyFWfPpu.js +9 -0
- package/dist/assets/dist-D6kXrcQY.js +1 -0
- package/dist/assets/dist-DH3Q_V27.js +23 -0
- package/dist/assets/dist-DIQDx3Dq.js +1 -0
- package/dist/assets/dist-DO7LTg3a.js +1 -0
- package/dist/assets/dist-DYBvJnrG.js +1 -0
- package/dist/assets/dist-DhhFPaYP.js +13 -0
- package/dist/assets/dist-elfU6IUT.js +1 -0
- package/dist/assets/dist-mCTXNkQ9.js +1 -0
- package/dist/assets/dockerfile-BBRxgo6-.js +1 -0
- package/dist/assets/dtd-BOpcurKR.js +1 -0
- package/dist/assets/dylan-DrmRAfMX.js +1 -0
- package/dist/assets/ebnf-DgECi_W8.js +1 -0
- package/dist/assets/ecl-CWDhUBvl.js +1 -0
- package/dist/assets/eiffel-DBpGy7gs.js +1 -0
- package/dist/assets/elm-Dj_ZNWRH.js +1 -0
- package/dist/assets/erlang-Br4TQPB7.js +1 -0
- package/dist/assets/factor-bi5FmZTz.js +1 -0
- package/dist/assets/fcl-Dh6ibuJG.js +1 -0
- package/dist/assets/forth-fmpuPpMA.js +1 -0
- package/dist/assets/fortran-CZwiXuJZ.js +1 -0
- package/dist/assets/gas-DotCoURX.js +1 -0
- package/dist/assets/gherkin-Bw4mmeRF.js +1 -0
- package/dist/assets/groovy-D7xek06K.js +1 -0
- package/dist/assets/haskell-D5bv2Ijt.js +1 -0
- package/dist/assets/haxe-UA0z6FgT.js +1 -0
- package/dist/assets/http-DAkDDIPY.js +1 -0
- package/dist/assets/idl-DYj57TA2.js +1 -0
- package/dist/assets/index-BpFNmvYv.js +214 -0
- package/dist/assets/index-De1iEP2f.css +1 -0
- package/dist/assets/javascript-B9Zm1tmO.js +1 -0
- package/dist/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
- package/dist/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
- package/dist/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff +0 -0
- package/dist/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2 +0 -0
- package/dist/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
- package/dist/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
- package/dist/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2 +0 -0
- package/dist/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff +0 -0
- package/dist/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- package/dist/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/dist/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff +0 -0
- package/dist/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2 +0 -0
- package/dist/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
- package/dist/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
- package/dist/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2 +0 -0
- package/dist/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff +0 -0
- package/dist/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
- package/dist/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff +0 -0
- package/dist/assets/julia-CpHdnx_N.js +1 -0
- package/dist/assets/livescript-DcEJKRZ4.js +1 -0
- package/dist/assets/lua-s-LPZohT.js +1 -0
- package/dist/assets/mathematica-c8TKcpav.js +1 -0
- package/dist/assets/mbox-CUr7-CiI.js +1 -0
- package/dist/assets/mirc-pTdL1Ym3.js +1 -0
- package/dist/assets/mllike-DsgO-njf.js +1 -0
- package/dist/assets/modelica-PhVkZonB.js +1 -0
- package/dist/assets/mscgen-ByD0zE8S.js +1 -0
- package/dist/assets/mumps-DhD4kjw9.js +1 -0
- package/dist/assets/nginx-CJc6p_yt.js +1 -0
- package/dist/assets/nsis-BHchP6IS.js +1 -0
- package/dist/assets/ntriples-D1v3iWDa.js +1 -0
- package/dist/assets/octave-D_WvWxqk.js +1 -0
- package/dist/assets/oz-CmdX4m3g.js +1 -0
- package/dist/assets/pascal-hNOkBp6J.js +1 -0
- package/dist/assets/perl-NQdG1b_r.js +1 -0
- package/dist/assets/pig-CXzedlZV.js +1 -0
- package/dist/assets/powershell-RXDVpFWf.js +1 -0
- package/dist/assets/properties-BTvtucqR.js +1 -0
- package/dist/assets/protobuf-zHRYyuba.js +1 -0
- package/dist/assets/pug-C39WZDG2.js +1 -0
- package/dist/assets/puppet-CMNLsBcD.js +1 -0
- package/dist/assets/python-_LoDBjEZ.js +1 -0
- package/dist/assets/q-SLmsw_60.js +1 -0
- package/dist/assets/r-CocOMjw8.js +1 -0
- package/dist/assets/rpm-WgkTpiCm.js +1 -0
- package/dist/assets/ruby-DquNeiGE.js +1 -0
- package/dist/assets/sas-sJxciv6G.js +1 -0
- package/dist/assets/scheme-DEjJDX5Z.js +1 -0
- package/dist/assets/shell-DhAwSAum.js +1 -0
- package/dist/assets/sieve-CcW8-k2R.js +1 -0
- package/dist/assets/simple-mode-BwNcRC8_.js +1 -0
- package/dist/assets/smalltalk-nXkQ5zwM.js +1 -0
- package/dist/assets/solr-DO54nYOg.js +1 -0
- package/dist/assets/sora-latin-400-normal-CRt88UEn.woff2 +0 -0
- package/dist/assets/sora-latin-400-normal-OW7qkl5a.woff +0 -0
- package/dist/assets/sora-latin-600-normal-1_7fyUAY.woff +0 -0
- package/dist/assets/sora-latin-600-normal-Cdg4DaK0.woff2 +0 -0
- package/dist/assets/sora-latin-700-normal-9waGdLWo.woff2 +0 -0
- package/dist/assets/sora-latin-700-normal-BKPfQAnC.woff +0 -0
- package/dist/assets/sora-latin-ext-400-normal-BmhJC382.woff +0 -0
- package/dist/assets/sora-latin-ext-400-normal-Twk1CgKs.woff2 +0 -0
- package/dist/assets/sora-latin-ext-600-normal-Cue1zdhl.woff2 +0 -0
- package/dist/assets/sora-latin-ext-600-normal-DLOJK0Ta.woff +0 -0
- package/dist/assets/sora-latin-ext-700-normal-DM0oy5s8.woff2 +0 -0
- package/dist/assets/sora-latin-ext-700-normal-Oc7uZIYt.woff +0 -0
- package/dist/assets/sparql-CxAS_pwk.js +1 -0
- package/dist/assets/spreadsheet-DWzAMKF2.js +1 -0
- package/dist/assets/sql-C_mHN2XB.js +1 -0
- package/dist/assets/stex-BmuQ0Xsx.js +1 -0
- package/dist/assets/stylus-CQ8h_EBd.js +1 -0
- package/dist/assets/swift-D0Eq5raO.js +1 -0
- package/dist/assets/tcl-D7utka2n.js +1 -0
- package/dist/assets/textile-XEeoev-k.js +1 -0
- package/dist/assets/tiddlywiki-CecErCuV.js +1 -0
- package/dist/assets/tiki-BlL-kki4.js +1 -0
- package/dist/assets/toml-mmtg9INI.js +1 -0
- package/dist/assets/troff-Crc1ZuaH.js +1 -0
- package/dist/assets/ttcn-Cri02b1f.js +1 -0
- package/dist/assets/ttcn-cfg--4YiJN4x.js +1 -0
- package/dist/assets/turtle-CUuoUr2N.js +1 -0
- package/dist/assets/vb-BrHulZxe.js +1 -0
- package/dist/assets/vbscript-vyHcteNE.js +1 -0
- package/dist/assets/velocity-DN4o8rq-.js +1 -0
- package/dist/assets/verilog-B0DGHLZN.js +1 -0
- package/dist/assets/vhdl-WeAF-qEm.js +1 -0
- package/dist/assets/webidl-C_bKeJT2.js +1 -0
- package/dist/assets/xquery-CLyH3kVm.js +1 -0
- package/dist/assets/yacas-Dq3LuV9B.js +1 -0
- package/dist/assets/z80-Br7weo_y.js +1 -0
- package/dist/favicon.svg +54 -0
- package/dist/icons.svg +24 -0
- package/dist/index.html +59 -0
- package/docs/ARCHITECTURE.md +194 -0
- package/docs/SETUP.md +242 -0
- package/docs/ui-desktop.png +0 -0
- package/docs/ui-desktop.svg +190 -0
- package/docs/ui-mobile.png +0 -0
- package/docs/ui-mobile.svg +113 -0
- package/package.json +79 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e;function t(e){return RegExp(`^(?:`+e.join(`|`)+`)$`,`i`)}var n=t([]),r=t([`@prefix`,`@base`,`a`]),i=/[*+\-<>=&|]/;function a(t,n){var a=t.next();if(e=null,a==`<`&&!t.match(/^[\s\u00a0=]/,!1))return t.match(/^[^\s\u00a0>]*>?/),`atom`;if(a==`"`||a==`'`)return n.tokenize=o(a),n.tokenize(t,n);if(/[{}\(\),\.;\[\]]/.test(a))return e=a,null;if(a==`#`)return t.skipToEnd(),`comment`;if(i.test(a))return t.eatWhile(i),null;if(a==`:`)return`operator`;if(t.eatWhile(/[_\w\d]/),t.peek()==`:`)return`variableName.special`;var s=t.current();return r.test(s)?`meta`:a>=`A`&&a<=`Z`?`comment`:`keyword`;var s}function o(e){return function(t,n){for(var r=!1,i;(i=t.next())!=null;){if(i==e&&!r){n.tokenize=a;break}r=!r&&i==`\\`}return`string`}}function s(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function c(e){e.indent=e.context.indent,e.context=e.context.prev}var l={name:`turtle`,startState:function(){return{tokenize:a,context:null,indent:0,col:0}},token:function(t,n){if(t.sol()&&(n.context&&n.context.align==null&&(n.context.align=!1),n.indent=t.indentation()),t.eatSpace())return null;var r=n.tokenize(t,n);if(r!=`comment`&&n.context&&n.context.align==null&&n.context.type!=`pattern`&&(n.context.align=!0),e==`(`)s(n,`)`,t.column());else if(e==`[`)s(n,`]`,t.column());else if(e==`{`)s(n,`}`,t.column());else if(/[\]\}\)]/.test(e)){for(;n.context&&n.context.type==`pattern`;)c(n);n.context&&e==n.context.type&&c(n)}else e==`.`&&n.context&&n.context.type==`pattern`?c(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?s(n,`pattern`,t.column()):n.context.type==`pattern`&&!n.context.align&&(n.context.align=!0,n.context.col=t.column()));return r},indent:function(e,t,n){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&i.type==`pattern`;)i=i.prev;var a=i&&r==i.type;return i?i.type==`pattern`?i.col:i.align?i.col+(a?0:1):i.indent+(a?0:n.unit):0},languageData:{commentTokens:{line:`#`}}};export{l as turtle};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`error`;function t(e){return RegExp(`^((`+e.join(`)|(`)+`))\\b`,`i`)}var n=RegExp(`^[\\+\\-\\*/%&\\\\|\\^~<>!]`),r=RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),i=RegExp(`^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))`),a=RegExp(`^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))`),o=RegExp(`^((//=)|(>>=)|(<<=)|(\\*\\*=))`),s=RegExp(`^[_A-Za-z][_A-Za-z0-9]*`),c=[`class`,`module`,`sub`,`enum`,`select`,`while`,`if`,`function`,`get`,`set`,`property`,`try`,`structure`,`synclock`,`using`,`with`],l=[`else`,`elseif`,`case`,`catch`,`finally`],u=[`next`,`loop`],d=[`and`,`andalso`,`or`,`orelse`,`xor`,`in`,`not`,`is`,`isnot`,`like`],f=t(d),p=`#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`.split(`.`),m=`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`.split(`.`),h=t(p),g=t(m),_=`"`,v=t(c),y=t(l),b=t(u),x=t([`end`]),S=t([`do`]),C=null;function w(e,t){t.currentIndent++}function T(e,t){t.currentIndent--}function E(t,c){if(t.eatSpace())return null;if(t.peek()===`'`)return t.skipToEnd(),`comment`;if(t.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var l=!1;if((t.match(/^\d*\.\d+F?/i)||t.match(/^\d+\.\d*F?/)||t.match(/^\.\d+F?/))&&(l=!0),l)return t.eat(/J/i),`number`;var u=!1;if(t.match(/^&H[0-9a-f]+/i)||t.match(/^&O[0-7]+/i)?u=!0:t.match(/^[1-9]\d*F?/)?(t.eat(/J/i),u=!0):t.match(/^0(?![\dx])/i)&&(u=!0),u)return t.eat(/L/i),`number`}return t.match(_)?(c.tokenize=D(t.current()),c.tokenize(t,c)):t.match(o)||t.match(a)?null:t.match(i)||t.match(n)||t.match(f)?`operator`:t.match(r)?null:t.match(S)?(w(t,c),c.doInCurrentLine=!0,`keyword`):t.match(v)?(c.doInCurrentLine?c.doInCurrentLine=!1:w(t,c),`keyword`):t.match(y)?`keyword`:t.match(x)?(T(t,c),T(t,c),`keyword`):t.match(b)?(T(t,c),`keyword`):t.match(g)||t.match(h)?`keyword`:t.match(s)?`variable`:(t.next(),e)}function D(e){var t=e.length==1,n=`string`;return function(r,i){for(;!r.eol();){if(r.eatWhile(/[^'"]/),r.match(e))return i.tokenize=E,n;r.eat(/['"]/)}return t&&(i.tokenize=E),n}}function O(t,n){var r=n.tokenize(t,n),i=t.current();if(i===`.`)return r=n.tokenize(t,n),r===`variable`?`variable`:e;var a=`[({`.indexOf(i);return a!==-1&&w(t,n),C===`dedent`&&T(t,n)||(a=`])}`.indexOf(i),a!==-1&&T(t,n))?e:r}var k={name:`vb`,startState:function(){return{tokenize:E,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var n=O(e,t);return t.lastToken={style:n,content:e.current()},n},indent:function(e,t,n){var r=t.replace(/^\s+|\s+$/g,``);return r.match(b)||r.match(x)||r.match(y)?n.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.unit},languageData:{closeBrackets:{brackets:[`(`,`[`,`{`,`"`]},commentTokens:{line:`'`},autocomplete:c.concat(l).concat(u).concat(d).concat(p).concat(m)}};export{k as vb};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){var t=`error`;function n(e){return RegExp(`^((`+e.join(`)|(`)+`))\\b`,`i`)}var r=RegExp(`^[\\+\\-\\*/&\\\\\\^<>=]`),i=RegExp(`^((<>)|(<=)|(>=))`),a=RegExp(`^[\\.,]`),o=RegExp(`^[\\(\\)]`),s=RegExp(`^[A-Za-z][_A-Za-z0-9]*`),c=[`class`,`sub`,`select`,`while`,`if`,`function`,`property`,`with`,`for`],l=[`else`,`elseif`,`case`],u=[`next`,`loop`,`wend`],d=n([`and`,`or`,`not`,`xor`,`is`,`mod`,`eqv`,`imp`]),f=[`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`],p=[`true`,`false`,`nothing`,`empty`,`null`],m=`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`.split(`.`),h=`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`.split(`.`),g=[`WScript`,`err`,`debug`,`RegExp`],_=[`description`,`firstindex`,`global`,`helpcontext`,`helpfile`,`ignorecase`,`length`,`number`,`pattern`,`source`,`value`,`count`],v=[`clear`,`execute`,`raise`,`replace`,`test`,`write`,`writeline`,`close`,`open`,`state`,`eof`,`update`,`addnew`,`end`,`createobject`,`quit`],y=[`server`,`response`,`request`,`session`,`application`],b=[`buffer`,`cachecontrol`,`charset`,`contenttype`,`expires`,`expiresabsolute`,`isclientconnected`,`pics`,`status`,`clientcertificate`,`cookies`,`form`,`querystring`,`servervariables`,`totalbytes`,`contents`,`staticobjects`,`codepage`,`lcid`,`sessionid`,`timeout`,`scripttimeout`],x=[`addheader`,`appendtolog`,`binarywrite`,`end`,`flush`,`redirect`,`binaryread`,`remove`,`removeall`,`lock`,`unlock`,`abandon`,`getlasterror`,`htmlencode`,`mappath`,`transfer`,`urlencode`],S=v.concat(_);g=g.concat(h),e.isASP&&(g=g.concat(y),S=S.concat(x,b));var C=n(f),w=n(p),T=n(m),E=n(g),D=n(S),O=`"`,k=n(c),A=n(l),j=n(u),M=n([`end`]),N=n([`do`]),P=n([`on error resume next`,`exit`]),F=n([`rem`]);function I(e,t){t.currentIndent++}function L(e,t){t.currentIndent--}function R(e,n){if(e.eatSpace())return null;if(e.peek()===`'`||e.match(F))return e.skipToEnd(),`comment`;if(e.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!e.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var c=!1;if((e.match(/^\d*\.\d+/i)||e.match(/^\d+\.\d*/)||e.match(/^\.\d+/))&&(c=!0),c)return e.eat(/J/i),`number`;var l=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?l=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),l=!0):e.match(/^0(?![\dx])/i)&&(l=!0),l)return e.eat(/L/i),`number`}return e.match(O)?(n.tokenize=z(e.current()),n.tokenize(e,n)):e.match(i)||e.match(r)||e.match(d)?`operator`:e.match(a)?null:e.match(o)?`bracket`:e.match(P)?(n.doInCurrentLine=!0,`keyword`):e.match(N)?(I(e,n),n.doInCurrentLine=!0,`keyword`):e.match(k)?(n.doInCurrentLine?n.doInCurrentLine=!1:I(e,n),`keyword`):e.match(A)?`keyword`:e.match(M)?(L(e,n),L(e,n),`keyword`):e.match(j)?(n.doInCurrentLine?n.doInCurrentLine=!1:L(e,n),`keyword`):e.match(C)?`keyword`:e.match(w)?`atom`:e.match(D)?`variableName.special`:e.match(T)||e.match(E)?`builtin`:e.match(s)?`variable`:(e.next(),t)}function z(e){var t=e.length==1,n=`string`;return function(r,i){for(;!r.eol();){if(r.eatWhile(/[^'"]/),r.match(e))return i.tokenize=R,n;r.eat(/['"]/)}return t&&(i.tokenize=R),n}}function B(e,n){var r=n.tokenize(e,n),i=e.current();return i===`.`?(r=n.tokenize(e,n),i=e.current(),r&&(r.substr(0,8)===`variable`||r===`builtin`||r===`keyword`)?((r===`builtin`||r===`keyword`)&&(r=`variable`),S.indexOf(i.substr(1))>-1&&(r=`keyword`),r):t):r}return{name:`vbscript`,startState:function(){return{tokenize:R,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var n=B(e,t);return t.lastToken={style:n,content:e.current()},n===null&&(n=null),n},indent:function(e,t,n){var r=t.replace(/^\s+|\s+$/g,``);return r.match(j)||r.match(M)||r.match(A)?n.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.unit}}}var t=e({});e({isASP:!0});export{t as vbScript};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){for(var t={},n=e.split(` `),r=0;r<n.length;++r)t[n[r]]=!0;return t}var t=e(`#end #else #break #stop #[[ #]] #{end} #{else} #{break} #{stop}`),n=e(`#if #elseif #foreach #set #include #parse #macro #define #evaluate #{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}`),r=e(`$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`),i=/[+\-*&%=<>!?:\/|]/;function a(e,t,n){return t.tokenize=n,n(e,t)}function o(e,o){var u=o.beforeParams;o.beforeParams=!1;var d=e.next();if(d==`'`&&!o.inString&&o.inParams)return o.lastTokenWasBuiltin=!1,a(e,o,s(d));if(d==`"`){if(o.lastTokenWasBuiltin=!1,o.inString)return o.inString=!1,`string`;if(o.inParams)return a(e,o,s(d))}else if(/[\[\]{}\(\),;\.]/.test(d))return d==`(`&&u?o.inParams=!0:d==`)`&&(o.inParams=!1,o.lastTokenWasBuiltin=!0),null;else if(/\d/.test(d))return o.lastTokenWasBuiltin=!1,e.eatWhile(/[\w\.]/),`number`;else if(d==`#`&&e.eat(`*`))return o.lastTokenWasBuiltin=!1,a(e,o,c);else if(d==`#`&&e.match(/ *\[ *\[/))return o.lastTokenWasBuiltin=!1,a(e,o,l);else if(d==`#`&&e.eat(`#`))return o.lastTokenWasBuiltin=!1,e.skipToEnd(),`comment`;else if(d==`$`)return e.eat(`!`),e.eatWhile(/[\w\d\$_\.{}-]/),r&&r.propertyIsEnumerable(e.current())?`keyword`:(o.lastTokenWasBuiltin=!0,o.beforeParams=!0,`builtin`);else if(i.test(d))return o.lastTokenWasBuiltin=!1,e.eatWhile(i),`operator`;else{e.eatWhile(/[\w\$_{}@]/);var f=e.current();return t&&t.propertyIsEnumerable(f)?`keyword`:n&&n.propertyIsEnumerable(f)||e.current().match(/^#@?[a-z0-9_]+ *$/i)&&e.peek()==`(`&&!(n&&n.propertyIsEnumerable(f.toLowerCase()))?(o.beforeParams=!0,o.lastTokenWasBuiltin=!1,`keyword`):o.inString?(o.lastTokenWasBuiltin=!1,`string`):e.pos>f.length&&e.string.charAt(e.pos-f.length-1)==`.`&&o.lastTokenWasBuiltin?`builtin`:(o.lastTokenWasBuiltin=!1,null)}}function s(e){return function(t,n){for(var r=!1,i,a=!1;(i=t.next())!=null;){if(i==e&&!r){a=!0;break}if(e==`"`&&t.peek()==`$`&&!r){n.inString=!0,a=!0;break}r=!r&&i==`\\`}return a&&(n.tokenize=o),`string`}}function c(e,t){for(var n=!1,r;r=e.next();){if(r==`#`&&n){t.tokenize=o;break}n=r==`*`}return`comment`}function l(e,t){for(var n=0,r;r=e.next();){if(r==`#`&&n==2){t.tokenize=o;break}r==`]`?n++:r!=` `&&(n=0)}return`meta`}var u={name:`velocity`,startState:function(){return{tokenize:o,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{line:`##`,block:{open:`#*`,close:`*#`}}}};export{u as velocity};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){var t=e.statementIndentUnit,n=e.dontAlignCalls,r=e.noIndentKeywords||[],i=e.multiLineStrings,a=e.hooks||{};function o(e){for(var t={},n=e.split(` `),r=0;r<n.length;++r)t[n[r]]=!0;return t}var s=o(`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`),c=/[\+\-\*\/!~&|^%=?:]/,l=/[\[\]{}()]/,u=/\d[0-9_]*/,d=/\d*\s*'s?d\s*\d[0-9_]*/i,f=/\d*\s*'s?b\s*[xz01][xz01_]*/i,p=/\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i,m=/\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i,h=/(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i,g=/^((\w+)|[)}\]])/,_=/[)}\]]/,v,y,b=o(`case checker class clocking config function generate interface module package primitive program property specify sequence table task`),x={};for(var S in b)x[S]=`end`+S;for(var C in x.begin=`end`,x.casex=`endcase`,x.casez=`endcase`,x.do=`while`,x.fork=`join;join_any;join_none`,x.covergroup=`endgroup`,r){var S=r[C];x[S]&&(x[S]=void 0)}var w=o(`always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while`);function T(e,t){var n=e.peek(),r;if(a[n]&&(r=a[n](e,t))!=0||a.tokenBase&&(r=a.tokenBase(e,t))!=0)return r;if(/[,;:\.]/.test(n))return v=e.next(),null;if(l.test(n))return v=e.next(),`bracket`;if(n=="`")return e.next(),e.eatWhile(/[\w\$_]/)?`def`:null;if(n==`$`)return e.next(),e.eatWhile(/[\w\$_]/)?`meta`:null;if(n==`#`)return e.next(),e.eatWhile(/[\d_.]/),`def`;if(n==`"`)return e.next(),t.tokenize=E(n),t.tokenize(e,t);if(n==`/`){if(e.next(),e.eat(`*`))return t.tokenize=D,D(e,t);if(e.eat(`/`))return e.skipToEnd(),`comment`;e.backUp(1)}if(e.match(h)||e.match(d)||e.match(f)||e.match(p)||e.match(m)||e.match(u)||e.match(h))return`number`;if(e.eatWhile(c))return`meta`;if(e.eatWhile(/[\w\$_]/)){var i=e.current();return s[i]?(x[i]&&(v=`newblock`),w[i]&&(v=`newstatement`),y=i,`keyword`):`variable`}return e.next(),null}function E(e){return function(t,n){for(var r=!1,a,o=!1;(a=t.next())!=null;){if(a==e&&!r){o=!0;break}r=!r&&a==`\\`}return(o||!(r||i))&&(n.tokenize=T),`string`}}function D(e,t){for(var n=!1,r;r=e.next();){if(r==`/`&&n){t.tokenize=T;break}n=r==`*`}return`comment`}function O(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function k(e,t,n){var r=e.indented;return e.context=new O(r,t,n,null,e.context)}function A(e){var t=e.context.type;return(t==`)`||t==`]`||t==`}`)&&(e.indented=e.context.indented),e.context=e.context.prev}function j(e,t){if(e==t)return!0;var n=t.split(`;`);for(var r in n)if(e==n[r])return!0;return!1}function M(){var e=[];for(var t in x)if(x[t]){var n=x[t].split(`;`);for(var r in n)e.push(n[r])}return RegExp(`[{}()\\[\\]]|(`+e.join(`|`)+`)$`)}return{name:`verilog`,startState:function(e){var t={tokenize:null,context:new O(-e,0,`top`,!1),indented:0,startOfLine:!0};return a.startState&&a.startState(t),t},token:function(e,t){var n=t.context;if(e.sol()&&(n.align??=!1,t.indented=e.indentation(),t.startOfLine=!0),a.token){var r=a.token(e,t);if(r!==void 0)return r}if(e.eatSpace())return null;v=null,y=null;var r=(t.tokenize||T)(e,t);if(r==`comment`||r==`meta`||r==`variable`)return r;if(n.align??=!0,v==n.type)A(t);else if(v==`;`&&n.type==`statement`||n.type&&j(y,n.type))for(n=A(t);n&&n.type==`statement`;)n=A(t);else if(v==`{`)k(t,e.column(),`}`);else if(v==`[`)k(t,e.column(),`]`);else if(v==`(`)k(t,e.column(),`)`);else if(n&&n.type==`endcase`&&v==`:`)k(t,e.column(),`statement`);else if(v==`newstatement`)k(t,e.column(),`statement`);else if(v==`newblock`&&!(y==`function`&&n&&(n.type==`statement`||n.type==`endgroup`))&&!(y==`task`&&n&&n.type==`statement`)){var i=x[y];k(t,e.column(),i)}return t.startOfLine=!1,r},indent:function(e,r,i){if(e.tokenize!=T&&e.tokenize!=null)return null;if(a.indent){var o=a.indent(e);if(o>=0)return o}var s=e.context,c=r&&r.charAt(0);s.type==`statement`&&c==`}`&&(s=s.prev);var l=!1,u=r.match(g);return u&&(l=j(u[0],s.type)),s.type==`statement`?s.indented+(c==`{`?0:t||i.unit):_.test(s.type)&&s.align&&!n?s.column+(l?0:1):s.type==`)`&&!l?s.indented+(t||i.unit):s.indented+(l?0:i.unit)},languageData:{indentOnInput:M(),commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}}}}}var t=e({}),n={"|":`link`,">":`property`,$:`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`,"^":`attribute`,"^^":`attribute`,"^!":`attribute`,"*":`variable`,"**":`variable`,"\\":`keyword`,'"':`comment`},r={"/":`beh-hier`,">":`beh-hier`,"-":`phys-hier`,"|":`pipe`,"?":`when`,"@":`stage`,"\\":`keyword`},i=3,a=!1,o=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,s=/^[! ] */,c=/^\/[\/\*]/;e({hooks:{electricInput:!1,token:function(e,t){var l=void 0,u;if(e.sol()&&!t.tlvInBlockComment){e.peek()==`\\`&&(l=`def`,e.skipToEnd(),e.string.match(/\\SV/)?t.tlvCodeActive=!1:e.string.match(/\\TLV/)&&(t.tlvCodeActive=!0)),t.tlvCodeActive&&e.pos==0&&t.indented==0&&(u=e.match(s,!1))&&(t.indented=u[0].length);var d=t.indented,f=d/i;if(f<=t.tlvIndentationStyle.length){var p=e.string.length==d,m=f*i;if(m<e.string.length){var h=e.string.slice(m),g=h[0];r[g]&&(u=h.match(o))&&n[u[1]]&&(d+=i,g==`\\`&&m>0||(t.tlvIndentationStyle[f]=r[g],a&&(t.statementComment=!1),f++))}if(!p)for(;t.tlvIndentationStyle.length>f;)t.tlvIndentationStyle.pop()}t.tlvNextIndent=d}if(t.tlvCodeActive){var _=!1;a&&(_=e.peek()!=` `&&l===void 0&&!t.tlvInBlockComment&&e.column()==t.tlvIndentationStyle.length*i,_&&(t.statementComment&&(_=!1),t.statementComment=e.match(c,!1)));var u;if(l===void 0)if(t.tlvInBlockComment)e.match(/^.*?\*\//)?(t.tlvInBlockComment=!1,a&&!e.eol()&&(t.statementComment=!1)):e.skipToEnd(),l=`comment`;else if((u=e.match(c))&&!t.tlvInBlockComment)u[0]==`//`?e.skipToEnd():t.tlvInBlockComment=!0,l=`comment`;else if(u=e.match(o)){var v=u[1],y=u[2];n.hasOwnProperty(v)&&(y.length>0||e.eol())?l=n[v]:e.backUp(e.current().length-1)}else e.match(/^\t+/)?l=`invalid`:e.match(/^[\[\]{}\(\);\:]+/)?l=`meta`:(u=e.match(/^[mM]4([\+_])?[\w\d_]*/))?l=u[1]==`+`?`keyword.special`:`keyword`:e.match(/^ +/)?e.eol()&&(l=`error`):e.match(/^[\w\d_]+/)?l=`number`:e.next()}else e.match(/^[mM]4([\w\d_]*)/)&&(l=`keyword`);return l},indent:function(e){return e.tlvCodeActive==1?e.tlvNextIndent:-1},startState:function(e){e.tlvIndentationStyle=[],e.tlvCodeActive=!0,e.tlvNextIndent=-1,e.tlvInBlockComment=!1,a&&(e.statementComment=!1)}}});export{t as verilog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){for(var t={},n=e.split(`,`),r=0;r<n.length;++r){var i=n[r].toUpperCase(),a=n[r].charAt(0).toUpperCase()+n[r].slice(1);t[n[r]]=!0,t[i]=!0,t[a]=!0}return t}function t(e){return e.eatWhile(/[\w\$_]/),`meta`}var n=e(`null`),r={"`":t,$:t},i=!1,a=e(`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`),o=e(`architecture,entity,begin,case,port,else,elsif,end,for,function,if`),s=/[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/,c;function l(e,t){var i=e.next();if(r[i]){var l=r[i](e,t);if(l!==!1)return l}if(i==`"`)return t.tokenize=d(i),t.tokenize(e,t);if(i==`'`)return t.tokenize=u(i),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(i))return c=i,null;if(/[\d']/.test(i))return e.eatWhile(/[\w\.']/),`number`;if(i==`-`&&e.eat(`-`))return e.skipToEnd(),`comment`;if(s.test(i))return e.eatWhile(s),`operator`;e.eatWhile(/[\w\$_]/);var f=e.current();return a.propertyIsEnumerable(f.toLowerCase())?(o.propertyIsEnumerable(f)&&(c=`newstatement`),`keyword`):n.propertyIsEnumerable(f)?`atom`:`variable`}function u(e){return function(t,n){for(var r=!1,a,o=!1;(a=t.next())!=null;){if(a==e&&!r){o=!0;break}r=!r&&a==`--`}return(o||!(r||i))&&(n.tokenize=l),`string`}}function d(e){return function(t,n){for(var r=!1,a,o=!1;(a=t.next())!=null;){if(a==e&&!r){o=!0;break}r=!r&&a==`--`}return(o||!(r||i))&&(n.tokenize=l),`string.special`}}function f(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function p(e,t,n){return e.context=new f(e.indented,t,n,null,e.context)}function m(e){var t=e.context.type;return(t==`)`||t==`]`||t==`}`)&&(e.indented=e.context.indented),e.context=e.context.prev}var h={name:`vhdl`,startState:function(e){return{tokenize:null,context:new f(-e,0,`top`,!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(n.align??=!1,t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;c=null;var r=(t.tokenize||l)(e,t);if(r==`comment`||r==`meta`)return r;if(n.align??=!0,(c==`;`||c==`:`)&&n.type==`statement`)m(t);else if(c==`{`)p(t,e.column(),`}`);else if(c==`[`)p(t,e.column(),`]`);else if(c==`(`)p(t,e.column(),`)`);else if(c==`}`){for(;n.type==`statement`;)n=m(t);for(n.type==`}`&&(n=m(t));n.type==`statement`;)n=m(t)}else c==n.type?m(t):(n.type==`}`||n.type==`top`||n.type==`statement`&&c==`newstatement`)&&p(t,e.column(),`statement`);return t.startOfLine=!1,r},indent:function(e,t,n){if(e.tokenize!=l&&e.tokenize!=null)return 0;var r=t&&t.charAt(0),i=e.context,a=r==i.type;return i.type==`statement`?i.indented+(r==`{`?0:n.unit):i.align?i.column+(a?0:1):i.indented+(a?0:n.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:`--`}}};export{h as vhdl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return RegExp(`^((`+e.join(`)|(`)+`))\\b`)}var t=[`Clamp`,`Constructor`,`EnforceRange`,`Exposed`,`ImplicitThis`,`Global`,`PrimaryGlobal`,`LegacyArrayClass`,`LegacyUnenumerableNamedProperties`,`LenientThis`,`NamedConstructor`,`NewObject`,`NoInterfaceObject`,`OverrideBuiltins`,`PutForwards`,`Replaceable`,`SameObject`,`TreatNonObjectAsNull`,`TreatNullAs`,`EmptyString`,`Unforgeable`,`Unscopeable`],n=e(t),r=`unsigned.short.long.unrestricted.float.double.boolean.byte.octet.Promise.ArrayBuffer.DataView.Int8Array.Int16Array.Int32Array.Uint8Array.Uint16Array.Uint32Array.Uint8ClampedArray.Float32Array.Float64Array.ByteString.DOMString.USVString.sequence.object.RegExp.Error.DOMException.FrozenArray.any.void`.split(`.`),i=e(r),a=[`attribute`,`callback`,`const`,`deleter`,`dictionary`,`enum`,`getter`,`implements`,`inherit`,`interface`,`iterable`,`legacycaller`,`maplike`,`partial`,`required`,`serializer`,`setlike`,`setter`,`static`,`stringifier`,`typedef`,`optional`,`readonly`,`or`],o=e(a),s=[`true`,`false`,`Infinity`,`NaN`,`null`],c=e(s),l=e([`callback`,`dictionary`,`enum`,`interface`]),u=e([`typedef`]),d=/^[:<=>?]/,f=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,p=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,m=/^_?[A-Za-z][0-9A-Z_a-z-]*/,h=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,g=/^"[^"]*"/,_=/^\/\*.*?\*\//,v=/^\/\*.*/,y=/^.*?\*\//;function b(e,t){if(e.eatSpace())return null;if(t.inComment)return e.match(y)?(t.inComment=!1,`comment`):(e.skipToEnd(),`comment`);if(e.match(`//`))return e.skipToEnd(),`comment`;if(e.match(_))return`comment`;if(e.match(v))return t.inComment=!0,`comment`;if(e.match(/^-?[0-9\.]/,!1)&&(e.match(f)||e.match(p)))return`number`;if(e.match(g))return`string`;if(t.startDef&&e.match(m))return`def`;if(t.endDef&&e.match(h))return t.endDef=!1,`def`;if(e.match(o))return`keyword`;if(e.match(i)){var r=t.lastToken,a=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return r===`:`||r===`implements`||a===`implements`||a===`=`?`builtin`:`type`}return e.match(n)?`builtin`:e.match(c)?`atom`:e.match(m)?`variable`:e.match(d)?`operator`:(e.next(),null)}var x={name:`webidl`,startState:function(){return{inComment:!1,lastToken:``,startDef:!1,endDef:!1}},token:function(e,t){var n=b(e,t);if(n){var r=e.current();t.lastToken=r,n===`keyword`?(t.startDef=l.test(r),t.endDef=t.endDef||u.test(r)):t.startDef=!1}return n},languageData:{autocomplete:t.concat(r).concat(a).concat(s)}};export{x as webIDL};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=function(){function e(e){return{type:e,style:`keyword`}}for(var t=e(`operator`),n={type:`atom`,style:`atom`},r={type:`punctuation`,style:null},i={type:`axis_specifier`,style:`qualifier`},a={",":r},o=`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`.split(`.`),s=0,c=o.length;s<c;s++)a[o[s]]=e(o[s]);for(var l=`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`.split(`.`),s=0,c=l.length;s<c;s++)a[l[s]]=n;for(var u=[`eq`,`ne`,`lt`,`le`,`gt`,`ge`,`:=`,`=`,`>`,`>=`,`<`,`<=`,`.`,`|`,`?`,`and`,`or`,`div`,`idiv`,`mod`,`*`,`/`,`+`,`-`],s=0,c=u.length;s<c;s++)a[u[s]]=t;for(var d=[`self::`,`attribute::`,`child::`,`descendant::`,`descendant-or-self::`,`parent::`,`ancestor::`,`ancestor-or-self::`,`following::`,`preceding::`,`following-sibling::`,`preceding-sibling::`],s=0,c=d.length;s<c;s++)a[d[s]]=i;return a}();function t(e,t,n){return t.tokenize=n,n(e,t)}function n(n,i){var c=n.next(),p=!1,g=h(n);if(c==`<`){if(n.match(`!--`,!0))return t(n,i,l);if(n.match(`![CDATA`,!1))return i.tokenize=u,`tag`;if(n.match(`?`,!1))return t(n,i,d);var y=n.eat(`/`);n.eatSpace();for(var b=``,x;x=n.eat(/[^\s\u00a0=<>\"\'\/?]/);)b+=x;return t(n,i,s(b,y))}else if(c==`{`)return _(i,{type:`codeblock`}),null;else if(c==`}`)return v(i),null;else if(f(i))return c==`>`?`tag`:c==`/`&&n.eat(`>`)?(v(i),`tag`):`variable`;else if(/\d/.test(c))return n.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),`atom`;else if(c===`(`&&n.eat(`:`))return _(i,{type:`comment`}),t(n,i,r);else if(!g&&(c===`"`||c===`'`))return a(n,i,c);else if(c===`$`)return t(n,i,o);else if(c===`:`&&n.eat(`=`))return`keyword`;else if(c===`(`)return _(i,{type:`paren`}),null;else if(c===`)`)return v(i),null;else if(c===`[`)return _(i,{type:`bracket`}),null;else if(c===`]`)return v(i),null;else{var S=e.propertyIsEnumerable(c)&&e[c];if(g&&c===`"`)for(;n.next()!==`"`;);if(g&&c===`'`)for(;n.next()!==`'`;);S||n.eatWhile(/[\w\$_-]/);var C=n.eat(`:`);!n.eat(`:`)&&C&&n.eatWhile(/[\w\$_-]/),n.match(/^[ \t]*\(/,!1)&&(p=!0);var w=n.current();return S=e.propertyIsEnumerable(w)&&e[w],p&&!S&&(S={type:`function_call`,style:`def`}),m(i)?(v(i),`variable`):((w==`element`||w==`attribute`||S.type==`axis_specifier`)&&_(i,{type:`xmlconstructor`}),S?S.style:`variable`)}}function r(e,t){for(var n=!1,r=!1,i=0,a;a=e.next();){if(a==`)`&&n)if(i>0)i--;else{v(t);break}else a==`:`&&r&&i++;n=a==`:`,r=a==`(`}return`comment`}function i(e,t){return function(r,i){for(var a;a=r.next();)if(a==e){v(i),t&&(i.tokenize=t);break}else if(r.match(`{`,!1)&&p(i))return _(i,{type:`codeblock`}),i.tokenize=n,`string`;return`string`}}function a(e,n,r,a){let o=i(r,a);return _(n,{type:`string`,name:r,tokenize:o}),t(e,n,o)}function o(e,t){var r=/[\w\$_-]/;if(e.eat(`"`)){for(;e.next()!==`"`;);e.eat(`:`)}else e.eatWhile(r),e.match(`:=`,!1)||e.eat(`:`);return e.eatWhile(r),t.tokenize=n,`variable`}function s(e,t){return function(r,i){if(r.eatSpace(),t&&r.eat(`>`))return v(i),i.tokenize=n,`tag`;if(r.eat(`/`)||_(i,{type:`tag`,name:e,tokenize:n}),r.eat(`>`))i.tokenize=n;else return i.tokenize=c,`tag`;return`tag`}}function c(e,t){var r=e.next();return r==`/`&&e.eat(`>`)?(p(t)&&v(t),f(t)&&v(t),`tag`):r==`>`?(p(t)&&v(t),`tag`):r==`=`?null:r==`"`||r==`'`?a(e,t,r,c):(p(t)||_(t,{type:`attribute`,tokenize:c}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(`>`,!1)||e.match(`/`,!1))&&(v(t),t.tokenize=n),`attribute`)}function l(e,t){for(var r;r=e.next();)if(r==`-`&&e.match(`->`,!0))return t.tokenize=n,`comment`}function u(e,t){for(var r;r=e.next();)if(r==`]`&&e.match(`]`,!0))return t.tokenize=n,`comment`}function d(e,t){for(var r;r=e.next();)if(r==`?`&&e.match(`>`,!0))return t.tokenize=n,`processingInstruction`}function f(e){return g(e,`tag`)}function p(e){return g(e,`attribute`)}function m(e){return g(e,`xmlconstructor`)}function h(e){return e.current()===`"`?e.match(/^[^\"]+\"\:/,!1):e.current()===`'`?e.match(/^[^\"]+\'\:/,!1):!1}function g(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function _(e,t){e.stack.push(t)}function v(e){e.stack.pop(),e.tokenize=e.stack.length&&e.stack[e.stack.length-1].tokenize||n}var y={name:`xquery`,startState:function(){return{tokenize:n,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:`(:`,close:`:)`}}}};export{y as xQuery};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){for(var t={},n=e.split(` `),r=0;r<n.length;++r)t[n[r]]=!0;return t}var t=e(`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`),n=`(?:(?:\\.\\d+|\\d+\\.\\d*|\\d+)(?:[eE][+-]?\\d+)?)`,r=`(?:[a-zA-Z\\$'][a-zA-Z0-9\\$']*)`,i=new RegExp(n),a=new RegExp(r),o=RegExp(r+`?_`+r),s=RegExp(r+`\\s*\\(`);function c(e,n){var r=e.next();if(r===`"`)return n.tokenize=l,n.tokenize(e,n);if(r===`/`){if(e.eat(`*`))return n.tokenize=u,n.tokenize(e,n);if(e.eat(`/`))return e.skipToEnd(),`comment`}e.backUp(1);var c=e.match(/^(\w+)\s*\(/,!1);c!==null&&t.hasOwnProperty(c[1])&&n.scopes.push(`bodied`);var f=d(n);if(f===`bodied`&&r===`[`&&n.scopes.pop(),(r===`[`||r===`{`||r===`(`)&&n.scopes.push(r),f=d(n),(f===`[`&&r===`]`||f===`{`&&r===`}`||f===`(`&&r===`)`)&&n.scopes.pop(),r===`;`)for(;f===`bodied`;)n.scopes.pop(),f=d(n);return e.match(/\d+ *#/,!0,!1)?`qualifier`:e.match(i,!0,!1)?`number`:e.match(o,!0,!1)?`variableName.special`:e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?`bracket`:e.match(s,!0,!1)?(e.backUp(1),`variableName.function`):e.match(a,!0,!1)?`variable`:e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?`operator`:`error`}function l(e,t){for(var n,r=!1,i=!1;(n=e.next())!=null;){if(n===`"`&&!i){r=!0;break}i=!i&&n===`\\`}return r&&!i&&(t.tokenize=c),`string`}function u(e,t){for(var n,r;(r=e.next())!=null;){if(n===`*`&&r===`/`){t.tokenize=c;break}n=r}return`comment`}function d(e){var t=null;return e.scopes.length>0&&(t=e.scopes[e.scopes.length-1]),t}var f={name:`yacas`,startState:function(){return{tokenize:c,scopes:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},indent:function(e,t,n){if(e.tokenize!==c&&e.tokenize!==null)return null;var r=0;return(t===`]`||t===`];`||t===`}`||t===`};`||t===`);`)&&(r=-1),(e.scopes.length+r)*n.unit},languageData:{electricInput:/[{}\[\]()\;]/,commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}}}};export{f as yacas};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){var t,n;e?(t=/^(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,n=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(t=/^(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,n=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var r=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,i=/^(n?[zc]|p[oe]?|m)\b/i,a=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,o=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{name:`z80`,startState:function(){return{context:0}},token:function(s,c){if(s.column()||(c.context=0),s.eatSpace())return null;var l;if(s.eatWhile(/\w/))if(e&&s.eat(`.`)&&s.eatWhile(/\w/),l=s.current(),s.indentation()){if((c.context==1||c.context==4)&&r.test(l))return c.context=4,`variable`;if(c.context==2&&i.test(l))return c.context=4,`variableName.special`;if(t.test(l))return c.context=1,`keyword`;if(n.test(l))return c.context=2,`keyword`;if(c.context==4&&o.test(l))return`number`;if(a.test(l))return`error`}else if(s.match(o))return`number`;else return null;else if(s.eat(`;`))return s.skipToEnd(),`comment`;else if(s.eat(`"`)){for(;(l=s.next())&&l!=`"`;)l==`\\`&&s.next();return`string`}else if(s.eat(`'`)){if(s.match(/\\?.'/))return`number`}else if(s.eat(`.`)||s.sol()&&s.eat(`#`)){if(c.context=5,s.eatWhile(/\w/))return`def`}else if(s.eat(`$`)){if(s.eatWhile(/[\da-f]/i))return`number`}else if(s.eat(`%`)){if(s.eatWhile(/[01]/))return`number`}else s.next();return null}}}var t=e(!1);e(!0);export{t as z80};
|
package/dist/favicon.svg
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="none">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="ndx-stroke" x1="48" y1="36" x2="206" y2="214" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop offset="0" stop-color="#6CF0FF" />
|
|
5
|
+
<stop offset="0.52" stop-color="#79A6FF" />
|
|
6
|
+
<stop offset="1" stop-color="#EE74FF" />
|
|
7
|
+
</linearGradient>
|
|
8
|
+
<radialGradient id="ndx-core" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(128 128) rotate(90) scale(104)">
|
|
9
|
+
<stop offset="0" stop-color="#162246" stop-opacity="0.96" />
|
|
10
|
+
<stop offset="0.68" stop-color="#0C1224" stop-opacity="0.82" />
|
|
11
|
+
<stop offset="1" stop-color="#060910" stop-opacity="0" />
|
|
12
|
+
</radialGradient>
|
|
13
|
+
<filter id="ndx-glow" x="6" y="10" width="244" height="236" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
14
|
+
<feGaussianBlur stdDeviation="8" result="blur" />
|
|
15
|
+
<feMerge>
|
|
16
|
+
<feMergeNode in="blur" />
|
|
17
|
+
<feMergeNode in="SourceGraphic" />
|
|
18
|
+
</feMerge>
|
|
19
|
+
</filter>
|
|
20
|
+
</defs>
|
|
21
|
+
|
|
22
|
+
<circle cx="128" cy="128" r="92" fill="url(#ndx-core)" />
|
|
23
|
+
<g filter="url(#ndx-glow)" stroke="url(#ndx-stroke)" stroke-linecap="round" stroke-linejoin="round">
|
|
24
|
+
<circle cx="128" cy="128" r="76" stroke-opacity="0.9" stroke-width="3" />
|
|
25
|
+
<circle cx="128" cy="128" r="58" stroke-opacity="0.84" stroke-width="2.5" />
|
|
26
|
+
<ellipse cx="128" cy="128" rx="98" ry="44" transform="rotate(30 128 128)" stroke-opacity="0.92" stroke-width="3.2" />
|
|
27
|
+
<ellipse cx="128" cy="128" rx="98" ry="44" transform="rotate(-30 128 128)" stroke-opacity="0.92" stroke-width="3.2" />
|
|
28
|
+
|
|
29
|
+
<path d="M128 39L136 67L128 82L120 67L128 39Z" stroke-opacity="0.82" stroke-width="3" />
|
|
30
|
+
<path d="M217 128L189 136L174 128L189 120L217 128Z" stroke-opacity="0.82" stroke-width="3" />
|
|
31
|
+
<path d="M128 217L120 189L128 174L136 189L128 217Z" stroke-opacity="0.82" stroke-width="3" />
|
|
32
|
+
<path d="M39 128L67 120L82 128L67 136L39 128Z" stroke-opacity="0.82" stroke-width="3" />
|
|
33
|
+
|
|
34
|
+
<path d="M128 48L147 59V81L128 92L109 81V59L128 48Z" stroke-width="3" />
|
|
35
|
+
<path d="M128 44L152 58V86L128 100L104 86V58L128 44Z" stroke-opacity="0.7" stroke-width="2" />
|
|
36
|
+
|
|
37
|
+
<path d="M128 84L166 106V150L128 172L90 150V106L128 84Z" stroke-width="3" />
|
|
38
|
+
<path d="M128 74L174 101V155L128 182L82 155V101L128 74Z" stroke-opacity="0.82" stroke-width="2.4" />
|
|
39
|
+
<path d="M128 98L150 111V145L128 158L106 145V111L128 98Z" stroke-opacity="0.76" stroke-width="2" />
|
|
40
|
+
|
|
41
|
+
<path d="M112 151V105L144 151V105" stroke-width="6" />
|
|
42
|
+
<path d="M112 151L112 105L144 151L144 105" stroke-width="2.4" />
|
|
43
|
+
|
|
44
|
+
<circle cx="79" cy="91" r="6.5" fill="#79A6FF" stroke-width="2" />
|
|
45
|
+
<circle cx="177" cy="79" r="9" fill="#6CF0FF" stroke-width="2" />
|
|
46
|
+
<circle cx="190" cy="162" r="7" fill="#B786FF" stroke-width="2" />
|
|
47
|
+
<circle cx="74" cy="173" r="7.5" fill="#EE74FF" stroke-width="2" />
|
|
48
|
+
|
|
49
|
+
<path d="M89 55L93 59L89 63L85 59L89 55Z" fill="#6CF0FF" stroke-width="1.6" />
|
|
50
|
+
<path d="M199 104L203 108L199 112L195 108L199 104Z" fill="#79A6FF" stroke-width="1.6" />
|
|
51
|
+
<path d="M185 198L189 202L185 206L181 202L185 198Z" fill="#EE74FF" stroke-width="1.6" />
|
|
52
|
+
<path d="M56 143L60 147L56 151L52 147L56 143Z" fill="#79A6FF" stroke-width="1.6" />
|
|
53
|
+
</g>
|
|
54
|
+
</svg>
|
package/dist/icons.svg
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<symbol id="bluesky-icon" viewBox="0 0 16 17">
|
|
3
|
+
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
|
|
4
|
+
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
|
|
5
|
+
</symbol>
|
|
6
|
+
<symbol id="discord-icon" viewBox="0 0 20 19">
|
|
7
|
+
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
|
|
8
|
+
</symbol>
|
|
9
|
+
<symbol id="documentation-icon" viewBox="0 0 21 20">
|
|
10
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
|
|
11
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
|
|
12
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
|
|
13
|
+
</symbol>
|
|
14
|
+
<symbol id="github-icon" viewBox="0 0 19 19">
|
|
15
|
+
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
|
|
16
|
+
</symbol>
|
|
17
|
+
<symbol id="social-icon" viewBox="0 0 20 20">
|
|
18
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
|
|
19
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
|
|
20
|
+
</symbol>
|
|
21
|
+
<symbol id="x-icon" viewBox="0 0 19 19">
|
|
22
|
+
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
|
|
23
|
+
</symbol>
|
|
24
|
+
</svg>
|
package/dist/index.html
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg?v=nomadex-n" />
|
|
6
|
+
<link rel="shortcut icon" href="/favicon.svg?v=nomadex-n" />
|
|
7
|
+
<link rel="apple-touch-icon" href="/favicon.svg?v=nomadex-n" />
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
9
|
+
<meta name="color-scheme" content="dark" />
|
|
10
|
+
<meta name="theme-color" content="#17384b" />
|
|
11
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
12
|
+
<title>Nomadex</title>
|
|
13
|
+
<script>
|
|
14
|
+
(() => {
|
|
15
|
+
const storageKey = "nomadex-ui-theme";
|
|
16
|
+
const themeMap = {
|
|
17
|
+
void: { mode: "dark", themeColor: "#17384b" },
|
|
18
|
+
ember: { mode: "dark", themeColor: "#4b2616" },
|
|
19
|
+
plasma: { mode: "dark", themeColor: "#4b215e" },
|
|
20
|
+
arctic: { mode: "dark", themeColor: "#163a4f" },
|
|
21
|
+
crimson: { mode: "dark", themeColor: "#4a1d28" },
|
|
22
|
+
matrix: { mode: "dark", themeColor: "#183720" },
|
|
23
|
+
solar: { mode: "light", themeColor: "#e8d5bc" },
|
|
24
|
+
midnight: { mode: "dark", themeColor: "#2a3260" },
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
const storedTheme = window.localStorage.getItem(storageKey);
|
|
29
|
+
const activeTheme = themeMap[storedTheme] ?? themeMap.void;
|
|
30
|
+
const activeThemeId = themeMap[storedTheme] ? storedTheme : "void";
|
|
31
|
+
const root = document.documentElement;
|
|
32
|
+
|
|
33
|
+
root.dataset.uiTheme = activeThemeId;
|
|
34
|
+
root.style.setProperty("color-scheme", activeTheme.mode);
|
|
35
|
+
document
|
|
36
|
+
.querySelector('meta[name="theme-color"]')
|
|
37
|
+
?.setAttribute("content", activeTheme.themeColor);
|
|
38
|
+
document
|
|
39
|
+
.querySelector('meta[name="color-scheme"]')
|
|
40
|
+
?.setAttribute("content", activeTheme.mode);
|
|
41
|
+
document
|
|
42
|
+
.querySelector('meta[name="apple-mobile-web-app-status-bar-style"]')
|
|
43
|
+
?.setAttribute(
|
|
44
|
+
"content",
|
|
45
|
+
activeTheme.mode === "light" ? "default" : "black-translucent",
|
|
46
|
+
);
|
|
47
|
+
} catch {
|
|
48
|
+
// Ignore storage/meta sync failures during boot.
|
|
49
|
+
}
|
|
50
|
+
})();
|
|
51
|
+
</script>
|
|
52
|
+
<script type="module" crossorigin src="/assets/index-BpFNmvYv.js"></script>
|
|
53
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-DhhFPaYP.js">
|
|
54
|
+
<link rel="stylesheet" crossorigin href="/assets/index-De1iEP2f.css">
|
|
55
|
+
</head>
|
|
56
|
+
<body>
|
|
57
|
+
<div id="root"></div>
|
|
58
|
+
</body>
|
|
59
|
+
</html>
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
Nomadex is a provider-aware browser shell around a local coding-agent runtime.
|
|
4
|
+
|
|
5
|
+
The important design choice is that the agent stays on your machine. Nomadex is the remote control surface, not the execution environment.
|
|
6
|
+
|
|
7
|
+
## Goals
|
|
8
|
+
|
|
9
|
+
- keep the real agent, repo, and credentials local to the host machine
|
|
10
|
+
- provide a responsive browser UI for desktop and mobile
|
|
11
|
+
- make remote supervision practical from a phone or secondary device
|
|
12
|
+
- separate rendering, runtime, and provider concerns
|
|
13
|
+
- leave room for multiple providers without rewriting the shell
|
|
14
|
+
|
|
15
|
+
## Runtime Topology
|
|
16
|
+
|
|
17
|
+
Recommended live flow:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
Remote browser or phone
|
|
21
|
+
-> Nomadex UI host
|
|
22
|
+
-> same-origin websocket proxy
|
|
23
|
+
-> local coding agent bridge on the host machine
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Current reference path:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
Browser
|
|
30
|
+
-> Nomadex UI host (3784)
|
|
31
|
+
-> /codex-ws proxy
|
|
32
|
+
-> Codex app-server (3901)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The browser does not talk to the agent bridge directly. It talks to the Nomadex host, which:
|
|
36
|
+
|
|
37
|
+
- proxies websocket traffic
|
|
38
|
+
- serves local image and file browse routes
|
|
39
|
+
- relays auth callback routes
|
|
40
|
+
|
|
41
|
+
That same-origin model is what makes the mobile and remote access story simpler.
|
|
42
|
+
|
|
43
|
+
## Main Layers
|
|
44
|
+
|
|
45
|
+
### Composition root
|
|
46
|
+
|
|
47
|
+
- `src/app/WorkspaceShell.tsx`
|
|
48
|
+
|
|
49
|
+
Responsibilities:
|
|
50
|
+
|
|
51
|
+
- route-to-panel mapping
|
|
52
|
+
- shell state and active thread selection
|
|
53
|
+
- sidebar and overlay behavior
|
|
54
|
+
- composer orchestration
|
|
55
|
+
- bridging snapshot/actions into the view layer
|
|
56
|
+
|
|
57
|
+
### View layer
|
|
58
|
+
|
|
59
|
+
- `src/app/WorkspaceView.tsx`
|
|
60
|
+
- `src/app/components/ChatTranscript.tsx`
|
|
61
|
+
- `src/app/components/SettingsPanels.tsx`
|
|
62
|
+
- `src/app/components/TerminalPanel.tsx`
|
|
63
|
+
- `src/app/components/FileChangeSummary.tsx`
|
|
64
|
+
|
|
65
|
+
Responsibilities:
|
|
66
|
+
|
|
67
|
+
- transcript rendering
|
|
68
|
+
- markdown and structured prompt rendering
|
|
69
|
+
- settings, theme, and skills UI
|
|
70
|
+
- terminal and file/editor surfaces
|
|
71
|
+
- diff, file-change, and summary views
|
|
72
|
+
|
|
73
|
+
### Runtime service
|
|
74
|
+
|
|
75
|
+
- `src/app/services/runtime/WorkspaceRuntimeService.ts`
|
|
76
|
+
|
|
77
|
+
Responsibilities:
|
|
78
|
+
|
|
79
|
+
- websocket lifecycle
|
|
80
|
+
- request/response transport
|
|
81
|
+
- optimistic local state updates
|
|
82
|
+
- stream delta handling
|
|
83
|
+
- uploads
|
|
84
|
+
- thread and turn mutation flow
|
|
85
|
+
- provider setup and auth flows
|
|
86
|
+
|
|
87
|
+
### Presentation service
|
|
88
|
+
|
|
89
|
+
- `src/app/services/presentation/workspacePresentationService.ts`
|
|
90
|
+
|
|
91
|
+
Responsibilities:
|
|
92
|
+
|
|
93
|
+
- shape raw protocol data for rendering
|
|
94
|
+
- parse message text and attachments
|
|
95
|
+
- build file/image/browse display links
|
|
96
|
+
- summarize changed files, graph rows, and transcript overlays
|
|
97
|
+
|
|
98
|
+
### Provider layer
|
|
99
|
+
|
|
100
|
+
- `src/app/services/providers/*`
|
|
101
|
+
|
|
102
|
+
Responsibilities:
|
|
103
|
+
|
|
104
|
+
- provider identifiers and metadata
|
|
105
|
+
- transport conventions
|
|
106
|
+
- websocket/auth/local-asset path conventions
|
|
107
|
+
- upload root conventions
|
|
108
|
+
- request headings and parsing markers
|
|
109
|
+
|
|
110
|
+
## Data Flow
|
|
111
|
+
|
|
112
|
+
### Sending a prompt
|
|
113
|
+
|
|
114
|
+
1. The composer state is collected in `WorkspaceShell`.
|
|
115
|
+
2. Runtime uploads files and images when needed.
|
|
116
|
+
3. Mentions and attachments are normalized.
|
|
117
|
+
4. Prompt text is built, including shared thread memory when needed.
|
|
118
|
+
5. The runtime sends `turn/start` or the relevant provider-specific action.
|
|
119
|
+
|
|
120
|
+
### Receiving a response
|
|
121
|
+
|
|
122
|
+
1. The bridge emits thread, turn, and item notifications.
|
|
123
|
+
2. The runtime merges those events into the dashboard snapshot.
|
|
124
|
+
3. Stream visibility and optimistic state are updated.
|
|
125
|
+
4. Presentation helpers derive renderable transcript state.
|
|
126
|
+
5. `ChatTranscript` renders streaming and completed output.
|
|
127
|
+
|
|
128
|
+
### Steering an active turn
|
|
129
|
+
|
|
130
|
+
1. The user applies steer from the UI.
|
|
131
|
+
2. Nomadex creates an immediate local steer-history entry for the active turn.
|
|
132
|
+
3. The runtime sends `turn/steer` to the bridge.
|
|
133
|
+
4. Successful steer entries persist in app-owned thread state and local storage so they survive reloads even though the current backend does not emit a dedicated steer history event.
|
|
134
|
+
|
|
135
|
+
## Remote-First Design
|
|
136
|
+
|
|
137
|
+
Nomadex is designed around remote supervision rather than a traditional local-only IDE shell.
|
|
138
|
+
|
|
139
|
+
That affects the architecture in a few ways:
|
|
140
|
+
|
|
141
|
+
- the UI must stay usable on mobile
|
|
142
|
+
- the browser cannot depend on direct filesystem access
|
|
143
|
+
- local file and image access must be resolved through the host
|
|
144
|
+
- long-running turns need visible intermediate state
|
|
145
|
+
- queueing, steer, approvals, and transcript continuity matter more than “single screen IDE” behavior
|
|
146
|
+
|
|
147
|
+
## Mobile Performance Strategy
|
|
148
|
+
|
|
149
|
+
Current mobile-oriented optimizations include:
|
|
150
|
+
|
|
151
|
+
- tail-first transcript rendering for long threads
|
|
152
|
+
- selective mounting of heavy panels and overlays
|
|
153
|
+
- virtualized file preview and terminal log surfaces
|
|
154
|
+
- scroll-state management for file/editor returns
|
|
155
|
+
- keeping the main workspace stable where remount cost is too high
|
|
156
|
+
|
|
157
|
+
This area is still being tuned.
|
|
158
|
+
|
|
159
|
+
## Persistence
|
|
160
|
+
|
|
161
|
+
Persisted locally:
|
|
162
|
+
|
|
163
|
+
- selected UI theme in `localStorage`
|
|
164
|
+
- selected provider in `localStorage`
|
|
165
|
+
- app-owned steer history entries per thread in `localStorage`
|
|
166
|
+
|
|
167
|
+
Stored in workspace:
|
|
168
|
+
|
|
169
|
+
- uploads under provider-specific upload folders such as `.codex-web/uploads`
|
|
170
|
+
|
|
171
|
+
Mostly in-memory UI state:
|
|
172
|
+
|
|
173
|
+
- panel visibility
|
|
174
|
+
- sidebar state
|
|
175
|
+
- queue state
|
|
176
|
+
- scroll restoration state
|
|
177
|
+
- transcript windowing state
|
|
178
|
+
|
|
179
|
+
## Current Boundaries
|
|
180
|
+
|
|
181
|
+
- Codex is still the most complete live provider path.
|
|
182
|
+
- The UI is more provider-neutral than the transport layer.
|
|
183
|
+
- Some names and paths still contain `codex` because they match the active bridge contract.
|
|
184
|
+
- The packaged `nomadexapp` launcher now exists, but Codex is still the reference bridge contract it assumes by default.
|
|
185
|
+
|
|
186
|
+
## Extension Direction
|
|
187
|
+
|
|
188
|
+
The most practical order for continuing the codebase is:
|
|
189
|
+
|
|
190
|
+
1. harden the packaged launcher for more providers and remote auth flows
|
|
191
|
+
2. split the runtime into smaller domain services
|
|
192
|
+
3. keep isolating provider-specific request and notification logic
|
|
193
|
+
4. strengthen durable thread-memory and session persistence
|
|
194
|
+
5. add stronger access control for remote and internet-facing setups
|