Showing preview only (3,087K chars total). Download the full file or copy to clipboard to get everything.
Repository: mjau-mjau/files.photo.gallery
Branch: master
Commit: 82fb6c5878f3
Files: 439
Total size: 2.8 MB
Directory structure:
gitextract_vfihzh9x/
├── LICENSE.md
├── README.md
├── _files/
│ ├── assets/
│ │ ├── @exeba/
│ │ │ └── LICENSE
│ │ ├── @uppy/
│ │ │ └── LICENSE
│ │ ├── animejs@3.2.2/
│ │ │ └── LICENSE.md
│ │ ├── codemirror@6.65.7/
│ │ │ ├── LICENSE
│ │ │ ├── addon/
│ │ │ │ ├── mode/
│ │ │ │ │ ├── loadmode.js
│ │ │ │ │ ├── multiplex.js
│ │ │ │ │ └── overlay.js
│ │ │ │ └── selection/
│ │ │ │ └── active-line.js
│ │ │ ├── lib/
│ │ │ │ └── codemirror.css
│ │ │ ├── mode/
│ │ │ │ ├── apl/
│ │ │ │ │ └── apl.js
│ │ │ │ ├── asciiarmor/
│ │ │ │ │ └── asciiarmor.js
│ │ │ │ ├── asn.1/
│ │ │ │ │ └── asn.1.js
│ │ │ │ ├── asterisk/
│ │ │ │ │ └── asterisk.js
│ │ │ │ ├── brainfuck/
│ │ │ │ │ └── brainfuck.js
│ │ │ │ ├── clike/
│ │ │ │ │ └── clike.js
│ │ │ │ ├── clojure/
│ │ │ │ │ └── clojure.js
│ │ │ │ ├── cmake/
│ │ │ │ │ └── cmake.js
│ │ │ │ ├── cobol/
│ │ │ │ │ └── cobol.js
│ │ │ │ ├── coffeescript/
│ │ │ │ │ └── coffeescript.js
│ │ │ │ ├── commonlisp/
│ │ │ │ │ └── commonlisp.js
│ │ │ │ ├── crystal/
│ │ │ │ │ └── crystal.js
│ │ │ │ ├── css/
│ │ │ │ │ └── css.js
│ │ │ │ ├── cypher/
│ │ │ │ │ └── cypher.js
│ │ │ │ ├── d/
│ │ │ │ │ └── d.js
│ │ │ │ ├── dart/
│ │ │ │ │ └── dart.js
│ │ │ │ ├── diff/
│ │ │ │ │ └── diff.js
│ │ │ │ ├── django/
│ │ │ │ │ └── django.js
│ │ │ │ ├── dockerfile/
│ │ │ │ │ └── dockerfile.js
│ │ │ │ ├── dtd/
│ │ │ │ │ └── dtd.js
│ │ │ │ ├── dylan/
│ │ │ │ │ └── dylan.js
│ │ │ │ ├── ebnf/
│ │ │ │ │ └── ebnf.js
│ │ │ │ ├── ecl/
│ │ │ │ │ └── ecl.js
│ │ │ │ ├── eiffel/
│ │ │ │ │ └── eiffel.js
│ │ │ │ ├── elm/
│ │ │ │ │ └── elm.js
│ │ │ │ ├── erlang/
│ │ │ │ │ └── erlang.js
│ │ │ │ ├── factor/
│ │ │ │ │ └── factor.js
│ │ │ │ ├── fcl/
│ │ │ │ │ └── fcl.js
│ │ │ │ ├── forth/
│ │ │ │ │ └── forth.js
│ │ │ │ ├── fortran/
│ │ │ │ │ └── fortran.js
│ │ │ │ ├── gas/
│ │ │ │ │ └── gas.js
│ │ │ │ ├── gfm/
│ │ │ │ │ └── gfm.js
│ │ │ │ ├── gherkin/
│ │ │ │ │ └── gherkin.js
│ │ │ │ ├── go/
│ │ │ │ │ └── go.js
│ │ │ │ ├── groovy/
│ │ │ │ │ └── groovy.js
│ │ │ │ ├── haml/
│ │ │ │ │ └── haml.js
│ │ │ │ ├── handlebars/
│ │ │ │ │ └── handlebars.js
│ │ │ │ ├── haskell/
│ │ │ │ │ └── haskell.js
│ │ │ │ ├── haskell-literate/
│ │ │ │ │ └── haskell-literate.js
│ │ │ │ ├── haxe/
│ │ │ │ │ └── haxe.js
│ │ │ │ ├── htmlembedded/
│ │ │ │ │ └── htmlembedded.js
│ │ │ │ ├── htmlmixed/
│ │ │ │ │ └── htmlmixed.js
│ │ │ │ ├── http/
│ │ │ │ │ └── http.js
│ │ │ │ ├── idl/
│ │ │ │ │ └── idl.js
│ │ │ │ ├── javascript/
│ │ │ │ │ └── javascript.js
│ │ │ │ ├── jinja2/
│ │ │ │ │ └── jinja2.js
│ │ │ │ ├── jsx/
│ │ │ │ │ └── jsx.js
│ │ │ │ ├── julia/
│ │ │ │ │ └── julia.js
│ │ │ │ ├── livescript/
│ │ │ │ │ └── livescript.js
│ │ │ │ ├── lua/
│ │ │ │ │ └── lua.js
│ │ │ │ ├── markdown/
│ │ │ │ │ └── markdown.js
│ │ │ │ ├── mathematica/
│ │ │ │ │ └── mathematica.js
│ │ │ │ ├── mbox/
│ │ │ │ │ └── mbox.js
│ │ │ │ ├── meta.js
│ │ │ │ ├── mirc/
│ │ │ │ │ └── mirc.js
│ │ │ │ ├── mllike/
│ │ │ │ │ └── mllike.js
│ │ │ │ ├── modelica/
│ │ │ │ │ └── modelica.js
│ │ │ │ ├── mscgen/
│ │ │ │ │ └── mscgen.js
│ │ │ │ ├── mumps/
│ │ │ │ │ └── mumps.js
│ │ │ │ ├── nginx/
│ │ │ │ │ └── nginx.js
│ │ │ │ ├── nsis/
│ │ │ │ │ └── nsis.js
│ │ │ │ ├── ntriples/
│ │ │ │ │ └── ntriples.js
│ │ │ │ ├── octave/
│ │ │ │ │ └── octave.js
│ │ │ │ ├── oz/
│ │ │ │ │ └── oz.js
│ │ │ │ ├── pascal/
│ │ │ │ │ └── pascal.js
│ │ │ │ ├── pegjs/
│ │ │ │ │ └── pegjs.js
│ │ │ │ ├── perl/
│ │ │ │ │ └── perl.js
│ │ │ │ ├── php/
│ │ │ │ │ └── php.js
│ │ │ │ ├── pig/
│ │ │ │ │ └── pig.js
│ │ │ │ ├── powershell/
│ │ │ │ │ └── powershell.js
│ │ │ │ ├── properties/
│ │ │ │ │ └── properties.js
│ │ │ │ ├── protobuf/
│ │ │ │ │ └── protobuf.js
│ │ │ │ ├── pug/
│ │ │ │ │ └── pug.js
│ │ │ │ ├── puppet/
│ │ │ │ │ └── puppet.js
│ │ │ │ ├── python/
│ │ │ │ │ └── python.js
│ │ │ │ ├── q/
│ │ │ │ │ └── q.js
│ │ │ │ ├── r/
│ │ │ │ │ └── r.js
│ │ │ │ ├── rpm/
│ │ │ │ │ ├── changes/
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── rpm.js
│ │ │ │ ├── rst/
│ │ │ │ │ └── rst.js
│ │ │ │ ├── ruby/
│ │ │ │ │ └── ruby.js
│ │ │ │ ├── rust/
│ │ │ │ │ └── rust.js
│ │ │ │ ├── sas/
│ │ │ │ │ └── sas.js
│ │ │ │ ├── sass/
│ │ │ │ │ └── sass.js
│ │ │ │ ├── scheme/
│ │ │ │ │ └── scheme.js
│ │ │ │ ├── shell/
│ │ │ │ │ └── shell.js
│ │ │ │ ├── sieve/
│ │ │ │ │ └── sieve.js
│ │ │ │ ├── slim/
│ │ │ │ │ └── slim.js
│ │ │ │ ├── smalltalk/
│ │ │ │ │ └── smalltalk.js
│ │ │ │ ├── smarty/
│ │ │ │ │ └── smarty.js
│ │ │ │ ├── solr/
│ │ │ │ │ └── solr.js
│ │ │ │ ├── soy/
│ │ │ │ │ └── soy.js
│ │ │ │ ├── sparql/
│ │ │ │ │ └── sparql.js
│ │ │ │ ├── spreadsheet/
│ │ │ │ │ └── spreadsheet.js
│ │ │ │ ├── sql/
│ │ │ │ │ └── sql.js
│ │ │ │ ├── stex/
│ │ │ │ │ └── stex.js
│ │ │ │ ├── stylus/
│ │ │ │ │ └── stylus.js
│ │ │ │ ├── swift/
│ │ │ │ │ └── swift.js
│ │ │ │ ├── tcl/
│ │ │ │ │ └── tcl.js
│ │ │ │ ├── textile/
│ │ │ │ │ └── textile.js
│ │ │ │ ├── tiddlywiki/
│ │ │ │ │ ├── tiddlywiki.css
│ │ │ │ │ └── tiddlywiki.js
│ │ │ │ ├── tiki/
│ │ │ │ │ ├── tiki.css
│ │ │ │ │ └── tiki.js
│ │ │ │ ├── toml/
│ │ │ │ │ └── toml.js
│ │ │ │ ├── tornado/
│ │ │ │ │ └── tornado.js
│ │ │ │ ├── troff/
│ │ │ │ │ └── troff.js
│ │ │ │ ├── ttcn/
│ │ │ │ │ └── ttcn.js
│ │ │ │ ├── ttcn-cfg/
│ │ │ │ │ └── ttcn-cfg.js
│ │ │ │ ├── turtle/
│ │ │ │ │ └── turtle.js
│ │ │ │ ├── twig/
│ │ │ │ │ └── twig.js
│ │ │ │ ├── vb/
│ │ │ │ │ └── vb.js
│ │ │ │ ├── vbscript/
│ │ │ │ │ └── vbscript.js
│ │ │ │ ├── velocity/
│ │ │ │ │ └── velocity.js
│ │ │ │ ├── verilog/
│ │ │ │ │ └── verilog.js
│ │ │ │ ├── vhdl/
│ │ │ │ │ └── vhdl.js
│ │ │ │ ├── vue/
│ │ │ │ │ └── vue.js
│ │ │ │ ├── wast/
│ │ │ │ │ └── wast.js
│ │ │ │ ├── webidl/
│ │ │ │ │ └── webidl.js
│ │ │ │ ├── xml/
│ │ │ │ │ └── xml.js
│ │ │ │ ├── xquery/
│ │ │ │ │ └── xquery.js
│ │ │ │ ├── yacas/
│ │ │ │ │ └── yacas.js
│ │ │ │ ├── yaml/
│ │ │ │ │ └── yaml.js
│ │ │ │ ├── yaml-frontmatter/
│ │ │ │ │ └── yaml-frontmatter.js
│ │ │ │ └── z80/
│ │ │ │ └── z80.js
│ │ │ └── theme/
│ │ │ ├── 3024-day.css
│ │ │ ├── 3024-night.css
│ │ │ ├── abbott.css
│ │ │ ├── abcdef.css
│ │ │ ├── ambiance-mobile.css
│ │ │ ├── ambiance.css
│ │ │ ├── ayu-dark.css
│ │ │ ├── ayu-mirage.css
│ │ │ ├── base16-dark.css
│ │ │ ├── base16-light.css
│ │ │ ├── bespin.css
│ │ │ ├── blackboard.css
│ │ │ ├── cobalt.css
│ │ │ ├── colorforth.css
│ │ │ ├── darcula.css
│ │ │ ├── dracula.css
│ │ │ ├── duotone-dark.css
│ │ │ ├── duotone-light.css
│ │ │ ├── eclipse.css
│ │ │ ├── elegant.css
│ │ │ ├── erlang-dark.css
│ │ │ ├── gruvbox-dark.css
│ │ │ ├── hopscotch.css
│ │ │ ├── icecoder.css
│ │ │ ├── idea.css
│ │ │ ├── isotope.css
│ │ │ ├── juejin.css
│ │ │ ├── lesser-dark.css
│ │ │ ├── liquibyte.css
│ │ │ ├── lucario.css
│ │ │ ├── material-darker.css
│ │ │ ├── material-ocean.css
│ │ │ ├── material-palenight.css
│ │ │ ├── material.css
│ │ │ ├── mbo.css
│ │ │ ├── mdn-like.css
│ │ │ ├── midnight.css
│ │ │ ├── monokai.css
│ │ │ ├── moxer.css
│ │ │ ├── neat.css
│ │ │ ├── neo.css
│ │ │ ├── night.css
│ │ │ ├── nord.css
│ │ │ ├── oceanic-next.css
│ │ │ ├── panda-syntax.css
│ │ │ ├── paraiso-dark.css
│ │ │ ├── paraiso-light.css
│ │ │ ├── pastel-on-dark.css
│ │ │ ├── railscasts.css
│ │ │ ├── rubyblue.css
│ │ │ ├── seti.css
│ │ │ ├── shadowfox.css
│ │ │ ├── solarized.css
│ │ │ ├── ssms.css
│ │ │ ├── the-matrix.css
│ │ │ ├── tomorrow-night-bright.css
│ │ │ ├── tomorrow-night-eighties.css
│ │ │ ├── ttcn.css
│ │ │ ├── twilight.css
│ │ │ ├── vibrant-ink.css
│ │ │ ├── xq-dark.css
│ │ │ ├── xq-light.css
│ │ │ ├── yeti.css
│ │ │ ├── yonce.css
│ │ │ └── zenburn.css
│ │ ├── dayjs@1.11.13/
│ │ │ ├── LICENSE
│ │ │ ├── locale/
│ │ │ │ ├── af.js
│ │ │ │ ├── am.js
│ │ │ │ ├── ar-dz.js
│ │ │ │ ├── ar-iq.js
│ │ │ │ ├── ar-kw.js
│ │ │ │ ├── ar-ly.js
│ │ │ │ ├── ar-ma.js
│ │ │ │ ├── ar-sa.js
│ │ │ │ ├── ar-tn.js
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.js
│ │ │ │ ├── be.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── bi.js
│ │ │ │ ├── bm.js
│ │ │ │ ├── bn-bd.js
│ │ │ │ ├── bn.js
│ │ │ │ ├── bo.js
│ │ │ │ ├── br.js
│ │ │ │ ├── bs.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── cv.js
│ │ │ │ ├── cy.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de-at.js
│ │ │ │ ├── de-ch.js
│ │ │ │ ├── de.js
│ │ │ │ ├── dv.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en-au.js
│ │ │ │ ├── en-ca.js
│ │ │ │ ├── en-gb.js
│ │ │ │ ├── en-ie.js
│ │ │ │ ├── en-il.js
│ │ │ │ ├── en-in.js
│ │ │ │ ├── en-nz.js
│ │ │ │ ├── en-sg.js
│ │ │ │ ├── en-tt.js
│ │ │ │ ├── en.js
│ │ │ │ ├── eo.js
│ │ │ │ ├── es-do.js
│ │ │ │ ├── es-mx.js
│ │ │ │ ├── es-pr.js
│ │ │ │ ├── es-us.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fo.js
│ │ │ │ ├── fr-ca.js
│ │ │ │ ├── fr-ch.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── fy.js
│ │ │ │ ├── ga.js
│ │ │ │ ├── gd.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── gom-latn.js
│ │ │ │ ├── gu.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── ht.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── hy-am.js
│ │ │ │ ├── id.js
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── is.js
│ │ │ │ ├── it-ch.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── jv.js
│ │ │ │ ├── ka.js
│ │ │ │ ├── kk.js
│ │ │ │ ├── km.js
│ │ │ │ ├── kn.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── ku.js
│ │ │ │ ├── ky.js
│ │ │ │ ├── lb.js
│ │ │ │ ├── lo.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── me.js
│ │ │ │ ├── mi.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ml.js
│ │ │ │ ├── mn.js
│ │ │ │ ├── mr.js
│ │ │ │ ├── ms-my.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── mt.js
│ │ │ │ ├── my.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── ne.js
│ │ │ │ ├── nl-be.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── nn.js
│ │ │ │ ├── oc-lnc.js
│ │ │ │ ├── pa-in.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── pt-br.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── rn.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── rw.js
│ │ │ │ ├── sd.js
│ │ │ │ ├── se.js
│ │ │ │ ├── si.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sl.js
│ │ │ │ ├── sq.js
│ │ │ │ ├── sr-cyrl.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── ss.js
│ │ │ │ ├── sv-fi.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── sw.js
│ │ │ │ ├── ta.js
│ │ │ │ ├── te.js
│ │ │ │ ├── tet.js
│ │ │ │ ├── tg.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tk.js
│ │ │ │ ├── tl-ph.js
│ │ │ │ ├── tlh.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── types.d.ts
│ │ │ │ ├── tzl.js
│ │ │ │ ├── tzm-latn.js
│ │ │ │ ├── tzm.js
│ │ │ │ ├── ug-cn.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── ur.js
│ │ │ │ ├── uz-latn.js
│ │ │ │ ├── uz.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── x-pseudo.js
│ │ │ │ ├── yo.js
│ │ │ │ ├── zh-cn.js
│ │ │ │ ├── zh-hk.js
│ │ │ │ ├── zh-tw.js
│ │ │ │ └── zh.js
│ │ │ └── plugin/
│ │ │ ├── localizedFormat.js
│ │ │ └── relativeTime.js
│ │ ├── file-saver@2.0.5/
│ │ │ └── LICENSE.md
│ │ ├── files.photo.gallery@0.15.3/
│ │ │ ├── css/
│ │ │ │ └── files.css
│ │ │ ├── js/
│ │ │ │ └── files.js
│ │ │ └── lang/
│ │ │ ├── ar.json
│ │ │ ├── bg.json
│ │ │ ├── bn.json
│ │ │ ├── cs.json
│ │ │ ├── da.json
│ │ │ ├── de.json
│ │ │ ├── el.json
│ │ │ ├── en.json
│ │ │ ├── es.json
│ │ │ ├── et.json
│ │ │ ├── fi.json
│ │ │ ├── fr.json
│ │ │ ├── hu.json
│ │ │ ├── id.json
│ │ │ ├── it.json
│ │ │ ├── ja.json
│ │ │ ├── ko.json
│ │ │ ├── ms.json
│ │ │ ├── nl.json
│ │ │ ├── no.json
│ │ │ ├── pl.json
│ │ │ ├── pt.json
│ │ │ ├── ro.json
│ │ │ ├── ru.json
│ │ │ ├── sk.json
│ │ │ ├── sl.json
│ │ │ ├── sv.json
│ │ │ ├── th.json
│ │ │ ├── tr.json
│ │ │ ├── uk.json
│ │ │ └── zh.json
│ │ ├── filesize@9.0.11/
│ │ │ └── LICENSE
│ │ ├── flag-icons@6.6.4/
│ │ │ └── LICENSE
│ │ ├── headroom.js@0.12.0/
│ │ │ └── LICENSE
│ │ ├── hls.js@1.6.13/
│ │ │ └── LICENSE.txt
│ │ ├── js-file-downloader@1.1.25/
│ │ │ └── LICENSE
│ │ ├── jsmediatags@3.9.7/
│ │ │ └── LICENSE.md
│ │ ├── jszip@3.10.1/
│ │ │ └── LICENSE.markdown
│ │ ├── marked-base-url@1.1.6/
│ │ │ └── LICENSE
│ │ ├── marked@15.0.11/
│ │ │ └── LICENSE.md
│ │ ├── pannellum@2.5.6/
│ │ │ └── LICENSE
│ │ ├── plyr@3.8.3/
│ │ │ ├── LICENSE.md
│ │ │ └── dist/
│ │ │ └── plyr.css
│ │ ├── readme.txt
│ │ ├── screenfull@5.2.0/
│ │ │ └── license
│ │ ├── sweetalert2@11.19.1/
│ │ │ └── LICENSE
│ │ ├── toastify-js@1.12.0/
│ │ │ └── LICENSE
│ │ ├── uppy@3.27.3/
│ │ │ └── LICENSE
│ │ └── yall-js@3.2.0/
│ │ └── LICENSE
│ ├── config/
│ │ └── config.php
│ └── plugins/
│ ├── files.tasks.php
│ └── files.x3-login.php
├── css/
│ └── files.css
├── index.php
├── js/
│ └── files.js
├── lang/
│ ├── ar.json
│ ├── bg.json
│ ├── bn.json
│ ├── cs.json
│ ├── da.json
│ ├── de.json
│ ├── el.json
│ ├── en.json
│ ├── es.json
│ ├── et.json
│ ├── fi.json
│ ├── fr.json
│ ├── hu.json
│ ├── id.json
│ ├── it.json
│ ├── ja.json
│ ├── ko.json
│ ├── ms.json
│ ├── nl.json
│ ├── no.json
│ ├── pl.json
│ ├── pt.json
│ ├── ro.json
│ ├── ru.json
│ ├── sk.json
│ ├── sl.json
│ ├── sv.json
│ ├── th.json
│ ├── tr.json
│ ├── uk.json
│ └── zh.json
└── package.json
================================================
FILE CONTENTS
================================================
================================================
FILE: LICENSE.md
================================================
# Files Gallery / www.files.gallery
Copyright (c) 2020-2026 Imagevue Co Ltd - All Rights Reserved.
## Usage
You are free to download and use Files app as you like. Application can be used for free with some limitations. Full features available with paid license.
## Modifications
You are free to make modifications to the source, but support for custom modifications is not supported by the authors.
## Redistribution
You may not copy, redistribute or republish the source or a work based without consent from the author.
## Non-compliance
You may not copy, modify, sublicense, or distribute the application without consent from the author.
## Permissions
If you intend to incorporate the source code, in part or whole, into any free or proprietary program, you need to explicitly write to the original author(s) to ask for permission.
## No Warranty
The application is available "as is", and there is no warranty. The original author of the application is not liable to you for damaages arising out of the usage or inability to use the application.
================================================
FILE: README.md
================================================
# [Files](https://www.files.gallery/)
Files is a single-file PHP app that can be dropped into any folder on server, instantly creating a gallery of files and folders. It supports all file types and allows you to preview images, video, audio, documents and text files.
**[[Demo]](https://demo.files.gallery/)**
✔️ **File browser.** Instantly browse files and folders without complicated installations.
✔️ **File sharing.** Conveniently share files and photos with clients, friends and family.
✔️ **Photo gallery.** Use as a simple yet beautiful and modern gallery for your website.
✔️ **File manager.** Upload and manage files and folders directly from one elegant interface.

✔️ Beautiful interface designed for modern browsers.
✔️ Advanced layouts that can be toggled in real-time.
✔️ Sort and filter files in real-time.
✔️ Fast loading with preview and folder caching.
✔️ Code highlighter for viewing and editing code.
✔️ Advanced folder tree-menu navigation.
✔️ Optional multi-user login.
✔️ Multi-language interface.
✔️ Beautiful popup image viewer.
---
**Installation**
Simply [download index.php](https://cdn.jsdelivr.net/npm/files.photo.gallery/index.php), drop into any folder and view from browser.
[Docs](https://www.files.gallery/docs/install/) | [Config](https://www.files.gallery/docs/config/)
**Requirements**
Files app requires a web server with PHP 5.5 or higher.
[Requirements](https://www.files.gallery/docs/config/)
**License**
Files is free to use with basic features. To remove the license-popup and unlock additional features, you may purchase a license [$39] from within the app.
[License](https://www.files.gallery/docs/license/)
---
**[www.files.gallery](https://www.files.gallery/)** | [Demo](https://demo.files.gallery/) | [Docs](https://www.files.gallery/docs/install/) | [Support](https://forum.files.gallery/) | [Subscribe](http://eepurl.com/gTyhA9)
================================================
FILE: _files/assets/@exeba/LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2011-2018 Jonny Strömberg, jonnystromberg.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: _files/assets/@uppy/LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2018 Transloadit
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: _files/assets/animejs@3.2.2/LICENSE.md
================================================
The MIT License
Copyright (c) 2019 Julian Garnier
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: _files/assets/codemirror@6.65.7/LICENSE
================================================
MIT License
Copyright (C) 2017 by Marijn Haverbeke <marijnh@gmail.com> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: _files/assets/codemirror@6.65.7/addon/mode/loadmode.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"), "cjs");
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], function(CM) { mod(CM, "amd"); });
else // Plain browser env
mod(CodeMirror, "plain");
})(function(CodeMirror, env) {
if (!CodeMirror.modeURL) CodeMirror.modeURL = "../mode/%N/%N.js";
var loading = {};
function splitCallback(cont, n) {
var countDown = n;
return function() { if (--countDown == 0) cont(); };
}
function ensureDeps(mode, cont, options) {
var modeObj = CodeMirror.modes[mode], deps = modeObj && modeObj.dependencies;
if (!deps) return cont();
var missing = [];
for (var i = 0; i < deps.length; ++i) {
if (!CodeMirror.modes.hasOwnProperty(deps[i]))
missing.push(deps[i]);
}
if (!missing.length) return cont();
var split = splitCallback(cont, missing.length);
for (var i = 0; i < missing.length; ++i)
CodeMirror.requireMode(missing[i], split, options);
}
CodeMirror.requireMode = function(mode, cont, options) {
if (typeof mode != "string") mode = mode.name;
if (CodeMirror.modes.hasOwnProperty(mode)) return ensureDeps(mode, cont, options);
if (loading.hasOwnProperty(mode)) return loading[mode].push(cont);
var file = options && options.path ? options.path(mode) : CodeMirror.modeURL.replace(/%N/g, mode);
if (options && options.loadMode) {
options.loadMode(file, function() { ensureDeps(mode, cont, options) })
} else if (env == "plain") {
var script = document.createElement("script");
script.src = file;
var others = document.getElementsByTagName("script")[0];
var list = loading[mode] = [cont];
CodeMirror.on(script, "load", function() {
ensureDeps(mode, function() {
for (var i = 0; i < list.length; ++i) list[i]();
}, options);
});
others.parentNode.insertBefore(script, others);
} else if (env == "cjs") {
require(file);
cont();
} else if (env == "amd") {
requirejs([file], cont);
}
};
CodeMirror.autoLoadMode = function(instance, mode, options) {
if (!CodeMirror.modes.hasOwnProperty(mode))
CodeMirror.requireMode(mode, function() {
instance.setOption("mode", instance.getOption("mode"));
}, options);
};
});
================================================
FILE: _files/assets/codemirror@6.65.7/addon/mode/multiplex.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.multiplexingMode = function(outer /*, others */) {
// Others should be {open, close, mode [, delimStyle] [, innerStyle] [, parseDelimiters]} objects
var others = Array.prototype.slice.call(arguments, 1);
function indexOf(string, pattern, from, returnEnd) {
if (typeof pattern == "string") {
var found = string.indexOf(pattern, from);
return returnEnd && found > -1 ? found + pattern.length : found;
}
var m = pattern.exec(from ? string.slice(from) : string);
return m ? m.index + from + (returnEnd ? m[0].length : 0) : -1;
}
return {
startState: function() {
return {
outer: CodeMirror.startState(outer),
innerActive: null,
inner: null,
startingInner: false
};
},
copyState: function(state) {
return {
outer: CodeMirror.copyState(outer, state.outer),
innerActive: state.innerActive,
inner: state.innerActive && CodeMirror.copyState(state.innerActive.mode, state.inner),
startingInner: state.startingInner
};
},
token: function(stream, state) {
if (!state.innerActive) {
var cutOff = Infinity, oldContent = stream.string;
for (var i = 0; i < others.length; ++i) {
var other = others[i];
var found = indexOf(oldContent, other.open, stream.pos);
if (found == stream.pos) {
if (!other.parseDelimiters) stream.match(other.open);
state.startingInner = !!other.parseDelimiters
state.innerActive = other;
// Get the outer indent, making sure to handle CodeMirror.Pass
var outerIndent = 0;
if (outer.indent) {
var possibleOuterIndent = outer.indent(state.outer, "", "");
if (possibleOuterIndent !== CodeMirror.Pass) outerIndent = possibleOuterIndent;
}
state.inner = CodeMirror.startState(other.mode, outerIndent);
return other.delimStyle && (other.delimStyle + " " + other.delimStyle + "-open");
} else if (found != -1 && found < cutOff) {
cutOff = found;
}
}
if (cutOff != Infinity) stream.string = oldContent.slice(0, cutOff);
var outerToken = outer.token(stream, state.outer);
if (cutOff != Infinity) stream.string = oldContent;
return outerToken;
} else {
var curInner = state.innerActive, oldContent = stream.string;
if (!curInner.close && stream.sol()) {
state.innerActive = state.inner = null;
return this.token(stream, state);
}
var found = curInner.close && !state.startingInner ?
indexOf(oldContent, curInner.close, stream.pos, curInner.parseDelimiters) : -1;
if (found == stream.pos && !curInner.parseDelimiters) {
stream.match(curInner.close);
state.innerActive = state.inner = null;
return curInner.delimStyle && (curInner.delimStyle + " " + curInner.delimStyle + "-close");
}
if (found > -1) stream.string = oldContent.slice(0, found);
var innerToken = curInner.mode.token(stream, state.inner);
if (found > -1) stream.string = oldContent;
else if (stream.pos > stream.start) state.startingInner = false
if (found == stream.pos && curInner.parseDelimiters)
state.innerActive = state.inner = null;
if (curInner.innerStyle) {
if (innerToken) innerToken = innerToken + " " + curInner.innerStyle;
else innerToken = curInner.innerStyle;
}
return innerToken;
}
},
indent: function(state, textAfter, line) {
var mode = state.innerActive ? state.innerActive.mode : outer;
if (!mode.indent) return CodeMirror.Pass;
return mode.indent(state.innerActive ? state.inner : state.outer, textAfter, line);
},
blankLine: function(state) {
var mode = state.innerActive ? state.innerActive.mode : outer;
if (mode.blankLine) {
mode.blankLine(state.innerActive ? state.inner : state.outer);
}
if (!state.innerActive) {
for (var i = 0; i < others.length; ++i) {
var other = others[i];
if (other.open === "\n") {
state.innerActive = other;
state.inner = CodeMirror.startState(other.mode, mode.indent ? mode.indent(state.outer, "", "") : 0);
}
}
} else if (state.innerActive.close === "\n") {
state.innerActive = state.inner = null;
}
},
electricChars: outer.electricChars,
innerMode: function(state) {
return state.inner ? {state: state.inner, mode: state.innerActive.mode} : {state: state.outer, mode: outer};
}
};
};
});
================================================
FILE: _files/assets/codemirror@6.65.7/addon/mode/overlay.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
// Utility function that allows modes to be combined. The mode given
// as the base argument takes care of most of the normal mode
// functionality, but a second (typically simple) mode is used, which
// can override the style of text. Both modes get to parse all of the
// text, but when both assign a non-null style to a piece of code, the
// overlay wins, unless the combine argument was true and not overridden,
// or state.overlay.combineTokens was true, in which case the styles are
// combined.
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.overlayMode = function(base, overlay, combine) {
return {
startState: function() {
return {
base: CodeMirror.startState(base),
overlay: CodeMirror.startState(overlay),
basePos: 0, baseCur: null,
overlayPos: 0, overlayCur: null,
streamSeen: null
};
},
copyState: function(state) {
return {
base: CodeMirror.copyState(base, state.base),
overlay: CodeMirror.copyState(overlay, state.overlay),
basePos: state.basePos, baseCur: null,
overlayPos: state.overlayPos, overlayCur: null
};
},
token: function(stream, state) {
if (stream != state.streamSeen ||
Math.min(state.basePos, state.overlayPos) < stream.start) {
state.streamSeen = stream;
state.basePos = state.overlayPos = stream.start;
}
if (stream.start == state.basePos) {
state.baseCur = base.token(stream, state.base);
state.basePos = stream.pos;
}
if (stream.start == state.overlayPos) {
stream.pos = stream.start;
state.overlayCur = overlay.token(stream, state.overlay);
state.overlayPos = stream.pos;
}
stream.pos = Math.min(state.basePos, state.overlayPos);
// state.overlay.combineTokens always takes precedence over combine,
// unless set to null
if (state.overlayCur == null) return state.baseCur;
else if (state.baseCur != null &&
state.overlay.combineTokens ||
combine && state.overlay.combineTokens == null)
return state.baseCur + " " + state.overlayCur;
else return state.overlayCur;
},
indent: base.indent && function(state, textAfter, line) {
return base.indent(state.base, textAfter, line);
},
electricChars: base.electricChars,
innerMode: function(state) { return {state: state.base, mode: base}; },
blankLine: function(state) {
var baseToken, overlayToken;
if (base.blankLine) baseToken = base.blankLine(state.base);
if (overlay.blankLine) overlayToken = overlay.blankLine(state.overlay);
return overlayToken == null ?
baseToken :
(combine && baseToken != null ? baseToken + " " + overlayToken : overlayToken);
}
};
};
});
================================================
FILE: _files/assets/codemirror@6.65.7/addon/selection/active-line.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var WRAP_CLASS = "CodeMirror-activeline";
var BACK_CLASS = "CodeMirror-activeline-background";
var GUTT_CLASS = "CodeMirror-activeline-gutter";
CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
var prev = old == CodeMirror.Init ? false : old;
if (val == prev) return
if (prev) {
cm.off("beforeSelectionChange", selectionChange);
clearActiveLines(cm);
delete cm.state.activeLines;
}
if (val) {
cm.state.activeLines = [];
updateActiveLines(cm, cm.listSelections());
cm.on("beforeSelectionChange", selectionChange);
}
});
function clearActiveLines(cm) {
for (var i = 0; i < cm.state.activeLines.length; i++) {
cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);
}
}
function sameArray(a, b) {
if (a.length != b.length) return false;
for (var i = 0; i < a.length; i++)
if (a[i] != b[i]) return false;
return true;
}
function updateActiveLines(cm, ranges) {
var active = [];
for (var i = 0; i < ranges.length; i++) {
var range = ranges[i];
var option = cm.getOption("styleActiveLine");
if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())
continue
var line = cm.getLineHandleVisualStart(range.head.line);
if (active[active.length - 1] != line) active.push(line);
}
if (sameArray(cm.state.activeLines, active)) return;
cm.operation(function() {
clearActiveLines(cm);
for (var i = 0; i < active.length; i++) {
cm.addLineClass(active[i], "wrap", WRAP_CLASS);
cm.addLineClass(active[i], "background", BACK_CLASS);
cm.addLineClass(active[i], "gutter", GUTT_CLASS);
}
cm.state.activeLines = active;
});
}
function selectionChange(cm, sel) {
updateActiveLines(cm, sel.ranges);
}
});
================================================
FILE: _files/assets/codemirror@6.65.7/lib/codemirror.css
================================================
/* BASICS */
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 300px;
color: black;
direction: ltr;
}
/* PADDING */
.CodeMirror-lines {
padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
padding: 0 4px; /* Horizontal padding of content */
}
.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
background-color: white; /* The little square between H and V scrollbars */
}
/* GUTTER */
.CodeMirror-gutters {
border-right: 1px solid #ddd;
background-color: #f7f7f7;
white-space: nowrap;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
padding: 0 3px 0 5px;
min-width: 20px;
text-align: right;
color: #999;
white-space: nowrap;
}
.CodeMirror-guttermarker { color: black; }
.CodeMirror-guttermarker-subtle { color: #999; }
/* CURSOR */
.CodeMirror-cursor {
border-left: 1px solid black;
border-right: none;
width: 0;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
border-left: 1px solid silver;
}
.cm-fat-cursor .CodeMirror-cursor {
width: auto;
border: 0 !important;
background: #7e7;
}
.cm-fat-cursor div.CodeMirror-cursors {
z-index: 1;
}
.cm-fat-cursor .CodeMirror-line::selection,
.cm-fat-cursor .CodeMirror-line > span::selection,
.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }
.cm-fat-cursor .CodeMirror-line::-moz-selection,
.cm-fat-cursor .CodeMirror-line > span::-moz-selection,
.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }
.cm-fat-cursor { caret-color: transparent; }
@-moz-keyframes blink {
0% {}
50% { background-color: transparent; }
100% {}
}
@-webkit-keyframes blink {
0% {}
50% { background-color: transparent; }
100% {}
}
@keyframes blink {
0% {}
50% { background-color: transparent; }
100% {}
}
/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror-overwrite .CodeMirror-cursor {}
.cm-tab { display: inline-block; text-decoration: inherit; }
.CodeMirror-rulers {
position: absolute;
left: 0; right: 0; top: -50px; bottom: 0;
overflow: hidden;
}
.CodeMirror-ruler {
border-left: 1px solid #ccc;
top: 0; bottom: 0;
position: absolute;
}
/* DEFAULT THEME */
.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}
.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}
.cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;}
.CodeMirror-composing { border-bottom: 2px solid; }
/* Default styles for common addons */
div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;}
/* STOP */
/* The rest of this file contains styles related to the mechanics of
the editor. You probably shouldn't touch them. */
.CodeMirror {
position: relative;
overflow: hidden;
background: white;
}
.CodeMirror-scroll {
overflow: scroll !important; /* Things will break if this is overridden */
/* 50px is the magic margin used to hide the element's real scrollbars */
/* See overflow: hidden in .CodeMirror */
margin-bottom: -50px; margin-right: -50px;
padding-bottom: 50px;
height: 100%;
outline: none; /* Prevent dragging from highlighting the element */
position: relative;
z-index: 0;
}
.CodeMirror-sizer {
position: relative;
border-right: 50px solid transparent;
}
/* The fake, visible scrollbars. Used to force redraw during scrolling
before actual scrolling happens, thus preventing shaking and
flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
position: absolute;
z-index: 6;
display: none;
outline: none;
}
.CodeMirror-vscrollbar {
right: 0; top: 0;
overflow-x: hidden;
overflow-y: scroll;
}
.CodeMirror-hscrollbar {
bottom: 0; left: 0;
overflow-y: hidden;
overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
right: 0; bottom: 0;
}
.CodeMirror-gutter-filler {
left: 0; bottom: 0;
}
.CodeMirror-gutters {
position: absolute; left: 0; top: 0;
min-height: 100%;
z-index: 3;
}
.CodeMirror-gutter {
white-space: normal;
height: 100%;
display: inline-block;
vertical-align: top;
margin-bottom: -50px;
}
.CodeMirror-gutter-wrapper {
position: absolute;
z-index: 4;
background: none !important;
border: none !important;
}
.CodeMirror-gutter-background {
position: absolute;
top: 0; bottom: 0;
z-index: 4;
}
.CodeMirror-gutter-elt {
position: absolute;
cursor: default;
z-index: 4;
}
.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }
.CodeMirror-lines {
cursor: text;
min-height: 1px; /* prevents collapsing before first draw */
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
/* Reset some styles that the rest of the page might have set */
-moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
border-width: 0;
background: transparent;
font-family: inherit;
font-size: inherit;
margin: 0;
white-space: pre;
word-wrap: normal;
line-height: inherit;
color: inherit;
z-index: 2;
position: relative;
overflow: visible;
-webkit-tap-highlight-color: transparent;
-webkit-font-variant-ligatures: contextual;
font-variant-ligatures: contextual;
}
.CodeMirror-wrap pre.CodeMirror-line,
.CodeMirror-wrap pre.CodeMirror-line-like {
word-wrap: break-word;
white-space: pre-wrap;
word-break: normal;
}
.CodeMirror-linebackground {
position: absolute;
left: 0; right: 0; top: 0; bottom: 0;
z-index: 0;
}
.CodeMirror-linewidget {
position: relative;
z-index: 2;
padding: 0.1px; /* Force widget margins to stay inside of the container */
}
.CodeMirror-widget {}
.CodeMirror-rtl pre { direction: rtl; }
.CodeMirror-code {
outline: none;
}
/* Force content-box sizing for the elements where we expect it */
.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.CodeMirror-measure {
position: absolute;
width: 100%;
height: 0;
overflow: hidden;
visibility: hidden;
}
.CodeMirror-cursor {
position: absolute;
pointer-events: none;
}
.CodeMirror-measure pre { position: static; }
div.CodeMirror-cursors {
visibility: hidden;
position: relative;
z-index: 3;
}
div.CodeMirror-dragcursors {
visibility: visible;
}
.CodeMirror-focused div.CodeMirror-cursors {
visibility: visible;
}
.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; }
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
.cm-searching {
background-color: #ffa;
background-color: rgba(255, 255, 0, .4);
}
/* Used to force a border model for a node */
.cm-force-border { padding-right: .1px; }
@media print {
/* Hide the cursor when printing */
.CodeMirror div.CodeMirror-cursors {
visibility: hidden;
}
}
/* See issue #2901 */
.cm-tab-wrap-hack:after { content: ''; }
/* Help users use markselection to safely style text background */
span.CodeMirror-selectedtext { background: none; }
================================================
FILE: _files/assets/codemirror@6.65.7/mode/apl/apl.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("apl", function() {
var builtInOps = {
".": "innerProduct",
"\\": "scan",
"/": "reduce",
"⌿": "reduce1Axis",
"⍀": "scan1Axis",
"¨": "each",
"⍣": "power"
};
var builtInFuncs = {
"+": ["conjugate", "add"],
"−": ["negate", "subtract"],
"×": ["signOf", "multiply"],
"÷": ["reciprocal", "divide"],
"⌈": ["ceiling", "greaterOf"],
"⌊": ["floor", "lesserOf"],
"∣": ["absolute", "residue"],
"⍳": ["indexGenerate", "indexOf"],
"?": ["roll", "deal"],
"⋆": ["exponentiate", "toThePowerOf"],
"⍟": ["naturalLog", "logToTheBase"],
"○": ["piTimes", "circularFuncs"],
"!": ["factorial", "binomial"],
"⌹": ["matrixInverse", "matrixDivide"],
"<": [null, "lessThan"],
"≤": [null, "lessThanOrEqual"],
"=": [null, "equals"],
">": [null, "greaterThan"],
"≥": [null, "greaterThanOrEqual"],
"≠": [null, "notEqual"],
"≡": ["depth", "match"],
"≢": [null, "notMatch"],
"∈": ["enlist", "membership"],
"⍷": [null, "find"],
"∪": ["unique", "union"],
"∩": [null, "intersection"],
"∼": ["not", "without"],
"∨": [null, "or"],
"∧": [null, "and"],
"⍱": [null, "nor"],
"⍲": [null, "nand"],
"⍴": ["shapeOf", "reshape"],
",": ["ravel", "catenate"],
"⍪": [null, "firstAxisCatenate"],
"⌽": ["reverse", "rotate"],
"⊖": ["axis1Reverse", "axis1Rotate"],
"⍉": ["transpose", null],
"↑": ["first", "take"],
"↓": [null, "drop"],
"⊂": ["enclose", "partitionWithAxis"],
"⊃": ["diclose", "pick"],
"⌷": [null, "index"],
"⍋": ["gradeUp", null],
"⍒": ["gradeDown", null],
"⊤": ["encode", null],
"⊥": ["decode", null],
"⍕": ["format", "formatByExample"],
"⍎": ["execute", null],
"⊣": ["stop", "left"],
"⊢": ["pass", "right"]
};
var isOperator = /[\.\/⌿⍀¨⍣]/;
var isNiladic = /⍬/;
var isFunction = /[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/;
var isArrow = /←/;
var isComment = /[⍝#].*$/;
var stringEater = function(type) {
var prev;
prev = false;
return function(c) {
prev = c;
if (c === type) {
return prev === "\\";
}
return true;
};
};
return {
startState: function() {
return {
prev: false,
func: false,
op: false,
string: false,
escape: false
};
},
token: function(stream, state) {
var ch, funcName;
if (stream.eatSpace()) {
return null;
}
ch = stream.next();
if (ch === '"' || ch === "'") {
stream.eatWhile(stringEater(ch));
stream.next();
state.prev = true;
return "string";
}
if (/[\[{\(]/.test(ch)) {
state.prev = false;
return null;
}
if (/[\]}\)]/.test(ch)) {
state.prev = true;
return null;
}
if (isNiladic.test(ch)) {
state.prev = false;
return "niladic";
}
if (/[¯\d]/.test(ch)) {
if (state.func) {
state.func = false;
state.prev = false;
} else {
state.prev = true;
}
stream.eatWhile(/[\w\.]/);
return "number";
}
if (isOperator.test(ch)) {
return "operator apl-" + builtInOps[ch];
}
if (isArrow.test(ch)) {
return "apl-arrow";
}
if (isFunction.test(ch)) {
funcName = "apl-";
if (builtInFuncs[ch] != null) {
if (state.prev) {
funcName += builtInFuncs[ch][1];
} else {
funcName += builtInFuncs[ch][0];
}
}
state.func = true;
state.prev = false;
return "function " + funcName;
}
if (isComment.test(ch)) {
stream.skipToEnd();
return "comment";
}
if (ch === "∘" && stream.peek() === ".") {
stream.next();
return "function jot-dot";
}
stream.eatWhile(/[\w\$_]/);
state.prev = true;
return "keyword";
}
};
});
CodeMirror.defineMIME("text/apl", "apl");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/asciiarmor/asciiarmor.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
function errorIfNotEmpty(stream) {
var nonWS = stream.match(/^\s*\S/);
stream.skipToEnd();
return nonWS ? "error" : null;
}
CodeMirror.defineMode("asciiarmor", function() {
return {
token: function(stream, state) {
var m;
if (state.state == "top") {
if (stream.sol() && (m = stream.match(/^-----BEGIN (.*)?-----\s*$/))) {
state.state = "headers";
state.type = m[1];
return "tag";
}
return errorIfNotEmpty(stream);
} else if (state.state == "headers") {
if (stream.sol() && stream.match(/^\w+:/)) {
state.state = "header";
return "atom";
} else {
var result = errorIfNotEmpty(stream);
if (result) state.state = "body";
return result;
}
} else if (state.state == "header") {
stream.skipToEnd();
state.state = "headers";
return "string";
} else if (state.state == "body") {
if (stream.sol() && (m = stream.match(/^-----END (.*)?-----\s*$/))) {
if (m[1] != state.type) return "error";
state.state = "end";
return "tag";
} else {
if (stream.eatWhile(/[A-Za-z0-9+\/=]/)) {
return null;
} else {
stream.next();
return "error";
}
}
} else if (state.state == "end") {
return errorIfNotEmpty(stream);
}
},
blankLine: function(state) {
if (state.state == "headers") state.state = "body";
},
startState: function() {
return {state: "top", type: null};
}
};
});
CodeMirror.defineMIME("application/pgp", "asciiarmor");
CodeMirror.defineMIME("application/pgp-encrypted", "asciiarmor");
CodeMirror.defineMIME("application/pgp-keys", "asciiarmor");
CodeMirror.defineMIME("application/pgp-signature", "asciiarmor");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/asn.1/asn.1.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("asn.1", function(config, parserConfig) {
var indentUnit = config.indentUnit,
keywords = parserConfig.keywords || {},
cmipVerbs = parserConfig.cmipVerbs || {},
compareTypes = parserConfig.compareTypes || {},
status = parserConfig.status || {},
tags = parserConfig.tags || {},
storage = parserConfig.storage || {},
modifier = parserConfig.modifier || {},
accessTypes = parserConfig.accessTypes|| {},
multiLineStrings = parserConfig.multiLineStrings,
indentStatements = parserConfig.indentStatements !== false;
var isOperatorChar = /[\|\^]/;
var curPunc;
function tokenBase(stream, state) {
var ch = stream.next();
if (ch == '"' || ch == "'") {
state.tokenize = tokenString(ch);
return state.tokenize(stream, state);
}
if (/[\[\]\(\){}:=,;]/.test(ch)) {
curPunc = ch;
return "punctuation";
}
if (ch == "-"){
if (stream.eat("-")) {
stream.skipToEnd();
return "comment";
}
}
if (/\d/.test(ch)) {
stream.eatWhile(/[\w\.]/);
return "number";
}
if (isOperatorChar.test(ch)) {
stream.eatWhile(isOperatorChar);
return "operator";
}
stream.eatWhile(/[\w\-]/);
var cur = stream.current();
if (keywords.propertyIsEnumerable(cur)) return "keyword";
if (cmipVerbs.propertyIsEnumerable(cur)) return "variable cmipVerbs";
if (compareTypes.propertyIsEnumerable(cur)) return "atom compareTypes";
if (status.propertyIsEnumerable(cur)) return "comment status";
if (tags.propertyIsEnumerable(cur)) return "variable-3 tags";
if (storage.propertyIsEnumerable(cur)) return "builtin storage";
if (modifier.propertyIsEnumerable(cur)) return "string-2 modifier";
if (accessTypes.propertyIsEnumerable(cur)) return "atom accessTypes";
return "variable";
}
function tokenString(quote) {
return function(stream, state) {
var escaped = false, next, end = false;
while ((next = stream.next()) != null) {
if (next == quote && !escaped){
var afterNext = stream.peek();
//look if the character if the quote is like the B in '10100010'B
if (afterNext){
afterNext = afterNext.toLowerCase();
if(afterNext == "b" || afterNext == "h" || afterNext == "o")
stream.next();
}
end = true; break;
}
escaped = !escaped && next == "\\";
}
if (end || !(escaped || multiLineStrings))
state.tokenize = null;
return "string";
};
}
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;
if (state.context && state.context.type == "statement")
indent = state.context.indented;
return state.context = new Context(indent, col, type, null, state.context);
}
function popContext(state) {
var t = state.context.type;
if (t == ")" || t == "]" || t == "}")
state.indented = state.context.indented;
return state.context = state.context.prev;
}
//Interface
return {
startState: function(basecolumn) {
return {
tokenize: null,
context: new Context((basecolumn || 0) - indentUnit, 0, "top", false),
indented: 0,
startOfLine: true
};
},
token: function(stream, state) {
var ctx = state.context;
if (stream.sol()) {
if (ctx.align == null) ctx.align = false;
state.indented = stream.indentation();
state.startOfLine = true;
}
if (stream.eatSpace()) return null;
curPunc = null;
var style = (state.tokenize || tokenBase)(stream, state);
if (style == "comment") return style;
if (ctx.align == null) ctx.align = true;
if ((curPunc == ";" || curPunc == ":" || curPunc == ",")
&& ctx.type == "statement"){
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 == "}") {
while (ctx.type == "statement") ctx = popContext(state);
if (ctx.type == "}") ctx = popContext(state);
while (ctx.type == "statement") ctx = popContext(state);
}
else if (curPunc == ctx.type) popContext(state);
else if (indentStatements && (((ctx.type == "}" || ctx.type == "top")
&& curPunc != ';') || (ctx.type == "statement"
&& curPunc == "newstatement")))
pushContext(state, stream.column(), "statement");
state.startOfLine = false;
return style;
},
electricChars: "{}",
lineComment: "--",
fold: "brace"
};
});
function words(str) {
var obj = {}, words = str.split(" ");
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
return obj;
}
CodeMirror.defineMIME("text/x-ttcn-asn", {
name: "asn.1",
keywords: words("DEFINITIONS OBJECTS IF DERIVED INFORMATION ACTION" +
" REPLY ANY NAMED CHARACTERIZED BEHAVIOUR REGISTERED" +
" WITH AS IDENTIFIED CONSTRAINED BY PRESENT BEGIN" +
" IMPORTS FROM UNITS SYNTAX MIN-ACCESS MAX-ACCESS" +
" MINACCESS MAXACCESS REVISION STATUS DESCRIPTION" +
" SEQUENCE SET COMPONENTS OF CHOICE DistinguishedName" +
" ENUMERATED SIZE MODULE END INDEX AUGMENTS EXTENSIBILITY" +
" IMPLIED EXPORTS"),
cmipVerbs: words("ACTIONS ADD GET NOTIFICATIONS REPLACE REMOVE"),
compareTypes: words("OPTIONAL DEFAULT MANAGED MODULE-TYPE MODULE_IDENTITY" +
" MODULE-COMPLIANCE OBJECT-TYPE OBJECT-IDENTITY" +
" OBJECT-COMPLIANCE MODE CONFIRMED CONDITIONAL" +
" SUBORDINATE SUPERIOR CLASS TRUE FALSE NULL" +
" TEXTUAL-CONVENTION"),
status: words("current deprecated mandatory obsolete"),
tags: words("APPLICATION AUTOMATIC EXPLICIT IMPLICIT PRIVATE TAGS" +
" UNIVERSAL"),
storage: words("BOOLEAN INTEGER OBJECT IDENTIFIER BIT OCTET STRING" +
" UTCTime InterfaceIndex IANAifType CMIP-Attribute" +
" REAL PACKAGE PACKAGES IpAddress PhysAddress" +
" NetworkAddress BITS BMPString TimeStamp TimeTicks" +
" TruthValue RowStatus DisplayString GeneralString" +
" GraphicString IA5String NumericString" +
" PrintableString SnmpAdminString TeletexString" +
" UTF8String VideotexString VisibleString StringStore" +
" ISO646String T61String UniversalString Unsigned32" +
" Integer32 Gauge Gauge32 Counter Counter32 Counter64"),
modifier: words("ATTRIBUTE ATTRIBUTES MANDATORY-GROUP MANDATORY-GROUPS" +
" GROUP GROUPS ELEMENTS EQUALITY ORDERING SUBSTRINGS" +
" DEFINED"),
accessTypes: words("not-accessible accessible-for-notify read-only" +
" read-create read-write"),
multiLineStrings: true
});
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/asterisk/asterisk.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
/*
* =====================================================================================
*
* Filename: mode/asterisk/asterisk.js
*
* Description: CodeMirror mode for Asterisk dialplan
*
* Created: 05/17/2012 09:20:25 PM
* Revision: 08/05/2019 AstLinux Project: Support block-comments
*
* Author: Stas Kobzar (stas@modulis.ca),
* Company: Modulis.ca Inc.
*
* =====================================================================================
*/
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("asterisk", function() {
var atoms = ["exten", "same", "include","ignorepat","switch"],
dpcmd = ["#include","#exec"],
apps = [
"addqueuemember","adsiprog","aelsub","agentlogin","agentmonitoroutgoing","agi",
"alarmreceiver","amd","answer","authenticate","background","backgrounddetect",
"bridge","busy","callcompletioncancel","callcompletionrequest","celgenuserevent",
"changemonitor","chanisavail","channelredirect","chanspy","clearhash","confbridge",
"congestion","continuewhile","controlplayback","dahdiacceptr2call","dahdibarge",
"dahdiras","dahdiscan","dahdisendcallreroutingfacility","dahdisendkeypadfacility",
"datetime","dbdel","dbdeltree","deadagi","dial","dictate","directory","disa",
"dumpchan","eagi","echo","endwhile","exec","execif","execiftime","exitwhile","extenspy",
"externalivr","festival","flash","followme","forkcdr","getcpeid","gosub","gosubif",
"goto","gotoif","gotoiftime","hangup","iax2provision","ices","importvar","incomplete",
"ivrdemo","jabberjoin","jabberleave","jabbersend","jabbersendgroup","jabberstatus",
"jack","log","macro","macroexclusive","macroexit","macroif","mailboxexists","meetme",
"meetmeadmin","meetmechanneladmin","meetmecount","milliwatt","minivmaccmess","minivmdelete",
"minivmgreet","minivmmwi","minivmnotify","minivmrecord","mixmonitor","monitor","morsecode",
"mp3player","mset","musiconhold","nbscat","nocdr","noop","odbc","odbc","odbcfinish",
"originate","ospauth","ospfinish","osplookup","ospnext","page","park","parkandannounce",
"parkedcall","pausemonitor","pausequeuemember","pickup","pickupchan","playback","playtones",
"privacymanager","proceeding","progress","queue","queuelog","raiseexception","read","readexten",
"readfile","receivefax","receivefax","receivefax","record","removequeuemember",
"resetcdr","retrydial","return","ringing","sayalpha","saycountedadj","saycountednoun",
"saycountpl","saydigits","saynumber","sayphonetic","sayunixtime","senddtmf","sendfax",
"sendfax","sendfax","sendimage","sendtext","sendurl","set","setamaflags",
"setcallerpres","setmusiconhold","sipaddheader","sipdtmfmode","sipremoveheader","skel",
"slastation","slatrunk","sms","softhangup","speechactivategrammar","speechbackground",
"speechcreate","speechdeactivategrammar","speechdestroy","speechloadgrammar","speechprocessingsound",
"speechstart","speechunloadgrammar","stackpop","startmusiconhold","stopmixmonitor","stopmonitor",
"stopmusiconhold","stopplaytones","system","testclient","testserver","transfer","tryexec",
"trysystem","unpausemonitor","unpausequeuemember","userevent","verbose","vmauthenticate",
"vmsayname","voicemail","voicemailmain","wait","waitexten","waitfornoise","waitforring",
"waitforsilence","waitmusiconhold","waituntil","while","zapateller"
];
function basicToken(stream,state){
var cur = '';
var ch = stream.next();
// comment
if (state.blockComment) {
if (ch == "-" && stream.match("-;", true)) {
state.blockComment = false;
} else if (stream.skipTo("--;")) {
stream.next();
stream.next();
stream.next();
state.blockComment = false;
} else {
stream.skipToEnd();
}
return "comment";
}
if(ch == ";") {
if (stream.match("--", true)) {
if (!stream.match("-", false)) { // Except ;--- is not a block comment
state.blockComment = true;
return "comment";
}
}
stream.skipToEnd();
return "comment";
}
// context
if(ch == '[') {
stream.skipTo(']');
stream.eat(']');
return "header";
}
// string
if(ch == '"') {
stream.skipTo('"');
return "string";
}
if(ch == "'") {
stream.skipTo("'");
return "string-2";
}
// dialplan commands
if(ch == '#') {
stream.eatWhile(/\w/);
cur = stream.current();
if(dpcmd.indexOf(cur) !== -1) {
stream.skipToEnd();
return "strong";
}
}
// application args
if(ch == '$'){
var ch1 = stream.peek();
if(ch1 == '{'){
stream.skipTo('}');
stream.eat('}');
return "variable-3";
}
}
// extension
stream.eatWhile(/\w/);
cur = stream.current();
if(atoms.indexOf(cur) !== -1) {
state.extenStart = true;
switch(cur) {
case 'same': state.extenSame = true; break;
case 'include':
case 'switch':
case 'ignorepat':
state.extenInclude = true;break;
default:break;
}
return "atom";
}
}
return {
startState: function() {
return {
blockComment: false,
extenStart: false,
extenSame: false,
extenInclude: false,
extenExten: false,
extenPriority: false,
extenApplication: false
};
},
token: function(stream, state) {
var cur = '';
if(stream.eatSpace()) return null;
// extension started
if(state.extenStart){
stream.eatWhile(/[^\s]/);
cur = stream.current();
if(/^=>?$/.test(cur)){
state.extenExten = true;
state.extenStart = false;
return "strong";
} else {
state.extenStart = false;
stream.skipToEnd();
return "error";
}
} else if(state.extenExten) {
// set exten and priority
state.extenExten = false;
state.extenPriority = true;
stream.eatWhile(/[^,]/);
if(state.extenInclude) {
stream.skipToEnd();
state.extenPriority = false;
state.extenInclude = false;
}
if(state.extenSame) {
state.extenPriority = false;
state.extenSame = false;
state.extenApplication = true;
}
return "tag";
} else if(state.extenPriority) {
state.extenPriority = false;
state.extenApplication = true;
stream.next(); // get comma
if(state.extenSame) return null;
stream.eatWhile(/[^,]/);
return "number";
} else if(state.extenApplication) {
stream.eatWhile(/,/);
cur = stream.current();
if(cur === ',') return null;
stream.eatWhile(/\w/);
cur = stream.current().toLowerCase();
state.extenApplication = false;
if(apps.indexOf(cur) !== -1){
return "def strong";
}
} else{
return basicToken(stream,state);
}
return null;
},
blockCommentStart: ";--",
blockCommentEnd: "--;",
lineComment: ";"
};
});
CodeMirror.defineMIME("text/x-asterisk", "asterisk");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/brainfuck/brainfuck.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
// Brainfuck mode created by Michael Kaminsky https://github.com/mkaminsky11
(function(mod) {
if (typeof exports == "object" && typeof module == "object")
mod(require("../../lib/codemirror"))
else if (typeof define == "function" && define.amd)
define(["../../lib/codemirror"], mod)
else
mod(CodeMirror)
})(function(CodeMirror) {
"use strict"
var reserve = "><+-.,[]".split("");
/*
comments can be either:
placed behind lines
+++ this is a comment
where reserved characters cannot be used
or in a loop
[
this is ok to use [ ] and stuff
]
or preceded by #
*/
CodeMirror.defineMode("brainfuck", function() {
return {
startState: function() {
return {
commentLine: false,
left: 0,
right: 0,
commentLoop: false
}
},
token: function(stream, state) {
if (stream.eatSpace()) return null
if(stream.sol()){
state.commentLine = false;
}
var ch = stream.next().toString();
if(reserve.indexOf(ch) !== -1){
if(state.commentLine === true){
if(stream.eol()){
state.commentLine = false;
}
return "comment";
}
if(ch === "]" || ch === "["){
if(ch === "["){
state.left++;
}
else{
state.right++;
}
return "bracket";
}
else if(ch === "+" || ch === "-"){
return "keyword";
}
else if(ch === "<" || ch === ">"){
return "atom";
}
else if(ch === "." || ch === ","){
return "def";
}
}
else{
state.commentLine = true;
if(stream.eol()){
state.commentLine = false;
}
return "comment";
}
if(stream.eol()){
state.commentLine = false;
}
}
};
});
CodeMirror.defineMIME("text/x-brainfuck","brainfuck")
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/clike/clike.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
function Context(indented, column, type, info, align, prev) {
this.indented = indented;
this.column = column;
this.type = type;
this.info = info;
this.align = align;
this.prev = prev;
}
function pushContext(state, col, type, info) {
var indent = state.indented;
if (state.context && state.context.type == "statement" && type != "statement")
indent = state.context.indented;
return state.context = new Context(indent, col, type, info, null, state.context);
}
function popContext(state) {
var t = state.context.type;
if (t == ")" || t == "]" || t == "}")
state.indented = state.context.indented;
return state.context = state.context.prev;
}
function typeBefore(stream, state, pos) {
if (state.prevToken == "variable" || state.prevToken == "type") return true;
if (/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0, pos))) return true;
if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true;
}
function isTopScope(context) {
for (;;) {
if (!context || context.type == "top") return true;
if (context.type == "}" && context.prev.info != "namespace") return false;
context = context.prev;
}
}
CodeMirror.defineMode("clike", function(config, parserConfig) {
var indentUnit = config.indentUnit,
statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,
dontAlignCalls = parserConfig.dontAlignCalls,
keywords = parserConfig.keywords || {},
types = parserConfig.types || {},
builtin = parserConfig.builtin || {},
blockKeywords = parserConfig.blockKeywords || {},
defKeywords = parserConfig.defKeywords || {},
atoms = parserConfig.atoms || {},
hooks = parserConfig.hooks || {},
multiLineStrings = parserConfig.multiLineStrings,
indentStatements = parserConfig.indentStatements !== false,
indentSwitch = parserConfig.indentSwitch !== false,
namespaceSeparator = parserConfig.namespaceSeparator,
isPunctuationChar = parserConfig.isPunctuationChar || /[\[\]{}\(\),;\:\.]/,
numberStart = parserConfig.numberStart || /[\d\.]/,
number = parserConfig.number || /^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,
isOperatorChar = parserConfig.isOperatorChar || /[+\-*&%=<>!?|\/]/,
isIdentifierChar = parserConfig.isIdentifierChar || /[\w\$_\xa1-\uffff]/,
// An optional function that takes a {string} token and returns true if it
// should be treated as a builtin.
isReservedIdentifier = parserConfig.isReservedIdentifier || false;
var curPunc, isDefKeyword;
function tokenBase(stream, state) {
var ch = stream.next();
if (hooks[ch]) {
var result = hooks[ch](stream, state);
if (result !== false) return result;
}
if (ch == '"' || ch == "'") {
state.tokenize = tokenString(ch);
return state.tokenize(stream, state);
}
if (numberStart.test(ch)) {
stream.backUp(1)
if (stream.match(number)) return "number"
stream.next()
}
if (isPunctuationChar.test(ch)) {
curPunc = ch;
return null;
}
if (ch == "/") {
if (stream.eat("*")) {
state.tokenize = tokenComment;
return tokenComment(stream, state);
}
if (stream.eat("/")) {
stream.skipToEnd();
return "comment";
}
}
if (isOperatorChar.test(ch)) {
while (!stream.match(/^\/[\/*]/, false) && stream.eat(isOperatorChar)) {}
return "operator";
}
stream.eatWhile(isIdentifierChar);
if (namespaceSeparator) while (stream.match(namespaceSeparator))
stream.eatWhile(isIdentifierChar);
var cur = stream.current();
if (contains(keywords, cur)) {
if (contains(blockKeywords, cur)) curPunc = "newstatement";
if (contains(defKeywords, cur)) isDefKeyword = true;
return "keyword";
}
if (contains(types, cur)) return "type";
if (contains(builtin, cur)
|| (isReservedIdentifier && isReservedIdentifier(cur))) {
if (contains(blockKeywords, cur)) curPunc = "newstatement";
return "builtin";
}
if (contains(atoms, cur)) return "atom";
return "variable";
}
function tokenString(quote) {
return function(stream, state) {
var escaped = false, next, end = false;
while ((next = stream.next()) != null) {
if (next == quote && !escaped) {end = true; break;}
escaped = !escaped && next == "\\";
}
if (end || !(escaped || multiLineStrings))
state.tokenize = null;
return "string";
};
}
function tokenComment(stream, state) {
var maybeEnd = false, ch;
while (ch = stream.next()) {
if (ch == "/" && maybeEnd) {
state.tokenize = null;
break;
}
maybeEnd = (ch == "*");
}
return "comment";
}
function maybeEOL(stream, state) {
if (parserConfig.typeFirstDefinitions && stream.eol() && isTopScope(state.context))
state.typeAtEndOfLine = typeBefore(stream, state, stream.pos)
}
// Interface
return {
startState: function(basecolumn) {
return {
tokenize: null,
context: new Context((basecolumn || 0) - indentUnit, 0, "top", null, false),
indented: 0,
startOfLine: true,
prevToken: null
};
},
token: function(stream, state) {
var ctx = state.context;
if (stream.sol()) {
if (ctx.align == null) ctx.align = false;
state.indented = stream.indentation();
state.startOfLine = true;
}
if (stream.eatSpace()) { maybeEOL(stream, state); return null; }
curPunc = isDefKeyword = null;
var style = (state.tokenize || tokenBase)(stream, state);
if (style == "comment" || style == "meta") return style;
if (ctx.align == null) ctx.align = true;
if (curPunc == ";" || curPunc == ":" || (curPunc == "," && stream.match(/^\s*(?:\/\/.*)?$/, false)))
while (state.context.type == "statement") 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 == "}") {
while (ctx.type == "statement") ctx = popContext(state);
if (ctx.type == "}") ctx = popContext(state);
while (ctx.type == "statement") ctx = popContext(state);
}
else if (curPunc == ctx.type) popContext(state);
else if (indentStatements &&
(((ctx.type == "}" || ctx.type == "top") && curPunc != ";") ||
(ctx.type == "statement" && curPunc == "newstatement"))) {
pushContext(state, stream.column(), "statement", stream.current());
}
if (style == "variable" &&
((state.prevToken == "def" ||
(parserConfig.typeFirstDefinitions && typeBefore(stream, state, stream.start) &&
isTopScope(state.context) && stream.match(/^\s*\(/, false)))))
style = "def";
if (hooks.token) {
var result = hooks.token(stream, state, style);
if (result !== undefined) style = result;
}
if (style == "def" && parserConfig.styleDefs === false) style = "variable";
state.startOfLine = false;
state.prevToken = isDefKeyword ? "def" : style || curPunc;
maybeEOL(stream, state);
return style;
},
indent: function(state, textAfter) {
if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass;
var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
var closing = firstChar == ctx.type;
if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
if (parserConfig.dontIndentStatements)
while (ctx.type == "statement" && parserConfig.dontIndentStatements.test(ctx.info))
ctx = ctx.prev
if (hooks.indent) {
var hook = hooks.indent(state, ctx, textAfter, indentUnit);
if (typeof hook == "number") return hook
}
var switchBlock = ctx.prev && ctx.prev.info == "switch";
if (parserConfig.allmanIndentation && /[{(]/.test(firstChar)) {
while (ctx.type != "top" && ctx.type != "}") ctx = ctx.prev
return ctx.indented
}
if (ctx.type == "statement")
return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit);
if (ctx.align && (!dontAlignCalls || ctx.type != ")"))
return ctx.column + (closing ? 0 : 1);
if (ctx.type == ")" && !closing)
return ctx.indented + statementIndentUnit;
return ctx.indented + (closing ? 0 : indentUnit) +
(!closing && switchBlock && !/^(?:case|default)\b/.test(textAfter) ? indentUnit : 0);
},
electricInput: indentSwitch ? /^\s*(?:case .*?:|default:|\{\}?|\})$/ : /^\s*[{}]$/,
blockCommentStart: "/*",
blockCommentEnd: "*/",
blockCommentContinue: " * ",
lineComment: "//",
fold: "brace"
};
});
function words(str) {
var obj = {}, words = str.split(" ");
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
return obj;
}
function contains(words, word) {
if (typeof words === "function") {
return words(word);
} else {
return words.propertyIsEnumerable(word);
}
}
var cKeywords = "auto if break case register continue return default do sizeof " +
"static else struct switch extern typedef union for goto while enum const " +
"volatile inline restrict asm fortran";
// Keywords from https://en.cppreference.com/w/cpp/keyword includes C++20.
var cppKeywords = "alignas alignof and and_eq audit axiom bitand bitor catch " +
"class compl concept constexpr const_cast decltype delete dynamic_cast " +
"explicit export final friend import module mutable namespace new noexcept " +
"not not_eq operator or or_eq override private protected public " +
"reinterpret_cast requires static_assert static_cast template this " +
"thread_local throw try typeid typename using virtual xor xor_eq";
var objCKeywords = "bycopy byref in inout oneway out self super atomic nonatomic retain copy " +
"readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd " +
"@interface @implementation @end @protocol @encode @property @synthesize @dynamic @class " +
"@public @package @private @protected @required @optional @try @catch @finally @import " +
"@selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available";
var objCBuiltins = "FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION " +
" NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER " +
"NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION " +
"NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"
// Do not use this. Use the cTypes function below. This is global just to avoid
// excessive calls when cTypes is being called multiple times during a parse.
var basicCTypes = words("int long char short double float unsigned signed " +
"void bool");
// Do not use this. Use the objCTypes function below. This is global just to avoid
// excessive calls when objCTypes is being called multiple times during a parse.
var basicObjCTypes = words("SEL instancetype id Class Protocol BOOL");
// Returns true if identifier is a "C" type.
// C type is defined as those that are reserved by the compiler (basicTypes),
// and those that end in _t (Reserved by POSIX for types)
// http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html
function cTypes(identifier) {
return contains(basicCTypes, identifier) || /.+_t$/.test(identifier);
}
// Returns true if identifier is a "Objective C" type.
function objCTypes(identifier) {
return cTypes(identifier) || contains(basicObjCTypes, identifier);
}
var cBlockKeywords = "case do else for if switch while struct enum union";
var cDefKeywords = "struct enum union";
function cppHook(stream, state) {
if (!state.startOfLine) return false
for (var ch, next = null; ch = stream.peek();) {
if (ch == "\\" && stream.match(/^.$/)) {
next = cppHook
break
} else if (ch == "/" && stream.match(/^\/[\/\*]/, false)) {
break
}
stream.next()
}
state.tokenize = next
return "meta"
}
function pointerHook(_stream, state) {
if (state.prevToken == "type") return "type";
return false;
}
// For C and C++ (and ObjC): identifiers starting with __
// or _ followed by a capital letter are reserved for the compiler.
function cIsReservedIdentifier(token) {
if (!token || token.length < 2) return false;
if (token[0] != '_') return false;
return (token[1] == '_') || (token[1] !== token[1].toLowerCase());
}
function cpp14Literal(stream) {
stream.eatWhile(/[\w\.']/);
return "number";
}
function cpp11StringHook(stream, state) {
stream.backUp(1);
// Raw strings.
if (stream.match(/^(?:R|u8R|uR|UR|LR)/)) {
var match = stream.match(/^"([^\s\\()]{0,16})\(/);
if (!match) {
return false;
}
state.cpp11RawStringDelim = match[1];
state.tokenize = tokenRawString;
return tokenRawString(stream, state);
}
// Unicode strings/chars.
if (stream.match(/^(?:u8|u|U|L)/)) {
if (stream.match(/^["']/, /* eat */ false)) {
return "string";
}
return false;
}
// Ignore this hook.
stream.next();
return false;
}
function cppLooksLikeConstructor(word) {
var lastTwo = /(\w+)::~?(\w+)$/.exec(word);
return lastTwo && lastTwo[1] == lastTwo[2];
}
// C#-style strings where "" escapes a quote.
function tokenAtString(stream, state) {
var next;
while ((next = stream.next()) != null) {
if (next == '"' && !stream.eat('"')) {
state.tokenize = null;
break;
}
}
return "string";
}
// C++11 raw string literal is <prefix>"<delim>( anything )<delim>", where
// <delim> can be a string up to 16 characters long.
function tokenRawString(stream, state) {
// Escape characters that have special regex meanings.
var delim = state.cpp11RawStringDelim.replace(/[^\w\s]/g, '\\$&');
var match = stream.match(new RegExp(".*?\\)" + delim + '"'));
if (match)
state.tokenize = null;
else
stream.skipToEnd();
return "string";
}
function def(mimes, mode) {
if (typeof mimes == "string") mimes = [mimes];
var words = [];
function add(obj) {
if (obj) for (var prop in obj) if (obj.hasOwnProperty(prop))
words.push(prop);
}
add(mode.keywords);
add(mode.types);
add(mode.builtin);
add(mode.atoms);
if (words.length) {
mode.helperType = mimes[0];
CodeMirror.registerHelper("hintWords", mimes[0], words);
}
for (var i = 0; i < mimes.length; ++i)
CodeMirror.defineMIME(mimes[i], mode);
}
def(["text/x-csrc", "text/x-c", "text/x-chdr"], {
name: "clike",
keywords: words(cKeywords),
types: cTypes,
blockKeywords: words(cBlockKeywords),
defKeywords: words(cDefKeywords),
typeFirstDefinitions: true,
atoms: words("NULL true false"),
isReservedIdentifier: cIsReservedIdentifier,
hooks: {
"#": cppHook,
"*": pointerHook,
},
modeProps: {fold: ["brace", "include"]}
});
def(["text/x-c++src", "text/x-c++hdr"], {
name: "clike",
keywords: words(cKeywords + " " + cppKeywords),
types: cTypes,
blockKeywords: words(cBlockKeywords + " class try catch"),
defKeywords: words(cDefKeywords + " class namespace"),
typeFirstDefinitions: true,
atoms: words("true false NULL nullptr"),
dontIndentStatements: /^template$/,
isIdentifierChar: /[\w\$_~\xa1-\uffff]/,
isReservedIdentifier: cIsReservedIdentifier,
hooks: {
"#": cppHook,
"*": pointerHook,
"u": cpp11StringHook,
"U": cpp11StringHook,
"L": cpp11StringHook,
"R": cpp11StringHook,
"0": cpp14Literal,
"1": cpp14Literal,
"2": cpp14Literal,
"3": cpp14Literal,
"4": cpp14Literal,
"5": cpp14Literal,
"6": cpp14Literal,
"7": cpp14Literal,
"8": cpp14Literal,
"9": cpp14Literal,
token: function(stream, state, style) {
if (style == "variable" && stream.peek() == "(" &&
(state.prevToken == ";" || state.prevToken == null ||
state.prevToken == "}") &&
cppLooksLikeConstructor(stream.current()))
return "def";
}
},
namespaceSeparator: "::",
modeProps: {fold: ["brace", "include"]}
});
def("text/x-java", {
name: "clike",
keywords: words("abstract assert break case catch class const continue default " +
"do else enum extends final finally for goto if implements import " +
"instanceof interface native new package private protected public " +
"return static strictfp super switch synchronized this throw throws transient " +
"try volatile while @interface"),
types: words("var byte short int long float double boolean char void Boolean Byte Character Double Float " +
"Integer Long Number Object Short String StringBuffer StringBuilder Void"),
blockKeywords: words("catch class do else finally for if switch try while"),
defKeywords: words("class interface enum @interface"),
typeFirstDefinitions: true,
atoms: words("true false null"),
number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,
hooks: {
"@": function(stream) {
// Don't match the @interface keyword.
if (stream.match('interface', false)) return false;
stream.eatWhile(/[\w\$_]/);
return "meta";
},
'"': function(stream, state) {
if (!stream.match(/""$/)) return false;
state.tokenize = tokenTripleString;
return state.tokenize(stream, state);
}
},
modeProps: {fold: ["brace", "import"]}
});
def("text/x-csharp", {
name: "clike",
keywords: words("abstract as async await base break case catch checked class const continue" +
" default delegate do else enum event explicit extern finally fixed for" +
" foreach goto if implicit in interface internal is lock namespace new" +
" operator out override params private protected public readonly ref return sealed" +
" sizeof stackalloc static struct switch this throw try typeof unchecked" +
" unsafe using virtual void volatile while add alias ascending descending dynamic from get" +
" global group into join let orderby partial remove select set value var yield"),
types: words("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func" +
" Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32" +
" UInt64 bool byte char decimal double short int long object" +
" sbyte float string ushort uint ulong"),
blockKeywords: words("catch class do else finally for foreach if struct switch try while"),
defKeywords: words("class interface namespace struct var"),
typeFirstDefinitions: true,
atoms: words("true false null"),
hooks: {
"@": function(stream, state) {
if (stream.eat('"')) {
state.tokenize = tokenAtString;
return tokenAtString(stream, state);
}
stream.eatWhile(/[\w\$_]/);
return "meta";
}
}
});
function tokenTripleString(stream, state) {
var escaped = false;
while (!stream.eol()) {
if (!escaped && stream.match('"""')) {
state.tokenize = null;
break;
}
escaped = stream.next() == "\\" && !escaped;
}
return "string";
}
function tokenNestedComment(depth) {
return function (stream, state) {
var ch
while (ch = stream.next()) {
if (ch == "*" && stream.eat("/")) {
if (depth == 1) {
state.tokenize = null
break
} else {
state.tokenize = tokenNestedComment(depth - 1)
return state.tokenize(stream, state)
}
} else if (ch == "/" && stream.eat("*")) {
state.tokenize = tokenNestedComment(depth + 1)
return state.tokenize(stream, state)
}
}
return "comment"
}
}
def("text/x-scala", {
name: "clike",
keywords: words(
/* scala */
"abstract case catch class def do else extends final finally for forSome if " +
"implicit import lazy match new null object override package private protected return " +
"sealed super this throw trait try type val var while with yield _ " +
/* package scala */
"assert assume require print println printf readLine readBoolean readByte readShort " +
"readChar readInt readLong readFloat readDouble"
),
types: words(
"AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either " +
"Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable " +
"Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering " +
"Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder " +
"StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector " +
/* package java.lang */
"Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " +
"Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " +
"Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " +
"StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"
),
multiLineStrings: true,
blockKeywords: words("catch class enum do else finally for forSome if match switch try while"),
defKeywords: words("class enum def object package trait type val var"),
atoms: words("true false null"),
indentStatements: false,
indentSwitch: false,
isOperatorChar: /[+\-*&%=<>!?|\/#:@]/,
hooks: {
"@": function(stream) {
stream.eatWhile(/[\w\$_]/);
return "meta";
},
'"': function(stream, state) {
if (!stream.match('""')) return false;
state.tokenize = tokenTripleString;
return state.tokenize(stream, state);
},
"'": function(stream) {
stream.eatWhile(/[\w\$_\xa1-\uffff]/);
return "atom";
},
"=": function(stream, state) {
var cx = state.context
if (cx.type == "}" && cx.align && stream.eat(">")) {
state.context = new Context(cx.indented, cx.column, cx.type, cx.info, null, cx.prev)
return "operator"
} else {
return false
}
},
"/": function(stream, state) {
if (!stream.eat("*")) return false
state.tokenize = tokenNestedComment(1)
return state.tokenize(stream, state)
}
},
modeProps: {closeBrackets: {pairs: '()[]{}""', triples: '"'}}
});
function tokenKotlinString(tripleString){
return function (stream, state) {
var escaped = false, next, end = false;
while (!stream.eol()) {
if (!tripleString && !escaped && stream.match('"') ) {end = true; break;}
if (tripleString && stream.match('"""')) {end = true; break;}
next = stream.next();
if(!escaped && next == "$" && stream.match('{'))
stream.skipTo("}");
escaped = !escaped && next == "\\" && !tripleString;
}
if (end || !tripleString)
state.tokenize = null;
return "string";
}
}
def("text/x-kotlin", {
name: "clike",
keywords: words(
/*keywords*/
"package as typealias class interface this super val operator " +
"var fun for is in This throw return annotation " +
"break continue object if else while do try when !in !is as? " +
/*soft keywords*/
"file import where by get set abstract enum open inner override private public internal " +
"protected catch finally out final vararg reified dynamic companion constructor init " +
"sealed field property receiver param sparam lateinit data inline noinline tailrec " +
"external annotation crossinline const operator infix suspend actual expect setparam value"
),
types: words(
/* package java.lang */
"Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " +
"Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " +
"Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " +
"StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray " +
"ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy " +
"LazyThreadSafetyMode LongArray Nothing ShortArray Unit"
),
intendSwitch: false,
indentStatements: false,
multiLineStrings: true,
number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,
blockKeywords: words("catch class do else finally for if where try while enum"),
defKeywords: words("class val var object interface fun"),
atoms: words("true false null this"),
hooks: {
"@": function(stream) {
stream.eatWhile(/[\w\$_]/);
return "meta";
},
'*': function(_stream, state) {
return state.prevToken == '.' ? 'variable' : 'operator';
},
'"': function(stream, state) {
state.tokenize = tokenKotlinString(stream.match('""'));
return state.tokenize(stream, state);
},
"/": function(stream, state) {
if (!stream.eat("*")) return false;
state.tokenize = tokenNestedComment(1);
return state.tokenize(stream, state)
},
indent: function(state, ctx, textAfter, indentUnit) {
var firstChar = textAfter && textAfter.charAt(0);
if ((state.prevToken == "}" || state.prevToken == ")") && textAfter == "")
return state.indented;
if ((state.prevToken == "operator" && textAfter != "}" && state.context.type != "}") ||
state.prevToken == "variable" && firstChar == "." ||
(state.prevToken == "}" || state.prevToken == ")") && firstChar == ".")
return indentUnit * 2 + ctx.indented;
if (ctx.align && ctx.type == "}")
return ctx.indented + (state.context.type == (textAfter || "").charAt(0) ? 0 : indentUnit);
}
},
modeProps: {closeBrackets: {triples: '"'}}
});
def(["x-shader/x-vertex", "x-shader/x-fragment"], {
name: "clike",
keywords: words("sampler1D sampler2D sampler3D samplerCube " +
"sampler1DShadow sampler2DShadow " +
"const attribute uniform varying " +
"break continue discard return " +
"for while do if else struct " +
"in out inout"),
types: words("float int bool void " +
"vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 " +
"mat2 mat3 mat4"),
blockKeywords: words("for while do if else struct"),
builtin: words("radians degrees sin cos tan asin acos atan " +
"pow exp log exp2 sqrt inversesqrt " +
"abs sign floor ceil fract mod min max clamp mix step smoothstep " +
"length distance dot cross normalize ftransform faceforward " +
"reflect refract matrixCompMult " +
"lessThan lessThanEqual greaterThan greaterThanEqual " +
"equal notEqual any all not " +
"texture1D texture1DProj texture1DLod texture1DProjLod " +
"texture2D texture2DProj texture2DLod texture2DProjLod " +
"texture3D texture3DProj texture3DLod texture3DProjLod " +
"textureCube textureCubeLod " +
"shadow1D shadow2D shadow1DProj shadow2DProj " +
"shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod " +
"dFdx dFdy fwidth " +
"noise1 noise2 noise3 noise4"),
atoms: words("true false " +
"gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex " +
"gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 " +
"gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 " +
"gl_FogCoord gl_PointCoord " +
"gl_Position gl_PointSize gl_ClipVertex " +
"gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor " +
"gl_TexCoord gl_FogFragCoord " +
"gl_FragCoord gl_FrontFacing " +
"gl_FragData gl_FragDepth " +
"gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix " +
"gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse " +
"gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse " +
"gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose " +
"gl_ProjectionMatrixInverseTranspose " +
"gl_ModelViewProjectionMatrixInverseTranspose " +
"gl_TextureMatrixInverseTranspose " +
"gl_NormalScale gl_DepthRange gl_ClipPlane " +
"gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel " +
"gl_FrontLightModelProduct gl_BackLightModelProduct " +
"gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ " +
"gl_FogParameters " +
"gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords " +
"gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats " +
"gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits " +
"gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits " +
"gl_MaxDrawBuffers"),
indentSwitch: false,
hooks: {"#": cppHook},
modeProps: {fold: ["brace", "include"]}
});
def("text/x-nesc", {
name: "clike",
keywords: words(cKeywords + " as atomic async call command component components configuration event generic " +
"implementation includes interface module new norace nx_struct nx_union post provides " +
"signal task uses abstract extends"),
types: cTypes,
blockKeywords: words(cBlockKeywords),
atoms: words("null true false"),
hooks: {"#": cppHook},
modeProps: {fold: ["brace", "include"]}
});
def("text/x-objectivec", {
name: "clike",
keywords: words(cKeywords + " " + objCKeywords),
types: objCTypes,
builtin: words(objCBuiltins),
blockKeywords: words(cBlockKeywords + " @synthesize @try @catch @finally @autoreleasepool @synchronized"),
defKeywords: words(cDefKeywords + " @interface @implementation @protocol @class"),
dontIndentStatements: /^@.*$/,
typeFirstDefinitions: true,
atoms: words("YES NO NULL Nil nil true false nullptr"),
isReservedIdentifier: cIsReservedIdentifier,
hooks: {
"#": cppHook,
"*": pointerHook,
},
modeProps: {fold: ["brace", "include"]}
});
def("text/x-objectivec++", {
name: "clike",
keywords: words(cKeywords + " " + objCKeywords + " " + cppKeywords),
types: objCTypes,
builtin: words(objCBuiltins),
blockKeywords: words(cBlockKeywords + " @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),
defKeywords: words(cDefKeywords + " @interface @implementation @protocol @class class namespace"),
dontIndentStatements: /^@.*$|^template$/,
typeFirstDefinitions: true,
atoms: words("YES NO NULL Nil nil true false nullptr"),
isReservedIdentifier: cIsReservedIdentifier,
hooks: {
"#": cppHook,
"*": pointerHook,
"u": cpp11StringHook,
"U": cpp11StringHook,
"L": cpp11StringHook,
"R": cpp11StringHook,
"0": cpp14Literal,
"1": cpp14Literal,
"2": cpp14Literal,
"3": cpp14Literal,
"4": cpp14Literal,
"5": cpp14Literal,
"6": cpp14Literal,
"7": cpp14Literal,
"8": cpp14Literal,
"9": cpp14Literal,
token: function(stream, state, style) {
if (style == "variable" && stream.peek() == "(" &&
(state.prevToken == ";" || state.prevToken == null ||
state.prevToken == "}") &&
cppLooksLikeConstructor(stream.current()))
return "def";
}
},
namespaceSeparator: "::",
modeProps: {fold: ["brace", "include"]}
});
def("text/x-squirrel", {
name: "clike",
keywords: words("base break clone continue const default delete enum extends function in class" +
" foreach local resume return this throw typeof yield constructor instanceof static"),
types: cTypes,
blockKeywords: words("case catch class else for foreach if switch try while"),
defKeywords: words("function local class"),
typeFirstDefinitions: true,
atoms: words("true false null"),
hooks: {"#": cppHook},
modeProps: {fold: ["brace", "include"]}
});
// Ceylon Strings need to deal with interpolation
var stringTokenizer = null;
function tokenCeylonString(type) {
return function(stream, state) {
var escaped = false, next, end = false;
while (!stream.eol()) {
if (!escaped && stream.match('"') &&
(type == "single" || stream.match('""'))) {
end = true;
break;
}
if (!escaped && stream.match('``')) {
stringTokenizer = tokenCeylonString(type);
end = true;
break;
}
next = stream.next();
escaped = type == "single" && !escaped && next == "\\";
}
if (end)
state.tokenize = null;
return "string";
}
}
def("text/x-ceylon", {
name: "clike",
keywords: words("abstracts alias assembly assert assign break case catch class continue dynamic else" +
" exists extends finally for function given if import in interface is let module new" +
" nonempty object of out outer package return satisfies super switch then this throw" +
" try value void while"),
types: function(word) {
// In Ceylon all identifiers that start with an uppercase are types
var first = word.charAt(0);
return (first === first.toUpperCase() && first !== first.toLowerCase());
},
blockKeywords: words("case catch class dynamic else finally for function if interface module new object switch try while"),
defKeywords: words("class dynamic function interface module object package value"),
builtin: words("abstract actual aliased annotation by default deprecated doc final formal late license" +
" native optional sealed see serializable shared suppressWarnings tagged throws variable"),
isPunctuationChar: /[\[\]{}\(\),;\:\.`]/,
isOperatorChar: /[+\-*&%=<>!?|^~:\/]/,
numberStart: /[\d#$]/,
number: /^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,
multiLineStrings: true,
typeFirstDefinitions: true,
atoms: words("true false null larger smaller equal empty finished"),
indentSwitch: false,
styleDefs: false,
hooks: {
"@": function(stream) {
stream.eatWhile(/[\w\$_]/);
return "meta";
},
'"': function(stream, state) {
state.tokenize = tokenCeylonString(stream.match('""') ? "triple" : "single");
return state.tokenize(stream, state);
},
'`': function(stream, state) {
if (!stringTokenizer || !stream.match('`')) return false;
state.tokenize = stringTokenizer;
stringTokenizer = null;
return state.tokenize(stream, state);
},
"'": function(stream) {
stream.eatWhile(/[\w\$_\xa1-\uffff]/);
return "atom";
},
token: function(_stream, state, style) {
if ((style == "variable" || style == "type") &&
state.prevToken == ".") {
return "variable-2";
}
}
},
modeProps: {
fold: ["brace", "import"],
closeBrackets: {triples: '"'}
}
});
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/clojure/clojure.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports === "object" && typeof module === "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define === "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("clojure", function (options) {
var atoms = ["false", "nil", "true"];
var specialForms = [".", "catch", "def", "do", "if", "monitor-enter",
"monitor-exit", "new", "quote", "recur", "set!", "throw", "try", "var"];
var coreSymbols = ["*", "*'", "*1", "*2", "*3", "*agent*",
"*allow-unresolved-vars*", "*assert*", "*clojure-version*",
"*command-line-args*", "*compile-files*", "*compile-path*",
"*compiler-options*", "*data-readers*", "*default-data-reader-fn*", "*e",
"*err*", "*file*", "*flush-on-newline*", "*fn-loader*", "*in*",
"*math-context*", "*ns*", "*out*", "*print-dup*", "*print-length*",
"*print-level*", "*print-meta*", "*print-namespace-maps*",
"*print-readably*", "*read-eval*", "*reader-resolver*", "*source-path*",
"*suppress-read*", "*unchecked-math*", "*use-context-classloader*",
"*verbose-defrecords*", "*warn-on-reflection*", "+", "+'", "-", "-'",
"->", "->>", "->ArrayChunk", "->Eduction", "->Vec", "->VecNode",
"->VecSeq", "-cache-protocol-fn", "-reset-methods", "..", "/", "<", "<=",
"=", "==", ">", ">=", "EMPTY-NODE", "Inst", "StackTraceElement->vec",
"Throwable->map", "accessor", "aclone", "add-classpath", "add-watch",
"agent", "agent-error", "agent-errors", "aget", "alength", "alias",
"all-ns", "alter", "alter-meta!", "alter-var-root", "amap", "ancestors",
"and", "any?", "apply", "areduce", "array-map", "as->", "aset",
"aset-boolean", "aset-byte", "aset-char", "aset-double", "aset-float",
"aset-int", "aset-long", "aset-short", "assert", "assoc", "assoc!",
"assoc-in", "associative?", "atom", "await", "await-for", "await1",
"bases", "bean", "bigdec", "bigint", "biginteger", "binding", "bit-and",
"bit-and-not", "bit-clear", "bit-flip", "bit-not", "bit-or", "bit-set",
"bit-shift-left", "bit-shift-right", "bit-test", "bit-xor", "boolean",
"boolean-array", "boolean?", "booleans", "bound-fn", "bound-fn*",
"bound?", "bounded-count", "butlast", "byte", "byte-array", "bytes",
"bytes?", "case", "cast", "cat", "char", "char-array",
"char-escape-string", "char-name-string", "char?", "chars", "chunk",
"chunk-append", "chunk-buffer", "chunk-cons", "chunk-first", "chunk-next",
"chunk-rest", "chunked-seq?", "class", "class?", "clear-agent-errors",
"clojure-version", "coll?", "comment", "commute", "comp", "comparator",
"compare", "compare-and-set!", "compile", "complement", "completing",
"concat", "cond", "cond->", "cond->>", "condp", "conj", "conj!", "cons",
"constantly", "construct-proxy", "contains?", "count", "counted?",
"create-ns", "create-struct", "cycle", "dec", "dec'", "decimal?",
"declare", "dedupe", "default-data-readers", "definline", "definterface",
"defmacro", "defmethod", "defmulti", "defn", "defn-", "defonce",
"defprotocol", "defrecord", "defstruct", "deftype", "delay", "delay?",
"deliver", "denominator", "deref", "derive", "descendants", "destructure",
"disj", "disj!", "dissoc", "dissoc!", "distinct", "distinct?", "doall",
"dorun", "doseq", "dosync", "dotimes", "doto", "double", "double-array",
"double?", "doubles", "drop", "drop-last", "drop-while", "eduction",
"empty", "empty?", "ensure", "ensure-reduced", "enumeration-seq",
"error-handler", "error-mode", "eval", "even?", "every-pred", "every?",
"ex-data", "ex-info", "extend", "extend-protocol", "extend-type",
"extenders", "extends?", "false?", "ffirst", "file-seq", "filter",
"filterv", "find", "find-keyword", "find-ns", "find-protocol-impl",
"find-protocol-method", "find-var", "first", "flatten", "float",
"float-array", "float?", "floats", "flush", "fn", "fn?", "fnext", "fnil",
"for", "force", "format", "frequencies", "future", "future-call",
"future-cancel", "future-cancelled?", "future-done?", "future?",
"gen-class", "gen-interface", "gensym", "get", "get-in", "get-method",
"get-proxy-class", "get-thread-bindings", "get-validator", "group-by",
"halt-when", "hash", "hash-combine", "hash-map", "hash-ordered-coll",
"hash-set", "hash-unordered-coll", "ident?", "identical?", "identity",
"if-let", "if-not", "if-some", "ifn?", "import", "in-ns", "inc", "inc'",
"indexed?", "init-proxy", "inst-ms", "inst-ms*", "inst?", "instance?",
"int", "int-array", "int?", "integer?", "interleave", "intern",
"interpose", "into", "into-array", "ints", "io!", "isa?", "iterate",
"iterator-seq", "juxt", "keep", "keep-indexed", "key", "keys", "keyword",
"keyword?", "last", "lazy-cat", "lazy-seq", "let", "letfn", "line-seq",
"list", "list*", "list?", "load", "load-file", "load-reader",
"load-string", "loaded-libs", "locking", "long", "long-array", "longs",
"loop", "macroexpand", "macroexpand-1", "make-array", "make-hierarchy",
"map", "map-entry?", "map-indexed", "map?", "mapcat", "mapv", "max",
"max-key", "memfn", "memoize", "merge", "merge-with", "meta",
"method-sig", "methods", "min", "min-key", "mix-collection-hash", "mod",
"munge", "name", "namespace", "namespace-munge", "nat-int?", "neg-int?",
"neg?", "newline", "next", "nfirst", "nil?", "nnext", "not", "not-any?",
"not-empty", "not-every?", "not=", "ns", "ns-aliases", "ns-imports",
"ns-interns", "ns-map", "ns-name", "ns-publics", "ns-refers",
"ns-resolve", "ns-unalias", "ns-unmap", "nth", "nthnext", "nthrest",
"num", "number?", "numerator", "object-array", "odd?", "or", "parents",
"partial", "partition", "partition-all", "partition-by", "pcalls", "peek",
"persistent!", "pmap", "pop", "pop!", "pop-thread-bindings", "pos-int?",
"pos?", "pr", "pr-str", "prefer-method", "prefers",
"primitives-classnames", "print", "print-ctor", "print-dup",
"print-method", "print-simple", "print-str", "printf", "println",
"println-str", "prn", "prn-str", "promise", "proxy",
"proxy-call-with-super", "proxy-mappings", "proxy-name", "proxy-super",
"push-thread-bindings", "pvalues", "qualified-ident?",
"qualified-keyword?", "qualified-symbol?", "quot", "rand", "rand-int",
"rand-nth", "random-sample", "range", "ratio?", "rational?",
"rationalize", "re-find", "re-groups", "re-matcher", "re-matches",
"re-pattern", "re-seq", "read", "read-line", "read-string",
"reader-conditional", "reader-conditional?", "realized?", "record?",
"reduce", "reduce-kv", "reduced", "reduced?", "reductions", "ref",
"ref-history-count", "ref-max-history", "ref-min-history", "ref-set",
"refer", "refer-clojure", "reify", "release-pending-sends", "rem",
"remove", "remove-all-methods", "remove-method", "remove-ns",
"remove-watch", "repeat", "repeatedly", "replace", "replicate", "require",
"reset!", "reset-meta!", "reset-vals!", "resolve", "rest",
"restart-agent", "resultset-seq", "reverse", "reversible?", "rseq",
"rsubseq", "run!", "satisfies?", "second", "select-keys", "send",
"send-off", "send-via", "seq", "seq?", "seqable?", "seque", "sequence",
"sequential?", "set", "set-agent-send-executor!",
"set-agent-send-off-executor!", "set-error-handler!", "set-error-mode!",
"set-validator!", "set?", "short", "short-array", "shorts", "shuffle",
"shutdown-agents", "simple-ident?", "simple-keyword?", "simple-symbol?",
"slurp", "some", "some->", "some->>", "some-fn", "some?", "sort",
"sort-by", "sorted-map", "sorted-map-by", "sorted-set", "sorted-set-by",
"sorted?", "special-symbol?", "spit", "split-at", "split-with", "str",
"string?", "struct", "struct-map", "subs", "subseq", "subvec", "supers",
"swap!", "swap-vals!", "symbol", "symbol?", "sync", "tagged-literal",
"tagged-literal?", "take", "take-last", "take-nth", "take-while", "test",
"the-ns", "thread-bound?", "time", "to-array", "to-array-2d",
"trampoline", "transduce", "transient", "tree-seq", "true?", "type",
"unchecked-add", "unchecked-add-int", "unchecked-byte", "unchecked-char",
"unchecked-dec", "unchecked-dec-int", "unchecked-divide-int",
"unchecked-double", "unchecked-float", "unchecked-inc",
"unchecked-inc-int", "unchecked-int", "unchecked-long",
"unchecked-multiply", "unchecked-multiply-int", "unchecked-negate",
"unchecked-negate-int", "unchecked-remainder-int", "unchecked-short",
"unchecked-subtract", "unchecked-subtract-int", "underive", "unquote",
"unquote-splicing", "unreduced", "unsigned-bit-shift-right", "update",
"update-in", "update-proxy", "uri?", "use", "uuid?", "val", "vals",
"var-get", "var-set", "var?", "vary-meta", "vec", "vector", "vector-of",
"vector?", "volatile!", "volatile?", "vreset!", "vswap!", "when",
"when-first", "when-let", "when-not", "when-some", "while",
"with-bindings", "with-bindings*", "with-in-str", "with-loading-context",
"with-local-vars", "with-meta", "with-open", "with-out-str",
"with-precision", "with-redefs", "with-redefs-fn", "xml-seq", "zero?",
"zipmap"];
var haveBodyParameter = [
"->", "->>", "as->", "binding", "bound-fn", "case", "catch", "comment",
"cond", "cond->", "cond->>", "condp", "def", "definterface", "defmethod",
"defn", "defmacro", "defprotocol", "defrecord", "defstruct", "deftype",
"do", "doseq", "dotimes", "doto", "extend", "extend-protocol",
"extend-type", "fn", "for", "future", "if", "if-let", "if-not", "if-some",
"let", "letfn", "locking", "loop", "ns", "proxy", "reify", "struct-map",
"some->", "some->>", "try", "when", "when-first", "when-let", "when-not",
"when-some", "while", "with-bindings", "with-bindings*", "with-in-str",
"with-loading-context", "with-local-vars", "with-meta", "with-open",
"with-out-str", "with-precision", "with-redefs", "with-redefs-fn"];
CodeMirror.registerHelper("hintWords", "clojure",
[].concat(atoms, specialForms, coreSymbols));
var atom = createLookupMap(atoms);
var specialForm = createLookupMap(specialForms);
var coreSymbol = createLookupMap(coreSymbols);
var hasBodyParameter = createLookupMap(haveBodyParameter);
var delimiter = /^(?:[\\\[\]\s"(),;@^`{}~]|$)/;
var numberLiteral = /^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/;
var characterLiteral = /^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/;
// simple-namespace := /^[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*/
// simple-symbol := /^(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)/
// qualified-symbol := (<simple-namespace>(<.><simple-namespace>)*</>)?<simple-symbol>
var qualifiedSymbol = /^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;
function base(stream, state) {
if (stream.eatSpace() || stream.eat(",")) return ["space", null];
if (stream.match(numberLiteral)) return [null, "number"];
if (stream.match(characterLiteral)) return [null, "string-2"];
if (stream.eat(/^"/)) return (state.tokenize = inString)(stream, state);
if (stream.eat(/^[(\[{]/)) return ["open", "bracket"];
if (stream.eat(/^[)\]}]/)) return ["close", "bracket"];
if (stream.eat(/^;/)) {stream.skipToEnd(); return ["space", "comment"];}
if (stream.eat(/^[#'@^`~]/)) return [null, "meta"];
var matches = stream.match(qualifiedSymbol);
var symbol = matches && matches[0];
if (!symbol) {
// advance stream by at least one character so we don't get stuck.
stream.next();
stream.eatWhile(function (c) {return !is(c, delimiter);});
return [null, "error"];
}
if (symbol === "comment" && state.lastToken === "(")
return (state.tokenize = inComment)(stream, state);
if (is(symbol, atom) || symbol.charAt(0) === ":") return ["symbol", "atom"];
if (is(symbol, specialForm) || is(symbol, coreSymbol)) return ["symbol", "keyword"];
if (state.lastToken === "(") return ["symbol", "builtin"]; // other operator
return ["symbol", "variable"];
}
function inString(stream, state) {
var escaped = false, next;
while (next = stream.next()) {
if (next === "\"" && !escaped) {state.tokenize = base; break;}
escaped = !escaped && next === "\\";
}
return [null, "string"];
}
function inComment(stream, state) {
var parenthesisCount = 1;
var next;
while (next = stream.next()) {
if (next === ")") parenthesisCount--;
if (next === "(") parenthesisCount++;
if (parenthesisCount === 0) {
stream.backUp(1);
state.tokenize = base;
break;
}
}
return ["space", "comment"];
}
function createLookupMap(words) {
var obj = {};
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
return obj;
}
function is(value, test) {
if (test instanceof RegExp) return test.test(value);
if (test instanceof Object) return test.propertyIsEnumerable(value);
}
return {
startState: function () {
return {
ctx: {prev: null, start: 0, indentTo: 0},
lastToken: null,
tokenize: base
};
},
token: function (stream, state) {
if (stream.sol() && (typeof state.ctx.indentTo !== "number"))
state.ctx.indentTo = state.ctx.start + 1;
var typeStylePair = state.tokenize(stream, state);
var type = typeStylePair[0];
var style = typeStylePair[1];
var current = stream.current();
if (type !== "space") {
if (state.lastToken === "(" && state.ctx.indentTo === null) {
if (type === "symbol" && is(current, hasBodyParameter))
state.ctx.indentTo = state.ctx.start + options.indentUnit;
else state.ctx.indentTo = "next";
} else if (state.ctx.indentTo === "next") {
state.ctx.indentTo = stream.column();
}
state.lastToken = current;
}
if (type === "open")
state.ctx = {prev: state.ctx, start: stream.column(), indentTo: null};
else if (type === "close") state.ctx = state.ctx.prev || state.ctx;
return style;
},
indent: function (state) {
var i = state.ctx.indentTo;
return (typeof i === "number") ?
i :
state.ctx.start + 1;
},
closeBrackets: {pairs: "()[]{}\"\""},
lineComment: ";;"
};
});
CodeMirror.defineMIME("text/x-clojure", "clojure");
CodeMirror.defineMIME("text/x-clojurescript", "clojure");
CodeMirror.defineMIME("application/edn", "clojure");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/cmake/cmake.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object")
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd)
define(["../../lib/codemirror"], mod);
else
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("cmake", function () {
var variable_regex = /({)?[a-zA-Z0-9_]+(})?/;
function tokenString(stream, state) {
var current, prev, found_var = false;
while (!stream.eol() && (current = stream.next()) != state.pending) {
if (current === '$' && prev != '\\' && state.pending == '"') {
found_var = true;
break;
}
prev = current;
}
if (found_var) {
stream.backUp(1);
}
if (current == state.pending) {
state.continueString = false;
} else {
state.continueString = true;
}
return "string";
}
function tokenize(stream, state) {
var ch = stream.next();
// Have we found a variable?
if (ch === '$') {
if (stream.match(variable_regex)) {
return 'variable-2';
}
return 'variable';
}
// Should we still be looking for the end of a string?
if (state.continueString) {
// If so, go through the loop again
stream.backUp(1);
return tokenString(stream, state);
}
// Do we just have a function on our hands?
// In 'cmake_minimum_required (VERSION 2.8.8)', 'cmake_minimum_required' is matched
if (stream.match(/(\s+)?\w+\(/) || stream.match(/(\s+)?\w+\ \(/)) {
stream.backUp(1);
return 'def';
}
if (ch == "#") {
stream.skipToEnd();
return "comment";
}
// Have we found a string?
if (ch == "'" || ch == '"') {
// Store the type (single or double)
state.pending = ch;
// Perform the looping function to find the end
return tokenString(stream, state);
}
if (ch == '(' || ch == ')') {
return 'bracket';
}
if (ch.match(/[0-9]/)) {
return 'number';
}
stream.eatWhile(/[\w-]/);
return null;
}
return {
startState: function () {
var state = {};
state.inDefinition = false;
state.inInclude = false;
state.continueString = false;
state.pending = false;
return state;
},
token: function (stream, state) {
if (stream.eatSpace()) return null;
return tokenize(stream, state);
}
};
});
CodeMirror.defineMIME("text/x-cmake", "cmake");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/cobol/cobol.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
/**
* Author: Gautam Mehta
* Branched from CodeMirror's Scheme mode
*/
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("cobol", function () {
var BUILTIN = "builtin", COMMENT = "comment", STRING = "string",
ATOM = "atom", NUMBER = "number", KEYWORD = "keyword", MODTAG = "header",
COBOLLINENUM = "def", PERIOD = "link";
function makeKeywords(str) {
var obj = {}, words = str.split(" ");
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
return obj;
}
var atoms = makeKeywords("TRUE FALSE ZEROES ZEROS ZERO SPACES SPACE LOW-VALUE LOW-VALUES ");
var keywords = makeKeywords(
"ACCEPT ACCESS ACQUIRE ADD ADDRESS " +
"ADVANCING AFTER ALIAS ALL ALPHABET " +
"ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED " +
"ALSO ALTER ALTERNATE AND ANY " +
"ARE AREA AREAS ARITHMETIC ASCENDING " +
"ASSIGN AT ATTRIBUTE AUTHOR AUTO " +
"AUTO-SKIP AUTOMATIC B-AND B-EXOR B-LESS " +
"B-NOT B-OR BACKGROUND-COLOR BACKGROUND-COLOUR BEEP " +
"BEFORE BELL BINARY BIT BITS " +
"BLANK BLINK BLOCK BOOLEAN BOTTOM " +
"BY CALL CANCEL CD CF " +
"CH CHARACTER CHARACTERS CLASS CLOCK-UNITS " +
"CLOSE COBOL CODE CODE-SET COL " +
"COLLATING COLUMN COMMA COMMIT COMMITMENT " +
"COMMON COMMUNICATION COMP COMP-0 COMP-1 " +
"COMP-2 COMP-3 COMP-4 COMP-5 COMP-6 " +
"COMP-7 COMP-8 COMP-9 COMPUTATIONAL COMPUTATIONAL-0 " +
"COMPUTATIONAL-1 COMPUTATIONAL-2 COMPUTATIONAL-3 COMPUTATIONAL-4 COMPUTATIONAL-5 " +
"COMPUTATIONAL-6 COMPUTATIONAL-7 COMPUTATIONAL-8 COMPUTATIONAL-9 COMPUTE " +
"CONFIGURATION CONNECT CONSOLE CONTAINED CONTAINS " +
"CONTENT CONTINUE CONTROL CONTROL-AREA CONTROLS " +
"CONVERTING COPY CORR CORRESPONDING COUNT " +
"CRT CRT-UNDER CURRENCY CURRENT CURSOR " +
"DATA DATE DATE-COMPILED DATE-WRITTEN DAY " +
"DAY-OF-WEEK DB DB-ACCESS-CONTROL-KEY DB-DATA-NAME DB-EXCEPTION " +
"DB-FORMAT-NAME DB-RECORD-NAME DB-SET-NAME DB-STATUS DBCS " +
"DBCS-EDITED DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE " +
"DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING " +
"DECIMAL-POINT DECLARATIVES DEFAULT DELETE DELIMITED " +
"DELIMITER DEPENDING DESCENDING DESCRIBED DESTINATION " +
"DETAIL DISABLE DISCONNECT DISPLAY DISPLAY-1 " +
"DISPLAY-2 DISPLAY-3 DISPLAY-4 DISPLAY-5 DISPLAY-6 " +
"DISPLAY-7 DISPLAY-8 DISPLAY-9 DIVIDE DIVISION " +
"DOWN DROP DUPLICATE DUPLICATES DYNAMIC " +
"EBCDIC EGI EJECT ELSE EMI " +
"EMPTY EMPTY-CHECK ENABLE END END. END-ACCEPT END-ACCEPT. " +
"END-ADD END-CALL END-COMPUTE END-DELETE END-DISPLAY " +
"END-DIVIDE END-EVALUATE END-IF END-INVOKE END-MULTIPLY " +
"END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN " +
"END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT " +
"END-UNSTRING END-WRITE END-XML ENTER ENTRY " +
"ENVIRONMENT EOP EQUAL EQUALS ERASE " +
"ERROR ESI EVALUATE EVERY EXCEEDS " +
"EXCEPTION EXCLUSIVE EXIT EXTEND EXTERNAL " +
"EXTERNALLY-DESCRIBED-KEY FD FETCH FILE FILE-CONTROL " +
"FILE-STREAM FILES FILLER FINAL FIND " +
"FINISH FIRST FOOTING FOR FOREGROUND-COLOR " +
"FOREGROUND-COLOUR FORMAT FREE FROM FULL " +
"FUNCTION GENERATE GET GIVING GLOBAL " +
"GO GOBACK GREATER GROUP HEADING " +
"HIGH-VALUE HIGH-VALUES HIGHLIGHT I-O I-O-CONTROL " +
"ID IDENTIFICATION IF IN INDEX " +
"INDEX-1 INDEX-2 INDEX-3 INDEX-4 INDEX-5 " +
"INDEX-6 INDEX-7 INDEX-8 INDEX-9 INDEXED " +
"INDIC INDICATE INDICATOR INDICATORS INITIAL " +
"INITIALIZE INITIATE INPUT INPUT-OUTPUT INSPECT " +
"INSTALLATION INTO INVALID INVOKE IS " +
"JUST JUSTIFIED KANJI KEEP KEY " +
"LABEL LAST LD LEADING LEFT " +
"LEFT-JUSTIFY LENGTH LENGTH-CHECK LESS LIBRARY " +
"LIKE LIMIT LIMITS LINAGE LINAGE-COUNTER " +
"LINE LINE-COUNTER LINES LINKAGE LOCAL-STORAGE " +
"LOCALE LOCALLY LOCK " +
"MEMBER MEMORY MERGE MESSAGE METACLASS " +
"MODE MODIFIED MODIFY MODULES MOVE " +
"MULTIPLE MULTIPLY NATIONAL NATIVE NEGATIVE " +
"NEXT NO NO-ECHO NONE NOT " +
"NULL NULL-KEY-MAP NULL-MAP NULLS NUMBER " +
"NUMERIC NUMERIC-EDITED OBJECT OBJECT-COMPUTER OCCURS " +
"OF OFF OMITTED ON ONLY " +
"OPEN OPTIONAL OR ORDER ORGANIZATION " +
"OTHER OUTPUT OVERFLOW OWNER PACKED-DECIMAL " +
"PADDING PAGE PAGE-COUNTER PARSE PERFORM " +
"PF PH PIC PICTURE PLUS " +
"POINTER POSITION POSITIVE PREFIX PRESENT " +
"PRINTING PRIOR PROCEDURE PROCEDURE-POINTER PROCEDURES " +
"PROCEED PROCESS PROCESSING PROGRAM PROGRAM-ID " +
"PROMPT PROTECTED PURGE QUEUE QUOTE " +
"QUOTES RANDOM RD READ READY " +
"REALM RECEIVE RECONNECT RECORD RECORD-NAME " +
"RECORDS RECURSIVE REDEFINES REEL REFERENCE " +
"REFERENCE-MONITOR REFERENCES RELATION RELATIVE RELEASE " +
"REMAINDER REMOVAL RENAMES REPEATED REPLACE " +
"REPLACING REPORT REPORTING REPORTS REPOSITORY " +
"REQUIRED RERUN RESERVE RESET RETAINING " +
"RETRIEVAL RETURN RETURN-CODE RETURNING REVERSE-VIDEO " +
"REVERSED REWIND REWRITE RF RH " +
"RIGHT RIGHT-JUSTIFY ROLLBACK ROLLING ROUNDED " +
"RUN SAME SCREEN SD SEARCH " +
"SECTION SECURE SECURITY SEGMENT SEGMENT-LIMIT " +
"SELECT SEND SENTENCE SEPARATE SEQUENCE " +
"SEQUENTIAL SET SHARED SIGN SIZE " +
"SKIP1 SKIP2 SKIP3 SORT SORT-MERGE " +
"SORT-RETURN SOURCE SOURCE-COMPUTER SPACE-FILL " +
"SPECIAL-NAMES STANDARD STANDARD-1 STANDARD-2 " +
"START STARTING STATUS STOP STORE " +
"STRING SUB-QUEUE-1 SUB-QUEUE-2 SUB-QUEUE-3 SUB-SCHEMA " +
"SUBFILE SUBSTITUTE SUBTRACT SUM SUPPRESS " +
"SYMBOLIC SYNC SYNCHRONIZED SYSIN SYSOUT " +
"TABLE TALLYING TAPE TENANT TERMINAL " +
"TERMINATE TEST TEXT THAN THEN " +
"THROUGH THRU TIME TIMES TITLE " +
"TO TOP TRAILING TRAILING-SIGN TRANSACTION " +
"TYPE TYPEDEF UNDERLINE UNEQUAL UNIT " +
"UNSTRING UNTIL UP UPDATE UPON " +
"USAGE USAGE-MODE USE USING VALID " +
"VALIDATE VALUE VALUES VARYING VLR " +
"WAIT WHEN WHEN-COMPILED WITH WITHIN " +
"WORDS WORKING-STORAGE WRITE XML XML-CODE " +
"XML-EVENT XML-NTEXT XML-TEXT ZERO ZERO-FILL " );
var builtins = makeKeywords("- * ** / + < <= = > >= ");
var tests = {
digit: /\d/,
digit_or_colon: /[\d:]/,
hex: /[0-9a-f]/i,
sign: /[+-]/,
exponent: /e/i,
keyword_char: /[^\s\(\[\;\)\]]/,
symbol: /[\w*+\-]/
};
function isNumber(ch, stream){
// hex
if ( ch === '0' && stream.eat(/x/i) ) {
stream.eatWhile(tests.hex);
return true;
}
// leading sign
if ( ( ch == '+' || ch == '-' ) && ( tests.digit.test(stream.peek()) ) ) {
stream.eat(tests.sign);
ch = stream.next();
}
if ( tests.digit.test(ch) ) {
stream.eat(ch);
stream.eatWhile(tests.digit);
if ( '.' == stream.peek()) {
stream.eat('.');
stream.eatWhile(tests.digit);
}
if ( stream.eat(tests.exponent) ) {
stream.eat(tests.sign);
stream.eatWhile(tests.digit);
}
return true;
}
return false;
}
return {
startState: function () {
return {
indentStack: null,
indentation: 0,
mode: false
};
},
token: function (stream, state) {
if (state.indentStack == null && stream.sol()) {
// update indentation, but only if indentStack is empty
state.indentation = 6 ; //stream.indentation();
}
// skip spaces
if (stream.eatSpace()) {
return null;
}
var returnType = null;
switch(state.mode){
case "string": // multi-line string parsing mode
var next = false;
while ((next = stream.next()) != null) {
if ((next == "\"" || next == "\'") && !stream.match(/['"]/, false)) {
state.mode = false;
break;
}
}
returnType = STRING; // continue on in string mode
break;
default: // default parsing mode
var ch = stream.next();
var col = stream.column();
if (col >= 0 && col <= 5) {
returnType = COBOLLINENUM;
} else if (col >= 72 && col <= 79) {
stream.skipToEnd();
returnType = MODTAG;
} else if (ch == "*" && col == 6) { // comment
stream.skipToEnd(); // rest of the line is a comment
returnType = COMMENT;
} else if (ch == "\"" || ch == "\'") {
state.mode = "string";
returnType = STRING;
} else if (ch == "'" && !( tests.digit_or_colon.test(stream.peek()) )) {
returnType = ATOM;
} else if (ch == ".") {
returnType = PERIOD;
} else if (isNumber(ch,stream)){
returnType = NUMBER;
} else {
if (stream.current().match(tests.symbol)) {
while (col < 71) {
if (stream.eat(tests.symbol) === undefined) {
break;
} else {
col++;
}
}
}
if (keywords && keywords.propertyIsEnumerable(stream.current().toUpperCase())) {
returnType = KEYWORD;
} else if (builtins && builtins.propertyIsEnumerable(stream.current().toUpperCase())) {
returnType = BUILTIN;
} else if (atoms && atoms.propertyIsEnumerable(stream.current().toUpperCase())) {
returnType = ATOM;
} else returnType = null;
}
}
return returnType;
},
indent: function (state) {
if (state.indentStack == null) return state.indentation;
return state.indentStack.indent;
}
};
});
CodeMirror.defineMIME("text/x-cobol", "cobol");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/coffeescript/coffeescript.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
/**
* Link to the project's GitHub page:
* https://github.com/pickhardt/coffeescript-codemirror-mode
*/
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("coffeescript", function(conf, parserConf) {
var ERRORCLASS = "error";
function wordRegexp(words) {
return new RegExp("^((" + words.join(")|(") + "))\\b");
}
var operators = /^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/;
var delimiters = /^(?:[()\[\]{},:`=;]|\.\.?\.?)/;
var identifiers = /^[_A-Za-z$][_A-Za-z$0-9]*/;
var atProp = /^@[_A-Za-z$][_A-Za-z$0-9]*/;
var wordOperators = wordRegexp(["and", "or", "not",
"is", "isnt", "in",
"instanceof", "typeof"]);
var indentKeywords = ["for", "while", "loop", "if", "unless", "else",
"switch", "try", "catch", "finally", "class"];
var commonKeywords = ["break", "by", "continue", "debugger", "delete",
"do", "in", "of", "new", "return", "then",
"this", "@", "throw", "when", "until", "extends"];
var keywords = wordRegexp(indentKeywords.concat(commonKeywords));
indentKeywords = wordRegexp(indentKeywords);
var stringPrefixes = /^('{3}|\"{3}|['\"])/;
var regexPrefixes = /^(\/{3}|\/)/;
var commonConstants = ["Infinity", "NaN", "undefined", "null", "true", "false", "on", "off", "yes", "no"];
var constants = wordRegexp(commonConstants);
// Tokenizers
function tokenBase(stream, state) {
// Handle scope changes
if (stream.sol()) {
if (state.scope.align === null) state.scope.align = false;
var scopeOffset = state.scope.offset;
if (stream.eatSpace()) {
var lineOffset = stream.indentation();
if (lineOffset > scopeOffset && state.scope.type == "coffee") {
return "indent";
} else if (lineOffset < scopeOffset) {
return "dedent";
}
return null;
} else {
if (scopeOffset > 0) {
dedent(stream, state);
}
}
}
if (stream.eatSpace()) {
return null;
}
var ch = stream.peek();
// Handle docco title comment (single line)
if (stream.match("####")) {
stream.skipToEnd();
return "comment";
}
// Handle multi line comments
if (stream.match("###")) {
state.tokenize = longComment;
return state.tokenize(stream, state);
}
// Single line comment
if (ch === "#") {
stream.skipToEnd();
return "comment";
}
// Handle number literals
if (stream.match(/^-?[0-9\.]/, false)) {
var floatLiteral = false;
// Floats
if (stream.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)) {
floatLiteral = true;
}
if (stream.match(/^-?\d+\.\d*/)) {
floatLiteral = true;
}
if (stream.match(/^-?\.\d+/)) {
floatLiteral = true;
}
if (floatLiteral) {
// prevent from getting extra . on 1..
if (stream.peek() == "."){
stream.backUp(1);
}
return "number";
}
// Integers
var intLiteral = false;
// Hex
if (stream.match(/^-?0x[0-9a-f]+/i)) {
intLiteral = true;
}
// Decimal
if (stream.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)) {
intLiteral = true;
}
// Zero by itself with no other piece of number.
if (stream.match(/^-?0(?![\dx])/i)) {
intLiteral = true;
}
if (intLiteral) {
return "number";
}
}
// Handle strings
if (stream.match(stringPrefixes)) {
state.tokenize = tokenFactory(stream.current(), false, "string");
return state.tokenize(stream, state);
}
// Handle regex literals
if (stream.match(regexPrefixes)) {
if (stream.current() != "/" || stream.match(/^.*\//, false)) { // prevent highlight of division
state.tokenize = tokenFactory(stream.current(), true, "string-2");
return state.tokenize(stream, state);
} else {
stream.backUp(1);
}
}
// Handle operators and delimiters
if (stream.match(operators) || stream.match(wordOperators)) {
return "operator";
}
if (stream.match(delimiters)) {
return "punctuation";
}
if (stream.match(constants)) {
return "atom";
}
if (stream.match(atProp) || state.prop && stream.match(identifiers)) {
return "property";
}
if (stream.match(keywords)) {
return "keyword";
}
if (stream.match(identifiers)) {
return "variable";
}
// Handle non-detected items
stream.next();
return ERRORCLASS;
}
function tokenFactory(delimiter, singleline, outclass) {
return function(stream, state) {
while (!stream.eol()) {
stream.eatWhile(/[^'"\/\\]/);
if (stream.eat("\\")) {
stream.next();
if (singleline && stream.eol()) {
return outclass;
}
} else if (stream.match(delimiter)) {
state.tokenize = tokenBase;
return outclass;
} else {
stream.eat(/['"\/]/);
}
}
if (singleline) {
if (parserConf.singleLineStringErrors) {
outclass = ERRORCLASS;
} else {
state.tokenize = tokenBase;
}
}
return outclass;
};
}
function longComment(stream, state) {
while (!stream.eol()) {
stream.eatWhile(/[^#]/);
if (stream.match("###")) {
state.tokenize = tokenBase;
break;
}
stream.eatWhile("#");
}
return "comment";
}
function indent(stream, state, type) {
type = type || "coffee";
var offset = 0, align = false, alignOffset = null;
for (var scope = state.scope; scope; scope = scope.prev) {
if (scope.type === "coffee" || scope.type == "}") {
offset = scope.offset + conf.indentUnit;
break;
}
}
if (type !== "coffee") {
align = null;
alignOffset = stream.column() + stream.current().length;
} else if (state.scope.align) {
state.scope.align = false;
}
state.scope = {
offset: offset,
type: type,
prev: state.scope,
align: align,
alignOffset: alignOffset
};
}
function dedent(stream, state) {
if (!state.scope.prev) return;
if (state.scope.type === "coffee") {
var _indent = stream.indentation();
var matched = false;
for (var scope = state.scope; scope; scope = scope.prev) {
if (_indent === scope.offset) {
matched = true;
break;
}
}
if (!matched) {
return true;
}
while (state.scope.prev && state.scope.offset !== _indent) {
state.scope = state.scope.prev;
}
return false;
} else {
state.scope = state.scope.prev;
return false;
}
}
function tokenLexer(stream, state) {
var style = state.tokenize(stream, state);
var current = stream.current();
// Handle scope changes.
if (current === "return") {
state.dedent = true;
}
if (((current === "->" || current === "=>") && stream.eol())
|| style === "indent") {
indent(stream, state);
}
var delimiter_index = "[({".indexOf(current);
if (delimiter_index !== -1) {
indent(stream, state, "])}".slice(delimiter_index, delimiter_index+1));
}
if (indentKeywords.exec(current)){
indent(stream, state);
}
if (current == "then"){
dedent(stream, state);
}
if (style === "dedent") {
if (dedent(stream, state)) {
return ERRORCLASS;
}
}
delimiter_index = "])}".indexOf(current);
if (delimiter_index !== -1) {
while (state.scope.type == "coffee" && state.scope.prev)
state.scope = state.scope.prev;
if (state.scope.type == current)
state.scope = state.scope.prev;
}
if (state.dedent && stream.eol()) {
if (state.scope.type == "coffee" && state.scope.prev)
state.scope = state.scope.prev;
state.dedent = false;
}
return style;
}
var external = {
startState: function(basecolumn) {
return {
tokenize: tokenBase,
scope: {offset:basecolumn || 0, type:"coffee", prev: null, align: false},
prop: false,
dedent: 0
};
},
token: function(stream, state) {
var fillAlign = state.scope.align === null && state.scope;
if (fillAlign && stream.sol()) fillAlign.align = false;
var style = tokenLexer(stream, state);
if (style && style != "comment") {
if (fillAlign) fillAlign.align = true;
state.prop = style == "punctuation" && stream.current() == "."
}
return style;
},
indent: function(state, text) {
if (state.tokenize != tokenBase) return 0;
var scope = state.scope;
var closer = text && "])}".indexOf(text.charAt(0)) > -1;
if (closer) while (scope.type == "coffee" && scope.prev) scope = scope.prev;
var closes = closer && scope.type === text.charAt(0);
if (scope.align)
return scope.alignOffset - (closes ? 1 : 0);
else
return (closes ? scope.prev : scope).offset;
},
lineComment: "#",
fold: "indent"
};
return external;
});
// IANA registered media type
// https://www.iana.org/assignments/media-types/
CodeMirror.defineMIME("application/vnd.coffeescript", "coffeescript");
CodeMirror.defineMIME("text/x-coffeescript", "coffeescript");
CodeMirror.defineMIME("text/coffeescript", "coffeescript");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/commonlisp/commonlisp.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("commonlisp", function (config) {
var specialForm = /^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/;
var assumeBody = /^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/;
var numLiteral = /^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/;
var symbol = /[^\s'`,@()\[\]";]/;
var type;
function readSym(stream) {
var ch;
while (ch = stream.next()) {
if (ch == "\\") stream.next();
else if (!symbol.test(ch)) { stream.backUp(1); break; }
}
return stream.current();
}
function base(stream, state) {
if (stream.eatSpace()) {type = "ws"; return null;}
if (stream.match(numLiteral)) return "number";
var ch = stream.next();
if (ch == "\\") ch = stream.next();
if (ch == '"') return (state.tokenize = inString)(stream, state);
else if (ch == "(") { type = "open"; return "bracket"; }
else if (ch == ")" || ch == "]") { type = "close"; return "bracket"; }
else if (ch == ";") { stream.skipToEnd(); type = "ws"; return "comment"; }
else if (/['`,@]/.test(ch)) return null;
else if (ch == "|") {
if (stream.skipTo("|")) { stream.next(); return "symbol"; }
else { stream.skipToEnd(); return "error"; }
} else if (ch == "#") {
var ch = stream.next();
if (ch == "(") { type = "open"; return "bracket"; }
else if (/[+\-=\.']/.test(ch)) return null;
else if (/\d/.test(ch) && stream.match(/^\d*#/)) return null;
else if (ch == "|") return (state.tokenize = inComment)(stream, state);
else if (ch == ":") { readSym(stream); return "meta"; }
else if (ch == "\\") { stream.next(); readSym(stream); return "string-2" }
else return "error";
} else {
var name = readSym(stream);
if (name == ".") return null;
type = "symbol";
if (name == "nil" || name == "t" || name.charAt(0) == ":") return "atom";
if (state.lastType == "open" && (specialForm.test(name) || assumeBody.test(name))) return "keyword";
if (name.charAt(0) == "&") return "variable-2";
return "variable";
}
}
function inString(stream, state) {
var escaped = false, next;
while (next = stream.next()) {
if (next == '"' && !escaped) { state.tokenize = base; break; }
escaped = !escaped && next == "\\";
}
return "string";
}
function inComment(stream, state) {
var next, last;
while (next = stream.next()) {
if (next == "#" && last == "|") { state.tokenize = base; break; }
last = next;
}
type = "ws";
return "comment";
}
return {
startState: function () {
return {ctx: {prev: null, start: 0, indentTo: 0}, lastType: null, tokenize: base};
},
token: function (stream, state) {
if (stream.sol() && typeof state.ctx.indentTo != "number")
state.ctx.indentTo = state.ctx.start + 1;
type = null;
var style = state.tokenize(stream, state);
if (type != "ws") {
if (state.ctx.indentTo == null) {
if (type == "symbol" && assumeBody.test(stream.current()))
state.ctx.indentTo = state.ctx.start + config.indentUnit;
else
state.ctx.indentTo = "next";
} else if (state.ctx.indentTo == "next") {
state.ctx.indentTo = stream.column();
}
state.lastType = type;
}
if (type == "open") state.ctx = {prev: state.ctx, start: stream.column(), indentTo: null};
else if (type == "close") state.ctx = state.ctx.prev || state.ctx;
return style;
},
indent: function (state, _textAfter) {
var i = state.ctx.indentTo;
return typeof i == "number" ? i : state.ctx.start + 1;
},
closeBrackets: {pairs: "()[]{}\"\""},
lineComment: ";;",
fold: "brace-paren",
blockCommentStart: "#|",
blockCommentEnd: "|#"
};
});
CodeMirror.defineMIME("text/x-common-lisp", "commonlisp");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/crystal/crystal.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("crystal", function(config) {
function wordRegExp(words, end) {
return new RegExp((end ? "" : "^") + "(?:" + words.join("|") + ")" + (end ? "$" : "\\b"));
}
function chain(tokenize, stream, state) {
state.tokenize.push(tokenize);
return tokenize(stream, state);
}
var operators = /^(?:[-+/%|&^]|\*\*?|[<>]{2})/;
var conditionalOperators = /^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/;
var indexingOperators = /^(?:\[\][?=]?)/;
var anotherOperators = /^(?:\.(?:\.{2})?|->|[?:])/;
var idents = /^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/;
var types = /^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/;
var keywords = wordRegExp([
"abstract", "alias", "as", "asm", "begin", "break", "case", "class", "def", "do",
"else", "elsif", "end", "ensure", "enum", "extend", "for", "fun", "if",
"include", "instance_sizeof", "lib", "macro", "module", "next", "of", "out", "pointerof",
"private", "protected", "rescue", "return", "require", "select", "sizeof", "struct",
"super", "then", "type", "typeof", "uninitialized", "union", "unless", "until", "when", "while", "with",
"yield", "__DIR__", "__END_LINE__", "__FILE__", "__LINE__"
]);
var atomWords = wordRegExp(["true", "false", "nil", "self"]);
var indentKeywordsArray = [
"def", "fun", "macro",
"class", "module", "struct", "lib", "enum", "union",
"do", "for"
];
var indentKeywords = wordRegExp(indentKeywordsArray);
var indentExpressionKeywordsArray = ["if", "unless", "case", "while", "until", "begin", "then"];
var indentExpressionKeywords = wordRegExp(indentExpressionKeywordsArray);
var dedentKeywordsArray = ["end", "else", "elsif", "rescue", "ensure"];
var dedentKeywords = wordRegExp(dedentKeywordsArray);
var dedentPunctualsArray = ["\\)", "\\}", "\\]"];
var dedentPunctuals = new RegExp("^(?:" + dedentPunctualsArray.join("|") + ")$");
var nextTokenizer = {
"def": tokenFollowIdent, "fun": tokenFollowIdent, "macro": tokenMacroDef,
"class": tokenFollowType, "module": tokenFollowType, "struct": tokenFollowType,
"lib": tokenFollowType, "enum": tokenFollowType, "union": tokenFollowType
};
var matching = {"[": "]", "{": "}", "(": ")", "<": ">"};
function tokenBase(stream, state) {
if (stream.eatSpace()) {
return null;
}
// Macros
if (state.lastToken != "\\" && stream.match("{%", false)) {
return chain(tokenMacro("%", "%"), stream, state);
}
if (state.lastToken != "\\" && stream.match("{{", false)) {
return chain(tokenMacro("{", "}"), stream, state);
}
// Comments
if (stream.peek() == "#") {
stream.skipToEnd();
return "comment";
}
// Variables and keywords
var matched;
if (stream.match(idents)) {
stream.eat(/[?!]/);
matched = stream.current();
if (stream.eat(":")) {
return "atom";
} else if (state.lastToken == ".") {
return "property";
} else if (keywords.test(matched)) {
if (indentKeywords.test(matched)) {
if (!(matched == "fun" && state.blocks.indexOf("lib") >= 0) && !(matched == "def" && state.lastToken == "abstract")) {
state.blocks.push(matched);
state.currentIndent += 1;
}
} else if ((state.lastStyle == "operator" || !state.lastStyle) && indentExpressionKeywords.test(matched)) {
state.blocks.push(matched);
state.currentIndent += 1;
} else if (matched == "end") {
state.blocks.pop();
state.currentIndent -= 1;
}
if (nextTokenizer.hasOwnProperty(matched)) {
state.tokenize.push(nextTokenizer[matched]);
}
return "keyword";
} else if (atomWords.test(matched)) {
return "atom";
}
return "variable";
}
// Class variables and instance variables
// or attributes
if (stream.eat("@")) {
if (stream.peek() == "[") {
return chain(tokenNest("[", "]", "meta"), stream, state);
}
stream.eat("@");
stream.match(idents) || stream.match(types);
return "variable-2";
}
// Constants and types
if (stream.match(types)) {
return "tag";
}
// Symbols or ':' operator
if (stream.eat(":")) {
if (stream.eat("\"")) {
return chain(tokenQuote("\"", "atom", false), stream, state);
} else if (stream.match(idents) || stream.match(types) ||
stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators)) {
return "atom";
}
stream.eat(":");
return "operator";
}
// Strings
if (stream.eat("\"")) {
return chain(tokenQuote("\"", "string", true), stream, state);
}
// Strings or regexps or macro variables or '%' operator
if (stream.peek() == "%") {
var style = "string";
var embed = true;
var delim;
if (stream.match("%r")) {
// Regexps
style = "string-2";
delim = stream.next();
} else if (stream.match("%w")) {
embed = false;
delim = stream.next();
} else if (stream.match("%q")) {
embed = false;
delim = stream.next();
} else {
if(delim = stream.match(/^%([^\w\s=])/)) {
delim = delim[1];
} else if (stream.match(/^%[a-zA-Z_\u009F-\uFFFF][\w\u009F-\uFFFF]*/)) {
// Macro variables
return "meta";
} else if (stream.eat('%')) {
// '%' operator
return "operator";
}
}
if (matching.hasOwnProperty(delim)) {
delim = matching[delim];
}
return chain(tokenQuote(delim, style, embed), stream, state);
}
// Here Docs
if (matched = stream.match(/^<<-('?)([A-Z]\w*)\1/)) {
return chain(tokenHereDoc(matched[2], !matched[1]), stream, state)
}
// Characters
if (stream.eat("'")) {
stream.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/);
stream.eat("'");
return "atom";
}
// Numbers
if (stream.eat("0")) {
if (stream.eat("x")) {
stream.match(/^[0-9a-fA-F_]+/);
} else if (stream.eat("o")) {
stream.match(/^[0-7_]+/);
} else if (stream.eat("b")) {
stream.match(/^[01_]+/);
}
return "number";
}
if (stream.eat(/^\d/)) {
stream.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/);
return "number";
}
// Operators
if (stream.match(operators)) {
stream.eat("="); // Operators can follow assign symbol.
return "operator";
}
if (stream.match(conditionalOperators) || stream.match(anotherOperators)) {
return "operator";
}
// Parens and braces
if (matched = stream.match(/[({[]/, false)) {
matched = matched[0];
return chain(tokenNest(matched, matching[matched], null), stream, state);
}
// Escapes
if (stream.eat("\\")) {
stream.next();
return "meta";
}
stream.next();
return null;
}
function tokenNest(begin, end, style, started) {
return function (stream, state) {
if (!started && stream.match(begin)) {
state.tokenize[state.tokenize.length - 1] = tokenNest(begin, end, style, true);
state.currentIndent += 1;
return style;
}
var nextStyle = tokenBase(stream, state);
if (stream.current() === end) {
state.tokenize.pop();
state.currentIndent -= 1;
nextStyle = style;
}
return nextStyle;
};
}
function tokenMacro(begin, end, started) {
return function (stream, state) {
if (!started && stream.match("{" + begin)) {
state.currentIndent += 1;
state.tokenize[state.tokenize.length - 1] = tokenMacro(begin, end, true);
return "meta";
}
if (stream.match(end + "}")) {
state.currentIndent -= 1;
state.tokenize.pop();
return "meta";
}
return tokenBase(stream, state);
};
}
function tokenMacroDef(stream, state) {
if (stream.eatSpace()) {
return null;
}
var matched;
if (matched = stream.match(idents)) {
if (matched == "def") {
return "keyword";
}
stream.eat(/[?!]/);
}
state.tokenize.pop();
return "def";
}
function tokenFollowIdent(stream, state) {
if (stream.eatSpace()) {
return null;
}
if (stream.match(idents)) {
stream.eat(/[!?]/);
} else {
stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators);
}
state.tokenize.pop();
return "def";
}
function tokenFollowType(stream, state) {
if (stream.eatSpace()) {
return null;
}
stream.match(types);
state.tokenize.pop();
return "def";
}
function tokenQuote(end, style, embed) {
return function (stream, state) {
var escaped = false;
while (stream.peek()) {
if (!escaped) {
if (stream.match("{%", false)) {
state.tokenize.push(tokenMacro("%", "%"));
return style;
}
if (stream.match("{{", false)) {
state.tokenize.push(tokenMacro("{", "}"));
return style;
}
if (embed && stream.match("#{", false)) {
state.tokenize.push(tokenNest("#{", "}", "meta"));
return style;
}
var ch = stream.next();
if (ch == end) {
state.tokenize.pop();
return style;
}
escaped = embed && ch == "\\";
} else {
stream.next();
escaped = false;
}
}
return style;
};
}
function tokenHereDoc(phrase, embed) {
return function (stream, state) {
if (stream.sol()) {
stream.eatSpace()
if (stream.match(phrase)) {
state.tokenize.pop();
return "string";
}
}
var escaped = false;
while (stream.peek()) {
if (!escaped) {
if (stream.match("{%", false)) {
state.tokenize.push(tokenMacro("%", "%"));
return "string";
}
if (stream.match("{{", false)) {
state.tokenize.push(tokenMacro("{", "}"));
return "string";
}
if (embed && stream.match("#{", false)) {
state.tokenize.push(tokenNest("#{", "}", "meta"));
return "string";
}
escaped = embed && stream.next() == "\\";
} else {
stream.next();
escaped = false;
}
}
return "string";
}
}
return {
startState: function () {
return {
tokenize: [tokenBase],
currentIndent: 0,
lastToken: null,
lastStyle: null,
blocks: []
};
},
token: function (stream, state) {
var style = state.tokenize[state.tokenize.length - 1](stream, state);
var token = stream.current();
if (style && style != "comment") {
state.lastToken = token;
state.lastStyle = style;
}
return style;
},
indent: function (state, textAfter) {
textAfter = textAfter.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g, "");
if (dedentKeywords.test(textAfter) || dedentPunctuals.test(textAfter)) {
return config.indentUnit * (state.currentIndent - 1);
}
return config.indentUnit * state.currentIndent;
},
fold: "indent",
electricInput: wordRegExp(dedentPunctualsArray.concat(dedentKeywordsArray), true),
lineComment: '#'
};
});
CodeMirror.defineMIME("text/x-crystal", "crystal");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/css/css.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("css", function(config, parserConfig) {
var inline = parserConfig.inline
if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode("text/css");
var indentUnit = config.indentUnit,
tokenHooks = parserConfig.tokenHooks,
documentTypes = parserConfig.documentTypes || {},
mediaTypes = parserConfig.mediaTypes || {},
mediaFeatures = parserConfig.mediaFeatures || {},
mediaValueKeywords = parserConfig.mediaValueKeywords || {},
propertyKeywords = parserConfig.propertyKeywords || {},
nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},
fontProperties = parserConfig.fontProperties || {},
counterDescriptors = parserConfig.counterDescriptors || {},
colorKeywords = parserConfig.colorKeywords || {},
valueKeywords = parserConfig.valueKeywords || {},
allowNested = parserConfig.allowNested,
lineComment = parserConfig.lineComment,
supportsAtComponent = parserConfig.supportsAtComponent === true,
highlightNonStandardPropertyKeywords = config.highlightNonStandardPropertyKeywords !== false;
var type, override;
function ret(style, tp) { type = tp; return style; }
// Tokenizers
function tokenBase(stream, state) {
var ch = stream.next();
if (tokenHooks[ch]) {
var result = tokenHooks[ch](stream, state);
if (result !== false) return result;
}
if (ch == "@") {
stream.eatWhile(/[\w\\\-]/);
return ret("def", stream.current());
} else if (ch == "=" || (ch == "~" || ch == "|") && stream.eat("=")) {
return ret(null, "compare");
} else if (ch == "\"" || ch == "'") {
state.tokenize = tokenString(ch);
return state.tokenize(stream, state);
} else if (ch == "#") {
stream.eatWhile(/[\w\\\-]/);
return ret("atom", "hash");
} else if (ch == "!") {
stream.match(/^\s*\w*/);
return ret("keyword", "important");
} else if (/\d/.test(ch) || ch == "." && stream.eat(/\d/)) {
stream.eatWhile(/[\w.%]/);
return ret("number", "unit");
} else if (ch === "-") {
if (/[\d.]/.test(stream.peek())) {
stream.eatWhile(/[\w.%]/);
return ret("number", "unit");
} else if (stream.match(/^-[\w\\\-]*/)) {
stream.eatWhile(/[\w\\\-]/);
if (stream.match(/^\s*:/, false))
return ret("variable-2", "variable-definition");
return ret("variable-2", "variable");
} else if (stream.match(/^\w+-/)) {
return ret("meta", "meta");
}
} else if (/[,+>*\/]/.test(ch)) {
return ret(null, "select-op");
} else if (ch == "." && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {
return ret("qualifier", "qualifier");
} else if (/[:;{}\[\]\(\)]/.test(ch)) {
return ret(null, ch);
} else if (stream.match(/^[\w-.]+(?=\()/)) {
if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {
state.tokenize = tokenParenthesized;
}
return ret("variable callee", "variable");
} else if (/[\w\\\-]/.test(ch)) {
stream.eatWhile(/[\w\\\-]/);
return ret("property", "word");
} else {
return ret(null, null);
}
}
function tokenString(quote) {
return function(stream, state) {
var escaped = false, ch;
while ((ch = stream.next()) != null) {
if (ch == quote && !escaped) {
if (quote == ")") stream.backUp(1);
break;
}
escaped = !escaped && ch == "\\";
}
if (ch == quote || !escaped && quote != ")") state.tokenize = null;
return ret("string", "string");
};
}
function tokenParenthesized(stream, state) {
stream.next(); // Must be '('
if (!stream.match(/^\s*[\"\')]/, false))
state.tokenize = tokenString(")");
else
state.tokenize = null;
return ret(null, "(");
}
// Context management
function Context(type, indent, prev) {
this.type = type;
this.indent = indent;
this.prev = prev;
}
function pushContext(state, stream, type, indent) {
state.context = new Context(type, stream.indentation() + (indent === false ? 0 : indentUnit), state.context);
return type;
}
function popContext(state) {
if (state.context.prev)
state.context = state.context.prev;
return state.context.type;
}
function pass(type, stream, state) {
return states[state.context.type](type, stream, state);
}
function popAndPass(type, stream, state, n) {
for (var i = n || 1; i > 0; i--)
state.context = state.context.prev;
return pass(type, stream, state);
}
// Parser
function wordAsValue(stream) {
var word = stream.current().toLowerCase();
if (valueKeywords.hasOwnProperty(word))
override = "atom";
else if (colorKeywords.hasOwnProperty(word))
override = "keyword";
else
override = "variable";
}
var states = {};
states.top = function(type, stream, state) {
if (type == "{") {
return pushContext(state, stream, "block");
} else if (type == "}" && state.context.prev) {
return popContext(state);
} else if (supportsAtComponent && /@component/i.test(type)) {
return pushContext(state, stream, "atComponentBlock");
} else if (/^@(-moz-)?document$/i.test(type)) {
return pushContext(state, stream, "documentTypes");
} else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {
return pushContext(state, stream, "atBlock");
} else if (/^@(font-face|counter-style)/i.test(type)) {
state.stateArg = type;
return "restricted_atBlock_before";
} else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {
return "keyframes";
} else if (type && type.charAt(0) == "@") {
return pushContext(state, stream, "at");
} else if (type == "hash") {
override = "builtin";
} else if (type == "word") {
override = "tag";
} else if (type == "variable-definition") {
return "maybeprop";
} else if (type == "interpolation") {
return pushContext(state, stream, "interpolation");
} else if (type == ":") {
return "pseudo";
} else if (allowNested && type == "(") {
return pushContext(state, stream, "parens");
}
return state.context.type;
};
states.block = function(type, stream, state) {
if (type == "word") {
var word = stream.current().toLowerCase();
if (propertyKeywords.hasOwnProperty(word)) {
override = "property";
return "maybeprop";
} else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {
override = highlightNonStandardPropertyKeywords ? "string-2" : "property";
return "maybeprop";
} else if (allowNested) {
override = stream.match(/^\s*:(?:\s|$)/, false) ? "property" : "tag";
return "block";
} else {
override += " error";
return "maybeprop";
}
} else if (type == "meta") {
return "block";
} else if (!allowNested && (type == "hash" || type == "qualifier")) {
override = "error";
return "block";
} else {
return states.top(type, stream, state);
}
};
states.maybeprop = function(type, stream, state) {
if (type == ":") return pushContext(state, stream, "prop");
return pass(type, stream, state);
};
states.prop = function(type, stream, state) {
if (type == ";") return popContext(state);
if (type == "{" && allowNested) return pushContext(state, stream, "propBlock");
if (type == "}" || type == "{") return popAndPass(type, stream, state);
if (type == "(") return pushContext(state, stream, "parens");
if (type == "hash" && !/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(stream.current())) {
override += " error";
} else if (type == "word") {
wordAsValue(stream);
} else if (type == "interpolation") {
return pushContext(state, stream, "interpolation");
}
return "prop";
};
states.propBlock = function(type, _stream, state) {
if (type == "}") return popContext(state);
if (type == "word") { override = "property"; return "maybeprop"; }
return state.context.type;
};
states.parens = function(type, stream, state) {
if (type == "{" || type == "}") return popAndPass(type, stream, state);
if (type == ")") return popContext(state);
if (type == "(") return pushContext(state, stream, "parens");
if (type == "interpolation") return pushContext(state, stream, "interpolation");
if (type == "word") wordAsValue(stream);
return "parens";
};
states.pseudo = function(type, stream, state) {
if (type == "meta") return "pseudo";
if (type == "word") {
override = "variable-3";
return state.context.type;
}
return pass(type, stream, state);
};
states.documentTypes = function(type, stream, state) {
if (type == "word" && documentTypes.hasOwnProperty(stream.current())) {
override = "tag";
return state.context.type;
} else {
return states.atBlock(type, stream, state);
}
};
states.atBlock = function(type, stream, state) {
if (type == "(") return pushContext(state, stream, "atBlock_parens");
if (type == "}" || type == ";") return popAndPass(type, stream, state);
if (type == "{") return popContext(state) && pushContext(state, stream, allowNested ? "block" : "top");
if (type == "interpolation") return pushContext(state, stream, "interpolation");
if (type == "word") {
var word = stream.current().toLowerCase();
if (word == "only" || word == "not" || word == "and" || word == "or")
override = "keyword";
else if (mediaTypes.hasOwnProperty(word))
override = "attribute";
else if (mediaFeatures.hasOwnProperty(word))
override = "property";
else if (mediaValueKeywords.hasOwnProperty(word))
override = "keyword";
else if (propertyKeywords.hasOwnProperty(word))
override = "property";
else if (nonStandardPropertyKeywords.hasOwnProperty(word))
override = highlightNonStandardPropertyKeywords ? "string-2" : "property";
else if (valueKeywords.hasOwnProperty(word))
override = "atom";
else if (colorKeywords.hasOwnProperty(word))
override = "keyword";
else
override = "error";
}
return state.context.type;
};
states.atComponentBlock = function(type, stream, state) {
if (type == "}")
return popAndPass(type, stream, state);
if (type == "{")
return popContext(state) && pushContext(state, stream, allowNested ? "block" : "top", false);
if (type == "word")
override = "error";
return state.context.type;
};
states.atBlock_parens = function(type, stream, state) {
if (type == ")") return popContext(state);
if (type == "{" || type == "}") return popAndPass(type, stream, state, 2);
return states.atBlock(type, stream, state);
};
states.restricted_atBlock_before = function(type, stream, state) {
if (type == "{")
return pushContext(state, stream, "restricted_atBlock");
if (type == "word" && state.stateArg == "@counter-style") {
override = "variable";
return "restricted_atBlock_before";
}
return pass(type, stream, state);
};
states.restricted_atBlock = function(type, stream, state) {
if (type == "}") {
state.stateArg = null;
return popContext(state);
}
if (type == "word") {
if ((state.stateArg == "@font-face" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||
(state.stateArg == "@counter-style" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))
override = "error";
else
override = "property";
return "maybeprop";
}
return "restricted_atBlock";
};
states.keyframes = function(type, stream, state) {
if (type == "word") { override = "variable"; return "keyframes"; }
if (type == "{") return pushContext(state, stream, "top");
return pass(type, stream, state);
};
states.at = function(type, stream, state) {
if (type == ";") return popContext(state);
if (type == "{" || type == "}") return popAndPass(type, stream, state);
if (type == "word") override = "tag";
else if (type == "hash") override = "builtin";
return "at";
};
states.interpolation = function(type, stream, state) {
if (type == "}") return popContext(state);
if (type == "{" || type == ";") return popAndPass(type, stream, state);
if (type == "word") override = "variable";
else if (type != "variable" && type != "(" && type != ")") override = "error";
return "interpolation";
};
return {
startState: function(base) {
return {tokenize: null,
state: inline ? "block" : "top",
stateArg: null,
context: new Context(inline ? "block" : "top", base || 0, null)};
},
token: function(stream, state) {
if (!state.tokenize && stream.eatSpace()) return null;
var style = (state.tokenize || tokenBase)(stream, state);
if (style && typeof style == "object") {
type = style[1];
style = style[0];
}
override = style;
if (type != "comment")
state.state = states[state.state](type, stream, state);
return override;
},
indent: function(state, textAfter) {
var cx = state.context, ch = textAfter && textAfter.charAt(0);
var indent = cx.indent;
if (cx.type == "prop" && (ch == "}" || ch == ")")) cx = cx.prev;
if (cx.prev) {
if (ch == "}" && (cx.type == "block" || cx.type == "top" ||
cx.type == "interpolation" || cx.type == "restricted_atBlock")) {
// Resume indentation from parent context.
cx = cx.prev;
indent = cx.indent;
} else if (ch == ")" && (cx.type == "parens" || cx.type == "atBlock_parens") ||
ch == "{" && (cx.type == "at" || cx.type == "atBlock")) {
// Dedent relative to current context.
indent = Math.max(0, cx.indent - indentUnit);
}
}
return indent;
},
electricChars: "}",
blockCommentStart: "/*",
blockCommentEnd: "*/",
blockCommentContinue: " * ",
lineComment: lineComment,
fold: "brace"
};
});
function keySet(array) {
var keys = {};
for (var i = 0; i < array.length; ++i) {
keys[array[i].toLowerCase()] = true;
}
return keys;
}
var documentTypes_ = [
"domain", "regexp", "url", "url-prefix"
], documentTypes = keySet(documentTypes_);
var mediaTypes_ = [
"all", "aural", "braille", "handheld", "print", "projection", "screen",
"tty", "tv", "embossed"
], mediaTypes = keySet(mediaTypes_);
var mediaFeatures_ = [
"width", "min-width", "max-width", "height", "min-height", "max-height",
"device-width", "min-device-width", "max-device-width", "device-height",
"min-device-height", "max-device-height", "aspect-ratio",
"min-aspect-ratio", "max-aspect-ratio", "device-aspect-ratio",
"min-device-aspect-ratio", "max-device-aspect-ratio", "color", "min-color",
"max-color", "color-index", "min-color-index", "max-color-index",
"monochrome", "min-monochrome", "max-monochrome", "resolution",
"min-resolution", "max-resolution", "scan", "grid", "orientation",
"device-pixel-ratio", "min-device-pixel-ratio", "max-device-pixel-ratio",
"pointer", "any-pointer", "hover", "any-hover", "prefers-color-scheme",
"dynamic-range", "video-dynamic-range"
], mediaFeatures = keySet(mediaFeatures_);
var mediaValueKeywords_ = [
"landscape", "portrait", "none", "coarse", "fine", "on-demand", "hover",
"interlace", "progressive",
"dark", "light",
"standard", "high"
], mediaValueKeywords = keySet(mediaValueKeywords_);
var propertyKeywords_ = [
"align-content", "align-items", "align-self", "alignment-adjust",
"alignment-baseline", "all", "anchor-point", "animation", "animation-delay",
"animation-direction", "animation-duration", "animation-fill-mode",
"animation-iteration-count", "animation-name", "animation-play-state",
"animation-timing-function", "appearance", "azimuth", "backdrop-filter",
"backface-visibility", "background", "background-attachment",
"background-blend-mode", "background-clip", "background-color",
"background-image", "background-origin", "background-position",
"background-position-x", "background-position-y", "background-repeat",
"background-size", "baseline-shift", "binding", "bleed", "block-size",
"bookmark-label", "bookmark-level", "bookmark-state", "bookmark-target",
"border", "border-bottom", "border-bottom-color", "border-bottom-left-radius",
"border-bottom-right-radius", "border-bottom-style", "border-bottom-width",
"border-collapse", "border-color", "border-image", "border-image-outset",
"border-image-repeat", "border-image-slice", "border-image-source",
"border-image-width", "border-left", "border-left-color", "border-left-style",
"border-left-width", "border-radius", "border-right", "border-right-color",
"border-right-style", "border-right-width", "border-spacing", "border-style",
"border-top", "border-top-color", "border-top-left-radius",
"border-top-right-radius", "border-top-style", "border-top-width",
"border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing",
"break-after", "break-before", "break-inside", "caption-side", "caret-color",
"clear", "clip", "color", "color-profile", "column-count", "column-fill",
"column-gap", "column-rule", "column-rule-color", "column-rule-style",
"column-rule-width", "column-span", "column-width", "columns", "contain",
"content", "counter-increment", "counter-reset", "crop", "cue", "cue-after",
"cue-before", "cursor", "direction", "display", "dominant-baseline",
"drop-initial-after-adjust", "drop-initial-after-align",
"drop-initial-before-adjust", "drop-initial-before-align", "drop-initial-size",
"drop-initial-value", "elevation", "empty-cells", "fit", "fit-content", "fit-position",
"flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow",
"flex-shrink", "flex-wrap", "float", "float-offset", "flow-from", "flow-into",
"font", "font-family", "font-feature-settings", "font-kerning",
"font-language-override", "font-optical-sizing", "font-size",
"font-size-adjust", "font-stretch", "font-style", "font-synthesis",
"font-variant", "font-variant-alternates", "font-variant-caps",
"font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric",
"font-variant-position", "font-variation-settings", "font-weight", "gap",
"grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows",
"grid-column", "grid-column-end", "grid-column-gap", "grid-column-start",
"grid-gap", "grid-row", "grid-row-end", "grid-row-gap", "grid-row-start",
"grid-template", "grid-template-areas", "grid-template-columns",
"grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon",
"image-orientation", "image-rendering", "image-resolution", "inline-box-align",
"inset", "inset-block", "inset-block-end", "inset-block-start", "inset-inline",
"inset-inline-end", "inset-inline-start", "isolation", "justify-content",
"justify-items", "justify-self", "left", "letter-spacing", "line-break",
"line-height", "line-height-step", "line-stacking", "line-stacking-ruby",
"line-stacking-shift", "line-stacking-strategy", "list-style",
"list-style-image", "list-style-position", "list-style-type", "margin",
"margin-bottom", "margin-left", "margin-right", "margin-top", "marks",
"marquee-direction", "marquee-loop", "marquee-play-count", "marquee-speed",
"marquee-style", "mask-clip", "mask-composite", "mask-image", "mask-mode",
"mask-origin", "mask-position", "mask-repeat", "mask-size","mask-type",
"max-block-size", "max-height", "max-inline-size",
"max-width", "min-block-size", "min-height", "min-inline-size", "min-width",
"mix-blend-mode", "move-to", "nav-down", "nav-index", "nav-left", "nav-right",
"nav-up", "object-fit", "object-position", "offset", "offset-anchor",
"offset-distance", "offset-path", "offset-position", "offset-rotate",
"opacity", "order", "orphans", "outline", "outline-color", "outline-offset",
"outline-style", "outline-width", "overflow", "overflow-style",
"overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-bottom",
"padding-left", "padding-right", "padding-top", "page", "page-break-after",
"page-break-before", "page-break-inside", "page-policy", "pause",
"pause-after", "pause-before", "perspective", "perspective-origin", "pitch",
"pitch-range", "place-content", "place-items", "place-self", "play-during",
"position", "presentation-level", "punctuation-trim", "quotes",
"region-break-after", "region-break-before", "region-break-inside",
"region-fragment", "rendering-intent", "resize", "rest", "rest-after",
"rest-before", "richness", "right", "rotate", "rotation", "rotation-point",
"row-gap", "ruby-align", "ruby-overhang", "ruby-position", "ruby-span",
"scale", "scroll-behavior", "scroll-margin", "scroll-margin-block",
"scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom",
"scroll-margin-inline", "scroll-margin-inline-end",
"scroll-margin-inline-start", "scroll-margin-left", "scroll-margin-right",
"scroll-margin-top", "scroll-padding", "scroll-padding-block",
"scroll-padding-block-end", "scroll-padding-block-start",
"scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end",
"scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right",
"scroll-padding-top", "scroll-snap-align", "scroll-snap-type",
"shape-image-threshold", "shape-inside", "shape-margin", "shape-outside",
"size", "speak", "speak-as", "speak-header", "speak-numeral",
"speak-punctuation", "speech-rate", "stress", "string-set", "tab-size",
"table-layout", "target", "target-name", "target-new", "target-position",
"text-align", "text-align-last", "text-combine-upright", "text-decoration",
"text-decoration-color", "text-decoration-line", "text-decoration-skip",
"text-decoration-skip-ink", "text-decoration-style", "text-emphasis",
"text-emphasis-color", "text-emphasis-position", "text-emphasis-style",
"text-height", "text-indent", "text-justify", "text-orientation",
"text-outline", "text-overflow", "text-rendering", "text-shadow",
"text-size-adjust", "text-space-collapse", "text-transform",
"text-underline-position", "text-wrap", "top", "touch-action", "transform", "transform-origin",
"transform-style", "transition", "transition-delay", "transition-duration",
"transition-property", "transition-timing-function", "translate",
"unicode-bidi", "user-select", "vertical-align", "visibility", "voice-balance",
"voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate",
"voice-stress", "voice-volume", "volume", "white-space", "widows", "width",
"will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "z-index",
// SVG-specific
"clip-path", "clip-rule", "mask", "enable-background", "filter", "flood-color",
"flood-opacity", "lighting-color", "stop-color", "stop-opacity", "pointer-events",
"color-interpolation", "color-interpolation-filters",
"color-rendering", "fill", "fill-opacity", "fill-rule", "image-rendering",
"marker", "marker-end", "marker-mid", "marker-start", "paint-order", "shape-rendering", "stroke",
"stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin",
"stroke-miterlimit", "stroke-opacity", "stroke-width", "text-rendering",
"baseline-shift", "dominant-baseline", "glyph-orientation-horizontal",
"glyph-orientation-vertical", "text-anchor", "writing-mode",
], propertyKeywords = keySet(propertyKeywords_);
var nonStandardPropertyKeywords_ = [
"accent-color", "aspect-ratio", "border-block", "border-block-color", "border-block-end",
"border-block-end-color", "border-block-end-style", "border-block-end-width",
"border-block-start", "border-block-start-color", "border-block-start-style",
"border-block-start-width", "border-block-style", "border-block-width",
"border-inline", "border-inline-color", "border-inline-end",
"border-inline-end-color", "border-inline-end-style",
"border-inline-end-width", "border-inline-start", "border-inline-start-color",
"border-inline-start-style", "border-inline-start-width",
"border-inline-style", "border-inline-width", "content-visibility", "margin-block",
"margin-block-end", "margin-block-start", "margin-inline", "margin-inline-end",
"margin-inline-start", "overflow-anchor", "overscroll-behavior", "padding-block", "padding-block-end",
"padding-block-start", "padding-inline", "padding-inline-end",
"padding-inline-start", "scroll-snap-stop", "scrollbar-3d-light-color",
"scrollbar-arrow-color", "scrollbar-base-color", "scrollbar-dark-shadow-color",
"scrollbar-face-color", "scrollbar-highlight-color", "scrollbar-shadow-color",
"scrollbar-track-color", "searchfield-cancel-button", "searchfield-decoration",
"searchfield-results-button", "searchfield-results-decoration", "shape-inside", "zoom"
], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);
var fontProperties_ = [
"font-display", "font-family", "src", "unicode-range", "font-variant",
"font-feature-settings", "font-stretch", "font-weight", "font-style"
], fontProperties = keySet(fontProperties_);
var counterDescriptors_ = [
"additive-symbols", "fallback", "negative", "pad", "prefix", "range",
"speak-as", "suffix", "symbols", "system"
], counterDescriptors = keySet(counterDescriptors_);
var colorKeywords_ = [
"aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige",
"bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown",
"burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue",
"cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod",
"darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen",
"darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen",
"darkslateblue", "darkslategray", "darkslategrey", "darkturquoise", "darkviolet",
"deeppink", "deepskyblue", "dimgray", "dimgrey", "dodgerblue", "firebrick",
"floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite",
"gold", "goldenrod", "gray", "grey", "green", "greenyellow", "honeydew",
"hotpink", "indianred", "indigo", "ivory", "khaki", "lavender",
"lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral",
"lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink",
"lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightslategrey",
"lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta",
"maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple",
"mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise",
"mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin",
"navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered",
"orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred",
"papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue",
"purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown",
"salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue",
"slateblue", "slategray", "slategrey", "snow", "springgreen", "steelblue", "tan",
"teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white",
"whitesmoke", "yellow", "yellowgreen"
], colorKeywords = keySet(colorKeywords_);
var valueKeywords_ = [
"above", "absolute", "activeborder", "additive", "activecaption", "afar",
"after-white-space", "ahead", "alias", "all", "all-scroll", "alphabetic", "alternate",
"always", "amharic", "amharic-abegede", "antialiased", "appworkspace",
"arabic-indic", "armenian", "asterisks", "attr", "auto", "auto-flow", "avoid", "avoid-column", "avoid-page",
"avoid-region", "axis-pan", "background", "backwards", "baseline", "below", "bidi-override", "binary",
"bengali", "blink", "block", "block-axis", "blur", "bold", "bolder", "border", "border-box",
"both", "bottom", "break", "break-all", "break-word", "brightness", "bullets", "button",
"buttonface", "buttonhighlight", "buttonshadow", "buttontext", "calc", "cambodian",
"capitalize", "caps-lock-indicator", "caption", "captiontext", "caret",
"cell", "center", "checkbox", "circle", "cjk-decimal", "cjk-earthly-branch",
"cjk-heavenly-stem", "cjk-ideographic", "clear", "clip", "close-quote",
"col-resize", "collapse", "color", "color-burn", "color-dodge", "column", "column-reverse",
"compact", "condensed", "conic-gradient", "contain", "content", "contents",
"content-box", "context-menu", "continuous", "contrast", "copy", "counter", "counters", "cover", "crop",
"cross", "crosshair", "cubic-bezier", "currentcolor", "cursive", "cyclic", "darken", "dashed", "decimal",
"decimal-leading-zero", "default", "default-button", "dense", "destination-atop",
"destination-in", "destination-out", "destination-over", "devanagari", "difference",
"disc", "discard", "disclosure-closed", "disclosure-open", "document",
"dot-dash", "dot-dot-dash",
"dotted", "double", "down", "drop-shadow", "e-resize", "ease", "ease-in", "ease-in-out", "ease-out",
"element", "ellipse", "ellipsis", "embed", "end", "ethiopic", "ethiopic-abegede",
"ethiopic-abegede-am-et", "ethiopic-abegede-gez", "ethiopic-abegede-ti-er",
"ethiopic-abegede-ti-et", "ethiopic-halehame-aa-er",
"ethiopic-halehame-aa-et", "ethiopic-halehame-am-et",
"ethiopic-halehame-gez", "ethiopic-halehame-om-et",
"ethiopic-halehame-sid-et", "ethiopic-halehame-so-et",
"ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "ethiopic-halehame-tig",
"ethiopic-numeric", "ew-resize", "exclusion", "expanded", "extends", "extra-condensed",
"extra-expanded", "fantasy", "fast", "fill", "fill-box", "fixed", "flat", "flex", "flex-end", "flex-start", "footnotes",
"forwards", "from", "geometricPrecision", "georgian", "grayscale", "graytext", "grid", "groove",
"gujarati", "gurmukhi", "hand", "hangul", "hangul-consonant", "hard-light", "hebrew",
"help", "hidden", "hide", "higher", "highlight", "highlighttext",
"hiragana", "hiragana-iroha", "horizontal", "hsl", "hsla", "hue", "hue-rotate", "icon", "ignore",
"inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite",
"infobackground", "infotext", "inherit", "initial", "inline", "inline-axis",
"inline-block", "inline-flex", "inline-grid", "inline-table", "inset", "inside", "intrinsic", "invert",
"italic", "japanese-formal", "japanese-informal", "justify", "kannada",
"katakana", "katakana-iroha", "keep-all", "khmer",
"korean-hangul-formal", "korean-hanja-formal", "korean-hanja-informal",
"landscape", "lao", "large", "larger", "left", "level", "lighter", "lighten",
"line-through", "linear", "linear-gradient", "lines", "list-item", "listbox", "listitem",
"local", "logical", "loud", "lower", "lower-alpha", "lower-armenian",
"lower-greek", "lower-hexadecimal", "lower-latin", "lower-norwegian",
"lower-roman", "lowercase", "ltr", "luminosity", "malayalam", "manipulation", "match", "matrix", "matrix3d",
"media-play-button", "media-slider", "media-sliderthumb",
"media-volume-slider", "media-volume-sliderthumb", "medium",
"menu", "menulist", "menulist-button",
"menutext", "message-box", "middle", "min-intrinsic",
"mix", "mongolian", "monospace", "move", "multiple", "multiple_mask_images", "multiply", "myanmar", "n-resize",
"narrower", "ne-resize", "nesw-resize", "no-close-quote", "no-drop",
"no-open-quote", "no-repeat", "none", "normal", "not-allowed", "nowrap",
"ns-resize", "numbers", "numeric", "nw-resize", "nwse-resize", "oblique", "octal", "opacity", "open-quote",
"optimizeLegibility", "optimizeSpeed", "oriya", "oromo", "outset",
"outside", "outside-shape", "overlay", "overline", "padding", "padding-box",
"painted", "page", "paused", "persian", "perspective", "pinch-zoom", "plus-darker", "plus-lighter",
"pointer", "polygon", "portrait", "pre", "pre-line", "pre-wrap", "preserve-3d",
"progress", "push-button", "radial-gradient", "radio", "read-only",
"read-write", "read-write-plaintext-only", "rectangle", "region",
"relative", "repeat", "repeating-linear-gradient", "repeating-radial-gradient",
"repeating-conic-gradient", "repeat-x", "repeat-y", "reset", "reverse",
"rgb", "rgba", "ridge", "right", "rotate", "rotate3d", "rotateX", "rotateY",
"rotateZ", "round", "row", "row-resize", "row-reverse", "rtl", "run-in", "running",
"s-resize", "sans-serif", "saturate", "saturation", "scale", "scale3d", "scaleX", "scaleY", "scaleZ", "screen",
"scroll", "scrollbar", "scroll-position", "se-resize", "searchfield",
"searchfield-cancel-button", "searchfield-decoration",
"searchfield-results-button", "searchfield-results-decoration", "self-start", "self-end",
"semi-condensed", "semi-expanded", "separate", "sepia", "serif", "show", "sidama",
"simp-chinese-formal", "simp-chinese-informal", "single",
"skew", "skewX", "skewY", "skip-white-space", "slide", "slider-horizontal",
"slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "slow",
"small", "small-caps", "small-caption", "smaller", "soft-light", "solid", "somali",
"source-atop", "source-in", "source-out", "source-over", "space", "space-around", "space-between", "space-evenly", "spell-out", "square",
"square-button", "start", "static", "status-bar", "stretch", "stroke", "stroke-box", "sub",
"subpixel-antialiased", "svg_masks", "super", "sw-resize", "symbolic", "symbols", "system-ui", "table",
"table-caption", "table-cell", "table-column", "table-column-group",
"table-footer-group", "table-header-group", "table-row", "table-row-group",
"tamil",
"telugu", "text", "text-bottom", "text-top", "textarea", "textfield", "thai",
"thick", "thin", "threeddarkshadow", "threedface", "threedhighlight",
"threedlightshadow", "threedshadow", "tibetan", "tigre", "tigrinya-er",
"tigrinya-er-abegede", "tigrinya-et", "tigrinya-et-abegede", "to", "top",
"trad-chinese-formal", "trad-chinese-informal", "transform",
"translate", "translate3d", "translateX", "translateY", "translateZ",
"transparent", "ultra-condensed", "ultra-expanded", "underline", "unidirectional-pan", "unset", "up",
"upper-alpha", "upper-armenian", "upper-greek", "upper-hexadecimal",
"upper-latin", "upper-norwegian", "upper-roman", "uppercase", "urdu", "url",
"var", "vertical", "vertical-text", "view-box", "visible", "visibleFill", "visiblePainted",
"visibleStroke", "visual", "w-resize", "wait", "wave", "wider",
"window", "windowframe", "windowtext", "words", "wrap", "wrap-reverse", "x-large", "x-small", "xor",
"xx-large", "xx-small"
], valueKeywords = keySet(valueKeywords_);
var allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)
.concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)
.concat(valueKeywords_);
CodeMirror.registerHelper("hintWords", "css", allWords);
function tokenCComment(stream, state) {
var maybeEnd = false, ch;
while ((ch = stream.next()) != null) {
if (maybeEnd && ch == "/") {
state.tokenize = null;
break;
}
maybeEnd = (ch == "*");
}
return ["comment", "comment"];
}
CodeMirror.defineMIME("text/css", {
documentTypes: documentTypes,
mediaTypes: mediaTypes,
mediaFeatures: mediaFeatures,
mediaValueKeywords: mediaValueKeywords,
propertyKeywords: propertyKeywords,
nonStandardPropertyKeywords: nonStandardPropertyKeywords,
fontProperties: fontProperties,
counterDescriptors: counterDescriptors,
colorKeywords: colorKeywords,
valueKeywords: valueKeywords,
tokenHooks: {
"/": function(stream, state) {
if (!stream.eat("*")) return false;
state.tokenize = tokenCComment;
return tokenCComment(stream, state);
}
},
name: "css"
});
CodeMirror.defineMIME("text/x-scss", {
mediaTypes: mediaTypes,
mediaFeatures: mediaFeatures,
mediaValueKeywords: mediaValueKeywords,
propertyKeywords: propertyKeywords,
nonStandardPropertyKeywords: nonStandardPropertyKeywords,
colorKeywords: colorKeywords,
valueKeywords: valueKeywords,
fontProperties: fontProperties,
allowNested: true,
lineComment: "//",
tokenHooks: {
"/": function(stream, state) {
if (stream.eat("/")) {
stream.skipToEnd();
return ["comment", "comment"];
} else if (stream.eat("*")) {
state.tokenize = tokenCComment;
return tokenCComment(stream, state);
} else {
return ["operator", "operator"];
}
},
":": function(stream) {
if (stream.match(/^\s*\{/, false))
return [null, null]
return false;
},
"$": function(stream) {
stream.match(/^[\w-]+/);
if (stream.match(/^\s*:/, false))
return ["variable-2", "variable-definition"];
return ["variable-2", "variable"];
},
"#": function(stream) {
if (!stream.eat("{")) return false;
return [null, "interpolation"];
}
},
name: "css",
helperType: "scss"
});
CodeMirror.defineMIME("text/x-less", {
mediaTypes: mediaTypes,
mediaFeatures: mediaFeatures,
mediaValueKeywords: mediaValueKeywords,
propertyKeywords: propertyKeywords,
nonStandardPropertyKeywords: nonStandardPropertyKeywords,
colorKeywords: colorKeywords,
valueKeywords: valueKeywords,
fontProperties: fontProperties,
allowNested: true,
lineComment: "//",
tokenHooks: {
"/": function(stream, state) {
if (stream.eat("/")) {
stream.skipToEnd();
return ["comment", "comment"];
} else if (stream.eat("*")) {
state.tokenize = tokenCComment;
return tokenCComment(stream, state);
} else {
return ["operator", "operator"];
}
},
"@": function(stream) {
if (stream.eat("{")) return [null, "interpolation"];
if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i, false)) return false;
stream.eatWhile(/[\w\\\-]/);
if (stream.match(/^\s*:/, false))
return ["variable-2", "variable-definition"];
return ["variable-2", "variable"];
},
"&": function() {
return ["atom", "atom"];
}
},
name: "css",
helperType: "less"
});
CodeMirror.defineMIME("text/x-gss", {
documentTypes: documentTypes,
mediaTypes: mediaTypes,
mediaFeatures: mediaFeatures,
propertyKeywords: propertyKeywords,
nonStandardPropertyKeywords: nonStandardPropertyKeywords,
fontProperties: fontProperties,
counterDescriptors: counterDescriptors,
colorKeywords: colorKeywords,
valueKeywords: valueKeywords,
supportsAtComponent: true,
tokenHooks: {
"/": function(stream, state) {
if (!stream.eat("*")) return false;
state.tokenize = tokenCComment;
return tokenCComment(stream, state);
}
},
name: "css",
helperType: "gss"
});
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/cypher/cypher.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
// By the Neo4j Team and contributors.
// https://github.com/neo4j-contrib/CodeMirror
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var wordRegexp = function(words) {
return new RegExp("^(?:" + words.join("|") + ")$", "i");
};
CodeMirror.defineMode("cypher", function(config) {
var tokenBase = function(stream/*, state*/) {
curPunc = null
var ch = stream.next();
if (ch ==='"') {
stream.match(/^[^"]*"/);
return "string";
}
if (ch === "'") {
stream.match(/^[^']*'/);
return "string";
}
if (/[{}\(\),\.;\[\]]/.test(ch)) {
curPunc = ch;
return "node";
} else if (ch === "/" && stream.eat("/")) {
stream.skipToEnd();
return "comment";
} else if (operatorChars.test(ch)) {
stream.eatWhile(operatorChars);
return null;
} else {
stream.eatWhile(/[_\w\d]/);
if (stream.eat(":")) {
stream.eatWhile(/[\w\d_\-]/);
return "atom";
}
var word = stream.current();
if (funcs.test(word)) return "builtin";
if (preds.test(word)) return "def";
if (keywords.test(word) || systemKeywords.test(word)) return "keyword";
return "variable";
}
};
var pushContext = function(state, type, col) {
return state.context = {
prev: state.context,
indent: state.indent,
col: col,
type: type
};
};
var popContext = function(state) {
state.indent = state.context.indent;
return state.context = state.context.prev;
};
var indentUnit = config.indentUnit;
var curPunc;
var funcs = wordRegexp(["abs", "acos", "allShortestPaths", "asin", "atan", "atan2", "avg", "ceil", "coalesce", "collect", "cos", "cot", "count", "degrees", "e", "endnode", "exp", "extract", "filter", "floor", "haversin", "head", "id", "keys", "labels", "last", "left", "length", "log", "log10", "lower", "ltrim", "max", "min", "node", "nodes", "percentileCont", "percentileDisc", "pi", "radians", "rand", "range", "reduce", "rel", "relationship", "relationships", "replace", "reverse", "right", "round", "rtrim", "shortestPath", "sign", "sin", "size", "split", "sqrt", "startnode", "stdev", "stdevp", "str", "substring", "sum", "tail", "tan", "timestamp", "toFloat", "toInt", "toString", "trim", "type", "upper"]);
var preds = wordRegexp(["all", "and", "any", "contains", "exists", "has", "in", "none", "not", "or", "single", "xor"]);
var keywords = wordRegexp(["as", "asc", "ascending", "assert", "by", "case", "commit", "constraint", "create", "csv", "cypher", "delete", "desc", "descending", "detach", "distinct", "drop", "else", "end", "ends", "explain", "false", "fieldterminator", "foreach", "from", "headers", "in", "index", "is", "join", "limit", "load", "match", "merge", "null", "on", "optional", "order", "periodic", "profile", "remove", "return", "scan", "set", "skip", "start", "starts", "then", "true", "union", "unique", "unwind", "using", "when", "where", "with", "call", "yield"]);
var systemKeywords = wordRegexp(["access", "active", "assign", "all", "alter", "as", "catalog", "change", "copy", "create", "constraint", "constraints", "current", "database", "databases", "dbms", "default", "deny", "drop", "element", "elements", "exists", "from", "grant", "graph", "graphs", "if", "index", "indexes", "label", "labels", "management", "match", "name", "names", "new", "node", "nodes", "not", "of", "on", "or", "password", "populated", "privileges", "property", "read", "relationship", "relationships", "remove", "replace", "required", "revoke", "role", "roles", "set", "show", "start", "status", "stop", "suspended", "to", "traverse", "type", "types", "user", "users", "with", "write"]);
var operatorChars = /[*+\-<>=&|~%^]/;
return {
startState: function(/*base*/) {
return {
tokenize: tokenBase,
context: null,
indent: 0,
col: 0
};
},
token: function(stream, state) {
if (stream.sol()) {
if (state.context && (state.context.align == null)) {
state.context.align = false;
}
state.indent = stream.indentation();
}
if (stream.eatSpace()) {
return null;
}
var style = state.tokenize(stream, state);
if (style !== "comment" && state.context && (state.context.align == null) && state.context.type !== "pattern") {
state.context.align = true;
}
if (curPunc === "(") {
pushContext(state, ")", stream.column());
} else if (curPunc === "[") {
pushContext(state, "]", stream.column());
} else if (curPunc === "{") {
pushContext(state, "}", stream.column());
} else if (/[\]\}\)]/.test(curPunc)) {
while (state.context && state.context.type === "pattern") {
popContext(state);
}
if (state.context && curPunc === state.context.type) {
popContext(state);
}
} else if (curPunc === "." && state.context && state.context.type === "pattern") {
popContext(state);
} else if (/atom|string|variable/.test(style) && state.context) {
if (/[\}\]]/.test(state.context.type)) {
pushContext(state, "pattern", stream.column());
} else if (state.context.type === "pattern" && !state.context.align) {
state.context.align = true;
state.context.col = stream.column();
}
}
return style;
},
indent: function(state, textAfter) {
var firstChar = textAfter && textAfter.charAt(0);
var context = state.context;
if (/[\]\}]/.test(firstChar)) {
while (context && context.type === "pattern") {
context = context.prev;
}
}
var closing = context && firstChar === context.type;
if (!context) return 0;
if (context.type === "keywords") return CodeMirror.commands.newlineAndIndent;
if (context.align) return context.col + (closing ? 0 : 1);
return context.indent + (closing ? 0 : indentUnit);
}
};
});
CodeMirror.modeExtensions["cypher"] = {
autoFormatLineBreaks: function(text) {
var i, lines, reProcessedPortion;
var lines = text.split("\n");
var reProcessedPortion = /\s+\b(return|where|order by|match|with|skip|limit|create|delete|set)\b\s/g;
for (var i = 0; i < lines.length; i++)
lines[i] = lines[i].replace(reProcessedPortion, " \n$1 ").trim();
return lines.join("\n");
}
};
CodeMirror.defineMIME("application/x-cypher-query", "cypher");
});
================================================
FILE: _files/assets/codemirror@6.65.7/mode/d/d.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/5/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("d", function(config, parserConfig) {
var indentUnit = config.indentUnit,
statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,
keywords = parserConf
gitextract_vfihzh9x/ ├── LICENSE.md ├── README.md ├── _files/ │ ├── assets/ │ │ ├── @exeba/ │ │ │ └── LICENSE │ │ ├── @uppy/ │ │ │ └── LICENSE │ │ ├── animejs@3.2.2/ │ │ │ └── LICENSE.md │ │ ├── codemirror@6.65.7/ │ │ │ ├── LICENSE │ │ │ ├── addon/ │ │ │ │ ├── mode/ │ │ │ │ │ ├── loadmode.js │ │ │ │ │ ├── multiplex.js │ │ │ │ │ └── overlay.js │ │ │ │ └── selection/ │ │ │ │ └── active-line.js │ │ │ ├── lib/ │ │ │ │ └── codemirror.css │ │ │ ├── mode/ │ │ │ │ ├── apl/ │ │ │ │ │ └── apl.js │ │ │ │ ├── asciiarmor/ │ │ │ │ │ └── asciiarmor.js │ │ │ │ ├── asn.1/ │ │ │ │ │ └── asn.1.js │ │ │ │ ├── asterisk/ │ │ │ │ │ └── asterisk.js │ │ │ │ ├── brainfuck/ │ │ │ │ │ └── brainfuck.js │ │ │ │ ├── clike/ │ │ │ │ │ └── clike.js │ │ │ │ ├── clojure/ │ │ │ │ │ └── clojure.js │ │ │ │ ├── cmake/ │ │ │ │ │ └── cmake.js │ │ │ │ ├── cobol/ │ │ │ │ │ └── cobol.js │ │ │ │ ├── coffeescript/ │ │ │ │ │ └── coffeescript.js │ │ │ │ ├── commonlisp/ │ │ │ │ │ └── commonlisp.js │ │ │ │ ├── crystal/ │ │ │ │ │ └── crystal.js │ │ │ │ ├── css/ │ │ │ │ │ └── css.js │ │ │ │ ├── cypher/ │ │ │ │ │ └── cypher.js │ │ │ │ ├── d/ │ │ │ │ │ └── d.js │ │ │ │ ├── dart/ │ │ │ │ │ └── dart.js │ │ │ │ ├── diff/ │ │ │ │ │ └── diff.js │ │ │ │ ├── django/ │ │ │ │ │ └── django.js │ │ │ │ ├── dockerfile/ │ │ │ │ │ └── dockerfile.js │ │ │ │ ├── dtd/ │ │ │ │ │ └── dtd.js │ │ │ │ ├── dylan/ │ │ │ │ │ └── dylan.js │ │ │ │ ├── ebnf/ │ │ │ │ │ └── ebnf.js │ │ │ │ ├── ecl/ │ │ │ │ │ └── ecl.js │ │ │ │ ├── eiffel/ │ │ │ │ │ └── eiffel.js │ │ │ │ ├── elm/ │ │ │ │ │ └── elm.js │ │ │ │ ├── erlang/ │ │ │ │ │ └── erlang.js │ │ │ │ ├── factor/ │ │ │ │ │ └── factor.js │ │ │ │ ├── fcl/ │ │ │ │ │ └── fcl.js │ │ │ │ ├── forth/ │ │ │ │ │ └── forth.js │ │ │ │ ├── fortran/ │ │ │ │ │ └── fortran.js │ │ │ │ ├── gas/ │ │ │ │ │ └── gas.js │ │ │ │ ├── gfm/ │ │ │ │ │ └── gfm.js │ │ │ │ ├── gherkin/ │ │ │ │ │ └── gherkin.js │ │ │ │ ├── go/ │ │ │ │ │ └── go.js │ │ │ │ ├── groovy/ │ │ │ │ │ └── groovy.js │ │ │ │ ├── haml/ │ │ │ │ │ └── haml.js │ │ │ │ ├── handlebars/ │ │ │ │ │ └── handlebars.js │ │ │ │ ├── haskell/ │ │ │ │ │ └── haskell.js │ │ │ │ ├── haskell-literate/ │ │ │ │ │ └── haskell-literate.js │ │ │ │ ├── haxe/ │ │ │ │ │ └── haxe.js │ │ │ │ ├── htmlembedded/ │ │ │ │ │ └── htmlembedded.js │ │ │ │ ├── htmlmixed/ │ │ │ │ │ └── htmlmixed.js │ │ │ │ ├── http/ │ │ │ │ │ └── http.js │ │ │ │ ├── idl/ │ │ │ │ │ └── idl.js │ │ │ │ ├── javascript/ │ │ │ │ │ └── javascript.js │ │ │ │ ├── jinja2/ │ │ │ │ │ └── jinja2.js │ │ │ │ ├── jsx/ │ │ │ │ │ └── jsx.js │ │ │ │ ├── julia/ │ │ │ │ │ └── julia.js │ │ │ │ ├── livescript/ │ │ │ │ │ └── livescript.js │ │ │ │ ├── lua/ │ │ │ │ │ └── lua.js │ │ │ │ ├── markdown/ │ │ │ │ │ └── markdown.js │ │ │ │ ├── mathematica/ │ │ │ │ │ └── mathematica.js │ │ │ │ ├── mbox/ │ │ │ │ │ └── mbox.js │ │ │ │ ├── meta.js │ │ │ │ ├── mirc/ │ │ │ │ │ └── mirc.js │ │ │ │ ├── mllike/ │ │ │ │ │ └── mllike.js │ │ │ │ ├── modelica/ │ │ │ │ │ └── modelica.js │ │ │ │ ├── mscgen/ │ │ │ │ │ └── mscgen.js │ │ │ │ ├── mumps/ │ │ │ │ │ └── mumps.js │ │ │ │ ├── nginx/ │ │ │ │ │ └── nginx.js │ │ │ │ ├── nsis/ │ │ │ │ │ └── nsis.js │ │ │ │ ├── ntriples/ │ │ │ │ │ └── ntriples.js │ │ │ │ ├── octave/ │ │ │ │ │ └── octave.js │ │ │ │ ├── oz/ │ │ │ │ │ └── oz.js │ │ │ │ ├── pascal/ │ │ │ │ │ └── pascal.js │ │ │ │ ├── pegjs/ │ │ │ │ │ └── pegjs.js │ │ │ │ ├── perl/ │ │ │ │ │ └── perl.js │ │ │ │ ├── php/ │ │ │ │ │ └── php.js │ │ │ │ ├── pig/ │ │ │ │ │ └── pig.js │ │ │ │ ├── powershell/ │ │ │ │ │ └── powershell.js │ │ │ │ ├── properties/ │ │ │ │ │ └── properties.js │ │ │ │ ├── protobuf/ │ │ │ │ │ └── protobuf.js │ │ │ │ ├── pug/ │ │ │ │ │ └── pug.js │ │ │ │ ├── puppet/ │ │ │ │ │ └── puppet.js │ │ │ │ ├── python/ │ │ │ │ │ └── python.js │ │ │ │ ├── q/ │ │ │ │ │ └── q.js │ │ │ │ ├── r/ │ │ │ │ │ └── r.js │ │ │ │ ├── rpm/ │ │ │ │ │ ├── changes/ │ │ │ │ │ │ └── index.html │ │ │ │ │ └── rpm.js │ │ │ │ ├── rst/ │ │ │ │ │ └── rst.js │ │ │ │ ├── ruby/ │ │ │ │ │ └── ruby.js │ │ │ │ ├── rust/ │ │ │ │ │ └── rust.js │ │ │ │ ├── sas/ │ │ │ │ │ └── sas.js │ │ │ │ ├── sass/ │ │ │ │ │ └── sass.js │ │ │ │ ├── scheme/ │ │ │ │ │ └── scheme.js │ │ │ │ ├── shell/ │ │ │ │ │ └── shell.js │ │ │ │ ├── sieve/ │ │ │ │ │ └── sieve.js │ │ │ │ ├── slim/ │ │ │ │ │ └── slim.js │ │ │ │ ├── smalltalk/ │ │ │ │ │ └── smalltalk.js │ │ │ │ ├── smarty/ │ │ │ │ │ └── smarty.js │ │ │ │ ├── solr/ │ │ │ │ │ └── solr.js │ │ │ │ ├── soy/ │ │ │ │ │ └── soy.js │ │ │ │ ├── sparql/ │ │ │ │ │ └── sparql.js │ │ │ │ ├── spreadsheet/ │ │ │ │ │ └── spreadsheet.js │ │ │ │ ├── sql/ │ │ │ │ │ └── sql.js │ │ │ │ ├── stex/ │ │ │ │ │ └── stex.js │ │ │ │ ├── stylus/ │ │ │ │ │ └── stylus.js │ │ │ │ ├── swift/ │ │ │ │ │ └── swift.js │ │ │ │ ├── tcl/ │ │ │ │ │ └── tcl.js │ │ │ │ ├── textile/ │ │ │ │ │ └── textile.js │ │ │ │ ├── tiddlywiki/ │ │ │ │ │ ├── tiddlywiki.css │ │ │ │ │ └── tiddlywiki.js │ │ │ │ ├── tiki/ │ │ │ │ │ ├── tiki.css │ │ │ │ │ └── tiki.js │ │ │ │ ├── toml/ │ │ │ │ │ └── toml.js │ │ │ │ ├── tornado/ │ │ │ │ │ └── tornado.js │ │ │ │ ├── troff/ │ │ │ │ │ └── troff.js │ │ │ │ ├── ttcn/ │ │ │ │ │ └── ttcn.js │ │ │ │ ├── ttcn-cfg/ │ │ │ │ │ └── ttcn-cfg.js │ │ │ │ ├── turtle/ │ │ │ │ │ └── turtle.js │ │ │ │ ├── twig/ │ │ │ │ │ └── twig.js │ │ │ │ ├── vb/ │ │ │ │ │ └── vb.js │ │ │ │ ├── vbscript/ │ │ │ │ │ └── vbscript.js │ │ │ │ ├── velocity/ │ │ │ │ │ └── velocity.js │ │ │ │ ├── verilog/ │ │ │ │ │ └── verilog.js │ │ │ │ ├── vhdl/ │ │ │ │ │ └── vhdl.js │ │ │ │ ├── vue/ │ │ │ │ │ └── vue.js │ │ │ │ ├── wast/ │ │ │ │ │ └── wast.js │ │ │ │ ├── webidl/ │ │ │ │ │ └── webidl.js │ │ │ │ ├── xml/ │ │ │ │ │ └── xml.js │ │ │ │ ├── xquery/ │ │ │ │ │ └── xquery.js │ │ │ │ ├── yacas/ │ │ │ │ │ └── yacas.js │ │ │ │ ├── yaml/ │ │ │ │ │ └── yaml.js │ │ │ │ ├── yaml-frontmatter/ │ │ │ │ │ └── yaml-frontmatter.js │ │ │ │ └── z80/ │ │ │ │ └── z80.js │ │ │ └── theme/ │ │ │ ├── 3024-day.css │ │ │ ├── 3024-night.css │ │ │ ├── abbott.css │ │ │ ├── abcdef.css │ │ │ ├── ambiance-mobile.css │ │ │ ├── ambiance.css │ │ │ ├── ayu-dark.css │ │ │ ├── ayu-mirage.css │ │ │ ├── base16-dark.css │ │ │ ├── base16-light.css │ │ │ ├── bespin.css │ │ │ ├── blackboard.css │ │ │ ├── cobalt.css │ │ │ ├── colorforth.css │ │ │ ├── darcula.css │ │ │ ├── dracula.css │ │ │ ├── duotone-dark.css │ │ │ ├── duotone-light.css │ │ │ ├── eclipse.css │ │ │ ├── elegant.css │ │ │ ├── erlang-dark.css │ │ │ ├── gruvbox-dark.css │ │ │ ├── hopscotch.css │ │ │ ├── icecoder.css │ │ │ ├── idea.css │ │ │ ├── isotope.css │ │ │ ├── juejin.css │ │ │ ├── lesser-dark.css │ │ │ ├── liquibyte.css │ │ │ ├── lucario.css │ │ │ ├── material-darker.css │ │ │ ├── material-ocean.css │ │ │ ├── material-palenight.css │ │ │ ├── material.css │ │ │ ├── mbo.css │ │ │ ├── mdn-like.css │ │ │ ├── midnight.css │ │ │ ├── monokai.css │ │ │ ├── moxer.css │ │ │ ├── neat.css │ │ │ ├── neo.css │ │ │ ├── night.css │ │ │ ├── nord.css │ │ │ ├── oceanic-next.css │ │ │ ├── panda-syntax.css │ │ │ ├── paraiso-dark.css │ │ │ ├── paraiso-light.css │ │ │ ├── pastel-on-dark.css │ │ │ ├── railscasts.css │ │ │ ├── rubyblue.css │ │ │ ├── seti.css │ │ │ ├── shadowfox.css │ │ │ ├── solarized.css │ │ │ ├── ssms.css │ │ │ ├── the-matrix.css │ │ │ ├── tomorrow-night-bright.css │ │ │ ├── tomorrow-night-eighties.css │ │ │ ├── ttcn.css │ │ │ ├── twilight.css │ │ │ ├── vibrant-ink.css │ │ │ ├── xq-dark.css │ │ │ ├── xq-light.css │ │ │ ├── yeti.css │ │ │ ├── yonce.css │ │ │ └── zenburn.css │ │ ├── dayjs@1.11.13/ │ │ │ ├── LICENSE │ │ │ ├── locale/ │ │ │ │ ├── af.js │ │ │ │ ├── am.js │ │ │ │ ├── ar-dz.js │ │ │ │ ├── ar-iq.js │ │ │ │ ├── ar-kw.js │ │ │ │ ├── ar-ly.js │ │ │ │ ├── ar-ma.js │ │ │ │ ├── ar-sa.js │ │ │ │ ├── ar-tn.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── be.js │ │ │ │ ├── bg.js │ │ │ │ ├── bi.js │ │ │ │ ├── bm.js │ │ │ │ ├── bn-bd.js │ │ │ │ ├── bn.js │ │ │ │ ├── bo.js │ │ │ │ ├── br.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── cv.js │ │ │ │ ├── cy.js │ │ │ │ ├── da.js │ │ │ │ ├── de-at.js │ │ │ │ ├── de-ch.js │ │ │ │ ├── de.js │ │ │ │ ├── dv.js │ │ │ │ ├── el.js │ │ │ │ ├── en-au.js │ │ │ │ ├── en-ca.js │ │ │ │ ├── en-gb.js │ │ │ │ ├── en-ie.js │ │ │ │ ├── en-il.js │ │ │ │ ├── en-in.js │ │ │ │ ├── en-nz.js │ │ │ │ ├── en-sg.js │ │ │ │ ├── en-tt.js │ │ │ │ ├── en.js │ │ │ │ ├── eo.js │ │ │ │ ├── es-do.js │ │ │ │ ├── es-mx.js │ │ │ │ ├── es-pr.js │ │ │ │ ├── es-us.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fo.js │ │ │ │ ├── fr-ca.js │ │ │ │ ├── fr-ch.js │ │ │ │ ├── fr.js │ │ │ │ ├── fy.js │ │ │ │ ├── ga.js │ │ │ │ ├── gd.js │ │ │ │ ├── gl.js │ │ │ │ ├── gom-latn.js │ │ │ │ ├── gu.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── ht.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy-am.js │ │ │ │ ├── id.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── is.js │ │ │ │ ├── it-ch.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── jv.js │ │ │ │ ├── ka.js │ │ │ │ ├── kk.js │ │ │ │ ├── km.js │ │ │ │ ├── kn.js │ │ │ │ ├── ko.js │ │ │ │ ├── ku.js │ │ │ │ ├── ky.js │ │ │ │ ├── lb.js │ │ │ │ ├── lo.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── me.js │ │ │ │ ├── mi.js │ │ │ │ ├── mk.js │ │ │ │ ├── ml.js │ │ │ │ ├── mn.js │ │ │ │ ├── mr.js │ │ │ │ ├── ms-my.js │ │ │ │ ├── ms.js │ │ │ │ ├── mt.js │ │ │ │ ├── my.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl-be.js │ │ │ │ ├── nl.js │ │ │ │ ├── nn.js │ │ │ │ ├── oc-lnc.js │ │ │ │ ├── pa-in.js │ │ │ │ ├── pl.js │ │ │ │ ├── pt-br.js │ │ │ │ ├── pt.js │ │ │ │ ├── rn.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── rw.js │ │ │ │ ├── sd.js │ │ │ │ ├── se.js │ │ │ │ ├── si.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── ss.js │ │ │ │ ├── sv-fi.js │ │ │ │ ├── sv.js │ │ │ │ ├── sw.js │ │ │ │ ├── ta.js │ │ │ │ ├── te.js │ │ │ │ ├── tet.js │ │ │ │ ├── tg.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tl-ph.js │ │ │ │ ├── tlh.js │ │ │ │ ├── tr.js │ │ │ │ ├── types.d.ts │ │ │ │ ├── tzl.js │ │ │ │ ├── tzm-latn.js │ │ │ │ ├── tzm.js │ │ │ │ ├── ug-cn.js │ │ │ │ ├── uk.js │ │ │ │ ├── ur.js │ │ │ │ ├── uz-latn.js │ │ │ │ ├── uz.js │ │ │ │ ├── vi.js │ │ │ │ ├── x-pseudo.js │ │ │ │ ├── yo.js │ │ │ │ ├── zh-cn.js │ │ │ │ ├── zh-hk.js │ │ │ │ ├── zh-tw.js │ │ │ │ └── zh.js │ │ │ └── plugin/ │ │ │ ├── localizedFormat.js │ │ │ └── relativeTime.js │ │ ├── file-saver@2.0.5/ │ │ │ └── LICENSE.md │ │ ├── files.photo.gallery@0.15.3/ │ │ │ ├── css/ │ │ │ │ └── files.css │ │ │ ├── js/ │ │ │ │ └── files.js │ │ │ └── lang/ │ │ │ ├── ar.json │ │ │ ├── bg.json │ │ │ ├── bn.json │ │ │ ├── cs.json │ │ │ ├── da.json │ │ │ ├── de.json │ │ │ ├── el.json │ │ │ ├── en.json │ │ │ ├── es.json │ │ │ ├── et.json │ │ │ ├── fi.json │ │ │ ├── fr.json │ │ │ ├── hu.json │ │ │ ├── id.json │ │ │ ├── it.json │ │ │ ├── ja.json │ │ │ ├── ko.json │ │ │ ├── ms.json │ │ │ ├── nl.json │ │ │ ├── no.json │ │ │ ├── pl.json │ │ │ ├── pt.json │ │ │ ├── ro.json │ │ │ ├── ru.json │ │ │ ├── sk.json │ │ │ ├── sl.json │ │ │ ├── sv.json │ │ │ ├── th.json │ │ │ ├── tr.json │ │ │ ├── uk.json │ │ │ └── zh.json │ │ ├── filesize@9.0.11/ │ │ │ └── LICENSE │ │ ├── flag-icons@6.6.4/ │ │ │ └── LICENSE │ │ ├── headroom.js@0.12.0/ │ │ │ └── LICENSE │ │ ├── hls.js@1.6.13/ │ │ │ └── LICENSE.txt │ │ ├── js-file-downloader@1.1.25/ │ │ │ └── LICENSE │ │ ├── jsmediatags@3.9.7/ │ │ │ └── LICENSE.md │ │ ├── jszip@3.10.1/ │ │ │ └── LICENSE.markdown │ │ ├── marked-base-url@1.1.6/ │ │ │ └── LICENSE │ │ ├── marked@15.0.11/ │ │ │ └── LICENSE.md │ │ ├── pannellum@2.5.6/ │ │ │ └── LICENSE │ │ ├── plyr@3.8.3/ │ │ │ ├── LICENSE.md │ │ │ └── dist/ │ │ │ └── plyr.css │ │ ├── readme.txt │ │ ├── screenfull@5.2.0/ │ │ │ └── license │ │ ├── sweetalert2@11.19.1/ │ │ │ └── LICENSE │ │ ├── toastify-js@1.12.0/ │ │ │ └── LICENSE │ │ ├── uppy@3.27.3/ │ │ │ └── LICENSE │ │ └── yall-js@3.2.0/ │ │ └── LICENSE │ ├── config/ │ │ └── config.php │ └── plugins/ │ ├── files.tasks.php │ └── files.x3-login.php ├── css/ │ └── files.css ├── index.php ├── js/ │ └── files.js ├── lang/ │ ├── ar.json │ ├── bg.json │ ├── bn.json │ ├── cs.json │ ├── da.json │ ├── de.json │ ├── el.json │ ├── en.json │ ├── es.json │ ├── et.json │ ├── fi.json │ ├── fr.json │ ├── hu.json │ ├── id.json │ ├── it.json │ ├── ja.json │ ├── ko.json │ ├── ms.json │ ├── nl.json │ ├── no.json │ ├── pl.json │ ├── pt.json │ ├── ro.json │ ├── ru.json │ ├── sk.json │ ├── sl.json │ ├── sv.json │ ├── th.json │ ├── tr.json │ ├── uk.json │ └── zh.json └── package.json
SYMBOL INDEX (1832 symbols across 251 files)
FILE: _files/assets/codemirror@6.65.7/addon/mode/loadmode.js
function splitCallback (line 15) | function splitCallback(cont, n) {
function ensureDeps (line 19) | function ensureDeps(mode, cont, options) {
FILE: _files/assets/codemirror@6.65.7/addon/mode/multiplex.js
function indexOf (line 18) | function indexOf(string, pattern, from, returnEnd) {
FILE: _files/assets/codemirror@6.65.7/addon/selection/active-line.js
function clearActiveLines (line 32) | function clearActiveLines(cm) {
function sameArray (line 40) | function sameArray(a, b) {
function updateActiveLines (line 47) | function updateActiveLines(cm, ranges) {
function selectionChange (line 69) | function selectionChange(cm, sel) {
FILE: _files/assets/codemirror@6.65.7/mode/asciiarmor/asciiarmor.js
function errorIfNotEmpty (line 14) | function errorIfNotEmpty(stream) {
FILE: _files/assets/codemirror@6.65.7/mode/asn.1/asn.1.js
function tokenBase (line 29) | function tokenBase(stream, state) {
function tokenString (line 68) | function tokenString(quote) {
function Context (line 90) | function Context(indented, column, type, align, prev) {
function pushContext (line 97) | function pushContext(state, col, type) {
function popContext (line 103) | function popContext(state) {
function words (line 162) | function words(str) {
FILE: _files/assets/codemirror@6.65.7/mode/asterisk/asterisk.js
function basicToken (line 66) | function basicToken(stream,state){
FILE: _files/assets/codemirror@6.65.7/mode/clike/clike.js
function Context (line 14) | function Context(indented, column, type, info, align, prev) {
function pushContext (line 22) | function pushContext(state, col, type, info) {
function popContext (line 28) | function popContext(state) {
function typeBefore (line 35) | function typeBefore(stream, state, pos) {
function isTopScope (line 41) | function isTopScope(context) {
function tokenBase (line 75) | function tokenBase(stream, state) {
function tokenString (line 128) | function tokenString(quote) {
function tokenComment (line 141) | function tokenComment(stream, state) {
function maybeEOL (line 153) | function maybeEOL(stream, state) {
function words (line 257) | function words(str) {
function contains (line 262) | function contains(words, word) {
function cTypes (line 305) | function cTypes(identifier) {
function objCTypes (line 310) | function objCTypes(identifier) {
function cppHook (line 317) | function cppHook(stream, state) {
function pointerHook (line 332) | function pointerHook(_stream, state) {
function cIsReservedIdentifier (line 339) | function cIsReservedIdentifier(token) {
function cpp14Literal (line 345) | function cpp14Literal(stream) {
function cpp11StringHook (line 350) | function cpp11StringHook(stream, state) {
function cppLooksLikeConstructor (line 374) | function cppLooksLikeConstructor(word) {
function tokenAtString (line 380) | function tokenAtString(stream, state) {
function tokenRawString (line 393) | function tokenRawString(stream, state) {
function def (line 404) | function def(mimes, mode) {
function tokenTripleString (line 540) | function tokenTripleString(stream, state) {
function tokenNestedComment (line 552) | function tokenNestedComment(depth) {
function tokenKotlinString (line 638) | function tokenKotlinString(tripleString){
function tokenCeylonString (line 861) | function tokenCeylonString(type) {
FILE: _files/assets/codemirror@6.65.7/mode/clojure/clojure.js
function base (line 168) | function base(stream, state) {
function inString (line 197) | function inString(stream, state) {
function inComment (line 208) | function inComment(stream, state) {
function createLookupMap (line 225) | function createLookupMap(words) {
function is (line 233) | function is(value, test) {
FILE: _files/assets/codemirror@6.65.7/mode/cmake/cmake.js
function tokenString (line 17) | function tokenString(stream, state) {
function tokenize (line 37) | function tokenize(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/cobol/cobol.js
function makeKeywords (line 22) | function makeKeywords(str) {
function isNumber (line 150) | function isNumber(ch, stream){
FILE: _files/assets/codemirror@6.65.7/mode/coffeescript/coffeescript.js
function wordRegexp (line 21) | function wordRegexp(words) {
function tokenBase (line 50) | function tokenBase(stream, state) {
function tokenFactory (line 179) | function tokenFactory(delimiter, singleline, outclass) {
function longComment (line 206) | function longComment(stream, state) {
function indent (line 218) | function indent(stream, state, type) {
function dedent (line 242) | function dedent(stream, state) {
function tokenLexer (line 266) | function tokenLexer(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/commonlisp/commonlisp.js
function readSym (line 21) | function readSym(stream) {
function base (line 30) | function base(stream, state) {
function inString (line 64) | function inString(stream, state) {
function inComment (line 73) | function inComment(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/crystal/crystal.js
function wordRegExp (line 15) | function wordRegExp(words, end) {
function chain (line 19) | function chain(tokenize, stream, state) {
function tokenBase (line 58) | function tokenBase(stream, state) {
function tokenNest (line 237) | function tokenNest(begin, end, style, started) {
function tokenMacro (line 256) | function tokenMacro(begin, end, started) {
function tokenMacroDef (line 274) | function tokenMacroDef(stream, state) {
function tokenFollowIdent (line 291) | function tokenFollowIdent(stream, state) {
function tokenFollowType (line 305) | function tokenFollowType(stream, state) {
function tokenQuote (line 315) | function tokenQuote(end, style, embed) {
function tokenHereDoc (line 354) | function tokenHereDoc(phrase, embed) {
FILE: _files/assets/codemirror@6.65.7/mode/css/css.js
function ret (line 36) | function ret(style, tp) { type = tp; return style; }
function tokenBase (line 40) | function tokenBase(stream, state) {
function tokenString (line 94) | function tokenString(quote) {
function tokenParenthesized (line 109) | function tokenParenthesized(stream, state) {
function Context (line 120) | function Context(type, indent, prev) {
function pushContext (line 126) | function pushContext(state, stream, type, indent) {
function popContext (line 131) | function popContext(state) {
function pass (line 137) | function pass(type, stream, state) {
function popAndPass (line 140) | function popAndPass(type, stream, state, n) {
function wordAsValue (line 148) | function wordAsValue(stream) {
function keySet (line 419) | function keySet(array) {
function tokenCComment (line 725) | function tokenCComment(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/d/d.js
function tokenBase (line 27) | function tokenBase(stream, state) {
function tokenString (line 77) | function tokenString(quote) {
function tokenComment (line 90) | function tokenComment(stream, state) {
function tokenNestedComment (line 102) | function tokenNestedComment(stream, state) {
function Context (line 114) | function Context(indented, column, type, align, prev) {
function pushContext (line 121) | function pushContext(state, col, type) {
function popContext (line 127) | function popContext(state) {
function words (line 194) | function words(str) {
FILE: _files/assets/codemirror@6.65.7/mode/dart/dart.js
function set (line 23) | function set(words) {
function pushInterpolationStack (line 29) | function pushInterpolationStack(state) {
function popInterpolationStack (line 33) | function popInterpolationStack(state) {
function sizeInterpolationStack (line 37) | function sizeInterpolationStack(state) {
function tokenString (line 94) | function tokenString(quote, stream, state, raw) {
function tokenInterpolation (line 121) | function tokenInterpolation(stream, state) {
function tokenInterpolationIdentifier (line 133) | function tokenInterpolationIdentifier(stream, state) {
function tokenNestedComment (line 139) | function tokenNestedComment(depth) {
FILE: _files/assets/codemirror@6.65.7/mode/django/django.js
function tokenBase (line 49) | function tokenBase (stream, state) {
function inString (line 71) | function inString (delimiter, previousTokenizer) {
function inVariable (line 94) | function inVariable (stream, state) {
function inTag (line 193) | function inTag (stream, state) {
function inComment (line 319) | function inComment (stream, state) {
function inBlockComment (line 326) | function inBlockComment (stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/dtd/dtd.js
function ret (line 23) | function ret(style, tp) {type = tp; return style;}
function tokenBase (line 25) | function tokenBase(stream, state) {
function tokenSGMLComment (line 54) | function tokenSGMLComment(stream, state) {
function tokenString (line 66) | function tokenString(quote) {
function inBlock (line 80) | function inBlock(style, terminator) {
FILE: _files/assets/codemirror@6.65.7/mode/dylan/dylan.js
function forEach (line 14) | function forEach(arr, f) {
function some (line 17) | function some(arr, f) {
function chain (line 160) | function chain(stream, state, f) {
function tokenBase (line 165) | function tokenBase(stream, state) {
function tokenComment (line 295) | function tokenComment(stream, state) {
function tokenString (line 314) | function tokenString(quote, style) {
FILE: _files/assets/codemirror@6.65.7/mode/ecl/ecl.js
function words (line 16) | function words(str) {
function metaHook (line 22) | function metaHook(stream, state) {
function tokenBase (line 41) | function tokenBase(stream, state) {
function tokenString (line 107) | function tokenString(quote) {
function tokenComment (line 120) | function tokenComment(stream, state) {
function Context (line 132) | function Context(indented, column, type, align, prev) {
function pushContext (line 139) | function pushContext(state, col, type) {
function popContext (line 142) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/eiffel/eiffel.js
function wordObj (line 15) | function wordObj(words) {
function chain (line 88) | function chain(newtok, stream, state) {
function tokenBase (line 93) | function tokenBase(stream, state) {
function readQuoted (line 119) | function readQuoted(quote, style, unescaped) {
FILE: _files/assets/codemirror@6.65.7/mode/elm/elm.js
function switchState (line 16) | function switchState(source, setState, f)
function normal (line 32) | function normal()
function chompMultiComment (line 125) | function chompMultiComment(nest)
function chompMultiString (line 155) | function chompMultiString(source, setState)
function chompSingleString (line 169) | function chompSingleString(source, setState)
function chompChar (line 183) | function chompChar(source, setState)
function chompGlsl (line 197) | function chompGlsl(source, setState)
FILE: _files/assets/codemirror@6.65.7/mode/erlang/erlang.js
function tokenizer (line 103) | function tokenizer(stream,state) {
function nongreedy (line 290) | function nongreedy(stream,re,words) {
function greedy (line 304) | function greedy(stream,re,words) {
function doubleQuote (line 321) | function doubleQuote(stream) {
function singleQuote (line 325) | function singleQuote(stream) {
function quote (line 329) | function quote(stream,quoteChar,escapeChar) {
function lookahead (line 341) | function lookahead(stream) {
function is_member (line 346) | function is_member(element,list) {
function rval (line 350) | function rval(state,stream,type) {
function aToken (line 384) | function aToken(tok,col,ind,typ) {
function realToken (line 391) | function realToken(type,stream) {
function fakeToken (line 398) | function fakeToken(type) {
function peekToken (line 402) | function peekToken(state,depth) {
function pushToken (line 413) | function pushToken(state,token) {
function maybe_drop_pre (line 421) | function maybe_drop_pre(s,token) {
function maybe_drop_post (line 435) | function maybe_drop_post(s) {
function d (line 463) | function d(stack,tt) {
function indenter (line 503) | function indenter(state,textAfter) {
function wordafter (line 546) | function wordafter(str) {
function postcommaToken (line 552) | function postcommaToken(state) {
function defaultToken (line 559) | function defaultToken(state) {
function getToken (line 573) | function getToken(state,tokens) {
function getTokenIndex (line 580) | function getTokenIndex(objs,propname,propvals) {
function truthy (line 590) | function truthy(x) {
FILE: _files/assets/codemirror@6.65.7/mode/fcl/fcl.js
function tokenBase (line 48) | function tokenBase(stream, state) {
function tokenComment (line 89) | function tokenComment(stream, state) {
function Context (line 101) | function Context(indented, column, type, align, prev) {
function pushContext (line 109) | function pushContext(state, col, type) {
function popContext (line 113) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/forth/forth.js
function toWordList (line 16) | function toWordList(words) {
function searchWordList (line 67) | function searchWordList (wordList, word) {
FILE: _files/assets/codemirror@6.65.7/mode/fortran/fortran.js
function words (line 15) | function words(array) {
function tokenBase (line 117) | function tokenBase(stream, state) {
function tokenString (line 155) | function tokenString(quote) {
FILE: _files/assets/codemirror@6.65.7/mode/gas/gas.js
function x86 (line 144) | function x86(_parserConfig) {
function armv6 (line 199) | function armv6(_parserConfig) {
function nextUntilUnescaped (line 242) | function nextUntilUnescaped(stream, end) {
function clikeComment (line 253) | function clikeComment(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/gfm/gfm.js
function blankLine (line 18) | function blankLine(state) {
FILE: _files/assets/codemirror@6.65.7/mode/go/go.js
function tokenBase (line 41) | function tokenBase(stream, state) {
function tokenString (line 85) | function tokenString(quote) {
function tokenComment (line 98) | function tokenComment(stream, state) {
function Context (line 110) | function Context(indented, column, type, align, prev) {
function pushContext (line 117) | function pushContext(state, col, type) {
function popContext (line 120) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/groovy/groovy.js
function words (line 15) | function words(str) {
function tokenBase (line 31) | function tokenBase(stream, state) {
function startString (line 81) | function startString(quote, stream, state) {
function tokenBaseUntilBrace (line 112) | function tokenBaseUntilBrace() {
function tokenVariableDeref (line 130) | function tokenVariableDeref(stream, state) {
function tokenComment (line 139) | function tokenComment(stream, state) {
function expectExpression (line 151) | function expectExpression(last, newline) {
function Context (line 157) | function Context(indented, column, type, align, prev) {
function pushContext (line 164) | function pushContext(state, col, type) {
function popContext (line 167) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/haml/haml.js
function rubyInQuote (line 19) | function rubyInQuote(endQuote) {
function ruby (line 33) | function ruby(stream, state) {
function html (line 41) | function html(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/haskell/haskell.js
function switchState (line 16) | function switchState(source, setState, f) {
function normal (line 32) | function normal(source, setState) {
function ncomment (line 125) | function ncomment(type, nest) {
function stringLiteral (line 149) | function stringLiteral(source, setState) {
function stringGap (line 172) | function stringGap(source, setState) {
function setType (line 184) | function setType(t) {
FILE: _files/assets/codemirror@6.65.7/mode/haxe/haxe.js
function kw (line 19) | function kw(type) {return {type: type, style: "keyword"};}
function chain (line 37) | function chain(stream, state, f) {
function toUnescaped (line 42) | function toUnescaped(stream, end) {
function ret (line 54) | function ret(tp, style, cont) {
function haxeTokenBase (line 59) | function haxeTokenBase(stream, state) {
function haxeTokenString (line 110) | function haxeTokenString(quote) {
function haxeTokenComment (line 118) | function haxeTokenComment(stream, state) {
function HaxeLexical (line 134) | function HaxeLexical(indented, column, type, align, prev, info) {
function inScope (line 143) | function inScope(state, varname) {
function parseHaxe (line 148) | function parseHaxe(state, style, type, content, stream) {
function imported (line 170) | function imported(state, typename) {
function registerimport (line 178) | function registerimport(importname) {
function pass (line 187) | function pass() {
function cont (line 190) | function cont() {
function inList (line 194) | function inList(name, list) {
function register (line 199) | function register(varname) {
function pushcontext (line 214) | function pushcontext() {
function popcontext (line 218) | function popcontext() {
function pushlex (line 223) | function pushlex(type, info) {
function poplex (line 231) | function poplex() {
function expect (line 241) | function expect(wanted) {
function statement (line 250) | function statement(type) {
function expression (line 272) | function expression(type) {
function maybeexpression (line 283) | function maybeexpression(type) {
function maybeoperator (line 288) | function maybeoperator(type, value) {
function maybeattribute (line 297) | function maybeattribute(type) {
function metadef (line 303) | function metadef(type) {
function metaargs (line 308) | function metaargs(type) {
function importdef (line 312) | function importdef (type, value) {
function typedef (line 317) | function typedef (type, value)
function maybelabel (line 323) | function maybelabel(type) {
function property (line 327) | function property(type) {
function objprop (line 330) | function objprop(type) {
function commasep (line 334) | function commasep(what, end) {
function block (line 345) | function block(type) {
function vardef1 (line 349) | function vardef1(type, value) {
function vardef2 (line 353) | function vardef2(type, value) {
function forspec1 (line 357) | function forspec1(type, value) {
function forin (line 365) | function forin(_type, value) {
function functiondef (line 368) | function functiondef(type, value) {
function typeuse (line 374) | function typeuse(type) {
function typestring (line 377) | function typestring(type) {
function typeprop (line 382) | function typeprop(type) {
function funarg (line 385) | function funarg(type, value) {
FILE: _files/assets/codemirror@6.65.7/mode/htmlmixed/htmlmixed.js
function maybeBackup (line 29) | function maybeBackup(stream, pat, style) {
function getAttrRegexp (line 41) | function getAttrRegexp(attr) {
function getAttrValue (line 47) | function getAttrValue(text, attr) {
function getTagRegexp (line 52) | function getTagRegexp(tagName, anchored) {
function addTags (line 56) | function addTags(from, to) {
function findMatchingMode (line 65) | function findMatchingMode(tagInfo, tagText) {
function html (line 88) | function html(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/http/http.js
function failFirstLine (line 15) | function failFirstLine(stream, state) {
function start (line 21) | function start(stream, state) {
function responseStatusCode (line 33) | function responseStatusCode(stream, state) {
function responseStatusText (line 54) | function responseStatusText(stream, state) {
function requestPath (line 60) | function requestPath(stream, state) {
function requestProtocol (line 66) | function requestProtocol(stream, state) {
function header (line 75) | function header(stream) {
function body (line 89) | function body(stream) {
FILE: _files/assets/codemirror@6.65.7/mode/idl/idl.js
function wordRegexp (line 14) | function wordRegexp(words) {
function tokenBase (line 244) | function tokenBase(stream) {
FILE: _files/assets/codemirror@6.65.7/mode/javascript/javascript.js
function kw (line 26) | function kw(type) {return {type: type, style: "keyword"};}
function readRegexp (line 47) | function readRegexp(stream) {
function ret (line 62) | function ret(tp, style, cont) {
function tokenBase (line 66) | function tokenBase(stream, state) {
function tokenString (line 137) | function tokenString(quote) {
function tokenComment (line 153) | function tokenComment(stream, state) {
function tokenQuasi (line 165) | function tokenQuasi(stream, state) {
function findFatArrow (line 185) | function findFatArrow(stream, state) {
function JSLexical (line 225) | function JSLexical(indented, column, type, align, prev, info) {
function inScope (line 234) | function inScope(state, varname) {
function parseJS (line 244) | function parseJS(state, style, type, content, stream) {
function pass (line 268) | function pass() {
function cont (line 271) | function cont() {
function inList (line 275) | function inList(name, list) {
function register (line 279) | function register(varname) {
function registerVarScoped (line 300) | function registerVarScoped(varname, context) {
function isModifier (line 315) | function isModifier(name) {
function Context (line 321) | function Context(prev, vars, block) { this.prev = prev; this.vars = vars...
function Var (line 322) | function Var(name, next) { this.name = name; this.next = next }
function pushcontext (line 325) | function pushcontext() {
function pushblockcontext (line 329) | function pushblockcontext() {
function popcontext (line 334) | function popcontext() {
function pushlex (line 339) | function pushlex(type, info) {
function poplex (line 350) | function poplex() {
function expect (line 360) | function expect(wanted) {
function statement (line 369) | function statement(type, value) {
function maybeCatchBinding (line 418) | function maybeCatchBinding(type) {
function expression (line 421) | function expression(type, value) {
function expressionNoComma (line 424) | function expressionNoComma(type, value) {
function parenExpr (line 427) | function parenExpr(type) {
function expressionInner (line 431) | function expressionInner(type, value, noComma) {
function maybeexpression (line 451) | function maybeexpression(type) {
function maybeoperatorComma (line 456) | function maybeoperatorComma(type, value) {
function maybeoperatorNoComma (line 460) | function maybeoperatorNoComma(type, value, noComma) {
function quasi (line 483) | function quasi(type, value) {
function continueQuasi (line 488) | function continueQuasi(type) {
function arrowBody (line 495) | function arrowBody(type) {
function arrowBodyNoComma (line 499) | function arrowBodyNoComma(type) {
function maybeTarget (line 503) | function maybeTarget(noComma) {
function target (line 510) | function target(_, value) {
function targetNoComma (line 513) | function targetNoComma(_, value) {
function maybelabel (line 516) | function maybelabel(type) {
function property (line 520) | function property(type) {
function objprop (line 523) | function objprop(type, value) {
function getterSetter (line 553) | function getterSetter(type) {
function afterprop (line 558) | function afterprop(type) {
function commasep (line 562) | function commasep(what, end, sep) {
function contCommasep (line 581) | function contCommasep(what, end, info) {
function block (line 586) | function block(type) {
function maybetype (line 590) | function maybetype(type, value) {
function maybetypeOrIn (line 596) | function maybetypeOrIn(type, value) {
function mayberettype (line 599) | function mayberettype(type) {
function isKW (line 605) | function isKW(_, value) {
function typeexpr (line 611) | function typeexpr(type, value) {
function maybeReturnType (line 628) | function maybeReturnType(type) {
function typeprops (line 631) | function typeprops(type) {
function typeprop (line 636) | function typeprop(type, value) {
function quasiType (line 652) | function quasiType(type, value) {
function continueQuasiType (line 657) | function continueQuasiType(type) {
function typearg (line 664) | function typearg(type, value) {
function afterType (line 670) | function afterType(type, value) {
function maybeTypeArgs (line 677) | function maybeTypeArgs(_, value) {
function typeparam (line 680) | function typeparam() {
function maybeTypeDefault (line 683) | function maybeTypeDefault(_, value) {
function vardef (line 686) | function vardef(_, value) {
function pattern (line 690) | function pattern(type, value) {
function proppattern (line 697) | function proppattern(type, value) {
function eltpattern (line 708) | function eltpattern() {
function maybeAssign (line 711) | function maybeAssign(_type, value) {
function vardefCont (line 714) | function vardefCont(type) {
function maybeelse (line 717) | function maybeelse(type, value) {
function forspec (line 720) | function forspec(type, value) {
function forspec1 (line 724) | function forspec1(type) {
function forspec2 (line 729) | function forspec2(type, value) {
function functiondef (line 735) | function functiondef(type, value) {
function functiondecl (line 741) | function functiondecl(type, value) {
function typename (line 747) | function typename(type, value) {
function funarg (line 755) | function funarg(type, value) {
function classExpression (line 762) | function classExpression(type, value) {
function className (line 767) | function className(type, value) {
function classNameAfter (line 770) | function classNameAfter(type, value) {
function classBody (line 778) | function classBody(type, value) {
function classfield (line 802) | function classfield(type, value) {
function afterExport (line 810) | function afterExport(type, value) {
function exportField (line 816) | function exportField(type, value) {
function afterImport (line 820) | function afterImport(type) {
function importSpec (line 826) | function importSpec(type, value) {
function maybeMoreImports (line 832) | function maybeMoreImports(type) {
function maybeAs (line 835) | function maybeAs(_type, value) {
function maybeFrom (line 838) | function maybeFrom(_type, value) {
function arrayLiteral (line 841) | function arrayLiteral(type) {
function enumdef (line 845) | function enumdef() {
function enummember (line 848) | function enummember() {
function isContinuedStatement (line 852) | function isContinuedStatement(state, textAfter) {
function expressionAllowed (line 858) | function expressionAllowed(stream, state, backUp) {
FILE: _files/assets/codemirror@6.65.7/mode/jinja2/jinja2.js
function tokenBase (line 36) | function tokenBase (stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/jsx/jsx.js
function Context (line 17) | function Context(state, mode, depth, prev) {
function copyContext (line 21) | function copyContext(context) {
function flatXMLIndent (line 32) | function flatXMLIndent(state) {
function token (line 40) | function token(stream, state) {
function xmlToken (line 47) | function xmlToken(stream, state, cx) {
function jsToken (line 105) | function jsToken(stream, state, cx) {
FILE: _files/assets/codemirror@6.65.7/mode/julia/julia.js
function wordRegexp (line 15) | function wordRegexp(words, end, pre) {
function inArray (line 73) | function inArray(state) {
function inGenerator (line 77) | function inGenerator(state) {
function currentScope (line 81) | function currentScope(state, n) {
function tokenBase (line 90) | function tokenBase(stream, state) {
function tokenAnnotation (line 261) | function tokenAnnotation(stream, state) {
function tokenComment (line 276) | function tokenComment(stream, state) {
function tokenChar (line 291) | function tokenChar(stream, state) {
function tokenStringFactory (line 318) | function tokenStringFactory(delimiter) {
FILE: _files/assets/codemirror@6.65.7/mode/lua/lua.js
function prefixRE (line 21) | function prefixRE(words) {
function wordRE (line 24) | function wordRE(words) {
function readBracket (line 70) | function readBracket(stream) {
function normal (line 77) | function normal(stream, state) {
function bracketed (line 100) | function bracketed(level, style) {
function string (line 113) | function string(quote) {
FILE: _files/assets/codemirror@6.65.7/mode/markdown/markdown.js
function getMode (line 19) | function getMode(name) {
function switchInline (line 100) | function switchInline(stream, state, f) {
function switchBlock (line 105) | function switchBlock(stream, state, f) {
function lineIsEmpty (line 110) | function lineIsEmpty(line) {
function blankLine (line 116) | function blankLine(state) {
function blockNormal (line 153) | function blockNormal(stream, state) {
function htmlBlock (line 284) | function htmlBlock(stream, state) {
function local (line 299) | function local(stream, state) {
function getType (line 324) | function getType(state) {
function handleText (line 407) | function handleText(stream, state) {
function inlineNormal (line 414) | function inlineNormal(stream, state) {
function linkInline (line 644) | function linkInline(stream, state) {
function linkHref (line 664) | function linkHref(stream, state) {
function getLinkHrefInside (line 684) | function getLinkHrefInside(endChar) {
function footnoteLink (line 702) | function footnoteLink(stream, state) {
function footnoteLinkInside (line 713) | function footnoteLinkInside(stream, state) {
function footnoteUrl (line 727) | function footnoteUrl(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/mathematica/mathematica.js
function tokenBase (line 32) | function tokenBase(stream, state) {
function tokenString (line 133) | function tokenString(stream, state) {
function tokenComment (line 148) | function tokenComment(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/mbox/mbox.js
function styleForHeader (line 35) | function styleForHeader(header) {
function readToken (line 40) | function readToken(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/mirc/mirc.js
function parseWords (line 18) | function parseWords(str) {
function chain (line 86) | function chain(stream, state, f) {
function tokenBase (line 90) | function tokenBase(stream, state) {
function tokenComment (line 153) | function tokenComment(stream, state) {
function tokenUnparsed (line 164) | function tokenUnparsed(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/mllike/mllike.js
function tokenBase (line 48) | function tokenBase(stream, state) {
function tokenString (line 110) | function tokenString(stream, state) {
function tokenComment (line 125) | function tokenComment(stream, state) {
function tokenLongString (line 138) | function tokenLongString(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/modelica/modelica.js
function tokenLineComment (line 30) | function tokenLineComment(stream, state) {
function tokenBlockComment (line 36) | function tokenBlockComment(stream, state) {
function tokenString (line 48) | function tokenString(stream, state) {
function tokenIdent (line 62) | function tokenIdent(stream, state) {
function tokenQIdent (line 81) | function tokenQIdent(stream, state) {
function tokenUnsignedNumber (line 93) | function tokenUnsignedNumber(stream, state) {
function words (line 202) | function words(str) {
function def (line 213) | function def(mimes, mode) {
FILE: _files/assets/codemirror@6.65.7/mode/mscgen/mscgen.js
function wordRegexpBoundary (line 74) | function wordRegexpBoundary(pWords) {
function wordRegexp (line 78) | function wordRegexp(pWords) {
function startStateFn (line 82) | function startStateFn() {
function copyStateFn (line 91) | function copyStateFn(pState) {
function produceTokenFunction (line 100) | function produceTokenFunction(pConfig) {
FILE: _files/assets/codemirror@6.65.7/mode/mumps/mumps.js
function wordRegexp (line 19) | function wordRegexp(words) {
function tokenBase (line 34) | function tokenBase(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/nginx/nginx.js
function words (line 16) | function words(str) {
function ret (line 36) | function ret(style, tp) {type = tp; return style;}
function tokenBase (line 38) | function tokenBase(stream, state) {
function tokenCComment (line 97) | function tokenCComment(stream, state) {
function tokenSGMLComment (line 109) | function tokenSGMLComment(stream, state) {
function tokenString (line 121) | function tokenString(quote) {
FILE: _files/assets/codemirror@6.65.7/mode/ntriples/ntriples.js
function transitState (line 59) | function transitState(currState, c) {
FILE: _files/assets/codemirror@6.65.7/mode/octave/octave.js
function wordRegexp (line 15) | function wordRegexp(words) {
function tokenTranspose (line 46) | function tokenTranspose(stream, state) {
function tokenComment (line 57) | function tokenComment(stream, state) {
function tokenBase (line 66) | function tokenBase(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/oz/oz.js
function wordRegexp (line 16) | function wordRegexp(words) {
function tokenBase (line 37) | function tokenBase(stream, state) {
function tokenClass (line 139) | function tokenClass(stream, state) {
function tokenMeth (line 148) | function tokenMeth(stream, state) {
function tokenFunProc (line 157) | function tokenFunProc(stream, state) {
function tokenComment (line 178) | function tokenComment(stream, state) {
function tokenString (line 190) | function tokenString(quote) {
function buildElectricInputRegEx (line 206) | function buildElectricInputRegEx() {
FILE: _files/assets/codemirror@6.65.7/mode/pascal/pascal.js
function words (line 15) | function words(str) {
function tokenBase (line 39) | function tokenBase(stream, state) {
function tokenString (line 81) | function tokenString(quote) {
function tokenComment (line 93) | function tokenComment(stream, state) {
function tokenCommentBraces (line 105) | function tokenCommentBraces(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/pegjs/pegjs.js
function identifier (line 17) | function identifier(stream) {
FILE: _files/assets/codemirror@6.65.7/mode/perl/perl.js
function tokenChain (line 483) | function tokenChain(stream,state,chain,style,tail){ // NOTE: chain.l...
function tokenSOMETHING (line 503) | function tokenSOMETHING(stream,state,string){
function tokenPerl (line 511) | function tokenPerl(stream,state){
function look (line 803) | function look(stream, c){
function prefix (line 808) | function prefix(stream, c){
function suffix (line 818) | function suffix(stream, c){
function eatSuffix (line 825) | function eatSuffix(stream, c){
FILE: _files/assets/codemirror@6.65.7/mode/php/php.js
function keywords (line 14) | function keywords(str) {
function matchSequence (line 21) | function matchSequence(list, end, escapes) {
function phpString (line 33) | function phpString(closing, escapes) {
function phpString_ (line 36) | function phpString_(stream, state, closing, escapes) {
function dispatch (line 157) | function dispatch(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/pig/pig.js
function chain (line 28) | function chain(stream, state, f) {
function tokenComment (line 33) | function tokenComment(stream, state) {
function tokenString (line 46) | function tokenString(quote) {
function tokenBase (line 62) | function tokenBase(stream, state) {
function keywords (line 140) | function keywords(str) {
FILE: _files/assets/codemirror@6.65.7/mode/powershell/powershell.js
function buildRegexp (line 16) | function buildRegexp(patterns, options) {
function tokenBase (line 162) | function tokenBase(stream, state) {
function tokenSingleQuoteString (line 237) | function tokenSingleQuoteString(stream, state) {
function tokenDoubleQuoteString (line 251) | function tokenDoubleQuoteString(stream, state) {
function tokenStringInterpolation (line 274) | function tokenStringInterpolation(stream, state) {
function tokenMultiStringReturn (line 278) | function tokenMultiStringReturn(stream, state) {
function tokenHereStringInterpolation (line 284) | function tokenHereStringInterpolation(stream, state) {
function tokenInterpolation (line 288) | function tokenInterpolation(stream, state, parentTokenize) {
function tokenComment (line 312) | function tokenComment(stream, state) {
function tokenVariable (line 324) | function tokenVariable(stream, state) {
function tokenVariableWithBraces (line 339) | function tokenVariableWithBraces(stream, state) {
function tokenMultiString (line 350) | function tokenMultiString(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/protobuf/protobuf.js
function wordRegexp (line 14) | function wordRegexp(words) {
function tokenBase (line 31) | function tokenBase(stream) {
FILE: _files/assets/codemirror@6.65.7/mode/pug/pug.js
function State (line 29) | function State() {
function javaScript (line 105) | function javaScript(stream, state) {
function javaScriptArguments (line 122) | function javaScriptArguments(stream, state) {
function yieldStatement (line 143) | function yieldStatement(stream) {
function doctype (line 149) | function doctype(stream) {
function interpolation (line 155) | function interpolation(stream, state) {
function interpolationContinued (line 163) | function interpolationContinued(stream, state) {
function caseStatement (line 179) | function caseStatement(stream, state) {
function when (line 186) | function when(stream, state) {
function defaultStatement (line 194) | function defaultStatement(stream) {
function extendsStatement (line 200) | function extendsStatement(stream, state) {
function append (line 207) | function append(stream, state) {
function prepend (line 213) | function prepend(stream, state) {
function block (line 219) | function block(stream, state) {
function include (line 226) | function include(stream, state) {
function includeFiltered (line 233) | function includeFiltered(stream, state) {
function includeFilteredContinued (line 240) | function includeFilteredContinued(stream, state) {
function mixin (line 249) | function mixin(stream, state) {
function call (line 256) | function call(stream, state) {
function callArguments (line 270) | function callArguments(stream, state) {
function conditional (line 281) | function conditional(stream, state) {
function each (line 288) | function each(stream, state) {
function eachContinued (line 294) | function eachContinued(stream, state) {
function whileStatement (line 309) | function whileStatement(stream, state) {
function tag (line 316) | function tag(stream, state) {
function filter (line 327) | function filter(stream, state) {
function code (line 344) | function code(stream, state) {
function id (line 351) | function id(stream) {
function className (line 357) | function className(stream) {
function attrs (line 363) | function attrs(stream, state) {
function attrsContinued (line 375) | function attrsContinued(stream, state) {
function attributesBlock (line 419) | function attributesBlock(stream, state) {
function indent (line 427) | function indent(stream) {
function comment (line 433) | function comment(stream, state) {
function colon (line 441) | function colon(stream) {
function text (line 447) | function text(stream, state) {
function dot (line 459) | function dot(stream, state) {
function fail (line 472) | function fail(stream) {
function setInnerMode (line 478) | function setInnerMode(stream, state, mode) {
function innerMode (line 491) | function innerMode(stream, state, force) {
function restOfLine (line 511) | function restOfLine(stream, state) {
function startState (line 525) | function startState() {
function copyState (line 528) | function copyState(state) {
function nextToken (line 537) | function nextToken(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/puppet/puppet.js
function define (line 22) | function define(style, string) {
function tokenString (line 47) | function tokenString(stream, state) {
function tokenize (line 68) | function tokenize(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/python/python.js
function wordRegexp (line 14) | function wordRegexp(words) {
function top (line 37) | function top(state) {
function tokenBase (line 78) | function tokenBase(stream, state) {
function tokenBaseInner (line 101) | function tokenBaseInner(stream, state, inFormat) {
function formatStringFactory (line 183) | function formatStringFactory(delimiter, tokenOuter) {
function tokenStringFactory (line 244) | function tokenStringFactory(delimiter, tokenOuter) {
function pushPyScope (line 277) | function pushPyScope(state) {
function pushBracketScope (line 284) | function pushBracketScope(stream, state, type) {
function dedent (line 291) | function dedent(stream, state) {
function tokenLexer (line 300) | function tokenLexer(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/q/q.js
function buildRE (line 19) | function buildRE(w){return new RegExp("^("+w.join("|")+")$");}
function tokenBase (line 20) | function tokenBase(stream,state){
function tokenLineComment (line 62) | function tokenLineComment(stream,state){
function tokenBlockComment (line 65) | function tokenBlockComment(stream,state){
function tokenCommentToEOF (line 72) | function tokenCommentToEOF(stream){return stream.skipToEnd(),"comment";}
function tokenString (line 73) | function tokenString(stream,state){
function pushContext (line 82) | function pushContext(state,type,col){state.context={prev:state.context,i...
function popContext (line 83) | function popContext(state){state.indent=state.context.indent;state.conte...
FILE: _files/assets/codemirror@6.65.7/mode/r/r.js
function wordObj (line 17) | function wordObj(words) {
function tokenBase (line 36) | function tokenBase(stream, state) {
function tokenString (line 97) | function tokenString(quote) {
function push (line 120) | function push(state, type, stream) {
function setFlag (line 127) | function setFlag(state, flag) {
function pop (line 135) | function pop(state) {
FILE: _files/assets/codemirror@6.65.7/mode/rst/rst.js
function format (line 76) | function format(string) {
function to_normal (line 156) | function to_normal(stream, state) {
function to_explicit (line 356) | function to_explicit(stream, state) {
function to_comment (line 463) | function to_comment(stream, state) {
function to_verbatim (line 467) | function to_verbatim(stream, state) {
function as_block (line 471) | function as_block(stream, state, token) {
function to_mode (line 484) | function to_mode(stream, state) {
function context (line 503) | function context(phase, stage, mode, local) {
function change (line 507) | function change(state, tok, ctx) {
function stage (line 512) | function stage(state) {
function phase (line 516) | function phase(state) {
FILE: _files/assets/codemirror@6.65.7/mode/ruby/ruby.js
function wordObj (line 14) | function wordObj(words) {
function chain (line 38) | function chain(newtok, stream, state) {
function tokenBase (line 43) | function tokenBase(stream, state) {
function regexpAhead (line 143) | function regexpAhead(stream) {
function tokenBaseUntilBrace (line 165) | function tokenBaseUntilBrace(depth) {
function tokenBaseOnce (line 181) | function tokenBaseOnce() {
function readQuoted (line 192) | function readQuoted(quote, style, embed, unescaped) {
function readHereDoc (line 223) | function readHereDoc(phrase, mayIndent) {
function readBlockComment (line 231) | function readBlockComment(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/sas/sas.js
function define (line 51) | function define(style, string, context) {
function tokenize (line 95) | function tokenize(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/sass/sass.js
function tokenRegexp (line 21) | function tokenRegexp(words) {
function isEndLine (line 36) | function isEndLine(stream) {
function urlTokens (line 40) | function urlTokens(stream, state) {
function comment (line 60) | function comment(indentation, multiLine) {
function buildStringTokenizer (line 79) | function buildStringTokenizer(quote, greedy) {
function buildInterpolationTokenizer (line 108) | function buildInterpolationTokenizer(currentTokenizer) {
function indent (line 120) | function indent(state) {
function dedent (line 129) | function dedent(state) {
function tokenBase (line 135) | function tokenBase(stream, state) {
function tokenLexer (line 396) | function tokenLexer(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/scheme/scheme.js
function makeKeywords (line 24) | function makeKeywords(str) {
function stateStack (line 33) | function stateStack(indent, type, prev) { // represents a state stack ob...
function pushStack (line 39) | function pushStack(state, indent, type) {
function popStack (line 43) | function popStack(state) {
function isBinaryNumber (line 52) | function isBinaryNumber (stream) {
function isOctalNumber (line 56) | function isOctalNumber (stream) {
function isDecimalNumber (line 60) | function isDecimalNumber (stream, backup) {
function isHexNumber (line 67) | function isHexNumber (stream) {
function processEscapedSequence (line 71) | function processEscapedSequence(stream, options) {
FILE: _files/assets/codemirror@6.65.7/mode/shell/shell.js
function define (line 17) | function define(style, dict) {
function tokenBase (line 39) | function tokenBase(stream, state) {
function tokenString (line 93) | function tokenString(quote, style) {
function tokenStringStart (line 120) | function tokenStringStart(quote, style) {
function tokenHeredoc (line 140) | function tokenHeredoc(delim) {
function tokenize (line 148) | function tokenize(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/sieve/sieve.js
function words (line 15) | function words(str) {
function tokenBase (line 25) | function tokenBase(stream, state) {
function tokenMultiLineString (line 112) | function tokenMultiLineString(stream, state)
function tokenCComment (line 137) | function tokenCComment(stream, state) {
function tokenString (line 149) | function tokenString(quote) {
FILE: _files/assets/codemirror@6.65.7/mode/slim/slim.js
function backup (line 72) | function backup(pos, tokenize, style) {
function maybeBackup (line 87) | function maybeBackup(stream, state, pat, offset, style) {
function continueLine (line 97) | function continueLine(state, column) {
function finishContinue (line 106) | function finishContinue(state) {
function lineContinuable (line 113) | function lineContinuable(column, tokenize) {
function commaContinuable (line 127) | function commaContinuable(column, tokenize) {
function rubyInQuote (line 138) | function rubyInQuote(endQuote, tokenize) {
function startRubySplat (line 152) | function startRubySplat(tokenize) {
function ruby (line 174) | function ruby(stream, state) {
function htmlLine (line 178) | function htmlLine(stream, state) {
function html (line 184) | function html(stream, state) {
function startHtmlLine (line 192) | function startHtmlLine(lastTokenize) {
function startHtmlMode (line 200) | function startHtmlMode(stream, state, offset) {
function comment (line 211) | function comment(stream, state) {
function commentMode (line 216) | function commentMode(stream, state) {
function attributeWrapper (line 227) | function attributeWrapper(stream, state) {
function attributeWrapperAssign (line 241) | function attributeWrapperAssign(stream, state) {
function attributeWrapperValue (line 248) | function attributeWrapperValue(stream, state) {
function startAttributeWrapperMode (line 265) | function startAttributeWrapperMode(state, endQuote, tokenize) {
function sub (line 278) | function sub(stream, state) {
function firstSub (line 292) | function firstSub(stream, state) {
function createMode (line 298) | function createMode(mode) {
function getMode (line 311) | function getMode(mode) {
function startSubMode (line 318) | function startSubMode(mode, state) {
function doctypeLine (line 335) | function doctypeLine(stream, _state) {
function startLine (line 340) | function startLine(stream, state) {
function slim (line 368) | function slim(stream, state) {
function slimTag (line 375) | function slimTag(stream, state) {
function slimTagExtras (line 386) | function slimTagExtras(stream, state) {
function slimClass (line 393) | function slimClass(stream, state) {
function slimAttribute (line 404) | function slimAttribute(stream, state) {
function slimAttributeAssign (line 419) | function slimAttributeAssign(stream, state) {
function slimAttributeValue (line 428) | function slimAttributeValue(stream, state) {
function slimAttributeSymbols (line 447) | function slimAttributeSymbols(stream, state) {
function readQuoted (line 456) | function readQuoted(quote, style, embed, unescaped, nextTokenize) {
function slimContent (line 490) | function slimContent(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/smarty/smarty.js
function cont (line 32) | function cont(style, lastType) {
function chain (line 37) | function chain(stream, state, parser) {
function doesNotCount (line 43) | function doesNotCount(stream, pos) {
function tokenTop (line 49) | function tokenTop(stream, state) {
function tokenSmarty (line 75) | function tokenSmarty(stream, state) {
function tokenAttribute (line 158) | function tokenAttribute(quote) {
function tokenBlock (line 174) | function tokenBlock(style, terminator) {
FILE: _files/assets/codemirror@6.65.7/mode/solr/solr.js
function isNumber (line 21) | function isNumber(word) {
function tokenString (line 25) | function tokenString(quote) {
function tokenOperator (line 38) | function tokenOperator(operator) {
function tokenWord (line 57) | function tokenWord(ch) {
function tokenBase (line 76) | function tokenBase(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/soy/soy.js
function last (line 73) | function last(array) {
function tokenUntil (line 77) | function tokenUntil(stream, state, untilRegExp) {
function contains (line 99) | function contains(list, element) {
function prepend (line 107) | function prepend(list, element) {
function popcontext (line 114) | function popcontext(state) {
function ref (line 124) | function ref(list, name, loose) {
function Context (line 129) | function Context(previousContext, tag, scope) {
function expression (line 136) | function expression(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/sparql/sparql.js
function wordRegexp (line 18) | function wordRegexp(words) {
function tokenBase (line 37) | function tokenBase(stream, state) {
function eatPnLocal (line 90) | function eatPnLocal(stream) {
function tokenLiteral (line 94) | function tokenLiteral(quote) {
function pushContext (line 108) | function pushContext(state, type, col) {
function popContext (line 111) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/sql/sql.js
function tokenBase (line 27) | function tokenBase(stream, state) {
function tokenLiteral (line 133) | function tokenLiteral(quote, backslashEscapes) {
function tokenComment (line 146) | function tokenComment(depth) {
function pushContext (line 157) | function pushContext(stream, state, type) {
function popContext (line 166) | function popContext(state) {
function hookIdentifier (line 215) | function hookIdentifier(stream) {
function hookIdentifierDoublequote (line 227) | function hookIdentifierDoublequote(stream) {
function hookVar (line 240) | function hookVar(stream) {
function hookClient (line 267) | function hookClient(stream) {
function set (line 282) | function set(str) {
FILE: _files/assets/codemirror@6.65.7/mode/stex/stex.js
function pushCommand (line 22) | function pushCommand(state, command) {
function peekCommand (line 26) | function peekCommand(state) {
function popCommand (line 34) | function popCommand(state) {
function getMostPowerful (line 42) | function getMostPowerful(state) {
function addPluginPattern (line 54) | function addPluginPattern(pluginName, cmdStyle, styles) {
function setState (line 96) | function setState(state, f) {
function normal (line 101) | function normal(source, state) {
function inMathMode (line 172) | function inMathMode(source, state, endModeSeq) {
function beginParams (line 217) | function beginParams(source, state) {
FILE: _files/assets/codemirror@6.65.7/mode/stylus/stylus.js
function tokenBase (line 47) | function tokenBase(stream, state) {
function tokenCComment (line 164) | function tokenCComment(stream, state) {
function tokenString (line 179) | function tokenString(quote) {
function tokenParenthesized (line 197) | function tokenParenthesized(stream, state) {
function Context (line 209) | function Context(type, indent, prev, line) {
function pushContext (line 216) | function pushContext(state, stream, type, indent) {
function popContext (line 222) | function popContext(state, currentIndent) {
function pass (line 230) | function pass(type, stream, state) {
function popAndPass (line 234) | function popAndPass(type, stream, state, n) {
function wordIsTag (line 244) | function wordIsTag(word) {
function wordIsProperty (line 248) | function wordIsProperty(word) {
function wordIsBlock (line 253) | function wordIsBlock(word) {
function wordIsVendorPrefix (line 257) | function wordIsVendorPrefix(word) {
function wordAsValue (line 261) | function wordAsValue(word) {
function typeIsBlock (line 275) | function typeIsBlock(type, stream) {
function typeIsInterpolation (line 279) | function typeIsInterpolation(type, stream) {
function typeIsPseudo (line 283) | function typeIsPseudo(type, stream) {
function startOfLine (line 287) | function startOfLine(stream) {
function endOfLine (line 291) | function endOfLine(stream) {
function firstWordOfLine (line 295) | function firstWordOfLine(line) {
function wordRegexp (line 758) | function wordRegexp(words) {
function keySet (line 763) | function keySet(array) {
function escapeRegExp (line 769) | function escapeRegExp(text) {
FILE: _files/assets/codemirror@6.65.7/mode/swift/swift.js
function wordSet (line 16) | function wordSet(words) {
function tokenBase (line 45) | function tokenBase(stream, state, prev) {
function tokenUntilClosingParen (line 100) | function tokenUntilClosingParen() {
function tokenString (line 119) | function tokenString(openQuote, stream, state) {
function tokenComment (line 144) | function tokenComment(stream, state) {
function Context (line 159) | function Context(prev, align, indented) {
function pushContext (line 165) | function pushContext(state, stream) {
function popContext (line 170) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/tcl/tcl.js
function parseWords (line 17) | function parseWords(str) {
function chain (line 37) | function chain(stream, state, f) {
function tokenBase (line 41) | function tokenBase(stream, state) {
function tokenString (line 84) | function tokenString(quote) {
function tokenComment (line 98) | function tokenComment(stream, state) {
function tokenUnparsed (line 109) | function tokenUnparsed(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/textile/textile.js
function startNewLine (line 49) | function startNewLine(stream, state) {
function handlePhraseModifier (line 58) | function handlePhraseModifier(stream, state, ch) {
function togglePhraseModifier (line 119) | function togglePhraseModifier(stream, state, phraseModifier, closeRE, op...
function tokenStyles (line 136) | function tokenStyles(state) {
function textileDisabled (line 153) | function textileDisabled(state) {
function tokenStylesWith (line 168) | function tokenStylesWith(state, extraStyles) {
function activeStyles (line 179) | function activeStyles(state) {
function blankLine (line 188) | function blankLine(state) {
function RE (line 288) | function RE(name) {
FILE: _files/assets/codemirror@6.65.7/mode/tiddlywiki/tiddlywiki.js
function chain (line 61) | function chain(stream, state, f) {
function tokenBase (line 66) | function tokenBase(stream, state) {
function twTokenComment (line 179) | function twTokenComment(stream, state) {
function twTokenStrong (line 192) | function twTokenStrong(stream, state) {
function twTokenCode (line 206) | function twTokenCode(stream, state) {
function twTokenEm (line 228) | function twTokenEm(stream, state) {
function twTokenUnderline (line 242) | function twTokenUnderline(stream, state) {
function twTokenStrike (line 257) | function twTokenStrike(stream, state) {
function twTokenMacro (line 271) | function twTokenMacro(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/tiki/tiki.js
function inBlock (line 15) | function inBlock(style, terminator, returnTokenizer) {
function inLine (line 31) | function inLine(style) {
function inText (line 41) | function inText(stream, state) {
function inPlugin (line 133) | function inPlugin(stream, state) {
function inAttribute (line 167) | function inAttribute(quote) {
function inAttributeNoQuote (line 179) | function inAttributeNoQuote() {
function pass (line 194) | function pass() {
function cont (line 198) | function cont() {
function pushContext (line 203) | function pushContext(pluginName, startOfLine) {
function popContext (line 214) | function popContext() {
function element (line 218) | function element(type) {
function endplugin (line 239) | function endplugin(startOfLine) {
function endcloseplugin (line 251) | function endcloseplugin(err) {
function attributes (line 259) | function attributes(type) {
function attvalue (line 264) | function attvalue(type) {
function attvaluemaybe (line 269) | function attvaluemaybe(type) {
FILE: _files/assets/codemirror@6.65.7/mode/tornado/tornado.js
function tokenBase (line 25) | function tokenBase (stream, state) {
function inTag (line 35) | function inTag (close) {
FILE: _files/assets/codemirror@6.65.7/mode/troff/troff.js
function tokenBase (line 18) | function tokenBase(stream) {
function tokenize (line 68) | function tokenize(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/ttcn-cfg/ttcn-cfg.js
function tokenBase (line 24) | function tokenBase(stream, state) {
function tokenString (line 61) | function tokenString(quote) {
function Context (line 83) | function Context(indented, column, type, align, prev) {
function pushContext (line 90) | function pushContext(state, col, type) {
function popContext (line 96) | function popContext(state) {
function words (line 154) | function words(str) {
FILE: _files/assets/codemirror@6.65.7/mode/ttcn/ttcn.js
function tokenBase (line 37) | function tokenBase(stream, state) {
function tokenString (line 105) | function tokenString(quote) {
function tokenComment (line 127) | function tokenComment(stream, state) {
function Context (line 139) | function Context(indented, column, type, align, prev) {
function pushContext (line 147) | function pushContext(state, col, type) {
function popContext (line 154) | function popContext(state) {
function words (line 216) | function words(str) {
function def (line 222) | function def(mimes, mode) {
FILE: _files/assets/codemirror@6.65.7/mode/turtle/turtle.js
function wordRegexp (line 18) | function wordRegexp(words) {
function tokenBase (line 25) | function tokenBase(stream, state) {
function tokenLiteral (line 77) | function tokenLiteral(quote) {
function pushContext (line 91) | function pushContext(state, type, col) {
function popContext (line 94) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/twig/twig.js
function tokenBase (line 24) | function tokenBase (stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/vb/vb.js
function wordRegexp (line 17) | function wordRegexp(words) {
function indent (line 54) | function indent(_stream, state) {
function dedent (line 58) | function dedent(_stream, state) {
function tokenBase (line 62) | function tokenBase(stream, state) {
function tokenStringFactory (line 172) | function tokenStringFactory(delimiter) {
function tokenLexer (line 198) | function tokenLexer(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/vbscript/vbscript.js
function wordRegexp (line 28) | function wordRegexp(words) {
function indent (line 108) | function indent(_stream, state) {
function dedent (line 112) | function dedent(_stream, state) {
function tokenBase (line 116) | function tokenBase(stream, state) {
function tokenStringFactory (line 259) | function tokenStringFactory(delimiter) {
function tokenLexer (line 285) | function tokenLexer(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/velocity/velocity.js
function parseWords (line 15) | function parseWords(str) {
function chain (line 28) | function chain(stream, state, f) {
function tokenBase (line 32) | function tokenBase(stream, state) {
function tokenString (line 130) | function tokenString(quote) {
function tokenComment (line 150) | function tokenComment(stream, state) {
function tokenUnparsed (line 162) | function tokenUnparsed(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/verilog/verilog.js
function words (line 29) | function words(str) {
function tokenBase (line 122) | function tokenBase(stream, state) {
function tokenString (line 249) | function tokenString(quote) {
function tokenComment (line 262) | function tokenComment(stream, state) {
function Context (line 274) | function Context(indented, column, type, scopekind, align, prev) {
function pushContext (line 282) | function pushContext(state, col, type, scopekind) {
function popContext (line 287) | function popContext(state) {
function isClosing (line 295) | function isClosing(text, contextClosing) {
function isInsideScopeKind (line 310) | function isInsideScopeKind(ctx, scopekind) {
function buildElectricInputRegEx (line 320) | function buildElectricInputRegEx() {
function tlvScopeStyle (line 554) | function tlvScopeStyle(state, indentation, type) {
function tlvIdentNext (line 561) | function tlvIdentNext(stream) {
FILE: _files/assets/codemirror@6.65.7/mode/vhdl/vhdl.js
function words (line 15) | function words(str) {
function metaHook (line 27) | function metaHook(stream) {
function tokenBase (line 51) | function tokenBase(stream, state) {
function tokenString (line 93) | function tokenString(quote) {
function tokenString2 (line 105) | function tokenString2(quote) {
function Context (line 118) | function Context(indented, column, type, align, prev) {
function pushContext (line 125) | function pushContext(state, col, type) {
function popContext (line 128) | function popContext(state) {
FILE: _files/assets/codemirror@6.65.7/mode/webidl/webidl.js
function wordRegexp (line 14) | function wordRegexp(words) {
function readToken (line 94) | function readToken(stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/xml/xml.js
function inText (line 69) | function inText(stream, state) {
function inTag (line 117) | function inTag(stream, state) {
function inAttribute (line 142) | function inAttribute(quote) {
function inBlock (line 156) | function inBlock(style, terminator) {
function doctype (line 169) | function doctype(depth) {
function lower (line 190) | function lower(tagName) {
function Context (line 194) | function Context(state, tagName, startOfLine) {
function popContext (line 202) | function popContext(state) {
function maybePopContext (line 205) | function maybePopContext(state, nextTagName) {
function baseState (line 220) | function baseState(type, stream, state) {
function tagNameState (line 230) | function tagNameState(type, stream, state) {
function closeTagNameState (line 243) | function closeTagNameState(type, stream, state) {
function closeState (line 265) | function closeState(type, _stream, state) {
function closeStateErr (line 273) | function closeStateErr(type, stream, state) {
function attrState (line 278) | function attrState(type, _stream, state) {
function attrEqState (line 297) | function attrEqState(type, stream, state) {
function attrValueState (line 302) | function attrValueState(type, stream, state) {
function attrContinuedState (line 308) | function attrContinuedState(type, stream, state) {
FILE: _files/assets/codemirror@6.65.7/mode/xquery/xquery.js
function kw (line 21) | function kw(type) {return {type: type, style: "keyword"};}
function chain (line 82) | function chain(stream, state, f) {
function tokenBase (line 88) | function tokenBase(stream, state) {
function tokenComment (line 221) | function tokenComment(stream, state) {
function tokenString (line 244) | function tokenString(quote, f) {
function tokenVariable (line 284) | function tokenVariable(stream, state) {
function tokenTag (line 301) | function tokenTag(name, isclose) {
function tokenAttribute (line 324) | function tokenAttribute(stream, state) {
function tokenXMLComment (line 359) | function tokenXMLComment(stream, state) {
function tokenCDATA (line 371) | function tokenCDATA(stream, state) {
function tokenPreProcessing (line 382) | function tokenPreProcessing(stream, state) {
function isInXmlBlock (line 394) | function isInXmlBlock(state) { return isIn(state, "tag"); }
function isInXmlAttributeBlock (line 395) | function isInXmlAttributeBlock(state) { return isIn(state, "attribute"); }
function isInXmlConstructor (line 396) | function isInXmlConstructor(state) { return isIn(state, "xmlconstructor"...
function isInString (line 397) | function isInString(state) { return isIn(state, "string"); }
function isEQNameAhead (line 399) | function isEQNameAhead(stream) {
function isIn (line 409) | function isIn(state, type) {
function pushStateStack (line 413) | function pushStateStack(state, newState) {
function popStateStack (line 417) | function popStateStack(state) {
FILE: _files/assets/codemirror@6.65.7/mode/yacas/yacas.js
function words (line 19) | function words(str) {
function tokenBase (line 42) | function tokenBase(stream, state) {
function tokenString (line 136) | function tokenString(stream, state) {
function tokenComment (line 151) | function tokenComment(stream, state) {
function currentScope (line 163) | function currentScope(state) {
FILE: _files/assets/codemirror@6.65.7/mode/yaml-frontmatter/yaml-frontmatter.js
function localMode (line 20) | function localMode(state) {
FILE: _files/assets/dayjs@1.11.13/locale/af.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/am.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ar-dz.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/ar-iq.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ar-kw.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/ar-ly.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/ar-ma.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ar-sa.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/ar-tn.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ar.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/az.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/be.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/bg.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/bi.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/bm.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/bn-bd.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/bn.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/bo.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/br.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function r (line 1) | function r(e){return e>9?r(e%10):e}
function t (line 1) | function t(e,n,u){return e+" "+function(e,n){return 2===n?function(e){re...
FILE: _files/assets/dayjs@1.11.13/locale/bs.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ca.js
function s (line 1) | function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/cs.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function s (line 1) | function s(e){return e>1&&e<5&&1!=~~(e/10)}
function r (line 1) | function r(e,n,t,r){var d=e+" ";switch(t){case"s":return n||r?"pár sekun...
FILE: _files/assets/dayjs@1.11.13/locale/cv.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/cy.js
function e (line 1) | function e(d){return d&&"object"==typeof d&&"default"in d?d:{default:d}}
FILE: _files/assets/dayjs@1.11.13/locale/da.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/de-at.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function a (line 1) | function a(e,n,t){var a=i[t];return Array.isArray(a)&&(a=a[n?0:1]),a.rep...
FILE: _files/assets/dayjs@1.11.13/locale/de-ch.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function i (line 1) | function i(e,n,t){var i=a[t];return Array.isArray(i)&&(i=i[n?0:1]),i.rep...
FILE: _files/assets/dayjs@1.11.13/locale/de.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function i (line 1) | function i(e,n,t){var i=a[t];return Array.isArray(i)&&(i=i[n?0:1]),i.rep...
FILE: _files/assets/dayjs@1.11.13/locale/dv.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/el.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-au.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-ca.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-gb.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-ie.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-il.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-in.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-nz.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-sg.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/en-tt.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/eo.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/es-do.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/es-mx.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/es-pr.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/es-us.js
function s (line 1) | function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/es.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/et.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function u (line 1) | function u(e,a,t,u){var s={s:["mõne sekundi","mõni sekund","paar sekundi...
FILE: _files/assets/dayjs@1.11.13/locale/eu.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/fa.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/fi.js
function e (line 1) | function e(u){return u&&"object"==typeof u&&"default"in u?u:{default:u}}
function n (line 1) | function n(u,e,t,n){var i={s:"muutama sekunti",m:"minuutti",mm:"%d minuu...
FILE: _files/assets/dayjs@1.11.13/locale/fo.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/fr-ca.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/fr-ch.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/fr.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/fy.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ga.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/gd.js
function i (line 1) | function i(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/gl.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/gom-latn.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/gu.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/he.js
function M (line 1) | function M(Y){return Y&&"object"==typeof Y&&"default"in Y?Y:{default:Y}}
function _ (line 1) | function _(Y,M,d){return(e[d+(2===Y?"2":"")]||e[d]).replace("%d",Y)}
FILE: _files/assets/dayjs@1.11.13/locale/hi.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/hr.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ht.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/hu.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/hy-am.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/id.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/index.d.ts
type Locale (line 5) | interface Locale extends ILocale {}
FILE: _files/assets/dayjs@1.11.13/locale/is.js
function r (line 1) | function r(u){return u&&"object"==typeof u&&"default"in u?u:{default:u}}
function t (line 1) | function t(u,r,n,t){var a=function(u,r,n,t){var a=t?0:n?1:2,d=2===u.leng...
FILE: _files/assets/dayjs@1.11.13/locale/it-ch.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/it.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ja.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/jv.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ka.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/kk.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/km.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/kn.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/ko.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ku.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ky.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/lb.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/lo.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/lt.js
function s (line 1) | function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/lv.js
function s (line 1) | function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/me.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/mi.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/mk.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ml.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/mn.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/mr.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/ms-my.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ms.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/mt.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/my.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/nb.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ne.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/nl-be.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/nl.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/nn.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/oc-lnc.js
function d (line 1) | function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/pa-in.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/pl.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function a (line 1) | function a(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}
function n (line 1) | function n(e,t,i){var n=e+" ";switch(i){case"m":return t?"minuta":"minut...
FILE: _files/assets/dayjs@1.11.13/locale/pt-br.js
function o (line 1) | function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/pt.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/rn.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/ro.js
function i (line 1) | function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ru.js
function t (line 1) | function t(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
function d (line 1) | function d(_,t,e){var n,s;return"m"===e?t?"минута":"минуту":_+" "+(n=+_,...
FILE: _files/assets/dayjs@1.11.13/locale/rw.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/sd.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/se.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/si.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/sk.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function r (line 1) | function r(e){return e>1&&e<5&&1!=~~(e/10)}
function o (line 1) | function o(e,t,n,o){var a=e+" ";switch(n){case"s":return t||o?"pár sekún...
FILE: _files/assets/dayjs@1.11.13/locale/sl.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
function r (line 1) | function r(e){return e%100==2}
function a (line 1) | function a(e){return e%100==3||e%100==4}
function s (line 1) | function s(e,n,t,s){var m=e+" ";switch(t){case"s":return n||s?"nekaj sek...
FILE: _files/assets/dayjs@1.11.13/locale/sq.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/sr-cyrl.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/sr.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/ss.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/sv-fi.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/sv.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/sw.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/ta.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/te.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/tet.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/tg.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/th.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/tk.js
function n (line 1) | function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/tl-ph.js
function a (line 1) | function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/tlh.js
function j (line 1) | function j(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/tr.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/types.d.ts
type ILocale (line 1) | interface ILocale {
FILE: _files/assets/dayjs@1.11.13/locale/tzl.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/tzm-latn.js
function s (line 1) | function s(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/tzm.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/ug-cn.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/uk.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
function d (line 1) | function d(_,e,t){var s,n;return"m"===t?e?"хвилина":"хвилину":"h"===t?e?...
FILE: _files/assets/dayjs@1.11.13/locale/ur.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/uz-latn.js
function e (line 1) | function e(a){return a&&"object"==typeof a&&"default"in a?a:{default:a}}
FILE: _files/assets/dayjs@1.11.13/locale/uz.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/vi.js
function n (line 1) | function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}
FILE: _files/assets/dayjs@1.11.13/locale/x-pseudo.js
function t (line 1) | function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/yo.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/zh-cn.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/locale/zh-hk.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/zh-tw.js
function e (line 1) | function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}
FILE: _files/assets/dayjs@1.11.13/locale/zh.js
function _ (line 1) | function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}
FILE: _files/assets/dayjs@1.11.13/plugin/relativeTime.js
function i (line 1) | function i(r,e,t,o){return n.fromToBase(r,e,t,o)}
FILE: _files/assets/files.photo.gallery@0.15.3/js/files.js
function t (line 2) | function t(e=_c.current_dir.path,t=_c.current_dir.basename,i){let a=i?0:...
function i (line 2) | function i(){const e=Swal.getContainer();if(!e)return;const t=getCompute...
function a (line 2) | function a(e){return e?e.replace(/"/g,"""):""}
function n (line 2) | function n(e){return e?e.replace(/</g,"<").replace(/>/g,">"):""}
function o (line 2) | function o(e,t){return'<span class="'+t+'">'+e+"</span>"}
function s (line 2) | function s(e){return _c.allow_download&&_c.allow_mass_download&&ne?`${_c...
method get (line 2) | get(){return this.ownerDocument.contains(this)}
function r (line 2) | function r(e,t=!1){return`/cdn-cgi/image/${t?"width=480,height=480":"for...
function c (line 2) | function c(e,t){let i=!!e.url_path&&encodeURI(e.url_path).replace(/#/g,"...
function p (line 2) | function p(e,t){return e.url?encodeURI(e.url):e.is_dir?d(e.path):c(e,t)}
function d (line 2) | function d(e){return location.pathname+(e?"?"+encodeURIComponent(e).repl...
function m (line 2) | function m(e){for(;e.firstChild;)e.firstChild.remove()}
function u (line 2) | function u(e,t,i){L(e,(function(e){var i=e.target.dataset.action;i&&t(i,...
function h (line 2) | function h(e){return Array.isArray(e)?_c.config.map_link.replace("{latit...
function _ (line 2) | function _(e,t){return e?`<span class="${t}">${e[0]} x ${e[1]}</span>`:""}
function f (line 2) | function f(e,t){return e.is_dir?e.hasOwnProperty("dirsize")?`<span class...
function v (line 2) | function v(e,t,i){if(!_c.config.context_menu||!e)return"";let a=i?"span"...
function b (line 2) | function b(e,t,i,a){if(!e||!e.iptc)return"";var n=Object.keys(e.iptc);if...
function y (line 2) | function y(e,t,i){if(!e||!e.exif)return"";var a=E(["Model","ApertureFNum...
function x (line 2) | function x(e,t){return e&&X.is_pointer?' data-lang="'+e+'"'+(t?' data-to...
function A (line 2) | function A(e){if(navigator.clipboard)return navigator.clipboard.writeTex...
function w (line 2) | function w(e,t,i,a){e.classList.add(t),i&&(e.disabled=i),Q(a||2e3).then(...
function C (line 2) | function C(e,t,i){if(!i&&e.which<=1&&!["meta","ctrl","shift","alt"].some...
function L (line 2) | function L(e,t,i,a,n){e.addEventListener(i||"click",function(e,t){return...
function k (line 2) | function k(e,t){var i;return function(a){i&&clearTimeout(i),i=setTimeout...
function H (line 2) | function H(e,t,i,a){return a&&(i=k(i,a)),e.addEventListener(t,i),{remove...
function $ (line 2) | function $(e,t,i){M[e]&&clearTimeout(M[e]),M[e]=setTimeout(t,i)}
function V (line 2) | function V(e,t){for(var i=e.length,a=0;a<i;a++)t(e[a],a)}
function E (line 2) | function E(e,t){for(var i="",a=e.length,n=0;n<a;n++)i+=t(e[n],n)||"";ret...
function z (line 2) | function z(e,t,i){var a=new RegExp("["+(i?"#":"?")+"&]"+e+(t?"=([^&]*)":...
function j (line 2) | function j(e){_c.debug&&console.log.apply(this,arguments)}
function I (line 2) | function I(e,t){e&&!e.style.display!=!t&&(e.style.display=t?"none":null)}
function e (line 2) | function e(e){return X.local_storage?localStorage.getItem(e):null}
function t (line 2) | function t(e,t){"boolean"==typeof t&&(t=t.toString());try{localStorage.s...
function O (line 2) | function O(e){var t=new XMLHttpRequest;return t.onreadystatechange=funct...
function S (line 2) | function S(e){return _c.server_exif&&e&&e.exif&&e.exif.Orientation&&e.ex...
function B (line 2) | function B(e){return atob(e)}
function Z (line 2) | function Z(e,t,i){return Math.min(Math.max(i,e),t)}
function R (line 2) | function R(){if(X.scrollbar_width){var e=document.documentElement,t=wind...
function D (line 2) | function D(e){if(!(e.is_dir&&e.is_readable&&_c.folder_preview_image&&_c....
function P (line 2) | function P(e,t){e.className!=t&&(e.className=t)}
function N (line 2) | function N(e){var t={};return e&&e.split("&").forEach((e=>{let[i,a]=e.sp...
function q (line 2) | function q(e,t){if(e)try{let i=JSON.parse(e);return t?i[t]:i}catch(e){re...
function W (line 2) | function W(){K.files_container.classList.contains("files-spinner")||(me....
function J (line 2) | function J(e,t){if(t.mime1&&t.mime0===e)return X.hasOwnProperty(e)||(X[e...
class ee (line 2) | class ee{static theme="contrast";static index=0;static config=e("theme",...
method init (line 2) | static init(){let e=this.is_theme(z("theme",!0));this.theme=e||this.is...
method is_theme (line 2) | static is_theme(e){return!(!e||!this.config.themes.includes(e))&&e}
method next (line 2) | static next(){this.index++,this.index>=this.config.themes.length&&(thi...
function p (line 2) | function p(e){if("en"===e)return m({},e);var t=a[e]||T.get_json("files:l...
function d (line 2) | function d(i){e=!!i,t&&t.classList.toggle("dropdown-lang-loading",e)}
function m (line 2) | function m(e,t){a[t]||(a[t]=Object.assign(e,o[t]||{})),r=e,_querya("[dat...
function h (line 2) | function h(e){if(e)return"nb"===e||"nn"===e?"no":!!s.includes(e)&&e}
function t (line 2) | function t(e){e.loading=!1,e.loaded=!0,V(e.complete,(function(e){e()})),...
function i (line 2) | function i(e,t,i){var a=0;V(e,(function(n){!function(e,t,i){var a="js"==...
function oe (line 2) | function oe(){if(ae--)return!ae&&setTimeout(oe,1e3);const e=`files:${B("...
function e (line 2) | function e(e,t,i){return e.format(t)+(i?'<span class="relative-time">'+e...
function t (line 2) | function t(t){dayjs.locale(t),K.main.style.setProperty("--list-date-flex...
function i (line 2) | function i(e){U.load_plugin("dayjs_locale_"+e,(function(){t(e)}),{src:["...
function n (line 2) | function n(e){if(e)return"no"===e||"nn"===e?"nb":!!a.includes(e)&&e}
function i (line 2) | function i(e,t,i){return`<svg viewBox="0 0 48 48" class="svg-folder ${e}...
class se (line 2) | class se{static config=e("drag",{enabled:!0,prompt:!1,copy:!0,delete:!1,...
method draggable (line 2) | static draggable(){return this.config.enabled?' draggable="true"':""}
method get_action (line 2) | static get_action(e){return this.config.copy?this.config.move?e.altKey...
method get_item (line 2) | static get_item(e){return e.dataset.name?_c.files[e.dataset.name]:_c.d...
method toggle_drop_target (line 2) | static toggle_drop_target(e,t){e&&e.isConnected&&e.classList.contains(...
method valid_drop_target (line 2) | static valid_drop_target(e){if(e===this.el.trashcan)return this.el.tra...
method dragenter (line 2) | static dragenter(e){const t=this.valid_drop_target(e.target);t&&(this....
method get_drag_image (line 2) | static get_drag_image(e){const t=this.fm.items.length>1,i=U.get_icon(e...
method dragstart (line 2) | static dragstart(e){if(!e.target.draggable||!e.target.hasAttribute("dr...
method get_effectAllowed (line 2) | static get_effectAllowed(){return this.config.copy||this.config.move?t...
method dragend (line 2) | static dragend(e){this.el.trashcan&&this.el.trashcan.style.removePrope...
method trashcan (line 2) | static trashcan(){document.body.insertAdjacentHTML("beforeend",`<div c...
method init (line 2) | static init(){if(!this.config.enabled)return;const e=["copy","delete",...
class le (line 2) | class le{static controls=`\n<div class="plyr__controls player-controls-c...
method create (line 2) | static create(e,t,i){if(this.config=this.get_config(i,e),"video"!==e||...
method get_config (line 2) | static get_config(t,i){return e("player")[i]?Object.assign({},this.def...
method ios_fix (line 2) | static ios_fix(e){X.is_ios&&e.elements.inputs&&["seek","volume"].forEa...
method tag (line 2) | static tag(e,t){let i=this.get_config(e,t),a=['controlslist="nodownloa...
method track (line 2) | static track(e){let t=!!e.ext&&_c.files[`${e.basename.slice(0,-e.ext.l...
method destroy (line 2) | static destroy(){this.player&&(this.hls&&this.hls.destroy(),this.playe...
method pause (line 2) | static pause(){this.player&&!this.player.paused&&this.player.pause&&th...
function o (line 2) | function o(e,t){return`<span class="crumb"><a href="${d(e)}" data-path="...
function s (line 2) | function s(t,i){var a={targets:t,translateX:i?[0,-2]:[-2,0],opacity:i?[1...
function l (line 2) | function l(){var a="",l=[],r="";t.length&&V(t,(function(e,t){a+=a?"/"+e:...
function r (line 2) | function r(e){const t=e.files||(_c.dirs[e.path]||{}).files;return t?Arra...
function d (line 2) | function d(){t.is_open&&m()}
function m (line 2) | function m(e){if(e!=t.is_open){var a=(e?"add":"remove")+"EventListener";...
class pe (line 2) | class pe{static html='\n<div class="audioplayer">\n <div class="audiopl...
method hashed (line 2) | static hashed(e){if(this.config.enabled&&this.config.history&&J("audio...
method global (line 2) | static global(){if(!this.config.enabled)return;if(this.config.files&&"...
method load_global_files (line 2) | static load_global_files(){this.is_global=!0,fetch(`${_c.script}?actio...
method global_player (line 2) | static global_player(e){let t=e.filter((e=>J("audio",e))).map((e=>({_v...
method get_mimes (line 2) | static get_mimes(e){let t=e?re[e]:"",i=t?t.split("/"):[];return{mime:t...
method page_load (line 2) | static page_load(){if(!this.is_global&&this.config.enabled){if(this.is...
method is_exclude (line 2) | static is_exclude(){return!(!this.config.include_dirs||_c.current_path...
method start_player (line 2) | static start_player(){let e=this.request=Date.now();U.load_plugin("ply...
method get_dir_items (line 2) | static get_dir_items(){this.dir_items=Y.list?Y.list.items.filter((e=>J...
method first_config (line 2) | static first_config(){void 0===this.myautoplay&&(this.myloop=!!this.co...
method create (line 2) | static create(){this.player_exists=!0,document.documentElement.classLi...
method initial_sort (line 2) | static initial_sort(){if(["list","initial"].includes(this.config.sort)...
method get_items (line 2) | static get_items(){if(this.is_global)return;if(!Y.list.searched||!this...
method play_index (line 2) | static play_index(e,t=!1){this.play_item(this.items[e],t)}
method play_item (line 2) | static play_item(e,t=!1){if(!e)return;this.playing_class(!1),this.item...
method set_title (line 2) | static set_title(){let e=this.item._values;if(this.el.title.innerHTML=...
method title_show (line 2) | static title_show(){this.config.title_show_duration&&this.config.title...
method first_click (line 2) | static first_click(){this.first_clicked||this.user_paused||!this.confi...
method destroy (line 2) | static destroy(){this.is_global||(this.request=0,this.player_exists&&(...
method nav (line 2) | static nav(e,t=!1){if(this.get_items(),1===this.items.length){if(!this...
method toggle_mini (line 2) | static toggle_mini(){this.is_mini=this.el.audioplayer.classList.toggle...
method playing_class (line 2) | static playing_class(e){this.item&&this.item.elm&&this.item.elm.classL...
method sort_items (line 2) | static sort_items(){"list"===this.config.sort&&this.items.sort(((e,t)=...
method set_user_paused_state (line 2) | static set_user_paused_state(e){this.config.remember_state&&!!e!=!!thi...
method list_click (line 2) | static list_click(e){if(!this.config.enabled||this.is_global||!this.pl...
method autopause (line 2) | static autopause(){this.player.playing&&this.config.autopause&&this.pl...
function n (line 2) | function n(e){e.classList.contains("touch-open")?a&&a.remove():a=H(docum...
class me (line 2) | class me{static actions=["copy","delete","duplicate","move","new_file","...
method delete_file (line 2) | delete_file(e){this.parent_dir&&this.parent_dir.files&&(delete this.pa...
method check_current_dir (line 2) | check_current_dir(){if(!_c.dirs[_c.current_path])return _c.current_dir...
method reload_current_dir (line 2) | reload_current_dir(e){e&&e===_c.current_dir&&U.get_files(_c.current_di...
method update_dirs (line 2) | update_dirs(e,t=!1){Object.keys(_c.dirs).forEach((i=>{if(!(i+"/").star...
method update_current_dir (line 2) | update_current_dir(){if(this.parent_dir_is_current_dir()){if(this.dele...
method delete_list_items (line 2) | delete_list_items(){this.list_items.forEach((e=>{const t=Y.list.items....
method get_target_ul (line 2) | get_target_ul(e){if(!e||!K.sidebar_menu)return;if(!e.path)return K.sid...
method remove_ul (line 2) | remove_ul(e){if(!e)return;const t=e.parentElement;e.remove(),t.classLi...
method clear_max_depth_uls (line 2) | clear_max_depth_uls(e){if(!e)return;const t=e.parentElement,i=1*(t.par...
method li_looper (line 2) | li_looper(e,t,i,a){if(!e)return;[e].concat(_class("menu-li",e)).forEac...
method clean_dir (line 2) | static clean_dir(e,t=!0){e&&(t&&delete e.files,delete e.html,delete e....
method get_url_path (line 2) | get_url_path(e,t,i){return!(!e||!e.endsWith(t))&&e.replace(new RegExp(...
method file_exists (line 2) | file_exists(e,t,i=!1){if(!t)return;const a=e.toLowerCase();if(t.files&...
method get_unique_filename (line 2) | get_unique_filename(e,t,i=!1){if(!this.file_exists(e,t,i))return e;con...
method get_items_type (line 2) | static get_items_type(e){if(!e.length)return"files";let t=0,i=0;e.forE...
method prompt_highlight_path (line 2) | prompt_highlight_path(e,t){return`<div class="files-swal2-path">${e||!...
method get_datalist_dirs (line 2) | get_datalist_dirs(){return`<datalist id="datalist_dirs">${Object.keys(...
method select_input_text (line 2) | select_input_text(){if(!this.name_action)return;if(!X.is_pointer)retur...
method stri_match (line 2) | stri_match(e,t){return e.toUpperCase()===t.toUpperCase()}
method is_invalid (line 2) | is_invalid(e,t){return setTimeout((()=>this.select_input_text()),1),`$...
method invalid_name (line 2) | invalid_name(e,t,i){if(!e)return;const a=e.match(/[<>:"'/\\|?*#]|\.\.|...
method invalid_rename (line 2) | invalid_rename(e,t){return!this.stri_match(e,t.basename)&&(t.is_dir&&!...
method is_invalid_path_name (line 2) | is_invalid_path_name(e){if(!e)return;const t=e.match(/^\/|\.(\.|\/)|\/...
method is_invalid_copy_move_path (line 2) | is_invalid_copy_move_path(e){if(!e)return;const t=_c.dirs[e];if(t&&!t....
method is_in_self (line 2) | static is_in_self(e,t){return(e+"/").startsWith(t+"/")}
method into_self (line 2) | into_self(e){return this.items.some((t=>!!t.is_dir&&(!t.path||me.is_in...
method toggle_loading_el (line 2) | toggle_loading_el(e,t){e&&e.classList.toggle("fm-processing",!!t)}
method toggle_loading (line 2) | toggle_loading(e){["delete","move","rename"].includes(this.action)&&(t...
method get_menu_li (line 2) | get_menu_li(e){if(!e.is_dir)return;const t=e.menu_li?e:_c.dirs[e.path]...
method sort_menu_name (line 2) | sort_menu_name(e,t){return e.dataset.path.localeCompare(t.dataset.path...
method sort_menu_date (line 2) | sort_menu_date(e,t){const i=_c.dirs[e.dataset.path],a=_c.dirs[t.datase...
method sort_menu_level (line 2) | sort_menu_level(e){if(!e)return;const t=Array.from(e.children);t.sort(...
method get_parent_path (line 2) | static get_parent_path(e){return!!(e=e.replace(/^\/|\/$/g,""))&&e.subs...
method create_path (line 2) | static create_path(){return Array.from(arguments).map((e=>e.replace(/^...
method get_parent_dir (line 2) | get_parent_dir(){return this.list_items.length&&this.start_dir?this.st...
method parent_dir_is_current_dir (line 2) | parent_dir_is_current_dir(){return this.parent_dir&&this.parent_dir===...
method get_list_items (line 2) | get_list_items(){if(!Y.list||!_c.files)return[];const e=_c.files[this....
method requires_prompt (line 2) | requires_prompt(){return this.hasOwnProperty("show_prompt")?!!this.sho...
method open_prompt (line 2) | open_prompt(){const e={title:this.action_name,input:this.is_input_acti...
method constructor (line 2) | constructor(e){return Object.keys(e).forEach((t=>this[t]=e[t])),this.s...
method toast_success (line 2) | toast_success(){if(!this.partial_fail)return F.toggle(!0,`${this.actio...
method success (line 2) | success(){if(this.complete&&this.complete(!0),this.parent_dir||(this.p...
method dir_is_writeable (line 2) | dir_is_writeable(e){return!e||e.is_writeable}
method load (line 2) | load(){if(_c.hasOwnProperty(`allow_${this.action}`)&&!_c[`allow_${this...
function t (line 2) | function t(){let e=p.watermark.use_image||!!p.watermark.text;p.watermark...
function m (line 2) | function m(e){let t=e.currentTarget,i=t.id.replace("compressor-",""),a="...
function u (line 2) | function u(e,t){var i=n.getPlugin("Dashboard");!!e!==i.isModalOpen()&&(i...
function h (line 2) | function h(e){U.load_plugin("uppy_locale_"+e,(()=>{Y.uppy.setOptions({lo...
function o (line 2) | function o(e){i&&(K.filter_container.dataset.input=e||"")}
function he (line 2) | function he(e,t){return""===e&&(e="ROOT"),"files:dir:"+_c.dirs_hash+":"+...
function m (line 2) | function m(t,i){if(e)return e.abort(),e=!1,void(i&&i());if(_c.config.tra...
function h (line 2) | function h(e,i,a,n){t(e,i,n),a&&_c.config.history&&history[a+"State"]({p...
function A (line 2) | function A(){const e=E(_c.file_names,((e,t)=>{var m=_c.files[e];if(m.is_...
function k (line 2) | function k(e){if("replace"!==e||Y.load_action_was_triggered)return;if(Y....
function H (line 2) | function H(e,t,i){if(oe(),image_load_errors=0,_c.current_dir=_c.dirs[e],...
function M (line 2) | function M(e,t){return _c.dirs[e]?t?_c.dirs[e].mtime>t.mtime?_c.dirs[e]=...
function $ (line 2) | function $(e,t,i){_c.current_dir=!1,pe.destroy(),ye.reset(),U.topbar_inf...
function r (line 2) | function r(e){1==s++&&H(t,i,l?"files from JSON "+l:"files from xmlhttp")}
function r (line 2) | function r(){K.files.style.setProperty("--imagelist-height",c?"100px":"1...
function p (line 2) | function p(e){return Y.layout={layout:e,ob:t[e],index:a.indexOf(e)}}
function m (line 2) | function m(){var e=d.ob;[[b,"imagelist"===d.layout||e.size||e.contain],[...
function D (line 2) | function D(e){d.layout!==e&&(_.innerHTML=U.get_svg_icon("layout_"+e),v[d...
class _e (line 2) | class _e{static el={};static interval;static logout_method;static option...
method button (line 2) | static button(){const e=_c.is_logged_in?"logout":"login";_e.options[`$...
method login_confirm (line 2) | static login_confirm(){let e,t;Ae.confirm.fire({title:ie.get("login"),...
method logout_confirm (line 2) | static logout_confirm(){Ae.confirm.fire({title:ie.get("logout"),text:`...
method ping (line 2) | static ping(){fetch(`${_c.script}?action=ping`,{method:"POST"}).then((...
method init_ping (line 2) | static init_ping(){_c.is_logged_in&&_e.options.ping&&(_e.interval=setI...
method was_logged_out (line 2) | static was_logged_out(e){if(_e.interval&&clearInterval(_e.interval),_e...
method logout_refresh (line 2) | static logout_refresh(){document.body.classList.add(Swal.isVisible()?"...
class fe (line 2) | class fe{static config=e("mediatags",{layout_pictures:!0,modal_picture:!...
method tags (line 2) | static tags(e,t){if(e.tags)return t(e.tags);let i=new URL(c(e),locatio...
method pic_src (line 2) | static pic_src(e,t){this.tags(e,(e=>{if(!e.picture)return;let i="";ret...
method is_audio (line 2) | static is_audio(e){return"audio"===e.mime0&&this.config.types.includes...
method pictures (line 2) | static pictures(){if(!_c.load_images||!this.config.layout_pictures)ret...
method destroy_observer (line 2) | static destroy_observer(){this.observer&&(this.observer.disconnect(),t...
method intersect (line 2) | static intersect(e,t){e.forEach((e=>{if(!e.isIntersecting)return;fe.ob...
method modal_picture (line 2) | static modal_picture(e,t){this.config.modal_picture&&this.is_audio(e)&...
function d (line 3) | function d(e){e!==i.options.showHideOpacity&&(i.options.showHideOpacity=...
function u (line 3) | function u(){var e=t.current_video;e&&e.pause()}
function h (line 3) | function h(){return!i.options.loop&&i.getCurrentIndex()===i.options.getN...
function g (line 3) | function g(){t.pano_viewer&&(t.pano_viewer.destroy(),t.pano_viewer=!1)}
class ye (line 3) | class ye{static actions={move:"folder_move_outline",copy:"content_copy",...
method headroom_pin (line 3) | static headroom_pin(e){let t=Y.headroom;t&&(e&&e.y&&e.y<t.elem.clientH...
method select (line 3) | static select(e,t){if(!!e.dataset.selected!=!!t)return this.count+=t?1...
method range (line 3) | static range(e,t){if(/*!toggle && */this.focus==this.anchor)return;let...
method click (line 3) | static click(e,t){if(!this.config.enabled)return;const i=e.target.clas...
method matchingItems_length (line 3) | static matchingItems_length(){return Y.list?Math.min(Y.list.matchingIt...
method all (line 3) | static all(e){const t=this.matchingItems_length();if(!t)return;const i...
method selected (line 3) | static selected(){return this.matchingItems_length()?Y.list.matchingIt...
method toggle_has_matchingItems (line 3) | static toggle_has_matchingItems(e){this.el.selectbar.classList.toggle(...
method update (line 3) | static update(){this.config.enabled&&(this.count=this.selected().lengt...
method reset (line 3) | static reset(e){this.config.enabled&&(this.anchor=this.focus=0,this.to...
method interface (line 3) | static interface(){this.el.counter.textContent=this.count||"",this.el....
method set_mode (line 3) | static set_mode(e){this.mode=!!e,K.main.classList.toggle("select-mode"...
method copy_links (line 3) | static copy_links(e){const t=[];return e.forEach((e=>{try{const i=new ...
method paste_items (line 3) | static paste_items(){if(!(_c.current_dir&&this.copied_items.length&&th...
method select_action (line 3) | static select_action(e){if("toggle"===e)return this.all();const t=this...
method keyboard_events (line 3) | static keyboard_events(){if(!this.config.keyboard_shortcuts||!this.con...
method init (line 3) | static init(){if(!this.config.enabled)return;if(this.buttons=this.conf...
class xe (line 3) | class xe{static users;static usernames;static username;static is_install...
method constructor (line 3) | constructor(){if(["default","users"].every((e=>!xe.options[`allow_${e}...
method modal (line 3) | modal(){Ae.confirm.fire({title:ie.get("settings"),cancelButtonText:ie....
method open (line 3) | open(){if(this.el.popup=Swal.getPopup(),this.el.container=Swal.getHtml...
method load (line 3) | load(e,t,i){return!e.load&&_c.demo_mode?F.demo():e.load||ne||xe.is_ins...
method loader (line 3) | loader(e){this.is_loading=!!e,this.el.select&&Q(1).then((()=>["save","...
method interface (line 3) | interface(){this.el.container.innerHTML=`\n <div class="users"${x...
method select_option (line 3) | select_option(e,t){return`<option value="${a(e)}"${t?" selected":""}>$...
method codemirror (line 3) | codemirror(){this.cm=CodeMirror(this.el.options,{lineNumbers:!0,mode:"...
method toggle_fullscreen (line 3) | toggle_fullscreen(){this.el.popup.classList.toggle("settings-fullscree...
method assign_user (line 3) | assign_user(e=!1){e&&this.el.select.value!==e&&(this.el.select.value=e...
method remove_user (line 3) | remove_user(){xe.options.allow_remove&&xe.username&&"default"!==xe.use...
method preconfirm (line 3) | preconfirm(e){if(this.is_loading)return!1;if(this.username_new=this.el...
method invalid_username (line 3) | invalid_username(e){return this.el.username.select(),this.invalid(e)}
method invalid (line 3) | invalid(e){return["pointerup","keydown"].forEach((e=>this.el.popup.add...
method ensure_commas (line 3) | ensure_commas(){let e=this.data.split("\n");if(!e)return;let t=0;e.for...
method check_reload (line 3) | check_reload(e){if(xe.options.reload&&(this.is_default_user||this.is_c...
method reload_confirm (line 3) | reload_confirm(){let e=xe.options.reload_confirm;return!e||("string"!=...
method update (line 3) | update(e){if(this.check_reload(),e!==this.data){let t=this.cm.getCurso...
method random_password (line 3) | random_password(){const e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg...
function t (line 3) | function t(t){e.dataset.updated=t,e.style.cursor="pointer";var i=H(e,"cl...
function k (line 3) | function k(){ae.preview.dataset.counter=te.index+1+"/"+Y.list.matchingIt...
function H (line 3) | function H(){if(!te.codemirror||te.codemirror_saving||!ae.code_save_butt...
function M (line 3) | function M(e,t){_c.config.history&&history[e+"State"](null,te.item.basen...
function $ (line 3) | function $(e){anime({targets:ae.preview.querySelector("svg").children,sc...
function j (line 3) | function j(){te.codemirror_xhr&&(te.codemirror_xhr.abort(),te.codemirror...
function I (line 3) | function I(){return location.hash==="#"+encodeURIComponent(te.item.basen...
function B (line 3) | function B(e){document.documentElement.classList.toggle("modal-open",!!e...
function Z (line 3) | function Z(){te.is_fullscreen=!te.is_fullscreen,ae.popup.classList.toggl...
function G (line 3) | function G(e,t){var i=(e||W).split("-"),a=["x","y"].map(((e,t)=>`modal-p...
function oe (line 3) | function oe(e){j(),re(e),M("replace")}
function se (line 3) | function se(e){if(!e.is_dir&&e.is_readable){if(e.browser_image)return te...
method draggable (line 2) | static draggable(){return this.config.enabled?' draggable="true"':""}
method get_action (line 2) | static get_action(e){return this.config.copy?this.config.move?e.altKey...
method get_item (line 2) | static get_item(e){return e.dataset.name?_c.files[e.dataset.name]:_c.d...
method toggle_drop_target (line 2) | static toggle_drop_target(e,t){e&&e.isConnected&&e.classList.contains(...
method valid_drop_target (line 2) | static valid_drop_target(e){if(e===this.el.trashcan)return this.el.tra...
method dragenter (line 2) | static dragenter(e){const t=this.valid_drop_target(e.target);t&&(this....
method get_drag_image (line 2) | static get_drag_image(e){const t=this.fm.items.length>1,i=U.get_icon(e...
method dragstart (line 2) | static dragstart(e){if(!e.target.draggable||!e.target.hasAttribute("dr...
method get_effectAllowed (line 2) | static get_effectAllowed(){return this.config.copy||this.config.move?t...
method dragend (line 2) | static dragend(e){this.el.trashcan&&this.el.trashcan.style.removePrope...
method trashcan (line 2) | static trashcan(){document.body.insertAdjacentHTML("beforeend",`<div c...
method init (line 2) | static init(){if(!this.config.enabled)return;const e=["copy","delete",...
function re (line 3) | function re(i,s){ae.modal.scrollTop=0,ae.code_save_button&&ae.code_save_...
function ce (line 3) | function ce(){te.idle_timeout&&clearTimeout(te.idle_timeout),te.idle_tim...
function pe (line 3) | function pe(e){te.is_idle=e,ae.popup.classList.toggle("modal-popup-idle"...
method hashed (line 2) | static hashed(e){if(this.config.enabled&&this.config.history&&J("audio...
method global (line 2) | static global(){if(!this.config.enabled)return;if(this.config.files&&"...
method load_global_files (line 2) | static load_global_files(){this.is_global=!0,fetch(`${_c.script}?actio...
method global_player (line 2) | static global_player(e){let t=e.filter((e=>J("audio",e))).map((e=>({_v...
method get_mimes (line 2) | static get_mimes(e){let t=e?re[e]:"",i=t?t.split("/"):[];return{mime:t...
method page_load (line 2) | static page_load(){if(!this.is_global&&this.config.enabled){if(this.is...
method is_exclude (line 2) | static is_exclude(){return!(!this.config.include_dirs||_c.current_path...
method start_player (line 2) | static start_player(){let e=this.request=Date.now();U.load_plugin("ply...
method get_dir_items (line 2) | static get_dir_items(){this.dir_items=Y.list?Y.list.items.filter((e=>J...
method first_config (line 2) | static first_config(){void 0===this.myautoplay&&(this.myloop=!!this.co...
method create (line 2) | static create(){this.player_exists=!0,document.documentElement.classLi...
method initial_sort (line 2) | static initial_sort(){if(["list","initial"].includes(this.config.sort)...
method get_items (line 2) | static get_items(){if(this.is_global)return;if(!Y.list.searched||!this...
method play_index (line 2) | static play_index(e,t=!1){this.play_item(this.items[e],t)}
method play_item (line 2) | static play_item(e,t=!1){if(!e)return;this.playing_class(!1),this.item...
method set_title (line 2) | static set_title(){let e=this.item._values;if(this.el.title.innerHTML=...
method title_show (line 2) | static title_show(){this.config.title_show_duration&&this.config.title...
method first_click (line 2) | static first_click(){this.first_clicked||this.user_paused||!this.confi...
method destroy (line 2) | static destroy(){this.is_global||(this.request=0,this.player_exists&&(...
method nav (line 2) | static nav(e,t=!1){if(this.get_items(),1===this.items.length){if(!this...
method toggle_mini (line 2) | static toggle_mini(){this.is_mini=this.el.audioplayer.classList.toggle...
method playing_class (line 2) | static playing_class(e){this.item&&this.item.elm&&this.item.elm.classL...
method sort_items (line 2) | static sort_items(){"list"===this.config.sort&&this.items.sort(((e,t)=...
method set_user_paused_state (line 2) | static set_user_paused_state(e){this.config.remember_state&&!!e!=!!thi...
method list_click (line 2) | static list_click(e){if(!this.config.enabled||this.is_global||!this.pl...
method autopause (line 2) | static autopause(){this.player.playing&&this.config.autopause&&this.pl...
function de (line 3) | function de(e){e&&e.target!==e.currentTarget||(ae.popup.removeEventListe...
function ue (line 3) | function ue(){te.open&&!I()&&U.close_modal(!1)}
function he (line 3) | function he(){return!te.open||Swal.isVisible()||!I()}
function _e (line 3) | function _e(e){return!(!te.has_nav||!["ArrowLeft","ArrowRight"].includes...
method button (line 2) | static button(){const e=_c.is_logged_in?"logout":"login";_e.options[`$...
method login_confirm (line 2) | static login_confirm(){let e,t;Ae.confirm.fire({title:ie.get("login"),...
method logout_confirm (line 2) | static logout_confirm(){Ae.confirm.fire({title:ie.get("logout"),text:`...
method ping (line 2) | static ping(){fetch(`${_c.script}?action=ping`,{method:"POST"}).then((...
method init_ping (line 2) | static init_ping(){_c.is_logged_in&&_e.options.ping&&(_e.interval=setI...
method was_logged_out (line 2) | static was_logged_out(e){if(_e.interval&&clearInterval(_e.interval),_e...
method logout_refresh (line 2) | static logout_refresh(){document.body.classList.add(Swal.isVisible()?"...
function ge (line 3) | function ge(e){if(!e.repeat&&!he())if(document.activeElement&&[ae.ArrowL...
function ve (line 3) | function ve(e){!he()&&_e(e.key)&&ae[e.key].classList.remove("modal-nav-a...
function be (line 3) | function be(e){he()||ae.popup.contains(e.target)||Array.from(ae.header.c...
function ye (line 3) | function ye(e){e.target.dataset.action||(matchMedia("(max-width: 575.98p...
method headroom_pin (line 3) | static headroom_pin(e){let t=Y.headroom;t&&(e&&e.y&&e.y<t.elem.clientH...
method select (line 3) | static select(e,t){if(!!e.dataset.selected!=!!t)return this.count+=t?1...
method range (line 3) | static range(e,t){if(/*!toggle && */this.focus==this.anchor)return;let...
method click (line 3) | static click(e,t){if(!this.config.enabled)return;const i=e.target.clas...
method matchingItems_length (line 3) | static matchingItems_length(){return Y.list?Math.min(Y.list.matchingIt...
method all (line 3) | static all(e){const t=this.matchingItems_length();if(!t)return;const i...
method selected (line 3) | static selected(){return this.matchingItems_length()?Y.list.matchingIt...
method toggle_has_matchingItems (line 3) | static toggle_has_matchingItems(e){this.el.selectbar.classList.toggle(...
method update (line 3) | static update(){this.config.enabled&&(this.count=this.selected().lengt...
method reset (line 3) | static reset(e){this.config.enabled&&(this.anchor=this.focus=0,this.to...
method interface (line 3) | static interface(){this.el.counter.textContent=this.count||"",this.el....
method set_mode (line 3) | static set_mode(e){this.mode=!!e,K.main.classList.toggle("select-mode"...
method copy_links (line 3) | static copy_links(e){const t=[];return e.forEach((e=>{try{const i=new ...
method paste_items (line 3) | static paste_items(){if(!(_c.current_dir&&this.copied_items.length&&th...
method select_action (line 3) | static select_action(e){if("toggle"===e)return this.all();const t=this...
method keyboard_events (line 3) | static keyboard_events(){if(!this.config.keyboard_shortcuts||!this.con...
method init (line 3) | static init(){if(!this.config.enabled)return;if(this.buttons=this.conf...
function xe (line 3) | function xe(e){let t=(e?"add":"remove")+"EventListener";window[t]("popst...
method constructor (line 3) | constructor(){if(["default","users"].every((e=>!xe.options[`allow_${e}...
method modal (line 3) | modal(){Ae.confirm.fire({title:ie.get("settings"),cancelButtonText:ie....
method open (line 3) | open(){if(this.el.popup=Swal.getPopup(),this.el.container=Swal.getHtml...
method load (line 3) | load(e,t,i){return!e.load&&_c.demo_mode?F.demo():e.load||ne||xe.is_ins...
method loader (line 3) | loader(e){this.is_loading=!!e,this.el.select&&Q(1).then((()=>["save","...
method interface (line 3) | interface(){this.el.container.innerHTML=`\n <div class="users"${x...
method select_option (line 3) | select_option(e,t){return`<option value="${a(e)}"${t?" selected":""}>$...
method codemirror (line 3) | codemirror(){this.cm=CodeMirror(this.el.options,{lineNumbers:!0,mode:"...
method toggle_fullscreen (line 3) | toggle_fullscreen(){this.el.popup.classList.toggle("settings-fullscree...
method assign_user (line 3) | assign_user(e=!1){e&&this.el.select.value!==e&&(this.el.select.value=e...
method remove_user (line 3) | remove_user(){xe.options.allow_remove&&xe.username&&"default"!==xe.use...
method preconfirm (line 3) | preconfirm(e){if(this.is_loading)return!1;if(this.username_new=this.el...
method invalid_username (line 3) | invalid_username(e){return this.el.username.select(),this.invalid(e)}
method invalid (line 3) | invalid(e){return["pointerup","keydown"].forEach((e=>this.el.popup.add...
method ensure_commas (line 3) | ensure_commas(){let e=this.data.split("\n");if(!e)return;let t=0;e.for...
method check_reload (line 3) | check_reload(e){if(xe.options.reload&&(this.is_default_user||this.is_c...
method reload_confirm (line 3) | reload_confirm(){let e=xe.options.reload_confirm;return!e||("string"!=...
method update (line 3) | update(e){if(this.check_reload(),e!==this.data){let t=this.cm.getCurso...
method random_password (line 3) | random_password(){const e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg...
class ke (line 3) | class ke{static active_el;static expand_button;static menu_root;static h...
method init (line 3) | static init(){if(this.config=e("menu",{hidden:!1,expanded:!1,localStor...
method sidebar_hidden (line 3) | static sidebar_hidden(){return!this.is_large_screen()||(this.params.ha...
method is_large_screen (line 3) | static is_large_screen(){return matchMedia("(min-width: 992px)").matches}
method toggle_open (line 3) | static toggle_open(){T.set_option("files:menu-open",!document.document...
method get_menu (line 3) | static get_menu(){const e=!!_c.config.localStorage_cache&&T.get_json("...
method load_menu (line 3) | static load_menu(e){K.sidebar_menu.classList.add("sidebar-spinner"),O(...
method loaded (line 3) | static loaded(e,t,i,a){return K.sidebar_menu.classList.remove("sidebar...
method is_expanded (line 3) | static is_expanded(){if(this.params.hasOwnProperty("expanded"))return ...
method create_menu (line 3) | static create_menu(e,t){if(oe(),j("[MENU] "+t,e),e.forEach((e=>{_c.dir...
method create_menu_html (line 3) | static create_menu_html(e){let t="",i=0,a=0,n=!1;e.forEach((e=>{if(!e....
method add_li (line 3) | static add_li(e,t){let i="menu-li",o="menu-a",s=e.path?(e.path.match(/...
method get_has_uls (line 3) | static get_has_uls(){this.has_uls=_class("has-ul",this.menu_root),this...
method set_active (line 3) | static set_active(e){this.active_el&&this.active_el.classList.remove("...
method set_menu_scroll (line 3) | static set_menu_scroll(){if(!X.local_storage)return;const e=T.get("fil...
method set_menu_toggle (line 3) | static set_menu_toggle(){this.menu_expanded=this.has_uls_root.length&&...
method menu_open_manager (line 3) | static menu_open_manager(e,t){"all"===e?t?this.has_uls.forEach((e=>thi...
method update_expanded (line 3) | static update_expanded(){const e=Object.keys(this.menu_open).length,t=...
method ul_anime (line 3) | static ul_anime(e,t){const i=e.lastElementChild;i.style.display="block...
method li_open (line 3) | static li_open(e){e.classList.replace("menu-li-closed","menu-li-open")}
method li_close (line 3) | static li_close(e){e.classList.replace("menu-li-open","menu-li-closed")}
method loading (line 3) | static loading(e){this.active_el&&this.active_el.classList.toggle("men...
method update (line 3) | static update(){this.get_has_uls(),this.expand_button.classList.toggle...
function i (line 3) | function i(e,t){Object.assign(Y.sort,{sort:e,order:t,multi:"asc"===t?1:-...
function c (line 3) | function c(e,i){if(t.dirs_first&&e._values.is_dir!==i._values.is_dir)ret...
function h (line 3) | function h(e,t,i){let a=r[Y.sort.index],n=_[Y.sort.index];e&&(a.classLis...
function He (line 3) | function He(){const e=e=>Q(100).then((()=>{e&&e.remove()}));[".modal","#...
FILE: _files/plugins/files.tasks.php
class tasks (line 26) | Class tasks {
method isset (line 53) | public static function isset($str){
method add_output (line 58) | public static function add_output($prepend = '', $create = true, $coun...
method set_memory_limit (line 65) | private function set_memory_limit(){
method __construct (line 71) | function __construct() {
function create_cache (line 166) | function create_cache($dir, $depth = 0){
function get_cache_items (line 347) | function get_cache_items($dir, $ext){
FILE: _files/plugins/files.x3-login.php
class X3_login (line 8) | class X3_login {
method __construct (line 14) | public function __construct() {
method set (line 83) | private function set($key, $value){
method get_config (line 89) | private function get_config(){
FILE: index.php
class Config (line 30) | class Config {
method __construct (line 135) | public function __construct() {
method get (line 172) | public static function get($option){
method get_array (line 177) | public static function get_array($option) {
method load (line 183) | private function load($path) {
method storage (line 193) | private function storage(){
method save (line 252) | public static function save($options = []){
class Login (line 269) | class Login {
method __construct (line 278) | public function __construct() {
method users_dir (line 348) | public static function users_dir(){
method get_usernames (line 353) | public static function get_usernames(){
method set_session_token (line 361) | private function set_session_token(){
method is_logged_in (line 367) | private function is_logged_in(){
method is_login_attempt (line 381) | private function is_login_attempt(){
method is_successful_login (line 391) | private function is_successful_login(){
method login (line 416) | private function login(){
method clear_session (line 447) | private function clear_session(){
method get_user (line 452) | private function get_user($username){
method get_user_config (line 486) | private function get_user_config($dirname){
method login_hash (line 496) | private function login_hash($user){
method equals (line 501) | private function equals($secret, $user){
method passwords_match (line 506) | private function passwords_match($stored, $posted){
method ip (line 512) | private function ip(){
method server (line 521) | private function server($str){
method lower (line 526) | private function lower($str){
method action_request (line 531) | private function action_request(){
method form (line 544) | private function form() {
method alert (line 647) | private function alert($text, $type = 'danger'){
method get_form_alert (line 652) | private function get_form_alert(){
class U (line 663) | class U {
method basename (line 666) | public static function basename($path){
method mime (line 674) | public static function mime($path){
method extension (line 681) | public static function extension($path, $lowercase = false, $dot = fal...
method glob (line 690) | public static function glob($path, $dirs_only = false){
method post (line 696) | public static function post($param){
method get (line 701) | public static function get($param){
method mkdir (line 706) | public static function mkdir($path){
method uinclude (line 711) | public static function uinclude($file){
method ini_get (line 725) | public static function ini_get($directive){
method ini_value_to_bytes (line 731) | public static function ini_value_to_bytes($directive) {
method get_memory_limit_mb (line 743) | public static function get_memory_limit_mb() {
method app_path (line 750) | public static function app_path($app){
method imagemagick (line 762) | public static function imagemagick(){
method prefer_imagick (line 773) | public static function prefer_imagick(){
method readfile (line 778) | public static function readfile($path, $mime, $message = false, $cache...
method http_range (line 788) | private static function http_range($path, $mime, $message){
method gd_image_types (line 817) | public static function gd_image_types(){
method imagemagick_image_types (line 824) | public static function imagemagick_image_types(){
method resize_image_types (line 830) | public static function resize_image_types(){
method error (line 836) | public static function error($error = 'Error', $http_response_code = f...
method hash (line 844) | public static function hash($data){
method get_menu_hash (line 850) | public static function get_menu_hash($config, $root){
method get_dirs_hash (line 879) | public static function get_dirs_hash($config, $root){
method get_current_dirs_hash (line 896) | public static function get_current_dirs_hash(){
method image_resize_cache_direct (line 902) | public static function image_resize_cache_direct($config){
method image_resize_dimensions_retina (line 908) | public static function image_resize_dimensions_retina(){
method html_header (line 915) | public static function html_header($title, $class){
method download (line 954) | public static function download($file, $message, $mime, $filename){
method assetspath (line 963) | public static function assetspath(){
method message (line 977) | public static function message($items = []){
method header (line 982) | public static function header($message, $cache = null, $type = false, ...
method save_config_file (line 1018) | public static function save_config_file($dir, $data, $check_pass = fal...
method var_export (line 1065) | public static function var_export($arr){
method resize_is_allowed (line 1071) | public static function resize_is_allowed($width){
method ensure_files_dir (line 1081) | public static function ensure_files_dir($file){
method image_cache_file_append (line 1091) | public static function image_cache_file_append($cache, $path){
method clean_json_cache_hash (line 1099) | public static function clean_json_cache_hash($type, $hash){
method get_url_shortcut (line 1107) | public static function get_url_shortcut($path) {
class Path (line 1119) | class Path {
method realpath (line 1122) | public static function realpath($path){
method valid_root (line 1128) | public static function valid_root($str){
method rootpath (line 1153) | public static function rootpath($relpath){
method relpath (line 1158) | public static function relpath($path){
method get_root_url_path (line 1163) | private static function get_root_url_path(){
method rooturlpath (line 1220) | public static function rooturlpath($rel){
method urlpath (line 1236) | public static function urlpath($path){
method has_urlpath (line 1249) | public static function has_urlpath($path){
method is_within_path (line 1254) | public static function is_within_path($path, $root){
method is_within_appdir (line 1259) | public static function is_within_appdir($path){
method is_within_docroot (line 1264) | public static function is_within_docroot($path){
method imagecachepath (line 1269) | public static function imagecachepath($path, $resize, $filesize, $file...
method valid_rootpath (line 1277) | public static function valid_rootpath($relpath, $is_dir = false){
method is_exclude (line 1316) | public static function is_exclude($path = false, $is_dir = true, $syml...
class Json (line 1365) | class Json {
method jexit (line 1368) | public static function jexit($arr = []){
method error (line 1374) | public static function error($error = 'Error'){
method cache (line 1379) | public static function cache($arr = [], $message = false, $cache = true){
class X3 (line 1390) | class X3 {
method path (line 1397) | public static function path(){
method login (line 1409) | public static function login(){
method x3_path (line 1414) | public static function x3_path(){
method invalidate (line 1419) | public static function invalidate(){
class Tests (line 1425) | class Tests {
method __construct (line 1431) | function __construct() {
method created (line 1498) | private function created(){
method check_path (line 1505) | private function check_path($path, $name){
method prop (line 1513) | private function prop($name, $success = 'neutral', $value = ''){
method showconfig (line 1519) | private function showconfig(){
method output (line 1535) | private function output(){
class FileResponse (line 1541) | class FileResponse {
method __construct (line 1568) | public function __construct($path, $type = false, $resize = false, $cl...
method get_type (line 1599) | private function get_type(){
method proxy_file (line 1604) | private function proxy_file(){
method get_resize (line 1614) | private function get_resize(){
method resize (line 1621) | private function resize(){
method resize_use_imagemagick (line 1640) | private function resize_use_imagemagick(){
method is_imagemagick (line 1645) | private function is_imagemagick(){
method video_thumb (line 1650) | private function video_thumb(){
method get_video_url (line 1656) | private function get_video_url(){
method pdf_thumb (line 1664) | private function pdf_thumb(){
method convert (line 1670) | private function convert(){
method create_image (line 1676) | private function create_image($app){
method is_imagick (line 1717) | private function is_imagick(){
method imagick_image (line 1722) | private function imagick_image(){
method exec_image (line 1743) | private function exec_image(){
method exec_input_path (line 1779) | private function exec_input_path(){
class ResizeImage (line 1787) | class ResizeImage {
method __construct (line 1803) | public function __construct($path, $resize, $clone = false){
method set_memory_limit (line 1907) | private function set_memory_limit($memory_limit){
method sharpen (line 1925) | private function sharpen(){
method exif_orientation (line 1937) | private function exif_orientation(){
method set_fill_color (line 1957) | private function set_fill_color($ext){
class Dirs (line 1965) | class Dirs {
method __construct (line 1973) | public function __construct(){
method check_cache (line 1992) | private function check_cache(){
method menu_cache_is_valid (line 2029) | private function menu_cache_is_valid($json){
method get_dirs (line 2041) | private function get_dirs($path, $depth = 0) {
method sort (line 2073) | private function sort($dirs){
class Dir (line 2086) | class Dir {
method __construct (line 2099) | public function __construct($path){
method json (line 2109) | public function json(){
method get (line 2122) | public function get(){
method load (line 2132) | public function load($files = false){
method get_cache_path (line 2164) | private function get_cache_path(){
method cache_is_valid (line 2170) | private function cache_is_valid(){
method set_json_cache_url (line 2175) | private function set_json_cache_url(){
method get_files (line 2181) | private function get_files(){
method clean_files_cache (line 2237) | private function clean_files_cache(){
class File (line 2258) | class File {
method __construct (line 2268) | public function __construct($dir, $filename){
method mime (line 2342) | private function mime(){
method memory_sufficient_exif (line 2351) | private function memory_sufficient_exif(){
method set_image_data (line 2357) | private function set_image_data(){
method get_image_types (line 2398) | private static function get_image_types(){
method is_image (line 2405) | private function is_image(){
method getimagesize (line 2412) | private function getimagesize(){
method im_getimagesize (line 2449) | private function im_getimagesize(){
method getimageexif (line 2474) | private function getimageexif(){
method image_orientation_flip_dimensions (line 2482) | private function image_orientation_flip_dimensions(){
method image_panorama_sizes (line 2488) | private function image_panorama_sizes(){
method get_image_resize_cache (line 2500) | private function get_image_resize_cache(){
method set_file_url (line 2511) | private function set_file_url(){
class Iptc (line 2530) | class Iptc {
method tag (line 2547) | private static function tag($value){
method get (line 2575) | public static function get($i){
class Exif (line 2596) | class Exif {
method exif_data (line 2615) | public static function exif_data($path){
method get (line 2621) | public static function get($path){
method gps (line 2643) | private static function gps($exif){
class Filemanager (line 2701) | class Filemanager {
method json (line 2708) | public static function json($res, $err){
method name_is_allowed (line 2725) | public static function name_is_allowed($name = false){
method get_unique_filename (line 2730) | public static function get_unique_filename($path, $i = 2) {
method iterator (line 2760) | public static function iterator($path, $mode = RecursiveIteratorIterat...
method delete_file_or_folder (line 2767) | private static function delete_file_or_folder($path){
method delete (line 2772) | public static function delete($path){
method copy_file_or_folder (line 2783) | private static function copy_file_or_folder($from, $to){
method copy (line 2803) | public static function copy($from, $to){
method move (line 2814) | private static function move($from, $to){
method duplicate (line 2827) | public static function duplicate($path){
method items (line 2834) | public static function items($action, $paths, $dir = false){
method get_downloadables (line 2847) | public static function get_downloadables($paths){
class Zipper (line 2882) | class Zipper extends Filemanager {
method __construct (line 2889) | public function __construct($is_json = false){
method open (line 2896) | private function open($dest, $flags = null){
method extract (line 2919) | public function extract($zip_file, $dir = false){
method create (line 2941) | public function create($paths, $zip_file = false){
method add_file_or_dir (line 2970) | private function add_file_or_dir($path, $root){
class CleanCache (line 2979) | class CleanCache {
method __construct (line 2998) | public function __construct(){
method is_allowed (line 3038) | private function is_allowed(){
method increase_time_limit (line 3052) | private function increase_time_limit(){
method is_time (line 3059) | public static function is_time(){
method get_cache_dirs (line 3065) | private function get_cache_dirs(){
method get_hashes (line 3073) | private function get_hashes(){
method clean_menu_cache (line 3108) | private function clean_menu_cache(){
method clean_folders_cache (line 3156) | private function clean_folders_cache(){
method clean_images_cache (line 3216) | private function clean_images_cache(){
method get_image_cache_file (line 3304) | private function get_image_cache_file(){
method remove_image_cache_file (line 3311) | private function remove_image_cache_file(){
method exceeds_max_last_access_time (line 3317) | private function exceeds_max_last_access_time($file){
method days_since (line 3325) | public static function days_since($time){
method cache_file_entry_valid (line 3330) | private function cache_file_entry_valid($filename, $path){
method get_cache_files (line 3347) | private function get_cache_files($type, $ext){
method remove (line 3360) | private function remove($type, $path){
method response (line 3367) | private function response(){
class Request (line 3380) | class Request {
method __construct (line 3388) | public function __construct(){
method get_request_data (line 3396) | public function get_request_data(){
method param (line 3404) | public function param($param){
method error (line 3412) | public function error($err, $code = 400){
class Document (line 3419) | class Document {
method __construct (line 3431) | public function __construct(){
method get_start_path (line 3450) | private function get_start_path(){
method get_query_path (line 3483) | private function get_query_path(){
method prepare_menu (line 3492) | private function prepare_menu(){
method get_menu_cache_hash (line 3516) | private function get_menu_cache_hash($root_dirs){
method get_menu_cache_file (line 3528) | private function get_menu_cache_file(){
method start_index_cache (line 3540) | private function start_index_cache(){
method save_index_cache (line 3556) | private function save_index_cache(){
method HTML (line 3564) | private function HTML(){
method get_javascript_config (line 3644) | private function get_javascript_config(){
method get_image_resize_memory_limit (line 3725) | private function get_image_resize_memory_limit(){
method get_md5 (line 3731) | private function get_md5($str){
method lang_custom (line 3737) | private function lang_custom() {
method get_storage_dir_files (line 3752) | private function get_storage_dir_files($dirname){
method get_watermark_files (line 3763) | private function get_watermark_files() {
method get_custom_previews (line 3768) | private function get_custom_previews(){
method get_upload_max_filesize (line 3776) | private function get_upload_max_filesize(){
FILE: js/files.js
function t (line 2) | function t(e=_c.current_dir.path,t=_c.current_dir.basename,i){let a=i?0:...
function i (line 2) | function i(){const e=Swal.getContainer();if(!e)return;const t=getCompute...
function a (line 2) | function a(e){return e?e.replace(/"/g,"""):""}
function n (line 2) | function n(e){return e?e.replace(/</g,"<").replace(/>/g,">"):""}
function o (line 2) | function o(e,t){return'<span class="'+t+'">'+e+"</span>"}
function s (line 2) | function s(e){return _c.allow_download&&_c.allow_mass_download&&ne?`${_c...
method get (line 2) | get(){return this.ownerDocument.contains(this)}
function r (line 2) | function r(e,t=!1){return`/cdn-cgi/image/${t?"width=480,height=480":"for...
function c (line 2) | function c(e,t){let i=!!e.url_path&&encodeURI(e.url_path).replace(/#/g,"...
function p (line 2) | function p(e,t){return e.url?encodeURI(e.url):e.is_dir?d(e.path):c(e,t)}
function d (line 2) | function d(e){return location.pathname+(e?"?"+encodeURIComponent(e).repl...
function m (line 2) | function m(e){for(;e.firstChild;)e.firstChild.remove()}
function u (line 2) | function u(e,t,i){L(e,(function(e){var i=e.target.dataset.action;i&&t(i,...
function h (line 2) | function h(e){return Array.isArray(e)?_c.config.map_link.replace("{latit...
function _ (line 2) | function _(e,t){return e?`<span class="${t}">${e[0]} x ${e[1]}</span>`:""}
function f (line 2) | function f(e,t){return e.is_dir?e.hasOwnProperty("dirsize")?`<span class...
function v (line 2) | function v(e,t,i){if(!_c.config.context_menu||!e)return"";let a=i?"span"...
function b (line 2) | function b(e,t,i,a){if(!e||!e.iptc)return"";var n=Object.keys(e.iptc);if...
function y (line 2) | function y(e,t,i){if(!e||!e.exif)return"";var a=E(["Model","ApertureFNum...
function x (line 2) | function x(e,t){return e&&X.is_pointer?' data-lang="'+e+'"'+(t?' data-to...
function A (line 2) | function A(e){if(navigator.clipboard)return navigator.clipboard.writeTex...
function w (line 2) | function w(e,t,i,a){e.classList.add(t),i&&(e.disabled=i),Q(a||2e3).then(...
function C (line 2) | function C(e,t,i){if(!i&&e.which<=1&&!["meta","ctrl","shift","alt"].some...
function L (line 2) | function L(e,t,i,a,n){e.addEventListener(i||"click",function(e,t){return...
function k (line 2) | function k(e,t){var i;return function(a){i&&clearTimeout(i),i=setTimeout...
function H (line 2) | function H(e,t,i,a){return a&&(i=k(i,a)),e.addEventListener(t,i),{remove...
function $ (line 2) | function $(e,t,i){M[e]&&clearTimeout(M[e]),M[e]=setTimeout(t,i)}
function V (line 2) | function V(e,t){for(var i=e.length,a=0;a<i;a++)t(e[a],a)}
function E (line 2) | function E(e,t){for(var i="",a=e.length,n=0;n<a;n++)i+=t(e[n],n)||"";ret...
function z (line 2) | function z(e,t,i){var a=new RegExp("["+(i?"#":"?")+"&]"+e+(t?"=([^&]*)":...
function j (line 2) | function j(e){_c.debug&&console.log.apply(this,arguments)}
function I (line 2) | function I(e,t){e&&!e.style.display!=!t&&(e.style.display=t?"none":null)}
function e (line 2) | function e(e){return X.local_storage?localStorage.getItem(e):null}
function t (line 2) | function t(e,t){"boolean"==typeof t&&(t=t.toString());try{localStorage.s...
function O (line 2) | function O(e){var t=new XMLHttpRequest;return t.onreadystatechange=funct...
function S (line 2) | function S(e){return _c.server_exif&&e&&e.exif&&e.exif.Orientation&&e.ex...
function B (line 2) | function B(e){return atob(e)}
function Z (line 2) | function Z(e,t,i){return Math.min(Math.max(i,e),t)}
function R (line 2) | function R(){if(X.scrollbar_width){var e=document.documentElement,t=wind...
function D (line 2) | function D(e){if(!(e.is_dir&&e.is_readable&&_c.folder_preview_image&&_c....
function P (line 2) | function P(e,t){e.className!=t&&(e.className=t)}
function N (line 2) | function N(e){var t={};return e&&e.split("&").forEach((e=>{let[i,a]=e.sp...
function q (line 2) | function q(e,t){if(e)try{let i=JSON.parse(e);return t?i[t]:i}catch(e){re...
function W (line 2) | function W(){K.files_container.classList.contains("files-spinner")||(me....
function J (line 2) | function J(e,t){if(t.mime1&&t.mime0===e)return X.hasOwnProperty(e)||(X[e...
class ee (line 2) | class ee{static theme="contrast";static index=0;static config=e("theme",...
method init (line 2) | static init(){let e=this.is_theme(z("theme",!0));this.theme=e||this.is...
method is_theme (line 2) | static is_theme(e){return!(!e||!this.config.themes.includes(e))&&e}
method next (line 2) | static next(){this.index++,this.index>=this.config.themes.length&&(thi...
function p (line 2) | function p(e){if("en"===e)return m({},e);var t=a[e]||T.get_json("files:l...
function d (line 2) | function d(i){e=!!i,t&&t.classList.toggle("dropdown-lang-loading",e)}
function m (line 2) | function m(e,t){a[t]||(a[t]=Object.assign(e,o[t]||{})),r=e,_querya("[dat...
function h (line 2) | function h(e){if(e)return"nb"===e||"nn"===e?"no":!!s.includes(e)&&e}
function t (line 2) | function t(e){e.loading=!1,e.loaded=!0,V(e.complete,(function(e){e()})),...
function i (line 2) | function i(e,t,i){var a=0;V(e,(function(n){!function(e,t,i){var a="js"==...
function oe (line 2) | function oe(){if(ae--)return!ae&&setTimeout(oe,1e3);const e=`files:${B("...
function e (line 2) | function e(e,t,i){return e.format(t)+(i?'<span class="relative-time">'+e...
function t (line 2) | function t(t){dayjs.locale(t),K.main.style.setProperty("--list-date-flex...
function i (line 2) | function i(e){U.load_plugin("dayjs_locale_"+e,(function(){t(e)}),{src:["...
function n (line 2) | function n(e){if(e)return"no"===e||"nn"===e?"nb":!!a.includes(e)&&e}
function i (line 2) | function i(e,t,i){return`<svg viewBox="0 0 48 48" class="svg-folder ${e}...
class se (line 2) | class se{static config=e("drag",{enabled:!0,prompt:!1,copy:!0,delete:!1,...
method draggable (line 2) | static draggable(){return this.config.enabled?' draggable="true"':""}
method get_action (line 2) | static get_action(e){return this.config.copy?this.config.move?e.altKey...
method get_item (line 2) | static get_item(e){return e.dataset.name?_c.files[e.dataset.name]:_c.d...
method toggle_drop_target (line 2) | static toggle_drop_target(e,t){e&&e.isConnected&&e.classList.contains(...
method valid_drop_target (line 2) | static valid_drop_target(e){if(e===this.el.trashcan)return this.el.tra...
method dragenter (line 2) | static dragenter(e){const t=this.valid_drop_target(e.target);t&&(this....
method get_drag_image (line 2) | static get_drag_image(e){const t=this.fm.items.length>1,i=U.get_icon(e...
method dragstart (line 2) | static dragstart(e){if(!e.target.draggable||!e.target.hasAttribute("dr...
method get_effectAllowed (line 2) | static get_effectAllowed(){return this.config.copy||this.config.move?t...
method dragend (line 2) | static dragend(e){this.el.trashcan&&this.el.trashcan.style.removePrope...
method trashcan (line 2) | static trashcan(){document.body.insertAdjacentHTML("beforeend",`<div c...
method init (line 2) | static init(){if(!this.config.enabled)return;const e=["copy","delete",...
class le (line 2) | class le{static controls=`\n<div class="plyr__controls player-controls-c...
method create (line 2) | static create(e,t,i){if(this.config=this.get_config(i,e),"video"!==e||...
method get_config (line 2) | static get_config(t,i){return e("player")[i]?Object.assign({},this.def...
method ios_fix (line 2) | static ios_fix(e){X.is_ios&&e.elements.inputs&&["seek","volume"].forEa...
method tag (line 2) | static tag(e,t){let i=this.get_config(e,t),a=['controlslist="nodownloa...
method track (line 2) | static track(e){let t=!!e.ext&&_c.files[`${e.basename.slice(0,-e.ext.l...
method destroy (line 2) | static destroy(){this.player&&(this.hls&&this.hls.destroy(),this.playe...
method pause (line 2) | static pause(){this.player&&!this.player.paused&&this.player.pause&&th...
function o (line 2) | function o(e,t){return`<span class="crumb"><a href="${d(e)}" data-path="...
function s (line 2) | function s(t,i){var a={targets:t,translateX:i?[0,-2]:[-2,0],opacity:i?[1...
function l (line 2) | function l(){var a="",l=[],r="";t.length&&V(t,(function(e,t){a+=a?"/"+e:...
function r (line 2) | function r(e){const t=e.files||(_c.dirs[e.path]||{}).files;return t?Arra...
function d (line 2) | function d(){t.is_open&&m()}
function m (line 2) | function m(e){if(e!=t.is_open){var a=(e?"add":"remove")+"EventListener";...
class pe (line 2) | class pe{static html='\n<div class="audioplayer">\n <div class="audiopl...
method hashed (line 2) | static hashed(e){if(this.config.enabled&&this.config.history&&J("audio...
method global (line 2) | static global(){if(!this.config.enabled)return;if(this.config.files&&"...
method load_global_files (line 2) | static load_global_files(){this.is_global=!0,fetch(`${_c.script}?actio...
method global_player (line 2) | static global_player(e){let t=e.filter((e=>J("audio",e))).map((e=>({_v...
method get_mimes (line 2) | static get_mimes(e){let t=e?re[e]:"",i=t?t.split("/"):[];return{mime:t...
method page_load (line 2) | static page_load(){if(!this.is_global&&this.config.enabled){if(this.is...
method is_exclude (line 2) | static is_exclude(){return!(!this.config.include_dirs||_c.current_path...
method start_player (line 2) | static start_player(){let e=this.request=Date.now();U.load_plugin("ply...
method get_dir_items (line 2) | static get_dir_items(){this.dir_items=Y.list?Y.list.items.filter((e=>J...
method first_config (line 2) | static first_config(){void 0===this.myautoplay&&(this.myloop=!!this.co...
method create (line 2) | static create(){this.player_exists=!0,document.documentElement.classLi...
method initial_sort (line 2) | static initial_sort(){if(["list","initial"].includes(this.config.sort)...
method get_items (line 2) | static get_items(){if(this.is_global)return;if(!Y.list.searched||!this...
method play_index (line 2) | static play_index(e,t=!1){this.play_item(this.items[e],t)}
method play_item (line 2) | static play_item(e,t=!1){if(!e)return;this.playing_class(!1),this.item...
method set_title (line 2) | static set_title(){let e=this.item._values;if(this.el.title.innerHTML=...
method title_show (line 2) | static title_show(){this.config.title_show_duration&&this.config.title...
method first_click (line 2) | static first_click(){this.first_clicked||this.user_paused||!this.confi...
method destroy (line 2) | static destroy(){this.is_global||(this.request=0,this.player_exists&&(...
method nav (line 2) | static nav(e,t=!1){if(this.get_items(),1===this.items.length){if(!this...
method toggle_mini (line 2) | static toggle_mini(){this.is_mini=this.el.audioplayer.classList.toggle...
method playing_class (line 2) | static playing_class(e){this.item&&this.item.elm&&this.item.elm.classL...
method sort_items (line 2) | static sort_items(){"list"===this.config.sort&&this.items.sort(((e,t)=...
method set_user_paused_state (line 2) | static set_user_paused_state(e){this.config.remember_state&&!!e!=!!thi...
method list_click (line 2) | static list_click(e){if(!this.config.enabled||this.is_global||!this.pl...
method autopause (line 2) | static autopause(){this.player.playing&&this.config.autopause&&this.pl...
function n (line 2) | function n(e){e.classList.contains("touch-open")?a&&a.remove():a=H(docum...
class me (line 2) | class me{static actions=["copy","delete","duplicate","move","new_file","...
method delete_file (line 2) | delete_file(e){this.parent_dir&&this.parent_dir.files&&(delete this.pa...
method check_current_dir (line 2) | check_current_dir(){if(!_c.dirs[_c.current_path])return _c.current_dir...
method reload_current_dir (line 2) | reload_current_dir(e){e&&e===_c.current_dir&&U.get_files(_c.current_di...
method update_dirs (line 2) | update_dirs(e,t=!1){Object.keys(_c.dirs).forEach((i=>{if(!(i+"/").star...
method update_current_dir (line 2) | update_current_dir(){if(this.parent_dir_is_current_dir()){if(this.dele...
method delete_list_items (line 2) | delete_list_items(){this.list_items.forEach((e=>{const t=Y.list.items....
method get_target_ul (line 2) | get_target_ul(e){if(!e||!K.sidebar_menu)return;if(!e.path)return K.sid...
method remove_ul (line 2) | remove_ul(e){if(!e)return;const t=e.parentElement;e.remove(),t.classLi...
method clear_max_depth_uls (line 2) | clear_max_depth_uls(e){if(!e)return;const t=e.parentElement,i=1*(t.par...
method li_looper (line 2) | li_looper(e,t,i,a){if(!e)return;[e].concat(_class("menu-li",e)).forEac...
method clean_dir (line 2) | static clean_dir(e,t=!0){e&&(t&&delete e.files,delete e.html,delete e....
method get_url_path (line 2) | get_url_path(e,t,i){return!(!e||!e.endsWith(t))&&e.replace(new RegExp(...
method file_exists (line 2) | file_exists(e,t,i=!1){if(!t)return;const a=e.toLowerCase();if(t.files&...
method get_unique_filename (line 2) | get_unique_filename(e,t,i=!1){if(!this.file_exists(e,t,i))return e;con...
method get_items_type (line 2) | static get_items_type(e){if(!e.length)return"files";let t=0,i=0;e.forE...
method prompt_highlight_path (line 2) | prompt_highlight_path(e,t){return`<div class="files-swal2-path">${e||!...
method get_datalist_dirs (line 2) | get_datalist_dirs(){return`<datalist id="datalist_dirs">${Object.keys(...
method select_input_text (line 2) | select_input_text(){if(!this.name_action)return;if(!X.is_pointer)retur...
method stri_match (line 2) | stri_match(e,t){return e.toUpperCase()===t.toUpperCase()}
method is_invalid (line 2) | is_invalid(e,t){return setTimeout((()=>this.select_input_text()),1),`$...
method invalid_name (line 2) | invalid_name(e,t,i){if(!e)return;const a=e.match(/[<>:"'/\\|?*#]|\.\.|...
method invalid_rename (line 2) | invalid_rename(e,t){return!this.stri_match(e,t.basename)&&(t.is_dir&&!...
method is_invalid_path_name (line 2) | is_invalid_path_name(e){if(!e)return;const t=e.match(/^\/|\.(\.|\/)|\/...
method is_invalid_copy_move_path (line 2) | is_invalid_copy_move_path(e){if(!e)return;const t=_c.dirs[e];if(t&&!t....
method is_in_self (line 2) | static is_in_self(e,t){return(e+"/").startsWith(t+"/")}
method into_self (line 2) | into_self(e){return this.items.some((t=>!!t.is_dir&&(!t.path||me.is_in...
method toggle_loading_el (line 2) | toggle_loading_el(e,t){e&&e.classList.toggle("fm-processing",!!t)}
method toggle_loading (line 2) | toggle_loading(e){["delete","move","rename"].includes(this.action)&&(t...
method get_menu_li (line 2) | get_menu_li(e){if(!e.is_dir)return;const t=e.menu_li?e:_c.dirs[e.path]...
method sort_menu_name (line 2) | sort_menu_name(e,t){return e.dataset.path.localeCompare(t.dataset.path...
method sort_menu_date (line 2) | sort_menu_date(e,t){const i=_c.dirs[e.dataset.path],a=_c.dirs[t.datase...
method sort_menu_level (line 2) | sort_menu_level(e){if(!e)return;const t=Array.from(e.children);t.sort(...
method get_parent_path (line 2) | static get_parent_path(e){return!!(e=e.replace(/^\/|\/$/g,""))&&e.subs...
method create_path (line 2) | static create_path(){return Array.from(arguments).map((e=>e.replace(/^...
method get_parent_dir (line 2) | get_parent_dir(){return this.list_items.length&&this.start_dir?this.st...
method parent_dir_is_current_dir (line 2) | parent_dir_is_current_dir(){return this.parent_dir&&this.parent_dir===...
method get_list_items (line 2) | get_list_items(){if(!Y.list||!_c.files)return[];const e=_c.files[this....
method requires_prompt (line 2) | requires_prompt(){return this.hasOwnProperty("show_prompt")?!!this.sho...
method open_prompt (line 2) | open_prompt(){const e={title:this.action_name,input:this.is_input_acti...
method constructor (line 2) | constructor(e){return Object.keys(e).forEach((t=>this[t]=e[t])),this.s...
method toast_success (line 2) | toast_success(){if(!this.partial_fail)return F.toggle(!0,`${this.actio...
method success (line 2) | success(){if(this.complete&&this.complete(!0),this.parent_dir||(this.p...
method dir_is_writeable (line 2) | dir_is_writeable(e){return!e||e.is_writeable}
method load (line 2) | load(){if(_c.hasOwnProperty(`allow_${this.action}`)&&!_c[`allow_${this...
function t (line 2) | function t(){let e=p.watermark.use_image||!!p.watermark.text;p.watermark...
function m (line 2) | function m(e){let t=e.currentTarget,i=t.id.replace("compressor-",""),a="...
function u (line 2) | function u(e,t){var i=n.getPlugin("Dashboard");!!e!==i.isModalOpen()&&(i...
function h (line 2) | function h(e){U.load_plugin("uppy_locale_"+e,(()=>{Y.uppy.setOptions({lo...
function o (line 2) | function o(e){i&&(K.filter_container.dataset.input=e||"")}
function he (line 2) | function he(e,t){return""===e&&(e="ROOT"),"files:dir:"+_c.dirs_hash+":"+...
function m (line 2) | function m(t,i){if(e)return e.abort(),e=!1,void(i&&i());if(_c.config.tra...
function h (line 2) | function h(e,i,a,n){t(e,i,n),a&&_c.config.history&&history[a+"State"]({p...
function A (line 2) | function A(){const e=E(_c.file_names,((e,t)=>{var m=_c.files[e];if(m.is_...
function k (line 2) | function k(e){if("replace"!==e||Y.load_action_was_triggered)return;if(Y....
function H (line 2) | function H(e,t,i){if(oe(),image_load_errors=0,_c.current_dir=_c.dirs[e],...
function M (line 2) | function M(e,t){return _c.dirs[e]?t?_c.dirs[e].mtime>t.mtime?_c.dirs[e]=...
function $ (line 2) | function $(e,t,i){_c.current_dir=!1,pe.destroy(),ye.reset(),U.topbar_inf...
function r (line 2) | function r(e){1==s++&&H(t,i,l?"files from JSON "+l:"files from xmlhttp")}
function r (line 2) | function r(){K.files.style.setProperty("--imagelist-height",c?"100px":"1...
function p (line 2) | function p(e){return Y.layout={layout:e,ob:t[e],index:a.indexOf(e)}}
function m (line 2) | function m(){var e=d.ob;[[b,"imagelist"===d.layout||e.size||e.contain],[...
function D (line 2) | function D(e){d.layout!==e&&(_.innerHTML=U.get_svg_icon("layout_"+e),v[d...
class _e (line 2) | class _e{static el={};static interval;static logout_method;static option...
method button (line 2) | static button(){const e=_c.is_logged_in?"logout":"login";_e.options[`$...
method login_confirm (line 2) | static login_confirm(){let e,t;Ae.confirm.fire({title:ie.get("login"),...
method logout_confirm (line 2) | static logout_confirm(){Ae.confirm.fire({title:ie.get("logout"),text:`...
method ping (line 2) | static ping(){fetch(`${_c.script}?action=ping`,{method:"POST"}).then((...
method init_ping (line 2) | static init_ping(){_c.is_logged_in&&_e.options.ping&&(_e.interval=setI...
method was_logged_out (line 2) | static was_logged_out(e){if(_e.interval&&clearInterval(_e.interval),_e...
method logout_refresh (line 2) | static logout_refresh(){document.body.classList.add(Swal.isVisible()?"...
class fe (line 2) | class fe{static config=e("mediatags",{layout_pictures:!0,modal_picture:!...
method tags (line 2) | static tags(e,t){if(e.tags)return t(e.tags);let i=new URL(c(e),locatio...
method pic_src (line 2) | static pic_src(e,t){this.tags(e,(e=>{if(!e.picture)return;let i="";ret...
method is_audio (line 2) | static is_audio(e){return"audio"===e.mime0&&this.config.types.includes...
method pictures (line 2) | static pictures(){if(!_c.load_images||!this.config.layout_pictures)ret...
method destroy_observer (line 2) | static destroy_observer(){this.observer&&(this.observer.disconnect(),t...
method intersect (line 2) | static intersect(e,t){e.forEach((e=>{if(!e.isIntersecting)return;fe.ob...
method modal_picture (line 2) | static modal_picture(e,t){this.config.modal_picture&&this.is_audio(e)&...
function d (line 3) | function d(e){e!==i.options.showHideOpacity&&(i.options.showHideOpacity=...
function u (line 3) | function u(){var e=t.current_video;e&&e.pause()}
function h (line 3) | function h(){return!i.options.loop&&i.getCurrentIndex()===i.options.getN...
function g (line 3) | function g(){t.pano_viewer&&(t.pano_viewer.destroy(),t.pano_viewer=!1)}
class ye (line 3) | class ye{static actions={move:"folder_move_outline",copy:"content_copy",...
method headroom_pin (line 3) | static headroom_pin(e){let t=Y.headroom;t&&(e&&e.y&&e.y<t.elem.clientH...
method select (line 3) | static select(e,t){if(!!e.dataset.selected!=!!t)return this.count+=t?1...
method range (line 3) | static range(e,t){if(/*!toggle && */this.focus==this.anchor)return;let...
method click (line 3) | static click(e,t){if(!this.config.enabled)return;const i=e.target.clas...
method matchingItems_length (line 3) | static matchingItems_length(){return Y.list?Math.min(Y.list.matchingIt...
method all (line 3) | static all(e){const t=this.matchingItems_length();if(!t)return;const i...
method selected (line 3) | static selected(){return this.matchingItems_length()?Y.list.matchingIt...
method toggle_has_matchingItems (line 3) | static toggle_has_matchingItems(e){this.el.selectbar.classList.toggle(...
method update (line 3) | static update(){this.config.enabled&&(this.count=this.selected().lengt...
method reset (line 3) | static reset(e){this.config.enabled&&(this.anchor=this.focus=0,this.to...
method interface (line 3) | static interface(){this.el.counter.textContent=this.count||"",this.el....
method set_mode (line 3) | static set_mode(e){this.mode=!!e,K.main.classList.toggle("select-mode"...
method copy_links (line 3) | static copy_links(e){const t=[];return e.forEach((e=>{try{const i=new ...
method paste_items (line 3) | static paste_items(){if(!(_c.current_dir&&this.copied_items.length&&th...
method select_action (line 3) | static select_action(e){if("toggle"===e)return this.all();const t=this...
method keyboard_events (line 3) | static keyboard_events(){if(!this.config.keyboard_shortcuts||!this.con...
method init (line 3) | static init(){if(!this.config.enabled)return;if(this.buttons=this.conf...
class xe (line 3) | class xe{static users;static usernames;static username;static is_install...
method constructor (line 3) | constructor(){if(["default","users"].every((e=>!xe.options[`allow_${e}...
method modal (line 3) | modal(){Ae.confirm.fire({title:ie.get("settings"),cancelButtonText:ie....
method open (line 3) | open(){if(this.el.popup=Swal.getPopup(),this.el.container=Swal.getHtml...
method load (line 3) | load(e,t,i){return!e.load&&_c.demo_mode?F.demo():e.load||ne||xe.is_ins...
method loader (line 3) | loader(e){this.is_loading=!!e,this.el.select&&Q(1).then((()=>["save","...
method interface (line 3) | interface(){this.el.container.innerHTML=`\n <div class="users"${x...
method select_option (line 3) | select_option(e,t){return`<option value="${a(e)}"${t?" selected":""}>$...
method codemirror (line 3) | codemirror(){this.cm=CodeMirror(this.el.options,{lineNumbers:!0,mode:"...
method toggle_fullscreen (line 3) | toggle_fullscreen(){this.el.popup.classList.toggle("settings-fullscree...
method assign_user (line 3) | assign_user(e=!1){e&&this.el.select.value!==e&&(this.el.select.value=e...
method remove_user (line 3) | remove_user(){xe.options.allow_remove&&xe.username&&"default"!==xe.use...
method preconfirm (line 3) | preconfirm(e){if(this.is_loading)return!1;if(this.username_new=this.el...
method invalid_username (line 3) | invalid_username(e){return this.el.username.select(),this.invalid(e)}
method invalid (line 3) | invalid(e){return["pointerup","keydown"].forEach((e=>this.el.popup.add...
method ensure_commas (line 3) | ensure_commas(){let e=this.data.split("\n");if(!e)return;let t=0;e.for...
method check_reload (line 3) | check_reload(e){if(xe.options.reload&&(this.is_default_user||this.is_c...
method reload_confirm (line 3) | reload_confirm(){let e=xe.options.reload_confirm;return!e||("string"!=...
method update (line 3) | update(e){if(this.check_reload(),e!==this.data){let t=this.cm.getCurso...
method random_password (line 3) | random_password(){const e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg...
function t (line 3) | function t(t){e.dataset.updated=t,e.style.cursor="pointer";var i=H(e,"cl...
function k (line 3) | function k(){ae.preview.dataset.counter=te.index+1+"/"+Y.list.matchingIt...
function H (line 3) | function H(){if(!te.codemirror||te.codemirror_saving||!ae.code_save_butt...
function M (line 3) | function M(e,t){_c.config.history&&history[e+"State"](null,te.item.basen...
function $ (line 3) | function $(e){anime({targets:ae.preview.querySelector("svg").children,sc...
function j (line 3) | function j(){te.codemirror_xhr&&(te.codemirror_xhr.abort(),te.codemirror...
function I (line 3) | function I(){return location.hash==="#"+encodeURIComponent(te.item.basen...
function B (line 3) | function B(e){document.documentElement.classList.toggle("modal-open",!!e...
function Z (line 3) | function Z(){te.is_fullscreen=!te.is_fullscreen,ae.popup.classList.toggl...
function G (line 3) | function G(e,t){var i=(e||W).split("-"),a=["x","y"].map(((e,t)=>`modal-p...
function oe (line 3) | function oe(e){j(),re(e),M("replace")}
function se (line 3) | function se(e){if(!e.is_dir&&e.is_readable){if(e.browser_image)return te...
method draggable (line 2) | static draggable(){return this.config.enabled?' draggable="true"':""}
method get_action (line 2) | static get_action(e){return this.config.copy?this.config.move?e.altKey...
method get_item (line 2) | static get_item(e){return e.dataset.name?_c.files[e.dataset.name]:_c.d...
method toggle_drop_target (line 2) | static toggle_drop_target(e,t){e&&e.isConnected&&e.classList.contains(...
method valid_drop_target (line 2) | static valid_drop_target(e){if(e===this.el.trashcan)return this.el.tra...
method dragenter (line 2) | static dragenter(e){const t=this.valid_drop_target(e.target);t&&(this....
method get_drag_image (line 2) | static get_drag_image(e){const t=this.fm.items.length>1,i=U.get_icon(e...
method dragstart (line 2) | static dragstart(e){if(!e.target.draggable||!e.target.hasAttribute("dr...
method get_effectAllowed (line 2) | static get_effectAllowed(){return this.config.copy||this.config.move?t...
method dragend (line 2) | static dragend(e){this.el.trashcan&&this.el.trashcan.style.removePrope...
method trashcan (line 2) | static trashcan(){document.body.insertAdjacentHTML("beforeend",`<div c...
method init (line 2) | static init(){if(!this.config.enabled)return;const e=["copy","delete",...
function re (line 3) | function re(i,s){ae.modal.scrollTop=0,ae.code_save_button&&ae.code_save_...
function ce (line 3) | function ce(){te.idle_timeout&&clearTimeout(te.idle_timeout),te.idle_tim...
function pe (line 3) | function pe(e){te.is_idle=e,ae.popup.classList.toggle("modal-popup-idle"...
method hashed (line 2) | static hashed(e){if(this.config.enabled&&this.config.history&&J("audio...
method global (line 2) | static global(){if(!this.config.enabled)return;if(this.config.files&&"...
method load_global_files (line 2) | static load_global_files(){this.is_global=!0,fetch(`${_c.script}?actio...
method global_player (line 2) | static global_player(e){let t=e.filter((e=>J("audio",e))).map((e=>({_v...
method get_mimes (line 2) | static get_mimes(e){let t=e?re[e]:"",i=t?t.split("/"):[];return{mime:t...
method page_load (line 2) | static page_load(){if(!this.is_global&&this.config.enabled){if(this.is...
method is_exclude (line 2) | static is_exclude(){return!(!this.config.include_dirs||_c.current_path...
method start_player (line 2) | static start_player(){let e=this.request=Date.now();U.load_plugin("ply...
method get_dir_items (line 2) | static get_dir_items(){this.dir_items=Y.list?Y.list.items.filter((e=>J...
method first_config (line 2) | static first_config(){void 0===this.myautoplay&&(this.myloop=!!this.co...
method create (line 2) | static create(){this.player_exists=!0,document.documentElement.classLi...
method initial_sort (line 2) | static initial_sort(){if(["list","initial"].includes(this.config.sort)...
method get_items (line 2) | static get_items(){if(this.is_global)return;if(!Y.list.searched||!this...
method play_index (line 2) | static play_index(e,t=!1){this.play_item(this.items[e],t)}
method play_item (line 2) | static play_item(e,t=!1){if(!e)return;this.playing_class(!1),this.item...
method set_title (line 2) | static set_title(){let e=this.item._values;if(this.el.title.innerHTML=...
method title_show (line 2) | static title_show(){this.config.title_show_duration&&this.config.title...
method first_click (line 2) | static first_click(){this.first_clicked||this.user_paused||!this.confi...
method destroy (line 2) | static destroy(){this.is_global||(this.request=0,this.player_exists&&(...
method nav (line 2) | static nav(e,t=!1){if(this.get_items(),1===this.items.length){if(!this...
method toggle_mini (line 2) | static toggle_mini(){this.is_mini=this.el.audioplayer.classList.toggle...
method playing_class (line 2) | static playing_class(e){this.item&&this.item.elm&&this.item.elm.classL...
method sort_items (line 2) | static sort_items(){"list"===this.config.sort&&this.items.sort(((e,t)=...
method set_user_paused_state (line 2) | static set_user_paused_state(e){this.config.remember_state&&!!e!=!!thi...
method list_click (line 2) | static list_click(e){if(!this.config.enabled||this.is_global||!this.pl...
method autopause (line 2) | static autopause(){this.player.playing&&this.config.autopause&&this.pl...
function de (line 3) | function de(e){e&&e.target!==e.currentTarget||(ae.popup.removeEventListe...
function ue (line 3) | function ue(){te.open&&!I()&&U.close_modal(!1)}
function he (line 3) | function he(){return!te.open||Swal.isVisible()||!I()}
function _e (line 3) | function _e(e){return!(!te.has_nav||!["ArrowLeft","ArrowRight"].includes...
method button (line 2) | static button(){const e=_c.is_logged_in?"logout":"login";_e.options[`$...
method login_confirm (line 2) | static login_confirm(){let e,t;Ae.confirm.fire({title:ie.get("login"),...
method logout_confirm (line 2) | static logout_confirm(){Ae.confirm.fire({title:ie.get("logout"),text:`...
method ping (line 2) | static ping(){fetch(`${_c.script}?action=ping`,{method:"POST"}).then((...
method init_ping (line 2) | static init_ping(){_c.is_logged_in&&_e.options.ping&&(_e.interval=setI...
method was_logged_out (line 2) | static was_logged_out(e){if(_e.interval&&clearInterval(_e.interval),_e...
method logout_refresh (line 2) | static logout_refresh(){document.body.classList.add(Swal.isVisible()?"...
function ge (line 3) | function ge(e){if(!e.repeat&&!he())if(document.activeElement&&[ae.ArrowL...
function ve (line 3) | function ve(e){!he()&&_e(e.key)&&ae[e.key].classList.remove("modal-nav-a...
function be (line 3) | function be(e){he()||ae.popup.contains(e.target)||Array.from(ae.header.c...
function ye (line 3) | function ye(e){e.target.dataset.action||(matchMedia("(max-width: 575.98p...
method headroom_pin (line 3) | static headroom_pin(e){let t=Y.headroom;t&&(e&&e.y&&e.y<t.elem.clientH...
method select (line 3) | static select(e,t){if(!!e.dataset.selected!=!!t)return this.count+=t?1...
method range (line 3) | static range(e,t){if(/*!toggle && */this.focus==this.anchor)return;let...
method click (line 3) | static click(e,t){if(!this.config.enabled)return;const i=e.target.clas...
method matchingItems_length (line 3) | static matchingItems_length(){return Y.list?Math.min(Y.list.matchingIt...
method all (line 3) | static all(e){const t=this.matchingItems_length();if(!t)return;const i...
method selected (line 3) | static selected(){return this.matchingItems_length()?Y.list.matchingIt...
method toggle_has_matchingItems (line 3) | static toggle_has_matchingItems(e){this.el.selectbar.classList.toggle(...
method update (line 3) | static update(){this.config.enabled&&(this.count=this.selected().lengt...
method reset (line 3) | static reset(e){this.config.enabled&&(this.anchor=this.focus=0,this.to...
method interface (line 3) | static interface(){this.el.counter.textContent=this.count||"",this.el....
method set_mode (line 3) | static set_mode(e){this.mode=!!e,K.main.classList.toggle("select-mode"...
method copy_links (line 3) | static copy_links(e){const t=[];return e.forEach((e=>{try{const i=new ...
method paste_items (line 3) | static paste_items(){if(!(_c.current_dir&&this.copied_items.length&&th...
method select_action (line 3) | static select_action(e){if("toggle"===e)return this.all();const t=this...
method keyboard_events (line 3) | static keyboard_events(){if(!this.config.keyboard_shortcuts||!this.con...
method init (line 3) | static init(){if(!this.config.enabled)return;if(this.buttons=this.conf...
function xe (line 3) | function xe(e){let t=(e?"add":"remove")+"EventListener";window[t]("popst...
method constructor (line 3) | constructor(){if(["default","users"].every((e=>!xe.options[`allow_${e}...
method modal (line 3) | modal(){Ae.confirm.fire({title:ie.get("settings"),cancelButtonText:ie....
method open (line 3) | open(){if(this.el.popup=Swal.getPopup(),this.el.container=Swal.getHtml...
method load (line 3) | load(e,t,i){return!e.load&&_c.demo_mode?F.demo():e.load||ne||xe.is_ins...
method loader (line 3) | loader(e){this.is_loading=!!e,this.el.select&&Q(1).then((()=>["save","...
method interface (line 3) | interface(){this.el.container.innerHTML=`\n <div class="users"${x...
method select_option (line 3) | select_option(e,t){return`<option value="${a(e)}"${t?" selected":""}>$...
method codemirror (line 3) | codemirror(){this.cm=CodeMirror(this.el.options,{lineNumbers:!0,mode:"...
method toggle_fullscreen (line 3) | toggle_fullscreen(){this.el.popup.classList.toggle("settings-fullscree...
method assign_user (line 3) | assign_user(e=!1){e&&this.el.select.value!==e&&(this.el.select.value=e...
method remove_user (line 3) | remove_user(){xe.options.allow_remove&&xe.username&&"default"!==xe.use...
method preconfirm (line 3) | preconfirm(e){if(this.is_loading)return!1;if(this.username_new=this.el...
method invalid_username (line 3) | invalid_username(e){return this.el.username.select(),this.invalid(e)}
method invalid (line 3) | invalid(e){return["pointerup","keydown"].forEach((e=>this.el.popup.add...
method ensure_commas (line 3) | ensure_commas(){let e=this.data.split("\n");if(!e)return;let t=0;e.for...
method check_reload (line 3) | check_reload(e){if(xe.options.reload&&(this.is_default_user||this.is_c...
method reload_confirm (line 3) | reload_confirm(){let e=xe.options.reload_confirm;return!e||("string"!=...
method update (line 3) | update(e){if(this.check_reload(),e!==this.data){let t=this.cm.getCurso...
method random_password (line 3) | random_password(){const e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg...
class ke (line 3) | class ke{static active_el;static expand_button;static menu_root;static h...
method init (line 3) | static init(){if(this.config=e("menu",{hidden:!1,expanded:!1,localStor...
method sidebar_hidden (line 3) | static sidebar_hidden(){return!this.is_large_screen()||(this.params.ha...
method is_large_screen (line 3) | static is_large_screen(){return matchMedia("(min-width: 992px)").matches}
method toggle_open (line 3) | static toggle_open(){T.set_option("files:menu-open",!document.document...
method get_menu (line 3) | static get_menu(){const e=!!_c.config.localStorage_cache&&T.get_json("...
method load_menu (line 3) | static load_menu(e){K.sidebar_menu.classList.add("sidebar-spinner"),O(...
method loaded (line 3) | static loaded(e,t,i,a){return K.sidebar_menu.classList.remove("sidebar...
method is_expanded (line 3) | static is_expanded(){if(this.params.hasOwnProperty("expanded"))return ...
method create_menu (line 3) | static create_menu(e,t){if(oe(),j("[MENU] "+t,e),e.forEach((e=>{_c.dir...
method create_menu_html (line 3) | static create_menu_html(e){let t="",i=0,a=0,n=!1;e.forEach((e=>{if(!e....
method add_li (line 3) | static add_li(e,t){let i="menu-li",o="menu-a",s=e.path?(e.path.match(/...
method get_has_uls (line 3) | static get_has_uls(){this.has_uls=_class("has-ul",this.menu_root),this...
method set_active (line 3) | static set_active(e){this.active_el&&this.active_el.classList.remove("...
method set_menu_scroll (line 3) | static set_menu_scroll(){if(!X.local_storage)return;const e=T.get("fil...
method set_menu_toggle (line 3) | static set_menu_toggle(){this.menu_expanded=this.has_uls_root.length&&...
method menu_open_manager (line 3) | static menu_open_manager(e,t){"all"===e?t?this.has_uls.forEach((e=>thi...
method update_expanded (line 3) | static update_expanded(){const e=Object.keys(this.menu_open).length,t=...
method ul_anime (line 3) | static ul_anime(e,t){const i=e.lastElementChild;i.style.display="block...
method li_open (line 3) | static li_open(e){e.classList.replace("menu-li-closed","menu-li-open")}
method li_close (line 3) | static li_close(e){e.classList.replace("menu-li-open","menu-li-closed")}
method loading (line 3) | static loading(e){this.active_el&&this.active_el.classList.toggle("men...
method update (line 3) | static update(){this.get_has_uls(),this.expand_button.classList.toggle...
function i (line 3) | function i(e,t){Object.assign(Y.sort,{sort:e,order:t,multi:"asc"===t?1:-...
function c (line 3) | function c(e,i){if(t.dirs_first&&e._values.is_dir!==i._values.is_dir)ret...
function h (line 3) | function h(e,t,i){let a=r[Y.sort.index],n=_[Y.sort.index];e&&(a.classLis...
function He (line 3) | function He(){const e=e=>Q(100).then((()=>{e&&e.remove()}));[".modal","#...
Condensed preview — 439 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,168K chars).
[
{
"path": "LICENSE.md",
"chars": 1058,
"preview": "\n# Files Gallery / www.files.gallery\n\nCopyright (c) 2020-2026 Imagevue Co Ltd - All Rights Reserved.\n\n## Usage\nYou are f"
},
{
"path": "README.md",
"chars": 1971,
"preview": "# [Files](https://www.files.gallery/)\n\nFiles is a single-file PHP app that can be dropped into any folder on server, ins"
},
{
"path": "_files/assets/@exeba/LICENSE",
"chars": 1107,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2011-2018 Jonny Strömberg, jonnystromberg.com\n\nPermission is hereby granted, free o"
},
{
"path": "_files/assets/@uppy/LICENSE",
"chars": 1078,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2018 Transloadit\n\nPermission is hereby granted, free of charge, to any person obtai"
},
{
"path": "_files/assets/animejs@3.2.2/LICENSE.md",
"chars": 1075,
"preview": "The MIT License\n\nCopyright (c) 2019 Julian Garnier\n\nPermission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "_files/assets/codemirror@6.65.7/LICENSE",
"chars": 1107,
"preview": "MIT License\n\nCopyright (C) 2017 by Marijn Haverbeke <marijnh@gmail.com> and others\n\nPermission is hereby granted, free o"
},
{
"path": "_files/assets/codemirror@6.65.7/addon/mode/loadmode.js",
"chars": 2543,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/addon/mode/multiplex.js",
"chars": 5191,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/addon/mode/overlay.js",
"chars": 3243,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/addon/selection/active-line.js",
"chars": 2509,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/lib/codemirror.css",
"chars": 8720,
"preview": "/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/apl/apl.js",
"chars": 4548,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/asciiarmor/asciiarmor.js",
"chars": 2449,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/asn.1/asn.1.js",
"chars": 7738,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/asterisk/asterisk.js",
"chars": 8142,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/brainfuck/brainfuck.js",
"chars": 2177,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/clike/clike.js",
"chars": 37231,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/clojure/clojure.js",
"chars": 15391,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/cmake/cmake.js",
"chars": 2603,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/cobol/cobol.js",
"chars": 10325,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/coffeescript/coffeescript.js",
"chars": 10038,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/commonlisp/commonlisp.js",
"chars": 4597,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/crystal/crystal.js",
"chars": 12865,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/css/css.js",
"chars": 40492,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/cypher/cypher.js",
"chars": 7130,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/d/d.js",
"chars": 7706,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/dart/dart.js",
"chars": 5490,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/diff/diff.js",
"chars": 1141,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/django/django.js",
"chars": 11794,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/dockerfile/dockerfile.js",
"chars": 4741,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/dtd/dtd.js",
"chars": 4815,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/dylan/dylan.js",
"chars": 10115,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/ebnf/ebnf.js",
"chars": 6072,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/ecl/ecl.js",
"chars": 8846,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/eiffel/eiffel.js",
"chars": 3747,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/elm/elm.js",
"chars": 5657,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/5"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/erlang/erlang.js",
"chars": 18840,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/factor/factor.js",
"chars": 3559,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/fcl/fcl.js",
"chars": 4706,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/forth/forth.js",
"chars": 5233,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/fortran/fortran.js",
"chars": 8634,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/gas/gas.js",
"chars": 9147,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/gfm/gfm.js",
"chars": 5096,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/gherkin/gherkin.js",
"chars": 11062,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/go/go.js",
"chars": 6064,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/groovy/groovy.js",
"chars": 8411,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/haml/haml.js",
"chars": 5357,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/handlebars/handlebars.js",
"chars": 2408,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/haskell/haskell.js",
"chars": 8167,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/haskell-literate/haskell-literate.js",
"chars": 1393,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/haxe/haxe.js",
"chars": 17566,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/htmlembedded/htmlembedded.js",
"chars": 1723,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/htmlmixed/htmlmixed.js",
"chars": 5688,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/http/http.js",
"chars": 2798,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/idl/idl.js",
"chars": 14893,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/javascript/javascript.js",
"chars": 38892,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/jinja2/jinja2.js",
"chars": 4393,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/jsx/jsx.js",
"chars": 5233,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/julia/julia.js",
"chars": 11358,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/livescript/livescript.js",
"chars": 7671,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/lua/lua.js",
"chars": 6005,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/markdown/markdown.js",
"chars": 31325,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/mathematica/mathematica.js",
"chars": 5641,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/mbox/mbox.js",
"chars": 3652,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/meta.js",
"chars": 15926,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/mirc/mirc.js",
"chars": 10080,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/mllike/mllike.js",
"chars": 8725,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/modelica/modelica.js",
"chars": 6936,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/mscgen/mscgen.js",
"chars": 6916,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/mumps/mumps.js",
"chars": 5356,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/nginx/nginx.js",
"chars": 10167,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/nsis/nsis.js",
"chars": 8099,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/ntriples/ntriples.js",
"chars": 7044,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/octave/octave.js",
"chars": 4528,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/oz/oz.js",
"chars": 6663,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/pascal/pascal.js",
"chars": 4207,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/pegjs/pegjs.js",
"chars": 3572,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/perl/perl.js",
"chars": 56084,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/php/php.js",
"chars": 18339,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/pig/pig.js",
"chars": 5813,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/powershell/powershell.js",
"chars": 12921,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/properties/properties.js",
"chars": 2174,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/protobuf/protobuf.js",
"chars": 2192,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/pug/pug.js",
"chars": 15991,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/puppet/puppet.js",
"chars": 7575,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/python/python.js",
"chars": 14926,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/q/q.js",
"chars": 6596,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/r/r.js",
"chars": 6740,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/rpm/changes/index.html",
"chars": 2168,
"preview": "<!doctype html>\n\n<title>CodeMirror: RPM changes mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"../../do"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/rpm/rpm.js",
"chars": 3774,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/rst/rst.js",
"chars": 17550,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/ruby/ruby.js",
"chars": 10703,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/rust/rust.js",
"chars": 3100,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/sas/sas.js",
"chars": 15458,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/sass/sass.js",
"chars": 11619,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/scheme/scheme.js",
"chars": 15265,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/shell/shell.js",
"chars": 5383,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/sieve/sieve.js",
"chars": 4288,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/slim/slim.js",
"chars": 18029,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/smalltalk/smalltalk.js",
"chars": 4546,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/smarty/smarty.js",
"chars": 6843,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/solr/solr.js",
"chars": 2675,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/soy/soy.js",
"chars": 23022,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/sparql/sparql.js",
"chars": 6726,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/spreadsheet/spreadsheet.js",
"chars": 3142,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/sql/sql.js",
"chars": 59538,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/stex/stex.js",
"chars": 7798,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/stylus/stylus.js",
"chars": 42246,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/swift/swift.js",
"chars": 7581,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/tcl/tcl.js",
"chars": 4947,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/textile/textile.js",
"chars": 13838,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/tiddlywiki/tiddlywiki.css",
"chars": 220,
"preview": "span.cm-underlined {\n text-decoration: underline;\n}\nspan.cm-strikethrough {\n text-decoration: line-through;\n}\nspan.cm-"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/tiddlywiki/tiddlywiki.js",
"chars": 8512,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/tiki/tiki.css",
"chars": 439,
"preview": ".cm-tw-syntaxerror {\n\tcolor: #FFF;\n\tbackground-color: #900;\n}\n\n.cm-tw-deleted {\n\ttext-decoration: line-through;\n}\n\n.cm-t"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/tiki/tiki.js",
"chars": 8465,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/toml/toml.js",
"chars": 2900,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/tornado/tornado.js",
"chars": 2499,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/troff/troff.js",
"chars": 2395,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/ttcn/ttcn.js",
"chars": 10158,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/ttcn-cfg/ttcn-cfg.js",
"chars": 7860,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/turtle/turtle.js",
"chars": 4852,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/twig/twig.js",
"chars": 4568,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/vb/vb.js",
"chars": 9839,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/vbscript/vbscript.js",
"chars": 13798,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/velocity/velocity.js",
"chars": 7131,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/verilog/verilog.js",
"chars": 29786,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/vhdl/vhdl.js",
"chars": 6707,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/vue/vue.js",
"chars": 2887,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/wast/wast.js",
"chars": 4807,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/webidl/webidl.js",
"chars": 5787,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/xml/xml.js",
"chars": 13353,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/xquery/xquery.js",
"chars": 15755,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/yacas/yacas.js",
"chars": 5429,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/yaml/yaml.js",
"chars": 3735,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/yaml-frontmatter/yaml-frontmatter.js",
"chars": 2509,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/mode/z80/z80.js",
"chars": 3580,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/3024-day.css",
"chars": 1987,
"preview": "/*\n\n Name: 3024 day\n Author: Jan T. Sott (http://github.com/idleberg)\n\n CodeMirror template by Jan T."
},
{
"path": "_files/assets/codemirror@6.65.7/theme/3024-night.css",
"chars": 2076,
"preview": "/*\n\n Name: 3024 night\n Author: Jan T. Sott (http://github.com/idleberg)\n\n CodeMirror template by Jan "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/abbott.css",
"chars": 7702,
"preview": "/*\n * abbott.css\n * A warm, dark theme for prose and code, with pastels and pretty greens.\n *\n * Ported from abbott.vim "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/abcdef.css",
"chars": 1969,
"preview": ".cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; }\n.cm-s-abcdef div.CodeMirror-selected { background: #515"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/ambiance-mobile.css",
"chars": 103,
"preview": ".cm-s-ambiance.CodeMirror {\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n box-shadow: none;\n}\n"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/ambiance.css",
"chars": 26493,
"preview": "/* ambiance theme for codemirror */\n\n/* Color scheme */\n\n.cm-s-ambiance .cm-header { color: blue; }\n.cm-s-ambiance .cm-q"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/ayu-dark.css",
"chars": 2421,
"preview": "/* Based on https://github.com/dempfi/ayu */\n\n.cm-s-ayu-dark.CodeMirror { background: #0a0e14; color: #b3b1ad; }\n.cm-s-a"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/ayu-mirage.css",
"chars": 2538,
"preview": "/* Based on https://github.com/dempfi/ayu */\n\n.cm-s-ayu-mirage.CodeMirror { background: #1f2430; color: #cbccc6; }\n.cm-s"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/base16-dark.css",
"chars": 2292,
"preview": "/*\n\n Name: Base16 Default Dark\n Author: Chris Kempson (http://chriskempson.com)\n\n CodeMirror template"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/base16-light.css",
"chars": 2124,
"preview": "/*\n\n Name: Base16 Default Light\n Author: Chris Kempson (http://chriskempson.com)\n\n CodeMirror templat"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/bespin.css",
"chars": 1413,
"preview": "/*\n\n Name: Bespin\n Author: Mozilla / Jan T. Sott\n\n CodeMirror template by Jan T. Sott (https://github"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/blackboard.css",
"chars": 1931,
"preview": "/* Port of TextMate's Blackboard theme */\n\n.cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }\n.cm-s-bl"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/cobalt.css",
"chars": 1726,
"preview": ".cm-s-cobalt.CodeMirror { background: #002240; color: white; }\n.cm-s-cobalt div.CodeMirror-selected { background: #b3653"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/colorforth.css",
"chars": 1677,
"preview": ".cm-s-colorforth.CodeMirror { background: #000000; color: #f8f8f8; }\n.cm-s-colorforth .CodeMirror-gutters { background: "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/darcula.css",
"chars": 2686,
"preview": "/**\n Name: IntelliJ IDEA darcula theme\n From IntelliJ IDEA by JetBrains\n */\n\n.cm-s-darcula { font-family: Consola"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/dracula.css",
"chars": 2042,
"preview": "/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/duotone-dark.css",
"chars": 2614,
"preview": "/*\nName: DuoTone-Dark\nAuthor: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/201"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/duotone-light.css",
"chars": 2719,
"preview": "/*\nName: DuoTone-Light\nAuthor: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/20"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/eclipse.css",
"chars": 1187,
"preview": ".cm-s-eclipse span.cm-meta { color: #FF1717; }\n.cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; colo"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/elegant.css",
"chars": 781,
"preview": ".cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }\n.cm-s-elegant sp"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/erlang-dark.css",
"chars": 2286,
"preview": ".cm-s-erlang-dark.CodeMirror { background: #002240; color: white; }\n.cm-s-erlang-dark div.CodeMirror-selected { backgrou"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/gruvbox-dark.css",
"chars": 1918,
"preview": "/*\n\n Name: gruvbox-dark\n Author: kRkk (https://github.com/krkk)\n\n Original gruvbox color scheme by Pa"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/hopscotch.css",
"chars": 1469,
"preview": "/*\n\n Name: Hopscotch\n Author: Jan T. Sott\n\n CodeMirror template by Jan T. Sott (https://github.com/id"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/icecoder.css",
"chars": 2515,
"preview": "/*\nICEcoder default theme by Matt Pass, used in code editor available at https://icecoder.net\n*/\n\n.cm-s-icecoder { color"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/idea.css",
"chars": 1672,
"preview": "/**\n Name: IDEA default theme\n From IntelliJ IDEA by JetBrains\n */\n\n.cm-s-idea span.cm-meta { color: #808000"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/isotope.css",
"chars": 1442,
"preview": "/*\n\n Name: Isotope\n Author: David Desandro / Jan T. Sott\n\n CodeMirror template by Jan T. Sott (https:"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/juejin.css",
"chars": 517,
"preview": ".cm-s-juejin.CodeMirror {\n background: #f8f9fa;\n}\n.cm-s-juejin .cm-header,\n.cm-s-juejin .cm-def {\n color: #1ba2f0;\n}\n."
},
{
"path": "_files/assets/codemirror@6.65.7/theme/lesser-dark.css",
"chars": 2637,
"preview": "/*\nhttp://lesscss.org/ dark theme\nPorted to CodeMirror by Peter Kroon\n*/\n.cm-s-lesser-dark {\n line-height: 1.3em;\n}\n.cm"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/liquibyte.css",
"chars": 3991,
"preview": ".cm-s-liquibyte.CodeMirror {\n\tbackground-color: #000;\n\tcolor: #fff;\n\tline-height: 1.2em;\n\tfont-size: 1em;\n}\n.cm-s-liquib"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/lucario.css",
"chars": 1914,
"preview": "/*\n Name: lucario\n Author: Raphael Amorim\n\n Original Lucario color scheme (https://github.com/raphamorim/lu"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/material-darker.css",
"chars": 2607,
"preview": "/*\n Name: material\n Author: Mattia Astorino (http://github.com/equinusocio)\n Website: https://material-t"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/material-ocean.css",
"chars": 2767,
"preview": "/*\n Name: material\n Author: Mattia Astorino (http://github.com/equinusocio)\n Website: https://material-t"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/material-palenight.css",
"chars": 2923,
"preview": "/*\n Name: material\n Author: Mattia Astorino (http://github.com/equinusocio)\n Website: https://material-t"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/material.css",
"chars": 2533,
"preview": "/*\n Name: material\n Author: Mattia Astorino (http://github.com/equinusocio)\n Website: https://material-t"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/mbo.css",
"chars": 2112,
"preview": "/****************************************************************/\n/* Based on mbonaci's Brackets mbo theme "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/mdn-like.css",
"chars": 5196,
"preview": "/*\n MDN-LIKE Theme - Mozilla\n Ported to CodeMirror by Peter Kroon <plakroon@gmail.com>\n Report bugs/issues here: http"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/midnight.css",
"chars": 1856,
"preview": "/* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */\n\n/*<!--activeline-->*/\n.cm-s-midnight .CodeMir"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/monokai.css",
"chars": 2179,
"preview": "/* Based on Sublime Text's Monokai theme */\n\n.cm-s-monokai.CodeMirror { background: #272822; color: #f8f8f2; }\n.cm-s-mon"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/moxer.css",
"chars": 2369,
"preview": "/*\n Name: Moxer Theme\n Author: Mattia Astorino (http://github.com/equinusocio)\n Website: https://github."
},
{
"path": "_files/assets/codemirror@6.65.7/theme/neat.css",
"chars": 688,
"preview": ".cm-s-neat span.cm-comment { color: #a86; }\n.cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blu"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/neo.css",
"chars": 947,
"preview": "/* neo theme for codemirror */\n\n/* Color scheme */\n\n.cm-s-neo.CodeMirror {\n background-color:#ffffff;\n color:#2e383c;\n"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/night.css",
"chars": 1746,
"preview": "/* Loosely based on the Midnight Textmate theme */\n\n.cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }\n.cm-"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/nord.css",
"chars": 2088,
"preview": "/* Based on arcticicestudio's Nord theme */\n/* https://github.com/arcticicestudio/nord */\n\n.cm-s-nord.CodeMirror { backg"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/oceanic-next.css",
"chars": 2440,
"preview": "/*\n\n Name: oceanic-next\n Author: Filype Pereira (https://github.com/fpereira1)\n\n Original oceanic-nex"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/panda-syntax.css",
"chars": 1804,
"preview": "/*\n\tName: Panda Syntax\n\tAuthor: Siamak Mokhtari (http://github.com/siamak/)\n\tCodeMirror template by Siamak Mok"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/paraiso-dark.css",
"chars": 2077,
"preview": "/*\n\n Name: Paraíso (Dark)\n Author: Jan T. Sott\n\n Color scheme by Jan T. Sott (https://github.com/idle"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/paraiso-light.css",
"chars": 2077,
"preview": "/*\n\n Name: Paraíso (Light)\n Author: Jan T. Sott\n\n Color scheme by Jan T. Sott (https://github.com/idl"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/pastel-on-dark.css",
"chars": 2485,
"preview": "/**\n * Pastel On Dark theme ported from ACE editor\n * @license MIT\n * @copyright AtomicPages LLC 2014\n * @author Dennis "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/railscasts.css",
"chars": 1514,
"preview": "/*\n\n Name: Railscasts\n Author: Ryan Bates (http://railscasts.com)\n\n CodeMirror template by Jan T. Sot"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/rubyblue.css",
"chars": 1801,
"preview": ".cm-s-rubyblue.CodeMirror { background: #112435; color: white; }\n.cm-s-rubyblue div.CodeMirror-selected { background: #3"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/seti.css",
"chars": 2009,
"preview": "/*\n\n Name: seti\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original seti color schem"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/shadowfox.css",
"chars": 2440,
"preview": "/*\n\n Name: shadowfox\n Author: overdodactyl (http://github.com/overdodactyl)\n\n Original shadowfox colo"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/solarized.css",
"chars": 5337,
"preview": "/*\nSolarized theme for code-mirror\nhttp://ethanschoonover.com/solarized\n*/\n\n/*\nSolarized color palette\nhttp://ethanschoo"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/ssms.css",
"chars": 751,
"preview": ".cm-s-ssms span.cm-keyword { color: blue; }\n.cm-s-ssms span.cm-comment { color: darkgreen; }\n.cm-s-ssms span.cm-string {"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/the-matrix.css",
"chars": 1940,
"preview": ".cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }\n.cm-s-the-matrix div.CodeMirror-selected { backgrou"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/tomorrow-night-bright.css",
"chars": 1769,
"preview": "/*\n\n Name: Tomorrow Night - Bright\n Author: Chris Kempson\n\n Port done by Gerard Braad <me@gbraad.nl>\n"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/tomorrow-night-eighties.css",
"chars": 2439,
"preview": "/*\n\n Name: Tomorrow Night - Eighties\n Author: Chris Kempson\n\n CodeMirror template by Jan T. Sott (htt"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/ttcn.css",
"chars": 2440,
"preview": ".cm-s-ttcn .cm-quote { color: #090; }\n.cm-s-ttcn .cm-negative { color: #d44; }\n.cm-s-ttcn .cm-positive { color: #292; }\n"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/twilight.css",
"chars": 2164,
"preview": ".cm-s-twilight.CodeMirror { background: #141414; color: #f7f7f7; } /**/\n.cm-s-twilight div.CodeMirror-selected { backgro"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/vibrant-ink.css",
"chars": 2142,
"preview": "/* Taken from the popular Visual Studio Vibrant Ink Schema */\n\n.cm-s-vibrant-ink.CodeMirror { background: black; color: "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/xq-dark.css",
"chars": 3033,
"preview": "/*\nCopyright (C) 2011 by MarkLogic Corporation\nAuthor: Mike Brevoort <mike@brevoort.com>\n\nPermission is hereby granted, "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/xq-light.css",
"chars": 2255,
"preview": "/*\nCopyright (C) 2011 by MarkLogic Corporation\nAuthor: Mike Brevoort <mike@brevoort.com>\n\nPermission is hereby granted, "
},
{
"path": "_files/assets/codemirror@6.65.7/theme/yeti.css",
"chars": 1884,
"preview": "/*\n\n Name: yeti\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original yeti color schem"
},
{
"path": "_files/assets/codemirror@6.65.7/theme/yonce.css",
"chars": 3073,
"preview": "/*\n\n Name: yoncé\n Author: Thomas MacLean (http://github.com/thomasmaclean)\n\n Original yoncé color sch"
}
]
// ... and 239 more files (download for full content)
About this extraction
This page contains the full source code of the mjau-mjau/files.photo.gallery GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 439 files (2.8 MB), approximately 763.5k tokens, and a symbol index with 1832 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.