├── .clang-format ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE.md └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .snap-data ├── qt.WebEngineProcess.conf └── qt.conf ├── .travis.yml ├── .travis ├── macos-script.sh └── script.sh ├── CONTRIBUTING.md ├── COPYING ├── Dockerfile ├── README.md ├── TODO.txt ├── build-tools ├── githooks │ └── pre-commit └── setup-hooks.sh ├── configure ├── doc └── api │ ├── .gitignore │ ├── README.md │ ├── docs │ ├── Objects │ │ ├── Editor.md │ │ ├── MenuItem.md │ │ ├── Notepadqq.md │ │ ├── NotepadqqApi.md │ │ └── Window.md │ └── index.md │ ├── mkdocs.yml │ └── theme │ ├── base.html │ ├── breadcrumbs.html │ ├── css │ ├── highlight.css │ ├── theme.css │ └── theme_extra.css │ ├── fonts │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff │ ├── footer.html │ ├── img │ └── favicon.ico │ ├── js │ ├── highlight.pack.js │ ├── jquery-2.1.1.min.js │ ├── modernizr-2.8.3.min.js │ └── theme.js │ ├── license │ └── highlight.js │ │ └── LICENSE │ ├── search.html │ ├── searchbox.html │ ├── toc.html │ └── versions.html ├── images ├── notepadqq.icns ├── notepadqq.svg └── old │ ├── logo_2015_1.svg │ ├── logo_2015_10 (units).svg │ ├── logo_2015_11.svg │ ├── logo_2015_12 (shadow).svg │ ├── logo_2015_13 (enlarged).svg │ ├── logo_2015_14.svg │ ├── logo_2015_2.svg │ ├── logo_2015_3.svg │ ├── logo_2015_4.svg │ ├── logo_2015_5.svg │ ├── logo_2015_6.svg │ ├── logo_2015_7.svg │ ├── logo_2015_8.svg │ └── logo_2015_9.svg ├── notepadqq.pro ├── snap └── snapcraft.yaml ├── src ├── data │ ├── Makefile │ ├── contentDetection.json │ ├── syntax │ │ ├── 4dos.xml │ │ ├── abap.xml │ │ ├── abc.xml │ │ ├── actionscript.xml │ │ ├── ada.xml │ │ ├── adblock.xml │ │ ├── agda.xml │ │ ├── ahdl.xml │ │ ├── ahk.xml │ │ ├── alert.xml │ │ ├── ample.xml │ │ ├── ansforth94.xml │ │ ├── ansic89.xml │ │ ├── ansys.xml │ │ ├── apache.xml │ │ ├── apparmor.xml │ │ ├── asm-avr.xml │ │ ├── asm-dsp56k.xml │ │ ├── asm-m68k.xml │ │ ├── asm6502.xml │ │ ├── asn1.xml │ │ ├── asp.xml │ │ ├── awk.xml │ │ ├── bash.xml │ │ ├── bibtex.xml │ │ ├── bitbake.xml │ │ ├── bmethod.xml │ │ ├── boo.xml │ │ ├── c.xml │ │ ├── carto-css.xml │ │ ├── ccss.xml │ │ ├── cg.xml │ │ ├── cgis.xml │ │ ├── changelog.xml │ │ ├── chicken.xml │ │ ├── cisco.xml │ │ ├── clipper.xml │ │ ├── clojure.xml │ │ ├── cmake.xml │ │ ├── coffee.xml │ │ ├── coldfusion.xml │ │ ├── commonlisp.xml │ │ ├── component-pascal.xml │ │ ├── context.xml │ │ ├── cpp.xml │ │ ├── crk.xml │ │ ├── cs.xml │ │ ├── css.xml │ │ ├── cubescript.xml │ │ ├── cue.xml │ │ ├── curry.xml │ │ ├── d.xml │ │ ├── debianchangelog.xml │ │ ├── debiancontrol.xml │ │ ├── desktop.xml │ │ ├── diff.xml │ │ ├── djangotemplate.xml │ │ ├── dockerfile.xml │ │ ├── dosbat.xml │ │ ├── dot.xml │ │ ├── doxyfile.xml │ │ ├── doxygen.xml │ │ ├── doxygenlua.xml │ │ ├── dtd.xml │ │ ├── e.xml │ │ ├── eiffel.xml │ │ ├── elixir.xml │ │ ├── email.xml │ │ ├── erlang.xml │ │ ├── euphoria.xml │ │ ├── fasm.xml │ │ ├── fastq.xml │ │ ├── ferite.xml │ │ ├── fgl-4gl.xml │ │ ├── fgl-per.xml │ │ ├── fortran.xml │ │ ├── freebasic.xml │ │ ├── fsharp.xml │ │ ├── fstab.xml │ │ ├── ftl.xml │ │ ├── gap.xml │ │ ├── gcc.xml │ │ ├── gcode.xml │ │ ├── gdb-bt.xml │ │ ├── gdb.xml │ │ ├── gdbinit.xml │ │ ├── gdl.xml │ │ ├── gettext.xml │ │ ├── git-ignore.xml │ │ ├── git-rebase.xml │ │ ├── gitolite.xml │ │ ├── glosstex.xml │ │ ├── glsl.xml │ │ ├── gnuassembler.xml │ │ ├── gnuplot.xml │ │ ├── go.xml │ │ ├── grammar.xml │ │ ├── groovy.xml │ │ ├── haml.xml │ │ ├── hamlet.xml │ │ ├── haskell.xml │ │ ├── haxe.xml │ │ ├── html.xml │ │ ├── hunspell-aff.xml │ │ ├── hunspell-dat.xml │ │ ├── hunspell-dic.xml │ │ ├── hunspell-idx.xml │ │ ├── idconsole.xml │ │ ├── idl.xml │ │ ├── ilerpg.xml │ │ ├── inform.xml │ │ ├── ini.xml │ │ ├── intelhex.xml │ │ ├── isocpp.xml │ │ ├── j.xml │ │ ├── jam.xml │ │ ├── java.xml │ │ ├── javadoc.xml │ │ ├── javascript-react.xml │ │ ├── javascript.xml │ │ ├── jira.xml │ │ ├── json.xml │ │ ├── jsp.xml │ │ ├── julia.xml │ │ ├── k.xml │ │ ├── kbasic.xml │ │ ├── kconfig.xml │ │ ├── kdesrc-buildrc.xml │ │ ├── kotlin.xml │ │ ├── latex.xml │ │ ├── ld.xml │ │ ├── ldif.xml │ │ ├── less.xml │ │ ├── lex.xml │ │ ├── lilypond.xml │ │ ├── literate-curry.xml │ │ ├── literate-haskell.xml │ │ ├── logcat.xml │ │ ├── logtalk.xml │ │ ├── lpc.xml │ │ ├── lsl.xml │ │ ├── lua.xml │ │ ├── m3u.xml │ │ ├── m4.xml │ │ ├── mab.xml │ │ ├── magma.xml │ │ ├── makefile.xml │ │ ├── mako.xml │ │ ├── mandoc.xml │ │ ├── markdown.xml │ │ ├── mason.xml │ │ ├── mathematica.xml │ │ ├── matlab.xml │ │ ├── maxima.xml │ │ ├── mediawiki.xml │ │ ├── mel.xml │ │ ├── mergetagtext.xml │ │ ├── meson.xml │ │ ├── metafont.xml │ │ ├── metamath.xml │ │ ├── mib.xml │ │ ├── mips.xml │ │ ├── modelica.xml │ │ ├── modelines.xml │ │ ├── modula-2-iso-only.xml │ │ ├── modula-2-pim-only.xml │ │ ├── modula-2-r10-only.xml │ │ ├── modula-2.xml │ │ ├── monobasic.xml │ │ ├── mup.xml │ │ ├── nagios.xml │ │ ├── nasm.xml │ │ ├── nemerle.xml │ │ ├── nesc.xml │ │ ├── noweb.xml │ │ ├── nsis.xml │ │ ├── objectivec.xml │ │ ├── objectivecpp.xml │ │ ├── ocaml.xml │ │ ├── ocamllex.xml │ │ ├── ocamlyacc.xml │ │ ├── octave.xml │ │ ├── oors.xml │ │ ├── opal.xml │ │ ├── opencl.xml │ │ ├── openscad.xml │ │ ├── pango.xml │ │ ├── pascal.xml │ │ ├── perl.xml │ │ ├── pgn.xml │ │ ├── php.xml │ │ ├── picsrc.xml │ │ ├── pig.xml │ │ ├── pike.xml │ │ ├── pli.xml │ │ ├── ply.xml │ │ ├── pony.xml │ │ ├── postscript.xml │ │ ├── povray.xml │ │ ├── powershell.xml │ │ ├── ppd.xml │ │ ├── praat.xml │ │ ├── progress.xml │ │ ├── prolog.xml │ │ ├── protobuf.xml │ │ ├── pug.xml │ │ ├── puppet.xml │ │ ├── purebasic.xml │ │ ├── python.xml │ │ ├── q.xml │ │ ├── qdocconf.xml │ │ ├── qmake.xml │ │ ├── qml.xml │ │ ├── r.xml │ │ ├── rapidq.xml │ │ ├── rdoc.xml │ │ ├── relaxng.xml │ │ ├── relaxngcompact.xml │ │ ├── replicode.xml │ │ ├── rest.xml │ │ ├── rexx.xml │ │ ├── rhtml.xml │ │ ├── rib.xml │ │ ├── rmarkdown.xml │ │ ├── roff.xml │ │ ├── rpmspec.xml │ │ ├── rsiidl.xml │ │ ├── rtf.xml │ │ ├── ruby.xml │ │ ├── rust.xml │ │ ├── sather.xml │ │ ├── scala.xml │ │ ├── scheme.xml │ │ ├── sci.xml │ │ ├── scss.xml │ │ ├── sed.xml │ │ ├── selinux-cil.xml │ │ ├── selinux-fc.xml │ │ ├── selinux.xml │ │ ├── sgml.xml │ │ ├── sieve.xml │ │ ├── sisu.xml │ │ ├── sml.xml │ │ ├── spice.xml │ │ ├── sql-mysql.xml │ │ ├── sql-oracle.xml │ │ ├── sql-postgresql.xml │ │ ├── sql.xml │ │ ├── stan.xml │ │ ├── stata.xml │ │ ├── stl.xml │ │ ├── systemc.xml │ │ ├── systemverilog.xml │ │ ├── tads3.xml │ │ ├── taskjuggler.xml │ │ ├── tcl.xml │ │ ├── tcsh.xml │ │ ├── template-toolkit.xml │ │ ├── texinfo.xml │ │ ├── textile.xml │ │ ├── tibasic.xml │ │ ├── tiger.xml │ │ ├── toml.xml │ │ ├── txt2tags.xml │ │ ├── uscript.xml │ │ ├── vala.xml │ │ ├── valgrind-suppression.xml │ │ ├── varnish.xml │ │ ├── varnish4.xml │ │ ├── varnishcc.xml │ │ ├── varnishcc4.xml │ │ ├── varnishtest.xml │ │ ├── varnishtest4.xml │ │ ├── vcard.xml │ │ ├── velocity.xml │ │ ├── vera.xml │ │ ├── verilog.xml │ │ ├── vhdl.xml │ │ ├── vrml.xml │ │ ├── wavefront-obj.xml │ │ ├── winehq.xml │ │ ├── wml.xml │ │ ├── xharbour.xml │ │ ├── xml.xml │ │ ├── xmldebug.xml │ │ ├── xonotic-console.xml │ │ ├── xorg.xml │ │ ├── xslt.xml │ │ ├── xul.xml │ │ ├── yacas.xml │ │ ├── yacc.xml │ │ ├── yaml.xml │ │ ├── yang.xml │ │ ├── zonnon.xml │ │ └── zsh.xml │ └── themes │ │ ├── breeze-dark.theme │ │ ├── default.theme │ │ ├── dracula.theme │ │ ├── printing.theme │ │ ├── solarized-dark.theme │ │ ├── solarized-light.theme │ │ ├── theme-data.qrc │ │ └── zenburn.theme ├── extension_tools │ ├── Makefile │ ├── install.js │ ├── node_modules │ │ ├── .bin │ │ │ └── shjs │ │ ├── adm-zip │ │ │ ├── README.md │ │ │ ├── adm-zip.js │ │ │ ├── headers │ │ │ │ ├── entryHeader.js │ │ │ │ ├── index.js │ │ │ │ └── mainHeader.js │ │ │ ├── methods │ │ │ │ ├── deflater.js │ │ │ │ ├── index.js │ │ │ │ └── inflater.js │ │ │ ├── package.json │ │ │ ├── util │ │ │ │ ├── constants.js │ │ │ │ ├── errors.js │ │ │ │ ├── fattr.js │ │ │ │ ├── index.js │ │ │ │ └── utils.js │ │ │ ├── zipEntry.js │ │ │ └── zipFile.js │ │ ├── archiver │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── lib │ │ │ │ ├── archiver.js │ │ │ │ ├── core.js │ │ │ │ ├── plugins │ │ │ │ │ ├── json.js │ │ │ │ │ ├── tar.js │ │ │ │ │ └── zip.js │ │ │ │ └── util │ │ │ │ │ ├── file.js │ │ │ │ │ └── index.js │ │ │ ├── node_modules │ │ │ │ ├── async │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── component.json │ │ │ │ │ ├── lib │ │ │ │ │ │ └── async.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── support │ │ │ │ │ │ └── sync-package-managers.js │ │ │ │ ├── buffer-crc32 │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── crc.test.js │ │ │ │ ├── glob │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── common.js │ │ │ │ │ ├── glob.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── inflight │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── inflight.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── wrappy │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ │ └── basic.js │ │ │ │ │ │ │ │ │ └── wrappy.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ ├── minimatch │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ ├── minimatch.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── brace-expansion │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── example.js │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ ├── balanced-match │ │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ ├── example.js │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ │ │ └── balanced.js │ │ │ │ │ │ │ │ │ └── concat-map │ │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ ├── README.markdown │ │ │ │ │ │ │ │ │ │ ├── example │ │ │ │ │ │ │ │ │ │ └── map.js │ │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ │ └── map.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ ├── bash-comparison.js │ │ │ │ │ │ │ │ │ ├── bash-results.txt │ │ │ │ │ │ │ │ │ ├── cases.txt │ │ │ │ │ │ │ │ │ ├── dollar.js │ │ │ │ │ │ │ │ │ ├── empty-option.js │ │ │ │ │ │ │ │ │ ├── generate.sh │ │ │ │ │ │ │ │ │ ├── negative-increment.js │ │ │ │ │ │ │ │ │ ├── nested.js │ │ │ │ │ │ │ │ │ ├── order.js │ │ │ │ │ │ │ │ │ ├── pad.js │ │ │ │ │ │ │ │ │ ├── same-type.js │ │ │ │ │ │ │ │ │ └── sequence.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── once │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ └── wrappy │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ └── basic.js │ │ │ │ │ │ │ │ └── wrappy.js │ │ │ │ │ │ │ ├── once.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ └── once.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── sync.js │ │ │ │ ├── lazystream │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE-MIT │ │ │ │ │ ├── README.md │ │ │ │ │ ├── lib │ │ │ │ │ │ └── lazystream.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ ├── data.md │ │ │ │ │ │ ├── fs_test.js │ │ │ │ │ │ ├── helper.js │ │ │ │ │ │ ├── pipe_test.js │ │ │ │ │ │ ├── readable_test.js │ │ │ │ │ │ └── writable_test.js │ │ │ │ ├── lodash │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── README.md │ │ │ │ │ ├── array.js │ │ │ │ │ ├── array │ │ │ │ │ │ ├── chunk.js │ │ │ │ │ │ ├── compact.js │ │ │ │ │ │ ├── difference.js │ │ │ │ │ │ ├── drop.js │ │ │ │ │ │ ├── dropRight.js │ │ │ │ │ │ ├── dropRightWhile.js │ │ │ │ │ │ ├── dropWhile.js │ │ │ │ │ │ ├── fill.js │ │ │ │ │ │ ├── findIndex.js │ │ │ │ │ │ ├── findLastIndex.js │ │ │ │ │ │ ├── first.js │ │ │ │ │ │ ├── flatten.js │ │ │ │ │ │ ├── flattenDeep.js │ │ │ │ │ │ ├── head.js │ │ │ │ │ │ ├── indexOf.js │ │ │ │ │ │ ├── initial.js │ │ │ │ │ │ ├── intersection.js │ │ │ │ │ │ ├── last.js │ │ │ │ │ │ ├── lastIndexOf.js │ │ │ │ │ │ ├── object.js │ │ │ │ │ │ ├── pull.js │ │ │ │ │ │ ├── pullAt.js │ │ │ │ │ │ ├── remove.js │ │ │ │ │ │ ├── rest.js │ │ │ │ │ │ ├── slice.js │ │ │ │ │ │ ├── sortedIndex.js │ │ │ │ │ │ ├── sortedLastIndex.js │ │ │ │ │ │ ├── tail.js │ │ │ │ │ │ ├── take.js │ │ │ │ │ │ ├── takeRight.js │ │ │ │ │ │ ├── takeRightWhile.js │ │ │ │ │ │ ├── takeWhile.js │ │ │ │ │ │ ├── union.js │ │ │ │ │ │ ├── uniq.js │ │ │ │ │ │ ├── unique.js │ │ │ │ │ │ ├── unzip.js │ │ │ │ │ │ ├── without.js │ │ │ │ │ │ ├── xor.js │ │ │ │ │ │ ├── zip.js │ │ │ │ │ │ └── zipObject.js │ │ │ │ │ ├── chain.js │ │ │ │ │ ├── chain │ │ │ │ │ │ ├── chain.js │ │ │ │ │ │ ├── commit.js │ │ │ │ │ │ ├── lodash.js │ │ │ │ │ │ ├── plant.js │ │ │ │ │ │ ├── reverse.js │ │ │ │ │ │ ├── run.js │ │ │ │ │ │ ├── tap.js │ │ │ │ │ │ ├── thru.js │ │ │ │ │ │ ├── toJSON.js │ │ │ │ │ │ ├── toString.js │ │ │ │ │ │ ├── value.js │ │ │ │ │ │ ├── valueOf.js │ │ │ │ │ │ ├── wrapperChain.js │ │ │ │ │ │ ├── wrapperCommit.js │ │ │ │ │ │ ├── wrapperPlant.js │ │ │ │ │ │ ├── wrapperReverse.js │ │ │ │ │ │ ├── wrapperToString.js │ │ │ │ │ │ └── wrapperValue.js │ │ │ │ │ ├── collection.js │ │ │ │ │ ├── collection │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── any.js │ │ │ │ │ │ ├── at.js │ │ │ │ │ │ ├── collect.js │ │ │ │ │ │ ├── contains.js │ │ │ │ │ │ ├── countBy.js │ │ │ │ │ │ ├── detect.js │ │ │ │ │ │ ├── each.js │ │ │ │ │ │ ├── eachRight.js │ │ │ │ │ │ ├── every.js │ │ │ │ │ │ ├── filter.js │ │ │ │ │ │ ├── find.js │ │ │ │ │ │ ├── findLast.js │ │ │ │ │ │ ├── findWhere.js │ │ │ │ │ │ ├── foldl.js │ │ │ │ │ │ ├── foldr.js │ │ │ │ │ │ ├── forEach.js │ │ │ │ │ │ ├── forEachRight.js │ │ │ │ │ │ ├── groupBy.js │ │ │ │ │ │ ├── include.js │ │ │ │ │ │ ├── includes.js │ │ │ │ │ │ ├── indexBy.js │ │ │ │ │ │ ├── inject.js │ │ │ │ │ │ ├── invoke.js │ │ │ │ │ │ ├── map.js │ │ │ │ │ │ ├── max.js │ │ │ │ │ │ ├── min.js │ │ │ │ │ │ ├── partition.js │ │ │ │ │ │ ├── pluck.js │ │ │ │ │ │ ├── reduce.js │ │ │ │ │ │ ├── reduceRight.js │ │ │ │ │ │ ├── reject.js │ │ │ │ │ │ ├── sample.js │ │ │ │ │ │ ├── select.js │ │ │ │ │ │ ├── shuffle.js │ │ │ │ │ │ ├── size.js │ │ │ │ │ │ ├── some.js │ │ │ │ │ │ ├── sortBy.js │ │ │ │ │ │ ├── sortByAll.js │ │ │ │ │ │ └── where.js │ │ │ │ │ ├── date.js │ │ │ │ │ ├── date │ │ │ │ │ │ └── now.js │ │ │ │ │ ├── function.js │ │ │ │ │ ├── function │ │ │ │ │ │ ├── after.js │ │ │ │ │ │ ├── ary.js │ │ │ │ │ │ ├── backflow.js │ │ │ │ │ │ ├── before.js │ │ │ │ │ │ ├── bind.js │ │ │ │ │ │ ├── bindAll.js │ │ │ │ │ │ ├── bindKey.js │ │ │ │ │ │ ├── compose.js │ │ │ │ │ │ ├── curry.js │ │ │ │ │ │ ├── curryRight.js │ │ │ │ │ │ ├── debounce.js │ │ │ │ │ │ ├── defer.js │ │ │ │ │ │ ├── delay.js │ │ │ │ │ │ ├── flow.js │ │ │ │ │ │ ├── flowRight.js │ │ │ │ │ │ ├── memoize.js │ │ │ │ │ │ ├── negate.js │ │ │ │ │ │ ├── once.js │ │ │ │ │ │ ├── partial.js │ │ │ │ │ │ ├── partialRight.js │ │ │ │ │ │ ├── rearg.js │ │ │ │ │ │ ├── spread.js │ │ │ │ │ │ ├── throttle.js │ │ │ │ │ │ └── wrap.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── LazyWrapper.js │ │ │ │ │ │ ├── LodashWrapper.js │ │ │ │ │ │ ├── MapCache.js │ │ │ │ │ │ ├── SetCache.js │ │ │ │ │ │ ├── arrayCopy.js │ │ │ │ │ │ ├── arrayEach.js │ │ │ │ │ │ ├── arrayEachRight.js │ │ │ │ │ │ ├── arrayEvery.js │ │ │ │ │ │ ├── arrayFilter.js │ │ │ │ │ │ ├── arrayMap.js │ │ │ │ │ │ ├── arrayMax.js │ │ │ │ │ │ ├── arrayMin.js │ │ │ │ │ │ ├── arrayReduce.js │ │ │ │ │ │ ├── arrayReduceRight.js │ │ │ │ │ │ ├── arraySome.js │ │ │ │ │ │ ├── assignDefaults.js │ │ │ │ │ │ ├── assignOwnDefaults.js │ │ │ │ │ │ ├── baseAssign.js │ │ │ │ │ │ ├── baseAt.js │ │ │ │ │ │ ├── baseBindAll.js │ │ │ │ │ │ ├── baseCallback.js │ │ │ │ │ │ ├── baseClone.js │ │ │ │ │ │ ├── baseCompareAscending.js │ │ │ │ │ │ ├── baseCopy.js │ │ │ │ │ │ ├── baseCreate.js │ │ │ │ │ │ ├── baseDelay.js │ │ │ │ │ │ ├── baseDifference.js │ │ │ │ │ │ ├── baseEach.js │ │ │ │ │ │ ├── baseEachRight.js │ │ │ │ │ │ ├── baseEvery.js │ │ │ │ │ │ ├── baseFill.js │ │ │ │ │ │ ├── baseFilter.js │ │ │ │ │ │ ├── baseFind.js │ │ │ │ │ │ ├── baseFlatten.js │ │ │ │ │ │ ├── baseFor.js │ │ │ │ │ │ ├── baseForIn.js │ │ │ │ │ │ ├── baseForOwn.js │ │ │ │ │ │ ├── baseForOwnRight.js │ │ │ │ │ │ ├── baseForRight.js │ │ │ │ │ │ ├── baseFunctions.js │ │ │ │ │ │ ├── baseIndexOf.js │ │ │ │ │ │ ├── baseInvoke.js │ │ │ │ │ │ ├── baseIsEqual.js │ │ │ │ │ │ ├── baseIsEqualDeep.js │ │ │ │ │ │ ├── baseIsMatch.js │ │ │ │ │ │ ├── baseMap.js │ │ │ │ │ │ ├── baseMatches.js │ │ │ │ │ │ ├── baseMatchesProperty.js │ │ │ │ │ │ ├── baseMerge.js │ │ │ │ │ │ ├── baseMergeDeep.js │ │ │ │ │ │ ├── baseProperty.js │ │ │ │ │ │ ├── basePullAt.js │ │ │ │ │ │ ├── baseRandom.js │ │ │ │ │ │ ├── baseReduce.js │ │ │ │ │ │ ├── baseSetData.js │ │ │ │ │ │ ├── baseSlice.js │ │ │ │ │ │ ├── baseSome.js │ │ │ │ │ │ ├── baseSortBy.js │ │ │ │ │ │ ├── baseToString.js │ │ │ │ │ │ ├── baseUniq.js │ │ │ │ │ │ ├── baseValues.js │ │ │ │ │ │ ├── baseWrapperValue.js │ │ │ │ │ │ ├── binaryIndex.js │ │ │ │ │ │ ├── binaryIndexBy.js │ │ │ │ │ │ ├── bindCallback.js │ │ │ │ │ │ ├── bufferClone.js │ │ │ │ │ │ ├── cacheIndexOf.js │ │ │ │ │ │ ├── cachePush.js │ │ │ │ │ │ ├── charAtCallback.js │ │ │ │ │ │ ├── charsLeftIndex.js │ │ │ │ │ │ ├── charsRightIndex.js │ │ │ │ │ │ ├── compareAscending.js │ │ │ │ │ │ ├── compareMultipleAscending.js │ │ │ │ │ │ ├── composeArgs.js │ │ │ │ │ │ ├── composeArgsRight.js │ │ │ │ │ │ ├── createAggregator.js │ │ │ │ │ │ ├── createAssigner.js │ │ │ │ │ │ ├── createBindWrapper.js │ │ │ │ │ │ ├── createCache.js │ │ │ │ │ │ ├── createCompounder.js │ │ │ │ │ │ ├── createCtorWrapper.js │ │ │ │ │ │ ├── createExtremum.js │ │ │ │ │ │ ├── createHybridWrapper.js │ │ │ │ │ │ ├── createPad.js │ │ │ │ │ │ ├── createPartialWrapper.js │ │ │ │ │ │ ├── createWrapper.js │ │ │ │ │ │ ├── deburrLetter.js │ │ │ │ │ │ ├── equalArrays.js │ │ │ │ │ │ ├── equalByTag.js │ │ │ │ │ │ ├── equalObjects.js │ │ │ │ │ │ ├── escapeHtmlChar.js │ │ │ │ │ │ ├── escapeStringChar.js │ │ │ │ │ │ ├── extremumBy.js │ │ │ │ │ │ ├── getData.js │ │ │ │ │ │ ├── getView.js │ │ │ │ │ │ ├── indexOfNaN.js │ │ │ │ │ │ ├── initCloneArray.js │ │ │ │ │ │ ├── initCloneByTag.js │ │ │ │ │ │ ├── initCloneObject.js │ │ │ │ │ │ ├── isBindable.js │ │ │ │ │ │ ├── isIndex.js │ │ │ │ │ │ ├── isIterateeCall.js │ │ │ │ │ │ ├── isLength.js │ │ │ │ │ │ ├── isObjectLike.js │ │ │ │ │ │ ├── isSpace.js │ │ │ │ │ │ ├── isStrictComparable.js │ │ │ │ │ │ ├── lazyClone.js │ │ │ │ │ │ ├── lazyReverse.js │ │ │ │ │ │ ├── lazyValue.js │ │ │ │ │ │ ├── mapDelete.js │ │ │ │ │ │ ├── mapGet.js │ │ │ │ │ │ ├── mapHas.js │ │ │ │ │ │ ├── mapSet.js │ │ │ │ │ │ ├── mergeData.js │ │ │ │ │ │ ├── metaMap.js │ │ │ │ │ │ ├── pickByArray.js │ │ │ │ │ │ ├── pickByCallback.js │ │ │ │ │ │ ├── reEscape.js │ │ │ │ │ │ ├── reEvaluate.js │ │ │ │ │ │ ├── reInterpolate.js │ │ │ │ │ │ ├── reorder.js │ │ │ │ │ │ ├── replaceHolders.js │ │ │ │ │ │ ├── setData.js │ │ │ │ │ │ ├── shimIsPlainObject.js │ │ │ │ │ │ ├── shimKeys.js │ │ │ │ │ │ ├── sortedUniq.js │ │ │ │ │ │ ├── toIterable.js │ │ │ │ │ │ ├── toObject.js │ │ │ │ │ │ ├── trimmedLeftIndex.js │ │ │ │ │ │ ├── trimmedRightIndex.js │ │ │ │ │ │ ├── unescapeHtmlChar.js │ │ │ │ │ │ └── wrapperClone.js │ │ │ │ │ ├── lang.js │ │ │ │ │ ├── lang │ │ │ │ │ │ ├── clone.js │ │ │ │ │ │ ├── cloneDeep.js │ │ │ │ │ │ ├── isArguments.js │ │ │ │ │ │ ├── isArray.js │ │ │ │ │ │ ├── isBoolean.js │ │ │ │ │ │ ├── isDate.js │ │ │ │ │ │ ├── isElement.js │ │ │ │ │ │ ├── isEmpty.js │ │ │ │ │ │ ├── isEqual.js │ │ │ │ │ │ ├── isError.js │ │ │ │ │ │ ├── isFinite.js │ │ │ │ │ │ ├── isFunction.js │ │ │ │ │ │ ├── isMatch.js │ │ │ │ │ │ ├── isNaN.js │ │ │ │ │ │ ├── isNative.js │ │ │ │ │ │ ├── isNull.js │ │ │ │ │ │ ├── isNumber.js │ │ │ │ │ │ ├── isObject.js │ │ │ │ │ │ ├── isPlainObject.js │ │ │ │ │ │ ├── isRegExp.js │ │ │ │ │ │ ├── isString.js │ │ │ │ │ │ ├── isTypedArray.js │ │ │ │ │ │ ├── isUndefined.js │ │ │ │ │ │ ├── toArray.js │ │ │ │ │ │ └── toPlainObject.js │ │ │ │ │ ├── number.js │ │ │ │ │ ├── number │ │ │ │ │ │ └── random.js │ │ │ │ │ ├── object.js │ │ │ │ │ ├── object │ │ │ │ │ │ ├── assign.js │ │ │ │ │ │ ├── create.js │ │ │ │ │ │ ├── defaults.js │ │ │ │ │ │ ├── extend.js │ │ │ │ │ │ ├── findKey.js │ │ │ │ │ │ ├── findLastKey.js │ │ │ │ │ │ ├── forIn.js │ │ │ │ │ │ ├── forInRight.js │ │ │ │ │ │ ├── forOwn.js │ │ │ │ │ │ ├── forOwnRight.js │ │ │ │ │ │ ├── functions.js │ │ │ │ │ │ ├── has.js │ │ │ │ │ │ ├── invert.js │ │ │ │ │ │ ├── keys.js │ │ │ │ │ │ ├── keysIn.js │ │ │ │ │ │ ├── mapValues.js │ │ │ │ │ │ ├── merge.js │ │ │ │ │ │ ├── methods.js │ │ │ │ │ │ ├── omit.js │ │ │ │ │ │ ├── pairs.js │ │ │ │ │ │ ├── pick.js │ │ │ │ │ │ ├── result.js │ │ │ │ │ │ ├── transform.js │ │ │ │ │ │ ├── values.js │ │ │ │ │ │ └── valuesIn.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── string.js │ │ │ │ │ ├── string │ │ │ │ │ │ ├── camelCase.js │ │ │ │ │ │ ├── capitalize.js │ │ │ │ │ │ ├── deburr.js │ │ │ │ │ │ ├── endsWith.js │ │ │ │ │ │ ├── escape.js │ │ │ │ │ │ ├── escapeRegExp.js │ │ │ │ │ │ ├── kebabCase.js │ │ │ │ │ │ ├── pad.js │ │ │ │ │ │ ├── padLeft.js │ │ │ │ │ │ ├── padRight.js │ │ │ │ │ │ ├── parseInt.js │ │ │ │ │ │ ├── repeat.js │ │ │ │ │ │ ├── snakeCase.js │ │ │ │ │ │ ├── startCase.js │ │ │ │ │ │ ├── startsWith.js │ │ │ │ │ │ ├── template.js │ │ │ │ │ │ ├── templateSettings.js │ │ │ │ │ │ ├── trim.js │ │ │ │ │ │ ├── trimLeft.js │ │ │ │ │ │ ├── trimRight.js │ │ │ │ │ │ ├── trunc.js │ │ │ │ │ │ ├── unescape.js │ │ │ │ │ │ └── words.js │ │ │ │ │ ├── support.js │ │ │ │ │ ├── utility.js │ │ │ │ │ └── utility │ │ │ │ │ │ ├── attempt.js │ │ │ │ │ │ ├── callback.js │ │ │ │ │ │ ├── constant.js │ │ │ │ │ │ ├── identity.js │ │ │ │ │ │ ├── iteratee.js │ │ │ │ │ │ ├── matches.js │ │ │ │ │ │ ├── matchesProperty.js │ │ │ │ │ │ ├── mixin.js │ │ │ │ │ │ ├── noop.js │ │ │ │ │ │ ├── property.js │ │ │ │ │ │ ├── propertyOf.js │ │ │ │ │ │ ├── range.js │ │ │ │ │ │ ├── times.js │ │ │ │ │ │ └── uniqueId.js │ │ │ │ ├── readable-stream │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── duplex.js │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── _stream_duplex.js │ │ │ │ │ │ ├── _stream_passthrough.js │ │ │ │ │ │ ├── _stream_readable.js │ │ │ │ │ │ ├── _stream_transform.js │ │ │ │ │ │ └── _stream_writable.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── core-util-is │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ ├── isarray │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── build │ │ │ │ │ │ │ │ └── build.js │ │ │ │ │ │ │ ├── component.json │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── string_decoder │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── package.json │ │ │ │ │ ├── passthrough.js │ │ │ │ │ ├── readable.js │ │ │ │ │ ├── transform.js │ │ │ │ │ └── writable.js │ │ │ │ ├── tar-stream │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── extract.js │ │ │ │ │ ├── headers.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── bl │ │ │ │ │ │ │ ├── .jshintrc │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── bl.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── basic-test.js │ │ │ │ │ │ │ │ ├── sauce.js │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ ├── end-of-stream │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── once │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ └── wrappy │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ │ │ └── basic.js │ │ │ │ │ │ │ │ │ │ └── wrappy.js │ │ │ │ │ │ │ │ │ ├── once.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ └── once.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ └── xtend │ │ │ │ │ │ │ ├── .jshintrc │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENCE │ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── immutable.js │ │ │ │ │ │ │ ├── mutable.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── pack.js │ │ │ │ │ └── package.json │ │ │ │ └── zip-stream │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── lib │ │ │ │ │ ├── util │ │ │ │ │ │ └── index.js │ │ │ │ │ └── zip-stream.js │ │ │ │ │ ├── node_modules │ │ │ │ │ └── compress-commons │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── archivers │ │ │ │ │ │ │ ├── archive-entry.js │ │ │ │ │ │ │ ├── archive-output-stream.js │ │ │ │ │ │ │ └── zip │ │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ │ ├── general-purpose-bit.js │ │ │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ │ │ ├── zip-archive-entry.js │ │ │ │ │ │ │ │ └── zip-archive-output-stream.js │ │ │ │ │ │ ├── compress-commons.js │ │ │ │ │ │ └── util │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── crc32-stream │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ ├── crc32-stream.js │ │ │ │ │ │ │ │ ├── deflate-crc32-stream.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── node-int64 │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── Int64.js │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ └── shelljs │ │ │ ├── .documentup.json │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── RELEASE.md │ │ │ ├── bin │ │ │ └── shjs │ │ │ ├── global.js │ │ │ ├── make.js │ │ │ ├── package.json │ │ │ ├── scripts │ │ │ ├── generate-docs.js │ │ │ └── run-tests.js │ │ │ ├── shell.js │ │ │ └── src │ │ │ ├── cat.js │ │ │ ├── cd.js │ │ │ ├── chmod.js │ │ │ ├── common.js │ │ │ ├── cp.js │ │ │ ├── dirs.js │ │ │ ├── echo.js │ │ │ ├── error.js │ │ │ ├── exec.js │ │ │ ├── find.js │ │ │ ├── grep.js │ │ │ ├── ln.js │ │ │ ├── ls.js │ │ │ ├── mkdir.js │ │ │ ├── mv.js │ │ │ ├── popd.js │ │ │ ├── pushd.js │ │ │ ├── pwd.js │ │ │ ├── rm.js │ │ │ ├── sed.js │ │ │ ├── tempdir.js │ │ │ ├── test.js │ │ │ ├── to.js │ │ │ ├── toEnd.js │ │ │ └── which.js │ ├── pack.js │ ├── package.json │ └── readmanifest.js ├── translations │ ├── notepadqq_de.ts │ ├── notepadqq_es.ts │ ├── notepadqq_fr.ts │ ├── notepadqq_hu.ts │ ├── notepadqq_it.ts │ ├── notepadqq_ja.ts │ ├── notepadqq_pl.ts │ ├── notepadqq_pt.ts │ ├── notepadqq_ru.ts │ ├── notepadqq_sl.ts │ ├── notepadqq_sv.ts │ ├── notepadqq_uk.ts │ └── notepadqq_zh.ts ├── ui-tests │ ├── .gitignore │ ├── tst_notepadqqtest.cpp │ └── ui-tests.pro └── ui │ ├── EditorNS │ ├── bannerbasicmessage.cpp │ ├── bannerfilechanged.cpp │ ├── bannerfileremoved.cpp │ ├── bannerindentationdetected.cpp │ ├── customqwebview.cpp │ ├── editor.cpp │ └── languageservice.cpp │ ├── Extensions │ ├── Stubs │ │ ├── editorstub.cpp │ │ ├── menuitemstub.cpp │ │ ├── notepadqqstub.cpp │ │ ├── stub.cpp │ │ └── windowstub.cpp │ ├── extension.cpp │ ├── extensionsloader.cpp │ ├── extensionsserver.cpp │ ├── installextension.cpp │ ├── installextension.ui │ └── runtimesupport.cpp │ ├── Search │ ├── advancedsearchdock.cpp │ ├── dlgsearching.ui │ ├── filereplacer.cpp │ ├── filesearcher.cpp │ ├── frmsearchreplace.cpp │ ├── frmsearchreplace.ui │ ├── searchinstance.cpp │ ├── searchobjects.cpp │ └── searchstring.cpp │ ├── Sessions │ ├── backupservice.cpp │ ├── persistentcache.cpp │ └── sessions.cpp │ ├── clickablelabel.cpp │ ├── docengine.cpp │ ├── editortabwidget.cpp │ ├── frmabout.cpp │ ├── frmabout.ui │ ├── frmencodingchooser.cpp │ ├── frmencodingchooser.ui │ ├── frmindentationmode.cpp │ ├── frmindentationmode.ui │ ├── frmlinenumberchooser.cpp │ ├── frmlinenumberchooser.ui │ ├── frmpreferences.cpp │ ├── frmpreferences.ui │ ├── globals.cpp │ ├── iconprovider.cpp │ ├── icons │ └── notepadqq │ │ ├── 128x128 │ │ ├── document-save.png │ │ └── math-rendering.png │ │ ├── 16x16 │ │ ├── document-close-all.png │ │ ├── document-close.png │ │ ├── document-new.png │ │ ├── document-open.png │ │ ├── document-print.png │ │ ├── document-save-all.png │ │ ├── document-save-as.png │ │ ├── document-save.png │ │ ├── document-saved.png │ │ ├── document-unsaved.png │ │ ├── edit-copy.png │ │ ├── edit-cut.png │ │ ├── edit-find-replace.png │ │ ├── edit-find.png │ │ ├── edit-paste.png │ │ ├── edit-redo.png │ │ ├── edit-undo.png │ │ ├── go-next.png │ │ ├── go-previous.png │ │ ├── math-rendering.png │ │ ├── media-playback-start.png │ │ ├── media-playback-stop.png │ │ ├── media-record.png │ │ ├── media-seek-forward.png │ │ ├── preferences-other.png │ │ ├── show-special-chars.png │ │ ├── word-wrap.png │ │ ├── zoom-in.png │ │ ├── zoom-original.png │ │ └── zoom-out.png │ │ ├── 64x64 │ │ └── document-save.png │ │ ├── index.theme │ │ └── scalable │ │ └── notepadqq.svg │ ├── include │ ├── EditorNS │ │ ├── bannerbasicmessage.h │ │ ├── bannerfilechanged.h │ │ ├── bannerfileremoved.h │ │ ├── bannerindentationdetected.h │ │ ├── customqwebview.h │ │ ├── editor.h │ │ └── languageservice.h │ ├── Extensions │ │ ├── Stubs │ │ │ ├── editorstub.h │ │ │ ├── menuitemstub.h │ │ │ ├── notepadqqstub.h │ │ │ ├── stub.h │ │ │ └── windowstub.h │ │ ├── extension.h │ │ ├── extensionsloader.h │ │ ├── extensionsserver.h │ │ ├── installextension.h │ │ └── runtimesupport.h │ ├── Search │ │ ├── advancedsearchdock.h │ │ ├── filereplacer.h │ │ ├── filesearcher.h │ │ ├── frmsearchreplace.h │ │ ├── searchhelpers.h │ │ ├── searchinstance.h │ │ ├── searchobjects.h │ │ └── searchstring.h │ ├── Sessions │ │ ├── backupservice.h │ │ ├── persistentcache.h │ │ └── sessions.h │ ├── clickablelabel.h │ ├── docengine.h │ ├── editortabwidget.h │ ├── frmabout.h │ ├── frmencodingchooser.h │ ├── frmindentationmode.h │ ├── frmlinenumberchooser.h │ ├── frmpreferences.h │ ├── globals.h │ ├── iconprovider.h │ ├── keygrabber.h │ ├── localcommunication.h │ ├── mainwindow.h │ ├── notepadqq.h │ ├── nqqrun.h │ ├── nqqsettings.h │ ├── singleapplication.h │ ├── stats.h │ └── topeditorcontainer.h │ ├── keygrabber.cpp │ ├── localcommunication.cpp │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.ui │ ├── notepadqq.cpp │ ├── nqqrun.cpp │ ├── nqqsettings.cpp │ ├── ote │ ├── Highlighter │ │ ├── Highlighter.pri │ │ ├── abstracthighlighter.cpp │ │ ├── abstracthighlighter.h │ │ ├── abstracthighlighter_p.h │ │ ├── context.cpp │ │ ├── context_p.h │ │ ├── contextswitch.cpp │ │ ├── contextswitch_p.h │ │ ├── definition.cpp │ │ ├── definition.h │ │ ├── definition_p.h │ │ ├── definitiondownloader.cpp │ │ ├── definitiondownloader.h │ │ ├── definitionref_p.h │ │ ├── fmtrangelist.cpp │ │ ├── fmtrangelist.h │ │ ├── foldingregion.cpp │ │ ├── foldingregion.h │ │ ├── format.cpp │ │ ├── format.h │ │ ├── format_p.h │ │ ├── htmlhighlighter.cpp │ │ ├── htmlhighlighter.h │ │ ├── keywordlist.cpp │ │ ├── keywordlist_p.h │ │ ├── matchresult.cpp │ │ ├── matchresult_p.h │ │ ├── repository.cpp │ │ ├── repository.h │ │ ├── repository_p.h │ │ ├── rule.cpp │ │ ├── rule_p.h │ │ ├── state.cpp │ │ ├── state.h │ │ ├── state_p.h │ │ ├── syntaxhighlighter.cpp │ │ ├── syntaxhighlighter.h │ │ ├── textstyledata_p.h │ │ ├── theme.cpp │ │ ├── theme.h │ │ ├── themedata.cpp │ │ ├── themedata_p.h │ │ ├── wildcardmatcher.cpp │ │ ├── wildcardmatcher_p.h │ │ └── xml_p.h │ ├── JKQTMath │ │ ├── asana.qrc │ │ ├── asana │ │ │ ├── Asana-Math.otf │ │ │ └── Asana-Math.ttf │ │ ├── jkqtmathtext.cpp │ │ ├── jkqtmathtext.h │ │ ├── jkqtp_imexport.h │ │ ├── jkqtptools.cpp │ │ └── jkqtptools.h │ ├── OpenTextEdit.pri │ ├── editorlabel.cpp │ ├── editorlabel.h │ ├── icons │ │ ├── bookmark.svg │ │ └── icons.qrc │ ├── plugins │ │ ├── bracketmatcherplugin.cpp │ │ ├── bracketmatcherplugin.h │ │ ├── colorlabelsplugin.cpp │ │ ├── colorlabelsplugin.h │ │ ├── latexplugin.cpp │ │ ├── latexplugin.h │ │ ├── pluginbase.cpp │ │ └── pluginbase.h │ ├── textedit.cpp │ ├── textedit.h │ ├── texteditgutter.cpp │ ├── texteditgutter.h │ └── util │ │ └── scopeguard.h │ ├── resources.qrc │ ├── singleapplication.cpp │ ├── stats.cpp │ ├── topeditorcontainer.cpp │ └── ui.pro └── support_files ├── icons └── hicolor │ ├── 128x128 │ └── apps │ │ └── notepadqq.png │ ├── 16x16 │ └── apps │ │ └── notepadqq.png │ ├── 22x22 │ └── apps │ │ └── notepadqq.png │ ├── 24x24 │ └── apps │ │ └── notepadqq.png │ ├── 256x256 │ └── apps │ │ └── notepadqq.png │ ├── 32x32 │ └── apps │ │ └── notepadqq.png │ ├── 48x48 │ └── apps │ │ └── notepadqq.png │ ├── 512x512 │ └── apps │ │ └── notepadqq.png │ ├── 64x64 │ └── apps │ │ └── notepadqq.png │ ├── 96x96 │ └── apps │ │ └── notepadqq.png │ └── scalable │ └── apps │ └── notepadqq.svg ├── launch ├── Info.plist.app └── notepadqq ├── manpage └── notepadqq.1 ├── notepadqq.appdata.xml └── shortcuts └── notepadqq.desktop /.gitattributes: -------------------------------------------------------------------------------- 1 | doc/* linguist-documentation 2 | src/editor/libs/* linguist-vendored 3 | src/extension_tools/node_modules/* linguist-vendored 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 4 | 5 | **I'm submitting a ...** (check one with "x") 6 | ``` 7 | [ ] bug report => search github for a similar issue or PR before submitting 8 | [ ] feature request 9 | [ ] support request => Please do not submit support request here, instead see https://github.com/notepadqq/notepadqq/blob/master/CONTRIBUTING.md#question 10 | ``` 11 | 12 | **Current behavior** 13 | 14 | 15 | **Expected behavior** 16 | 17 | 18 | **Minimal reproduction of the problem with instructions** 19 | 23 | 24 | **Please tell us about your environment:** 25 | 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Environment (please complete the following information):** 24 | - OS: [e.g. Ubuntu 18.04] 25 | - Installation type [e.g. snap, git, distro packages, other] 26 | - Qt version [find it from the menu "? -> About Qt..."] 27 | - Notepadqq version [find it from the menu "? -> About Notepadqq..."] 28 | 29 | **Additional context** 30 | Add any other context about the problem here. 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Temp files 2 | *~ 3 | .directory 4 | *.kate-swp 5 | *.swp 6 | .DS_Store 7 | Thumbs.db 8 | 9 | # Backup files 10 | *.bak 11 | *.old 12 | 13 | /Makefile 14 | /src/ui/Makefile 15 | build-notepadqq-Desktop* 16 | 17 | /out 18 | /src/ui/ui.pro.user 19 | /src/ui/ui.pro.user.* 20 | /notepadqq.pro.user 21 | /notepadqq.pro.user.* 22 | 23 | /.qmake.stash 24 | /src/ui-tests/moc_predefs.h 25 | 26 | /src/translations/*.qm 27 | -------------------------------------------------------------------------------- /.snap-data/qt.WebEngineProcess.conf: -------------------------------------------------------------------------------- 1 | [Paths] 2 | Prefix = ../../../../../ 3 | LibraryExecutables = usr/lib/x86_64-linux-gnu/qt5/libexec 4 | Plugins = usr/lib/x86_64-linux-gnu/qt5/plugins 5 | Translations = usr/share/qt5/translations 6 | Data = usr/share/qt5 7 | 8 | -------------------------------------------------------------------------------- /.snap-data/qt.conf: -------------------------------------------------------------------------------- 1 | [Paths] 2 | Prefix = ../../../../ 3 | LibraryExecutables = usr/lib/x86_64-linux-gnu/qt5/libexec 4 | Plugins = usr/lib/x86_64-linux-gnu/qt5/plugins 5 | Translations = usr/share/qt5/translations 6 | Data = usr/share/qt5 7 | 8 | -------------------------------------------------------------------------------- /.travis/macos-script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | compile() 4 | { 5 | brew install qt 6 | brew install uchardet 7 | 8 | export PATH="/usr/local/opt/qt/bin:$PATH" 9 | export PKG_CONFIG_PATH="/usr/local/opt/qt/lib/pkgconfig" 10 | 11 | ./configure 12 | make || return 1 13 | } 14 | 15 | deploy() 16 | { 17 | compile || return 1 18 | 19 | cd out/release 20 | macdeployqt notepadqq.app -dmg 21 | mv notepadqq.dmg notepadqq-${NQQ_VERSION}.dmg || return 1 22 | } 23 | 24 | if [ "$NQQ_BUILD_TYPE" == "DEPLOY" ]; then 25 | deploy 26 | else 27 | compile 28 | fi 29 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | LABEL maintainer="Notepadqq" 3 | 4 | RUN apt-get -qq update && apt-get --no-install-recommends -y install \ 5 | build-essential \ 6 | clang-format-6.0 \ 7 | coreutils \ 8 | gcc \ 9 | git \ 10 | libqt5svg5-dev \ 11 | libqt5websockets5-dev \ 12 | pkg-config \ 13 | qtbase5-dev \ 14 | qttools5-dev-tools \ 15 | qtwebengine5-dev \ 16 | libuchardet-dev 17 | 18 | WORKDIR /build/ 19 | CMD bash 20 | -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- 1 | == Miscellaneous == 2 | - One Whitespace function not implemented. 3 | - Add more themes. 4 | - Copy changes from syntaxhighlighting over to its own repo? 5 | - Do last: Bump version (see Wiki). 6 | - Minor painting bug when switching to INSERT mode and back again. 7 | - Disabling textDragging will still create the Drag-cursor when dragging. Is this from QPlainTextEdit? 8 | 9 | == Multi-Cursor Selection == 10 | - Filter cursor array to remove overlapping selections (selections that touch each other are fine) 11 | - Implement "Find All", "Replace All" 12 | 13 | == Folding == 14 | - Show tooltip when hovering over folding markers if the end-block is outside the viewport. 15 | 16 | == Find & Replace == 17 | - Find might behave differently for special chars (\t, \n, ..). 18 | - Can't search across line boundaries yet. -------------------------------------------------------------------------------- /build-tools/githooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CHANGED="$(git clang-format --style file --extensions 'cpp')" 4 | 5 | if [[ $CHANGED == "changed files:"* ]]; then 6 | echo "Files have been modified due to formatting, please re-add them before committing" 7 | exit 1 8 | fi 9 | 10 | 11 | -------------------------------------------------------------------------------- /build-tools/setup-hooks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 3 | echo -n "Setting up git hooks..." 4 | # All of our hooks for convenience go here 5 | ln -sf "${DIR}/githooks/pre-commit" "${DIR}/../.git/hooks/pre-commit" 6 | echo "Done." 7 | -------------------------------------------------------------------------------- /doc/api/.gitignore: -------------------------------------------------------------------------------- 1 | /site 2 | -------------------------------------------------------------------------------- /doc/api/README.md: -------------------------------------------------------------------------------- 1 | HTML documentation is generated using [MkDocs](http://www.mkdocs.org/). -------------------------------------------------------------------------------- /doc/api/docs/Objects/MenuItem.md: -------------------------------------------------------------------------------- 1 | # MenuItem 2 | 3 | A menu item. 4 | 5 | [TOC] 6 | 7 | ## item.setShortcut(shortcut) 8 | 9 | Sets the shortcut keys for this menu item. 10 | 11 | For example: 12 | 13 | var menu = window.addExtensionMenuItem(api.extensionId, "My menu"); 14 | menu.setShortcut("Ctrl+Alt+E"); 15 | 16 | ## Event: 'triggered' 17 | 18 | `function (checked) { }` 19 | 20 | This event is emitted when the user clicks the menu item. 21 | 22 | For example: 23 | 24 | var menu = window.addExtensionMenuItem(api.extensionId, "My menu"); 25 | menu.on("triggered", function(checked) { 26 | console.log("Clicked!"); 27 | }); -------------------------------------------------------------------------------- /doc/api/docs/Objects/Notepadqq.md: -------------------------------------------------------------------------------- 1 | # Notepadqq 2 | 3 | Represents the entire application. 4 | 5 | [TOC] 6 | 7 | ## nqq.commandLineArguments() 8 | 9 | Returns the list of command line arguments passed to Notepadqq. 10 | 11 | ## nqq.version() 12 | 13 | Returns the version of Notepadqq. 14 | 15 | ## nqq.windows() 16 | 17 | Returns a list of [`Window`](Window) object, one for each open window. -------------------------------------------------------------------------------- /doc/api/docs/Objects/Window.md: -------------------------------------------------------------------------------- 1 | # Window 2 | 3 | Represents a window of Notepadqq. 4 | 5 | [TOC] 6 | 7 | ## window.currentEditor() 8 | 9 | Returns an instance of the currently opened [`Editor`](Editor). 10 | 11 | ## window.addExtensionMenuItem(extensionId, text) 12 | 13 | Create a menu item within the 'Extensions' menu in Notepadqq. 14 | The parameter `extensionId` is the id of the current extension, and `text` is 15 | the title of the menu item. 16 | 17 | Returns the created menu item. 18 | 19 | Example: 20 | 21 | NotepadqqApi.connect(function(api) { 22 | api.onWindowInitialization(function(window) { 23 | var menu = window.addExtensionMenuItem(api.extensionId, "My menu") 24 | }); 25 | }); -------------------------------------------------------------------------------- /doc/api/docs/index.md: -------------------------------------------------------------------------------- 1 | # Notepadqq API Documentation 2 | 3 | Documentation for developers of Notepadqq extensions. 4 | 5 | Version 0.50 -------------------------------------------------------------------------------- /doc/api/mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: Notepadqq API 2 | theme_dir: 'theme' 3 | markdown_extensions: 4 | - toc: 5 | permalink: True -------------------------------------------------------------------------------- /doc/api/theme/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/doc/api/theme/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /doc/api/theme/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/doc/api/theme/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /doc/api/theme/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/doc/api/theme/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /doc/api/theme/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/doc/api/theme/img/favicon.ico -------------------------------------------------------------------------------- /doc/api/theme/search.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block extrahead %} 4 | 5 | 6 | {% endblock %} 7 | 8 | {% block content %} 9 | 10 |

Search Results

11 | 12 | 16 | 17 |
18 | Sorry, page not found. 19 |
20 | 21 | {% endblock %} 22 | -------------------------------------------------------------------------------- /doc/api/theme/searchbox.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 | -------------------------------------------------------------------------------- /doc/api/theme/toc.html: -------------------------------------------------------------------------------- 1 | {% if nav_item.children %} 2 | 9 | {% else %} 10 | 23 | {% endif %} 24 | -------------------------------------------------------------------------------- /doc/api/theme/versions.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | {% if repo_name == 'GitHub' %} 4 | GitHub 5 | {% elif repo_name == 'Bitbucket' %} 6 | BitBucket 7 | {% endif %} 8 | {% if previous_page %} 9 | « Previous 10 | {% endif %} 11 | {% if next_page %} 12 | Next » 13 | {% endif %} 14 | 15 |
16 | -------------------------------------------------------------------------------- /images/notepadqq.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/images/notepadqq.icns -------------------------------------------------------------------------------- /notepadqq.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS = src/ui \ 3 | src/ui-tests 4 | QMAKE_DISTCLEAN += Makefile && rm -rf out 5 | -------------------------------------------------------------------------------- /src/data/Makefile: -------------------------------------------------------------------------------- 1 | ifndef DESTDIR 2 | $(error DESTDIR is not set) 3 | endif 4 | 5 | # Cross-platform version of $(shell readlink -m "$(DESTDIR)") 6 | ABSOLUTE_DESTDIR := $(shell mkdir -p $$(dirname "$(DESTDIR)") && cd $$(dirname "$(DESTDIR)") && pwd -P)/$$(basename "$(DESTDIR)") 7 | 8 | .PHONY: all 9 | 10 | all: 11 | mkdir -p "$(DESTDIR)" 12 | cp -r syntax themes contentDetection.json "$(DESTDIR)"/ -------------------------------------------------------------------------------- /src/data/syntax/gdbinit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/data/themes/theme-data.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | default.theme 5 | breeze-dark.theme 6 | printing.theme 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/extension_tools/Makefile: -------------------------------------------------------------------------------- 1 | ifndef DESTDIR 2 | $(error DESTDIR is not set) 3 | endif 4 | 5 | .PHONY: all 6 | 7 | all: 8 | mkdir -p "$(DESTDIR)" 9 | cp -r node_modules install.js pack.js package.json readmanifest.js "$(DESTDIR)"/ 10 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/.bin/shjs: -------------------------------------------------------------------------------- 1 | ../shelljs/bin/shjs -------------------------------------------------------------------------------- /src/extension_tools/node_modules/adm-zip/headers/index.js: -------------------------------------------------------------------------------- 1 | exports.EntryHeader = require("./entryHeader"); 2 | exports.MainHeader = require("./mainHeader"); 3 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/adm-zip/methods/index.js: -------------------------------------------------------------------------------- 1 | exports.Deflater = require("./deflater"); 2 | exports.Inflater = require("./inflater"); -------------------------------------------------------------------------------- /src/extension_tools/node_modules/adm-zip/util/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./utils"); 2 | module.exports.Constants = require("./constants"); 3 | module.exports.Errors = require("./errors"); 4 | module.exports.FileAttr = require("./fattr"); -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/async/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.12" 5 | - "iojs" 6 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/async/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async", 3 | "description": "Higher-order functions and common patterns for asynchronous code", 4 | "version": "0.9.2", 5 | "main": "lib/async.js", 6 | "keywords": [ 7 | "async", 8 | "callback", 9 | "utility", 10 | "module" 11 | ], 12 | "license": "MIT", 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/caolan/async.git" 16 | }, 17 | "devDependencies": { 18 | "nodeunit": ">0.0.0", 19 | "uglify-js": "1.2.x", 20 | "nodelint": ">0.0.0", 21 | "lodash": ">=2.4.1" 22 | }, 23 | "moduleType": [ 24 | "amd", 25 | "globals", 26 | "node" 27 | ], 28 | "ignore": [ 29 | "**/.*", 30 | "node_modules", 31 | "bower_components", 32 | "test", 33 | "tests" 34 | ], 35 | "authors": [ 36 | "Caolan McMahon" 37 | ] 38 | } -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/async/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async", 3 | "description": "Higher-order functions and common patterns for asynchronous code", 4 | "version": "0.9.2", 5 | "keywords": [ 6 | "async", 7 | "callback", 8 | "utility", 9 | "module" 10 | ], 11 | "license": "MIT", 12 | "repository": "caolan/async", 13 | "scripts": [ 14 | "lib/async.js" 15 | ] 16 | } -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/buffer-crc32/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/buffer-crc32/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | notifications: 6 | email: 7 | recipients: 8 | - brianloveswords@gmail.com -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inflight/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env" : { 3 | "node" : true 4 | }, 5 | "rules" : { 6 | "semi": [2, "never"], 7 | "strict": 0, 8 | "quotes": [1, "single", "avoid-escape"], 9 | "no-use-before-define": 0, 10 | "curly": 0, 11 | "no-underscore-dangle": 0, 12 | "no-lonely-if": 1, 13 | "no-unused-vars": [2, {"vars" : "all", "args" : "after-used"}], 14 | "no-mixed-requires": 0, 15 | "space-infix-ops": 0 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inflight/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inherits 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/inherits/test.js: -------------------------------------------------------------------------------- 1 | var inherits = require('./inherits.js') 2 | var assert = require('assert') 3 | 4 | function test(c) { 5 | assert(c.constructor === Child) 6 | assert(c.constructor.super_ === Parent) 7 | assert(Object.getPrototypeOf(c) === Child.prototype) 8 | assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype) 9 | assert(c instanceof Child) 10 | assert(c instanceof Parent) 11 | } 12 | 13 | function Child() { 14 | Parent.call(this) 15 | test(this) 16 | } 17 | 18 | function Parent() {} 19 | 20 | inherits(Child, Parent) 21 | 22 | var c = new Child 23 | test(c) 24 | 25 | console.log('ok') 26 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.sw* 3 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js: -------------------------------------------------------------------------------- 1 | var expand = require('./'); 2 | 3 | console.log(expand('http://any.org/archive{1996..1999}/vol{1..4}/part{a,b,c}.html')); 4 | console.log(expand('http://www.numericals.com/file{1..100..10}.txt')); 5 | console.log(expand('http://www.letters.com/file{a..z..2}.txt')); 6 | console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}')); 7 | console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}')); 8 | 9 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @node_modules/.bin/tape test/*.js 4 | 5 | .PHONY: test 6 | 7 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js: -------------------------------------------------------------------------------- 1 | var balanced = require('./'); 2 | 3 | console.log(balanced('{', '}', 'pre{in{nested}}post')); 4 | console.log(balanced('{', '}', 'pre{first}between{second}post')); 5 | 6 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js: -------------------------------------------------------------------------------- 1 | var concatMap = require('../'); 2 | var xs = [ 1, 2, 3, 4, 5, 6 ]; 3 | var ys = concatMap(xs, function (x) { 4 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; 5 | }); 6 | console.dir(ys); 7 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (xs, fn) { 2 | var res = []; 3 | for (var i = 0; i < xs.length; i++) { 4 | var x = fn(xs[i], i); 5 | if (isArray(x)) res.push.apply(res, x); 6 | else res.push(x); 7 | } 8 | return res; 9 | }; 10 | 11 | var isArray = Array.isArray || function (xs) { 12 | return Object.prototype.toString.call(xs) === '[object Array]'; 13 | }; 14 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var expand = require('..'); 3 | 4 | test('ignores ${', function(t) { 5 | t.deepEqual(expand('${1..3}'), ['${1..3}']); 6 | t.deepEqual(expand('${a,b}${c,d}'), ['${a,b}${c,d}']); 7 | t.deepEqual(expand('x${a,b}x${c,d}x'), ['x${a,b}x${c,d}x']); 8 | t.end(); 9 | }); 10 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var expand = require('..'); 3 | 4 | test('empty option', function(t) { 5 | t.deepEqual(expand('-v{,,,,}'), [ 6 | '-v', '-v', '-v', '-v', '-v' 7 | ]); 8 | t.end(); 9 | }); 10 | 11 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | # Bash 4.3 because of arbitrary need to pick a single standard. 6 | 7 | if [ "${BASH_VERSINFO[0]}" != "4" ] || [ "${BASH_VERSINFO[1]}" != "3" ]; then 8 | echo "this script requires bash 4.3" >&2 9 | exit 1 10 | fi 11 | 12 | CDPATH= cd "$(dirname "$0")" 13 | 14 | js='require("./")(process.argv[1]).join(" ")' 15 | 16 | cat cases.txt | \ 17 | while read case; do 18 | if [ "${case:0:1}" = "#" ]; then 19 | continue; 20 | fi; 21 | b="$($BASH -c 'for c in '"$case"'; do echo ["$c"]; done')" 22 | echo "$case" 23 | echo -n "$b><><><><"; 24 | done > bash-results.txt 25 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var expand = require('..'); 3 | 4 | test('negative increment', function(t) { 5 | t.deepEqual(expand('{3..1}'), ['3', '2', '1']); 6 | t.deepEqual(expand('{10..8}'), ['10', '9', '8']); 7 | t.deepEqual(expand('{10..08}'), ['10', '09', '08']); 8 | t.deepEqual(expand('{c..a}'), ['c', 'b', 'a']); 9 | 10 | t.deepEqual(expand('{4..0..2}'), ['4', '2', '0']); 11 | t.deepEqual(expand('{4..0..-2}'), ['4', '2', '0']); 12 | t.deepEqual(expand('{e..a..2}'), ['e', 'c', 'a']); 13 | 14 | t.end(); 15 | }); 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var expand = require('..'); 3 | 4 | test('nested', function(t) { 5 | t.deepEqual(expand('{a,b{1..3},c}'), [ 6 | 'a', 'b1', 'b2', 'b3', 'c' 7 | ]); 8 | t.deepEqual(expand('{{A..Z},{a..z}}'), 9 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('') 10 | ); 11 | t.deepEqual(expand('ppp{,config,oe{,conf}}'), [ 12 | 'ppp', 'pppconfig', 'pppoe', 'pppoeconf' 13 | ]); 14 | t.end(); 15 | }); 16 | 17 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var expand = require('..'); 3 | 4 | test('order', function(t) { 5 | t.deepEqual(expand('a{d,c,b}e'), [ 6 | 'ade', 'ace', 'abe' 7 | ]); 8 | t.end(); 9 | }); 10 | 11 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var expand = require('..'); 3 | 4 | test('pad', function(t) { 5 | t.deepEqual(expand('{9..11}'), [ 6 | '9', '10', '11' 7 | ]); 8 | t.deepEqual(expand('{09..11}'), [ 9 | '09', '10', '11' 10 | ]); 11 | t.end(); 12 | }); 13 | 14 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var expand = require('..'); 3 | 4 | test('x and y of same type', function(t) { 5 | t.deepEqual(expand('{a..9}'), ['{a..9}']); 6 | t.end(); 7 | }); 8 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/once/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/once/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/once/once.js: -------------------------------------------------------------------------------- 1 | var wrappy = require('wrappy') 2 | module.exports = wrappy(once) 3 | 4 | once.proto = once(function () { 5 | Object.defineProperty(Function.prototype, 'once', { 6 | value: function () { 7 | return once(this) 8 | }, 9 | configurable: true 10 | }) 11 | }) 12 | 13 | function once (fn) { 14 | var f = function () { 15 | if (f.called) return f.value 16 | f.called = true 17 | return f.value = fn.apply(this, arguments) 18 | } 19 | f.called = false 20 | return f 21 | } 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/glob/node_modules/once/test/once.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test 2 | var once = require('../once.js') 3 | 4 | test('once', function (t) { 5 | var f = 0 6 | function fn (g) { 7 | t.equal(f, 0) 8 | f ++ 9 | return f + g + this 10 | } 11 | fn.ownProperty = {} 12 | var foo = once(fn) 13 | t.equal(fn.ownProperty, foo.ownProperty) 14 | t.notOk(foo.called) 15 | for (var i = 0; i < 1E3; i++) { 16 | t.same(f, i === 0 ? 0 : 1) 17 | var g = foo.call(1, 1) 18 | t.ok(foo.called) 19 | t.same(g, 3) 20 | t.same(f, 1) 21 | } 22 | t.end() 23 | }) 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lazystream/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules/ 3 | test/tmp/ 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lazystream/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.8" 5 | # - "0.6" 6 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lazystream/test/data.md: -------------------------------------------------------------------------------- 1 | > Never mind, hey, this is really exciting, so much to find out about, so much to 2 | > look forward to, I'm quite dizzy with anticipation . . . Or is it the wind? 3 | > 4 | > There really is a lot of that now, isn't there? And wow! Hey! What's this thing 5 | > suddenly coming toward me very fast? Very, very fast. So big and flat and round, 6 | > it needs a big wide-sounding name like . . . ow . . . ound . . . round . . . 7 | > ground! That's it! That's a good name- ground! 8 | > 9 | > I wonder if it will be friends with me? 10 | > 11 | > Hello Ground! 12 | 13 | And the rest, after a sudden wet thud, was silence. 14 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/compact.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creates an array with all falsey values removed. The values `false`, `null`, 3 | * `0`, `""`, `undefined`, and `NaN` are falsey. 4 | * 5 | * @static 6 | * @memberOf _ 7 | * @category Array 8 | * @param {Array} array The array to compact. 9 | * @returns {Array} Returns the new array of filtered values. 10 | * @example 11 | * 12 | * _.compact([0, 1, false, 2, '', 3]); 13 | * // => [1, 2, 3] 14 | */ 15 | function compact(array) { 16 | var index = -1, 17 | length = array ? array.length : 0, 18 | resIndex = -1, 19 | result = []; 20 | 21 | while (++index < length) { 22 | var value = array[index]; 23 | if (value) { 24 | result[++resIndex] = value; 25 | } 26 | } 27 | return result; 28 | } 29 | 30 | module.exports = compact; 31 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/fill.js: -------------------------------------------------------------------------------- 1 | var baseFill = require('../internal/baseFill'), 2 | isIterateeCall = require('../internal/isIterateeCall'); 3 | 4 | /** 5 | * Fills elements of `array` with `value` from `start` up to, but not 6 | * including, `end`. 7 | * 8 | * **Note:** This method mutates `array`. 9 | * 10 | * @private 11 | * @param {Array} array The array to fill. 12 | * @param {*} value The value to fill `array` with. 13 | * @param {number} [start=0] The start position. 14 | * @param {number} [end=array.length] The end position. 15 | * @returns {Array} Returns `array`. 16 | */ 17 | function fill(array, value, start, end) { 18 | var length = array ? array.length : 0; 19 | if (!length) { 20 | return []; 21 | } 22 | if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { 23 | start = 0; 24 | end = length; 25 | } 26 | return baseFill(array, value, start, end); 27 | } 28 | 29 | module.exports = fill; 30 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/first.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the first element of `array`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @alias head 7 | * @category Array 8 | * @param {Array} array The array to query. 9 | * @returns {*} Returns the first element of `array`. 10 | * @example 11 | * 12 | * _.first([1, 2, 3]); 13 | * // => 1 14 | * 15 | * _.first([]); 16 | * // => undefined 17 | */ 18 | function first(array) { 19 | return array ? array[0] : undefined; 20 | } 21 | 22 | module.exports = first; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/flattenDeep.js: -------------------------------------------------------------------------------- 1 | var baseFlatten = require('../internal/baseFlatten'); 2 | 3 | /** 4 | * Recursively flattens a nested array. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category Array 9 | * @param {Array} array The array to recursively flatten. 10 | * @returns {Array} Returns the new flattened array. 11 | * @example 12 | * 13 | * _.flattenDeep([1, [2], [3, [[4]]]]); 14 | * // => [1, 2, 3, 4]; 15 | */ 16 | function flattenDeep(array) { 17 | var length = array ? array.length : 0; 18 | return length ? baseFlatten(array, true) : []; 19 | } 20 | 21 | module.exports = flattenDeep; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/head.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./first'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/initial.js: -------------------------------------------------------------------------------- 1 | var dropRight = require('./dropRight'); 2 | 3 | /** 4 | * Gets all but the last element of `array`. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category Array 9 | * @param {Array} array The array to query. 10 | * @returns {Array} Returns the slice of `array`. 11 | * @example 12 | * 13 | * _.initial([1, 2, 3]); 14 | * // => [1, 2] 15 | */ 16 | function initial(array) { 17 | return dropRight(array, 1); 18 | } 19 | 20 | module.exports = initial; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/last.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the last element of `array`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Array 7 | * @param {Array} array The array to query. 8 | * @returns {*} Returns the last element of `array`. 9 | * @example 10 | * 11 | * _.last([1, 2, 3]); 12 | * // => 3 13 | */ 14 | function last(array) { 15 | var length = array ? array.length : 0; 16 | return length ? array[length - 1] : undefined; 17 | } 18 | 19 | module.exports = last; 20 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/object.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./zipObject'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/rest.js: -------------------------------------------------------------------------------- 1 | var drop = require('./drop'); 2 | 3 | /** 4 | * Gets all but the first element of `array`. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @alias tail 9 | * @category Array 10 | * @param {Array} array The array to query. 11 | * @returns {Array} Returns the slice of `array`. 12 | * @example 13 | * 14 | * _.rest([1, 2, 3]); 15 | * // => [2, 3] 16 | */ 17 | function rest(array) { 18 | return drop(array, 1); 19 | } 20 | 21 | module.exports = rest; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/tail.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./rest'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/union.js: -------------------------------------------------------------------------------- 1 | var baseFlatten = require('../internal/baseFlatten'), 2 | baseUniq = require('../internal/baseUniq'); 3 | 4 | /** 5 | * Creates an array of unique values, in order, of the provided arrays using 6 | * `SameValueZero` for equality comparisons. 7 | * 8 | * **Note:** `SameValueZero` comparisons are like strict equality comparisons, 9 | * e.g. `===`, except that `NaN` matches `NaN`. See the 10 | * [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero) 11 | * for more details. 12 | * 13 | * @static 14 | * @memberOf _ 15 | * @category Array 16 | * @param {...Array} [arrays] The arrays to inspect. 17 | * @returns {Array} Returns the new array of combined values. 18 | * @example 19 | * 20 | * _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]); 21 | * // => [1, 2, 3, 5, 4] 22 | */ 23 | function union() { 24 | return baseUniq(baseFlatten(arguments, false, true)); 25 | } 26 | 27 | module.exports = union; 28 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/unique.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./uniq'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/array/zip.js: -------------------------------------------------------------------------------- 1 | var unzip = require('./unzip'); 2 | 3 | /** 4 | * Creates an array of grouped elements, the first of which contains the first 5 | * elements of the given arrays, the second of which contains the second elements 6 | * of the given arrays, and so on. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Array 11 | * @param {...Array} [arrays] The arrays to process. 12 | * @returns {Array} Returns the new array of grouped elements. 13 | * @example 14 | * 15 | * _.zip(['fred', 'barney'], [30, 40], [true, false]); 16 | * // => [['fred', 30, true], ['barney', 40, false]] 17 | */ 18 | function zip() { 19 | var length = arguments.length, 20 | array = Array(length); 21 | 22 | while (length--) { 23 | array[length] = arguments[length]; 24 | } 25 | return unzip(array); 26 | } 27 | 28 | module.exports = zip; 29 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'chain': require('./chain/chain'), 3 | 'commit': require('./chain/commit'), 4 | 'lodash': require('./chain/lodash'), 5 | 'plant': require('./chain/plant'), 6 | 'reverse': require('./chain/reverse'), 7 | 'run': require('./chain/run'), 8 | 'tap': require('./chain/tap'), 9 | 'thru': require('./chain/thru'), 10 | 'toJSON': require('./chain/toJSON'), 11 | 'toString': require('./chain/toString'), 12 | 'value': require('./chain/value'), 13 | 'valueOf': require('./chain/valueOf'), 14 | 'wrapperChain': require('./chain/wrapperChain') 15 | }; 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/chain.js: -------------------------------------------------------------------------------- 1 | var lodash = require('./lodash'); 2 | 3 | /** 4 | * Creates a `lodash` object that wraps `value` with explicit method 5 | * chaining enabled. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Chain 10 | * @param {*} value The value to wrap. 11 | * @returns {Object} Returns the new `lodash` wrapper instance. 12 | * @example 13 | * 14 | * var users = [ 15 | * { 'user': 'barney', 'age': 36 }, 16 | * { 'user': 'fred', 'age': 40 }, 17 | * { 'user': 'pebbles', 'age': 1 } 18 | * ]; 19 | * 20 | * var youngest = _.chain(users) 21 | * .sortBy('age') 22 | * .map(function(chr) { return chr.user + ' is ' + chr.age; }) 23 | * .first() 24 | * .value(); 25 | * // => 'pebbles is 1' 26 | */ 27 | function chain(value) { 28 | var result = lodash(value); 29 | result.__chain__ = true; 30 | return result; 31 | } 32 | 33 | module.exports = chain; 34 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/commit.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperCommit'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/plant.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperPlant'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/reverse.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperReverse'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/run.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/tap.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This method invokes `interceptor` and returns `value`. The interceptor is 3 | * bound to `thisArg` and invoked with one argument; (value). The purpose of 4 | * this method is to "tap into" a method chain in order to perform operations 5 | * on intermediate results within the chain. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Chain 10 | * @param {*} value The value to provide to `interceptor`. 11 | * @param {Function} interceptor The function to invoke. 12 | * @param {*} [thisArg] The `this` binding of `interceptor`. 13 | * @returns {*} Returns `value`. 14 | * @example 15 | * 16 | * _([1, 2, 3]) 17 | * .tap(function(array) { array.pop(); }) 18 | * .reverse() 19 | * .value(); 20 | * // => [2, 1] 21 | */ 22 | function tap(value, interceptor, thisArg) { 23 | interceptor.call(thisArg, value); 24 | return value; 25 | } 26 | 27 | module.exports = tap; 28 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/thru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This method is like `_.tap` except that it returns the result of `interceptor`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Chain 7 | * @param {*} value The value to provide to `interceptor`. 8 | * @param {Function} interceptor The function to invoke. 9 | * @param {*} [thisArg] The `this` binding of `interceptor`. 10 | * @returns {*} Returns the result of `interceptor`. 11 | * @example 12 | * 13 | * _([1, 2, 3]) 14 | * .last() 15 | * .thru(function(value) { return [value]; }) 16 | * .value(); 17 | * // => [3] 18 | */ 19 | function thru(value, interceptor, thisArg) { 20 | return interceptor.call(thisArg, value); 21 | } 22 | 23 | module.exports = thru; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/toJSON.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/toString.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperToString'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/value.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/valueOf.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./wrapperValue'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/wrapperChain.js: -------------------------------------------------------------------------------- 1 | var chain = require('./chain'); 2 | 3 | /** 4 | * Enables explicit method chaining on the wrapper object. 5 | * 6 | * @name chain 7 | * @memberOf _ 8 | * @category Chain 9 | * @returns {Object} Returns the new `lodash` wrapper instance. 10 | * @example 11 | * 12 | * var users = [ 13 | * { 'user': 'barney', 'age': 36 }, 14 | * { 'user': 'fred', 'age': 40 } 15 | * ]; 16 | * 17 | * // without explicit chaining 18 | * _(users).first(); 19 | * // => { 'user': 'barney', 'age': 36 } 20 | * 21 | * // with explicit chaining 22 | * _(users).chain() 23 | * .first() 24 | * .pick('user') 25 | * .value(); 26 | * // => { 'user': 'barney' } 27 | */ 28 | function wrapperChain() { 29 | return chain(this); 30 | } 31 | 32 | module.exports = wrapperChain; 33 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/wrapperCommit.js: -------------------------------------------------------------------------------- 1 | var LodashWrapper = require('../internal/LodashWrapper'); 2 | 3 | /** 4 | * Executes the chained sequence and returns the wrapped result. 5 | * 6 | * @name commit 7 | * @memberOf _ 8 | * @category Chain 9 | * @returns {Object} Returns the new `lodash` wrapper instance. 10 | * @example 11 | * 12 | * var array = [1, 2]; 13 | * var wrapper = _(array).push(3); 14 | * 15 | * console.log(array); 16 | * // => [1, 2] 17 | * 18 | * wrapper = wrapper.commit(); 19 | * console.log(array); 20 | * // => [1, 2, 3] 21 | * 22 | * wrapper.last(); 23 | * // => 3 24 | * 25 | * console.log(array); 26 | * // => [1, 2, 3] 27 | */ 28 | function wrapperCommit() { 29 | return new LodashWrapper(this.value(), this.__chain__); 30 | } 31 | 32 | module.exports = wrapperCommit; 33 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/wrapperToString.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Produces the result of coercing the unwrapped value to a string. 3 | * 4 | * @name toString 5 | * @memberOf _ 6 | * @category Chain 7 | * @returns {string} Returns the coerced string value. 8 | * @example 9 | * 10 | * _([1, 2, 3]).toString(); 11 | * // => '1,2,3' 12 | */ 13 | function wrapperToString() { 14 | return (this.value() + ''); 15 | } 16 | 17 | module.exports = wrapperToString; 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/chain/wrapperValue.js: -------------------------------------------------------------------------------- 1 | var baseWrapperValue = require('../internal/baseWrapperValue'); 2 | 3 | /** 4 | * Executes the chained sequence to extract the unwrapped value. 5 | * 6 | * @name value 7 | * @memberOf _ 8 | * @alias run, toJSON, valueOf 9 | * @category Chain 10 | * @returns {*} Returns the resolved unwrapped value. 11 | * @example 12 | * 13 | * _([1, 2, 3]).value(); 14 | * // => [1, 2, 3] 15 | */ 16 | function wrapperValue() { 17 | return baseWrapperValue(this.__wrapped__, this.__actions__); 18 | } 19 | 20 | module.exports = wrapperValue; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/all.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./every'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/any.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./some'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/collect.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./map'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/contains.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./includes'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/detect.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./find'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/each.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./forEach'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/eachRight.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./forEachRight'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/foldl.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./reduce'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/foldr.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./reduceRight'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/include.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./includes'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/inject.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./reduce'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/pluck.js: -------------------------------------------------------------------------------- 1 | var baseProperty = require('../internal/baseProperty'), 2 | map = require('./map'); 3 | 4 | /** 5 | * Gets the value of `key` from all elements in `collection`. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Collection 10 | * @param {Array|Object|string} collection The collection to iterate over. 11 | * @param {string} key The key of the property to pluck. 12 | * @returns {Array} Returns the property values. 13 | * @example 14 | * 15 | * var users = [ 16 | * { 'user': 'barney', 'age': 36 }, 17 | * { 'user': 'fred', 'age': 40 } 18 | * ]; 19 | * 20 | * _.pluck(users, 'user'); 21 | * // => ['barney', 'fred'] 22 | * 23 | * var userIndex = _.indexBy(users, 'user'); 24 | * _.pluck(userIndex, 'age'); 25 | * // => [36, 40] (iteration order is not guaranteed) 26 | */ 27 | function pluck(collection, key) { 28 | return map(collection, baseProperty(key)); 29 | } 30 | 31 | module.exports = pluck; 32 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/select.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./filter'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/collection/size.js: -------------------------------------------------------------------------------- 1 | var isLength = require('../internal/isLength'), 2 | keys = require('../object/keys'); 3 | 4 | /** 5 | * Gets the size of `collection` by returning `collection.length` for 6 | * array-like values or the number of own enumerable properties for objects. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Collection 11 | * @param {Array|Object|string} collection The collection to inspect. 12 | * @returns {number} Returns the size of `collection`. 13 | * @example 14 | * 15 | * _.size([1, 2]); 16 | * // => 2 17 | * 18 | * _.size({ 'one': 1, 'two': 2, 'three': 3 }); 19 | * // => 3 20 | * 21 | * _.size('pebbles'); 22 | * // => 7 23 | */ 24 | function size(collection) { 25 | var length = collection ? collection.length : 0; 26 | return isLength(length) ? length : keys(collection).length; 27 | } 28 | 29 | module.exports = size; 30 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/date.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'now': require('./date/now') 3 | }; 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/date/now.js: -------------------------------------------------------------------------------- 1 | var isNative = require('../lang/isNative'); 2 | 3 | /* Native method references for those with the same name as other `lodash` methods. */ 4 | var nativeNow = isNative(nativeNow = Date.now) && nativeNow; 5 | 6 | /** 7 | * Gets the number of milliseconds that have elapsed since the Unix epoch 8 | * (1 January 1970 00:00:00 UTC). 9 | * 10 | * @static 11 | * @memberOf _ 12 | * @category Date 13 | * @example 14 | * 15 | * _.defer(function(stamp) { console.log(_.now() - stamp); }, _.now()); 16 | * // => logs the number of milliseconds it took for the deferred function to be invoked 17 | */ 18 | var now = nativeNow || function() { 19 | return new Date().getTime(); 20 | }; 21 | 22 | module.exports = now; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/function/backflow.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./flowRight'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/function/compose.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./flowRight'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/function/defer.js: -------------------------------------------------------------------------------- 1 | var baseDelay = require('../internal/baseDelay'); 2 | 3 | /** 4 | * Defers invoking the `func` until the current call stack has cleared. Any 5 | * additional arguments are provided to `func` when it is invoked. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Function 10 | * @param {Function} func The function to defer. 11 | * @param {...*} [args] The arguments to invoke the function with. 12 | * @returns {number} Returns the timer id. 13 | * @example 14 | * 15 | * _.defer(function(text) { console.log(text); }, 'deferred'); 16 | * // logs 'deferred' after one or more milliseconds 17 | */ 18 | function defer(func) { 19 | return baseDelay(func, 1, arguments, 1); 20 | } 21 | 22 | module.exports = defer; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/function/delay.js: -------------------------------------------------------------------------------- 1 | var baseDelay = require('../internal/baseDelay'); 2 | 3 | /** 4 | * Invokes `func` after `wait` milliseconds. Any additional arguments are 5 | * provided to `func` when it is invoked. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Function 10 | * @param {Function} func The function to delay. 11 | * @param {number} wait The number of milliseconds to delay invocation. 12 | * @param {...*} [args] The arguments to invoke the function with. 13 | * @returns {number} Returns the timer id. 14 | * @example 15 | * 16 | * _.delay(function(text) { console.log(text); }, 1000, 'later'); 17 | * // => logs 'later' after one second 18 | */ 19 | function delay(func, wait) { 20 | return baseDelay(func, wait, arguments, 2); 21 | } 22 | 23 | module.exports = delay; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/function/once.js: -------------------------------------------------------------------------------- 1 | var before = require('./before'); 2 | 3 | /** 4 | * Creates a function that is restricted to invoking `func` once. Repeat calls 5 | * to the function return the value of the first call. The `func` is invoked 6 | * with the `this` binding of the created function. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Function 11 | * @param {Function} func The function to restrict. 12 | * @returns {Function} Returns the new restricted function. 13 | * @example 14 | * 15 | * var initialize = _.once(createApplication); 16 | * initialize(); 17 | * initialize(); 18 | * // `initialize` invokes `createApplication` once 19 | */ 20 | function once(func) { 21 | return before(func, 2); 22 | } 23 | 24 | module.exports = once; 25 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/LazyWrapper.js: -------------------------------------------------------------------------------- 1 | /** Used as references for `-Infinity` and `Infinity`. */ 2 | var POSITIVE_INFINITY = Number.POSITIVE_INFINITY; 3 | 4 | /** 5 | * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. 6 | * 7 | * @private 8 | * @param {*} value The value to wrap. 9 | */ 10 | function LazyWrapper(value) { 11 | this.__wrapped__ = value; 12 | this.__actions__ = null; 13 | this.__dir__ = 1; 14 | this.__dropCount__ = 0; 15 | this.__filtered__ = false; 16 | this.__iteratees__ = null; 17 | this.__takeCount__ = POSITIVE_INFINITY; 18 | this.__views__ = null; 19 | } 20 | 21 | module.exports = LazyWrapper; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/LodashWrapper.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base constructor for creating `lodash` wrapper objects. 3 | * 4 | * @private 5 | * @param {*} value The value to wrap. 6 | * @param {boolean} [chainAll] Enable chaining for all wrapper methods. 7 | * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value. 8 | */ 9 | function LodashWrapper(value, chainAll, actions) { 10 | this.__wrapped__ = value; 11 | this.__actions__ = actions || []; 12 | this.__chain__ = !!chainAll; 13 | } 14 | 15 | module.exports = LodashWrapper; 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/MapCache.js: -------------------------------------------------------------------------------- 1 | var mapDelete = require('./mapDelete'), 2 | mapGet = require('./mapGet'), 3 | mapHas = require('./mapHas'), 4 | mapSet = require('./mapSet'); 5 | 6 | /** 7 | * Creates a cache object to store key/value pairs. 8 | * 9 | * @private 10 | * @static 11 | * @name Cache 12 | * @memberOf _.memoize 13 | */ 14 | function MapCache() { 15 | this.__data__ = {}; 16 | } 17 | 18 | // Add functions to the `Map` cache. 19 | MapCache.prototype['delete'] = mapDelete; 20 | MapCache.prototype.get = mapGet; 21 | MapCache.prototype.has = mapHas; 22 | MapCache.prototype.set = mapSet; 23 | 24 | module.exports = MapCache; 25 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/SetCache.js: -------------------------------------------------------------------------------- 1 | var cachePush = require('./cachePush'), 2 | isNative = require('../lang/isNative'); 3 | 4 | /** Native method references. */ 5 | var Set = isNative(Set = global.Set) && Set; 6 | 7 | /* Native method references for those with the same name as other `lodash` methods. */ 8 | var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate; 9 | 10 | /** 11 | * 12 | * Creates a cache object to store unique values. 13 | * 14 | * @private 15 | * @param {Array} [values] The values to cache. 16 | */ 17 | function SetCache(values) { 18 | var length = values ? values.length : 0; 19 | 20 | this.data = { 'hash': nativeCreate(null), 'set': new Set }; 21 | while (length--) { 22 | this.push(values[length]); 23 | } 24 | } 25 | 26 | // Add functions to the `Set` cache. 27 | SetCache.prototype.push = cachePush; 28 | 29 | module.exports = SetCache; 30 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayCopy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copies the values of `source` to `array`. 3 | * 4 | * @private 5 | * @param {Array} source The array to copy values from. 6 | * @param {Array} [array=[]] The array to copy values to. 7 | * @returns {Array} Returns `array`. 8 | */ 9 | function arrayCopy(source, array) { 10 | var index = -1, 11 | length = source.length; 12 | 13 | array || (array = Array(length)); 14 | while (++index < length) { 15 | array[index] = source[index]; 16 | } 17 | return array; 18 | } 19 | 20 | module.exports = arrayCopy; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayEach.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.forEach` for arrays without support for callback 3 | * shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns `array`. 9 | */ 10 | function arrayEach(array, iteratee) { 11 | var index = -1, 12 | length = array.length; 13 | 14 | while (++index < length) { 15 | if (iteratee(array[index], index, array) === false) { 16 | break; 17 | } 18 | } 19 | return array; 20 | } 21 | 22 | module.exports = arrayEach; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayEachRight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.forEachRight` for arrays without support for 3 | * callback shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns `array`. 9 | */ 10 | function arrayEachRight(array, iteratee) { 11 | var length = array.length; 12 | 13 | while (length--) { 14 | if (iteratee(array[length], length, array) === false) { 15 | break; 16 | } 17 | } 18 | return array; 19 | } 20 | 21 | module.exports = arrayEachRight; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayEvery.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.every` for arrays without support for callback 3 | * shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} predicate The function invoked per iteration. 8 | * @returns {boolean} Returns `true` if all elements pass the predicate check, 9 | * else `false`. 10 | */ 11 | function arrayEvery(array, predicate) { 12 | var index = -1, 13 | length = array.length; 14 | 15 | while (++index < length) { 16 | if (!predicate(array[index], index, array)) { 17 | return false; 18 | } 19 | } 20 | return true; 21 | } 22 | 23 | module.exports = arrayEvery; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayFilter.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.filter` for arrays without support for callback 3 | * shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} predicate The function invoked per iteration. 8 | * @returns {Array} Returns the new filtered array. 9 | */ 10 | function arrayFilter(array, predicate) { 11 | var index = -1, 12 | length = array.length, 13 | resIndex = -1, 14 | result = []; 15 | 16 | while (++index < length) { 17 | var value = array[index]; 18 | if (predicate(value, index, array)) { 19 | result[++resIndex] = value; 20 | } 21 | } 22 | return result; 23 | } 24 | 25 | module.exports = arrayFilter; 26 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayMap.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.map` for arrays without support for callback 3 | * shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @returns {Array} Returns the new mapped array. 9 | */ 10 | function arrayMap(array, iteratee) { 11 | var index = -1, 12 | length = array.length, 13 | result = Array(length); 14 | 15 | while (++index < length) { 16 | result[index] = iteratee(array[index], index, array); 17 | } 18 | return result; 19 | } 20 | 21 | module.exports = arrayMap; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayMax.js: -------------------------------------------------------------------------------- 1 | /** Used as references for `-Infinity` and `Infinity`. */ 2 | var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY; 3 | 4 | /** 5 | * A specialized version of `_.max` for arrays without support for iteratees. 6 | * 7 | * @private 8 | * @param {Array} array The array to iterate over. 9 | * @returns {*} Returns the maximum value. 10 | */ 11 | function arrayMax(array) { 12 | var index = -1, 13 | length = array.length, 14 | result = NEGATIVE_INFINITY; 15 | 16 | while (++index < length) { 17 | var value = array[index]; 18 | if (value > result) { 19 | result = value; 20 | } 21 | } 22 | return result; 23 | } 24 | 25 | module.exports = arrayMax; 26 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayMin.js: -------------------------------------------------------------------------------- 1 | /** Used as references for `-Infinity` and `Infinity`. */ 2 | var POSITIVE_INFINITY = Number.POSITIVE_INFINITY; 3 | 4 | /** 5 | * A specialized version of `_.min` for arrays without support for iteratees. 6 | * 7 | * @private 8 | * @param {Array} array The array to iterate over. 9 | * @returns {*} Returns the minimum value. 10 | */ 11 | function arrayMin(array) { 12 | var index = -1, 13 | length = array.length, 14 | result = POSITIVE_INFINITY; 15 | 16 | while (++index < length) { 17 | var value = array[index]; 18 | if (value < result) { 19 | result = value; 20 | } 21 | } 22 | return result; 23 | } 24 | 25 | module.exports = arrayMin; 26 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayReduce.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.reduce` for arrays without support for callback 3 | * shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @param {*} [accumulator] The initial value. 9 | * @param {boolean} [initFromArray] Specify using the first element of `array` 10 | * as the initial value. 11 | * @returns {*} Returns the accumulated value. 12 | */ 13 | function arrayReduce(array, iteratee, accumulator, initFromArray) { 14 | var index = -1, 15 | length = array.length; 16 | 17 | if (initFromArray && length) { 18 | accumulator = array[++index]; 19 | } 20 | while (++index < length) { 21 | accumulator = iteratee(accumulator, array[index], index, array); 22 | } 23 | return accumulator; 24 | } 25 | 26 | module.exports = arrayReduce; 27 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arrayReduceRight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.reduceRight` for arrays without support for 3 | * callback shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} iteratee The function invoked per iteration. 8 | * @param {*} [accumulator] The initial value. 9 | * @param {boolean} [initFromArray] Specify using the last element of `array` 10 | * as the initial value. 11 | * @returns {*} Returns the accumulated value. 12 | */ 13 | function arrayReduceRight(array, iteratee, accumulator, initFromArray) { 14 | var length = array.length; 15 | if (initFromArray && length) { 16 | accumulator = array[--length]; 17 | } 18 | while (length--) { 19 | accumulator = iteratee(accumulator, array[length], length, array); 20 | } 21 | return accumulator; 22 | } 23 | 24 | module.exports = arrayReduceRight; 25 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/arraySome.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A specialized version of `_.some` for arrays without support for callback 3 | * shorthands or `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to iterate over. 7 | * @param {Function} predicate The function invoked per iteration. 8 | * @returns {boolean} Returns `true` if any element passes the predicate check, 9 | * else `false`. 10 | */ 11 | function arraySome(array, predicate) { 12 | var index = -1, 13 | length = array.length; 14 | 15 | while (++index < length) { 16 | if (predicate(array[index], index, array)) { 17 | return true; 18 | } 19 | } 20 | return false; 21 | } 22 | 23 | module.exports = arraySome; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/assignDefaults.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.defaults` to customize its `_.assign` use. 3 | * 4 | * @private 5 | * @param {*} objectValue The destination object property value. 6 | * @param {*} sourceValue The source object property value. 7 | * @returns {*} Returns the value to assign to the destination object. 8 | */ 9 | function assignDefaults(objectValue, sourceValue) { 10 | return typeof objectValue == 'undefined' ? sourceValue : objectValue; 11 | } 12 | 13 | module.exports = assignDefaults; 14 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseBindAll.js: -------------------------------------------------------------------------------- 1 | var createWrapper = require('./createWrapper'); 2 | 3 | /** Used to compose bitmasks for wrapper metadata. */ 4 | var BIND_FLAG = 1; 5 | 6 | /** 7 | * The base implementation of `_.bindAll` without support for individual 8 | * method name arguments. 9 | * 10 | * @private 11 | * @param {Object} object The object to bind and assign the bound methods to. 12 | * @param {string[]} methodNames The object method names to bind. 13 | * @returns {Object} Returns `object`. 14 | */ 15 | function baseBindAll(object, methodNames) { 16 | var index = -1, 17 | length = methodNames.length; 18 | 19 | while (++index < length) { 20 | var key = methodNames[index]; 21 | object[key] = createWrapper(object[key], BIND_FLAG, object); 22 | } 23 | return object; 24 | } 25 | 26 | module.exports = baseBindAll; 27 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseCompareAscending.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `compareAscending` which compares values and 3 | * sorts them in ascending order without guaranteeing a stable sort. 4 | * 5 | * @private 6 | * @param {*} value The value to compare to `other`. 7 | * @param {*} other The value to compare to `value`. 8 | * @returns {number} Returns the sort order indicator for `value`. 9 | */ 10 | function baseCompareAscending(value, other) { 11 | if (value !== other) { 12 | var valIsReflexive = value === value, 13 | othIsReflexive = other === other; 14 | 15 | if (value > other || !valIsReflexive || (typeof value == 'undefined' && othIsReflexive)) { 16 | return 1; 17 | } 18 | if (value < other || !othIsReflexive || (typeof other == 'undefined' && valIsReflexive)) { 19 | return -1; 20 | } 21 | } 22 | return 0; 23 | } 24 | 25 | module.exports = baseCompareAscending; 26 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseCopy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copies the properties of `source` to `object`. 3 | * 4 | * @private 5 | * @param {Object} source The object to copy properties from. 6 | * @param {Object} [object={}] The object to copy properties to. 7 | * @param {Array} props The property names to copy. 8 | * @returns {Object} Returns `object`. 9 | */ 10 | function baseCopy(source, object, props) { 11 | if (!props) { 12 | props = object; 13 | object = {}; 14 | } 15 | var index = -1, 16 | length = props.length; 17 | 18 | while (++index < length) { 19 | var key = props[index]; 20 | object[key] = source[key]; 21 | } 22 | return object; 23 | } 24 | 25 | module.exports = baseCopy; 26 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseCreate.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * The base implementation of `_.create` without support for assigning 5 | * properties to the created object. 6 | * 7 | * @private 8 | * @param {Object} prototype The object to inherit from. 9 | * @returns {Object} Returns the new object. 10 | */ 11 | var baseCreate = (function() { 12 | function Object() {} 13 | return function(prototype) { 14 | if (isObject(prototype)) { 15 | Object.prototype = prototype; 16 | var result = new Object; 17 | Object.prototype = null; 18 | } 19 | return result || global.Object(); 20 | }; 21 | }()); 22 | 23 | module.exports = baseCreate; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseDelay.js: -------------------------------------------------------------------------------- 1 | var baseSlice = require('./baseSlice'); 2 | 3 | /** Used as the `TypeError` message for "Functions" methods. */ 4 | var FUNC_ERROR_TEXT = 'Expected a function'; 5 | 6 | /** 7 | * The base implementation of `_.delay` and `_.defer` which accepts an index 8 | * of where to slice the arguments to provide to `func`. 9 | * 10 | * @private 11 | * @param {Function} func The function to delay. 12 | * @param {number} wait The number of milliseconds to delay invocation. 13 | * @param {Object} args The `arguments` object to slice and provide to `func`. 14 | * @returns {number} Returns the timer id. 15 | */ 16 | function baseDelay(func, wait, args, fromIndex) { 17 | if (typeof func != 'function') { 18 | throw new TypeError(FUNC_ERROR_TEXT); 19 | } 20 | return setTimeout(function() { func.apply(undefined, baseSlice(args, fromIndex)); }, wait); 21 | } 22 | 23 | module.exports = baseDelay; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseEvery.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.every` without support for callback 5 | * shorthands or `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {boolean} Returns `true` if all elements pass the predicate check, 11 | * else `false` 12 | */ 13 | function baseEvery(collection, predicate) { 14 | var result = true; 15 | baseEach(collection, function(value, index, collection) { 16 | result = !!predicate(value, index, collection); 17 | return result; 18 | }); 19 | return result; 20 | } 21 | 22 | module.exports = baseEvery; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseFill.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.fill` without an iteratee call guard. 3 | * 4 | * @private 5 | * @param {Array} array The array to fill. 6 | * @param {*} value The value to fill `array` with. 7 | * @param {number} [start=0] The start position. 8 | * @param {number} [end=array.length] The end position. 9 | * @returns {Array} Returns `array`. 10 | */ 11 | function baseFill(array, value, start, end) { 12 | var length = array.length; 13 | 14 | start = start == null ? 0 : (+start || 0); 15 | if (start < 0) { 16 | start = -start > length ? 0 : (length + start); 17 | } 18 | end = (typeof end == 'undefined' || end > length) ? length : (+end || 0); 19 | if (end < 0) { 20 | end += length; 21 | } 22 | length = start > end ? 0 : end >>> 0; 23 | start >>>= 0; 24 | 25 | while (start < length) { 26 | array[start++] = value; 27 | } 28 | return array; 29 | } 30 | 31 | module.exports = baseFill; 32 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseFilter.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.filter` without support for callback 5 | * shorthands or `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {Array} Returns the new filtered array. 11 | */ 12 | function baseFilter(collection, predicate) { 13 | var result = []; 14 | baseEach(collection, function(value, index, collection) { 15 | if (predicate(value, index, collection)) { 16 | result.push(value); 17 | } 18 | }); 19 | return result; 20 | } 21 | 22 | module.exports = baseFilter; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseForIn.js: -------------------------------------------------------------------------------- 1 | var baseFor = require('./baseFor'), 2 | keysIn = require('../object/keysIn'); 3 | 4 | /** 5 | * The base implementation of `_.forIn` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Object} object The object to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseForIn(object, iteratee) { 14 | return baseFor(object, iteratee, keysIn); 15 | } 16 | 17 | module.exports = baseForIn; 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseForOwn.js: -------------------------------------------------------------------------------- 1 | var baseFor = require('./baseFor'), 2 | keys = require('../object/keys'); 3 | 4 | /** 5 | * The base implementation of `_.forOwn` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Object} object The object to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseForOwn(object, iteratee) { 14 | return baseFor(object, iteratee, keys); 15 | } 16 | 17 | module.exports = baseForOwn; 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseForOwnRight.js: -------------------------------------------------------------------------------- 1 | var baseForRight = require('./baseForRight'), 2 | keys = require('../object/keys'); 3 | 4 | /** 5 | * The base implementation of `_.forOwnRight` without support for callback 6 | * shorthands and `this` binding. 7 | * 8 | * @private 9 | * @param {Object} object The object to iterate over. 10 | * @param {Function} iteratee The function invoked per iteration. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseForOwnRight(object, iteratee) { 14 | return baseForRight(object, iteratee, keys); 15 | } 16 | 17 | module.exports = baseForOwnRight; 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseForRight.js: -------------------------------------------------------------------------------- 1 | var toObject = require('./toObject'); 2 | 3 | /** 4 | * This function is like `baseFor` except that it iterates over properties 5 | * in the opposite order. 6 | * 7 | * @private 8 | * @param {Object} object The object to iterate over. 9 | * @param {Function} iteratee The function invoked per iteration. 10 | * @param {Function} keysFunc The function to get the keys of `object`. 11 | * @returns {Object} Returns `object`. 12 | */ 13 | function baseForRight(object, iteratee, keysFunc) { 14 | var iterable = toObject(object), 15 | props = keysFunc(object), 16 | length = props.length; 17 | 18 | while (length--) { 19 | var key = props[length]; 20 | if (iteratee(iterable[key], key, iterable) === false) { 21 | break; 22 | } 23 | } 24 | return object; 25 | } 26 | 27 | module.exports = baseForRight; 28 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseFunctions.js: -------------------------------------------------------------------------------- 1 | var isFunction = require('../lang/isFunction'); 2 | 3 | /** 4 | * The base implementation of `_.functions` which creates an array of 5 | * `object` function property names filtered from those provided. 6 | * 7 | * @private 8 | * @param {Object} object The object to inspect. 9 | * @param {Array} props The property names to filter. 10 | * @returns {Array} Returns the new array of filtered property names. 11 | */ 12 | function baseFunctions(object, props) { 13 | var index = -1, 14 | length = props.length, 15 | resIndex = -1, 16 | result = []; 17 | 18 | while (++index < length) { 19 | var key = props[index]; 20 | if (isFunction(object[key])) { 21 | result[++resIndex] = key; 22 | } 23 | } 24 | return result; 25 | } 26 | 27 | module.exports = baseFunctions; 28 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseIndexOf.js: -------------------------------------------------------------------------------- 1 | var indexOfNaN = require('./indexOfNaN'); 2 | 3 | /** 4 | * The base implementation of `_.indexOf` without support for binary searches. 5 | * 6 | * @private 7 | * @param {Array} array The array to search. 8 | * @param {*} value The value to search for. 9 | * @param {number} [fromIndex=0] The index to search from. 10 | * @returns {number} Returns the index of the matched value, else `-1`. 11 | */ 12 | function baseIndexOf(array, value, fromIndex) { 13 | if (value !== value) { 14 | return indexOfNaN(array, fromIndex); 15 | } 16 | var index = (fromIndex || 0) - 1, 17 | length = array.length; 18 | 19 | while (++index < length) { 20 | if (array[index] === value) { 21 | return index; 22 | } 23 | } 24 | return -1; 25 | } 26 | 27 | module.exports = baseIndexOf; 28 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseMap.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.map` without support for callback shorthands 5 | * or `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} iteratee The function invoked per iteration. 10 | * @returns {Array} Returns the new mapped array. 11 | */ 12 | function baseMap(collection, iteratee) { 13 | var result = []; 14 | baseEach(collection, function(value, key, collection) { 15 | result.push(iteratee(value, key, collection)); 16 | }); 17 | return result; 18 | } 19 | 20 | module.exports = baseMap; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseMatchesProperty.js: -------------------------------------------------------------------------------- 1 | var baseIsEqual = require('./baseIsEqual'), 2 | isStrictComparable = require('./isStrictComparable'); 3 | 4 | /** 5 | * The base implementation of `_.matchesProperty` which does not coerce `key` 6 | * to a string. 7 | * 8 | * @private 9 | * @param {string} key The key of the property to get. 10 | * @param {*} value The value to compare. 11 | * @returns {Function} Returns the new function. 12 | */ 13 | function baseMatchesProperty(key, value) { 14 | if (isStrictComparable(value)) { 15 | return function(object) { 16 | return object != null && object[key] === value; 17 | }; 18 | } 19 | return function(object) { 20 | return object != null && baseIsEqual(value, object[key], null, true); 21 | }; 22 | } 23 | 24 | module.exports = baseMatchesProperty; 25 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseProperty.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.property` which does not coerce `key` to a string. 3 | * 4 | * @private 5 | * @param {string} key The key of the property to get. 6 | * @returns {Function} Returns the new function. 7 | */ 8 | function baseProperty(key) { 9 | return function(object) { 10 | return object == null ? undefined : object[key]; 11 | }; 12 | } 13 | 14 | module.exports = baseProperty; 15 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseRandom.js: -------------------------------------------------------------------------------- 1 | /** Native method references. */ 2 | var floor = Math.floor; 3 | 4 | /* Native method references for those with the same name as other `lodash` methods. */ 5 | var nativeRandom = Math.random; 6 | 7 | /** 8 | * The base implementation of `_.random` without support for argument juggling 9 | * and returning floating-point numbers. 10 | * 11 | * @private 12 | * @param {number} min The minimum possible value. 13 | * @param {number} max The maximum possible value. 14 | * @returns {number} Returns the random number. 15 | */ 16 | function baseRandom(min, max) { 17 | return min + floor(nativeRandom() * (max - min + 1)); 18 | } 19 | 20 | module.exports = baseRandom; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseSetData.js: -------------------------------------------------------------------------------- 1 | var identity = require('../utility/identity'), 2 | metaMap = require('./metaMap'); 3 | 4 | /** 5 | * The base implementation of `setData` without support for hot loop detection. 6 | * 7 | * @private 8 | * @param {Function} func The function to associate metadata with. 9 | * @param {*} data The metadata. 10 | * @returns {Function} Returns `func`. 11 | */ 12 | var baseSetData = !metaMap ? identity : function(func, data) { 13 | metaMap.set(func, data); 14 | return func; 15 | }; 16 | 17 | module.exports = baseSetData; 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseSome.js: -------------------------------------------------------------------------------- 1 | var baseEach = require('./baseEach'); 2 | 3 | /** 4 | * The base implementation of `_.some` without support for callback shorthands 5 | * or `this` binding. 6 | * 7 | * @private 8 | * @param {Array|Object|string} collection The collection to iterate over. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {boolean} Returns `true` if any element passes the predicate check, 11 | * else `false`. 12 | */ 13 | function baseSome(collection, predicate) { 14 | var result; 15 | 16 | baseEach(collection, function(value, index, collection) { 17 | result = predicate(value, index, collection); 18 | return !result; 19 | }); 20 | return !!result; 21 | } 22 | 23 | module.exports = baseSome; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseSortBy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.sortBy` and `_.sortByAll` which uses `comparer` 3 | * to define the sort order of `array` and replaces criteria objects with their 4 | * corresponding values. 5 | * 6 | * @private 7 | * @param {Array} array The array to sort. 8 | * @param {Function} comparer The function to define sort order. 9 | * @returns {Array} Returns `array`. 10 | */ 11 | function baseSortBy(array, comparer) { 12 | var length = array.length; 13 | 14 | array.sort(comparer); 15 | while (length--) { 16 | array[length] = array[length].value; 17 | } 18 | return array; 19 | } 20 | 21 | module.exports = baseSortBy; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseToString.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Converts `value` to a string if it is not one. An empty string is returned 3 | * for `null` or `undefined` values. 4 | * 5 | * @private 6 | * @param {*} value The value to process. 7 | * @returns {string} Returns the string. 8 | */ 9 | function baseToString(value) { 10 | if (typeof value == 'string') { 11 | return value; 12 | } 13 | return value == null ? '' : (value + ''); 14 | } 15 | 16 | module.exports = baseToString; 17 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/baseValues.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The base implementation of `_.values` and `_.valuesIn` which creates an 3 | * array of `object` property values corresponding to the property names 4 | * returned by `keysFunc`. 5 | * 6 | * @private 7 | * @param {Object} object The object to query. 8 | * @param {Array} props The property names to get values for. 9 | * @returns {Object} Returns the array of property values. 10 | */ 11 | function baseValues(object, props) { 12 | var index = -1, 13 | length = props.length, 14 | result = Array(length); 15 | 16 | while (++index < length) { 17 | result[index] = object[props[index]]; 18 | } 19 | return result; 20 | } 21 | 22 | module.exports = baseValues; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/cacheIndexOf.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Checks if `value` is in `cache` mimicking the return signature of 5 | * `_.indexOf` by returning `0` if the value is found, else `-1`. 6 | * 7 | * @private 8 | * @param {Object} cache The cache to search. 9 | * @param {*} value The value to search for. 10 | * @returns {number} Returns `0` if `value` is found, else `-1`. 11 | */ 12 | function cacheIndexOf(cache, value) { 13 | var data = cache.data, 14 | result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value]; 15 | 16 | return result ? 0 : -1; 17 | } 18 | 19 | module.exports = cacheIndexOf; 20 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/cachePush.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Adds `value` to the cache. 5 | * 6 | * @private 7 | * @name push 8 | * @memberOf SetCache 9 | * @param {*} value The value to cache. 10 | */ 11 | function cachePush(value) { 12 | var data = this.data; 13 | if (typeof value == 'string' || isObject(value)) { 14 | data.set.add(value); 15 | } else { 16 | data.hash[value] = true; 17 | } 18 | } 19 | 20 | module.exports = cachePush; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/charAtCallback.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.max` and `_.min` as the default callback for string values. 3 | * 4 | * @private 5 | * @param {string} string The string to inspect. 6 | * @returns {number} Returns the code unit of the first character of the string. 7 | */ 8 | function charAtCallback(string) { 9 | return string.charCodeAt(0); 10 | } 11 | 12 | module.exports = charAtCallback; 13 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/charsLeftIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.trim` and `_.trimLeft` to get the index of the first character 3 | * of `string` that is not found in `chars`. 4 | * 5 | * @private 6 | * @param {string} string The string to inspect. 7 | * @param {string} chars The characters to find. 8 | * @returns {number} Returns the index of the first character not found in `chars`. 9 | */ 10 | function charsLeftIndex(string, chars) { 11 | var index = -1, 12 | length = string.length; 13 | 14 | while (++index < length && chars.indexOf(string.charAt(index)) > -1) {} 15 | return index; 16 | } 17 | 18 | module.exports = charsLeftIndex; 19 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/charsRightIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `_.trim` and `_.trimRight` to get the index of the last character 3 | * of `string` that is not found in `chars`. 4 | * 5 | * @private 6 | * @param {string} string The string to inspect. 7 | * @param {string} chars The characters to find. 8 | * @returns {number} Returns the index of the last character not found in `chars`. 9 | */ 10 | function charsRightIndex(string, chars) { 11 | var index = string.length; 12 | 13 | while (index-- && chars.indexOf(string.charAt(index)) > -1) {} 14 | return index; 15 | } 16 | 17 | module.exports = charsRightIndex; 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/compareAscending.js: -------------------------------------------------------------------------------- 1 | var baseCompareAscending = require('./baseCompareAscending'); 2 | 3 | /** 4 | * Used by `_.sortBy` to compare transformed elements of a collection and stable 5 | * sort them in ascending order. 6 | * 7 | * @private 8 | * @param {Object} object The object to compare to `other`. 9 | * @param {Object} other The object to compare to `object`. 10 | * @returns {number} Returns the sort order indicator for `object`. 11 | */ 12 | function compareAscending(object, other) { 13 | return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index); 14 | } 15 | 16 | module.exports = compareAscending; 17 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/createBindWrapper.js: -------------------------------------------------------------------------------- 1 | var createCtorWrapper = require('./createCtorWrapper'); 2 | 3 | /** 4 | * Creates a function that wraps `func` and invokes it with the `this` 5 | * binding of `thisArg`. 6 | * 7 | * @private 8 | * @param {Function} func The function to bind. 9 | * @param {*} [thisArg] The `this` binding of `func`. 10 | * @returns {Function} Returns the new bound function. 11 | */ 12 | function createBindWrapper(func, thisArg) { 13 | var Ctor = createCtorWrapper(func); 14 | 15 | function wrapper() { 16 | return (this instanceof wrapper ? Ctor : func).apply(thisArg, arguments); 17 | } 18 | return wrapper; 19 | } 20 | 21 | module.exports = createBindWrapper; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/createCache.js: -------------------------------------------------------------------------------- 1 | var SetCache = require('./SetCache'), 2 | constant = require('../utility/constant'), 3 | isNative = require('../lang/isNative'); 4 | 5 | /** Native method references. */ 6 | var Set = isNative(Set = global.Set) && Set; 7 | 8 | /* Native method references for those with the same name as other `lodash` methods. */ 9 | var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate; 10 | 11 | /** 12 | * Creates a `Set` cache object to optimize linear searches of large arrays. 13 | * 14 | * @private 15 | * @param {Array} [values] The values to cache. 16 | * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`. 17 | */ 18 | var createCache = !(nativeCreate && Set) ? constant(null) : function(values) { 19 | return new SetCache(values); 20 | }; 21 | 22 | module.exports = createCache; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/createCompounder.js: -------------------------------------------------------------------------------- 1 | var deburr = require('../string/deburr'), 2 | words = require('../string/words'); 3 | 4 | /** 5 | * Creates a function that produces compound words out of the words in a 6 | * given string. 7 | * 8 | * @private 9 | * @param {Function} callback The function to combine each word. 10 | * @returns {Function} Returns the new compounder function. 11 | */ 12 | function createCompounder(callback) { 13 | return function(string) { 14 | var index = -1, 15 | array = words(deburr(string)), 16 | length = array.length, 17 | result = ''; 18 | 19 | while (++index < length) { 20 | result = callback(result, array[index], index); 21 | } 22 | return result; 23 | }; 24 | } 25 | 26 | module.exports = createCompounder; 27 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/createCtorWrapper.js: -------------------------------------------------------------------------------- 1 | var baseCreate = require('./baseCreate'), 2 | isObject = require('../lang/isObject'); 3 | 4 | /** 5 | * Creates a function that produces an instance of `Ctor` regardless of 6 | * whether it was invoked as part of a `new` expression or by `call` or `apply`. 7 | * 8 | * @private 9 | * @param {Function} Ctor The constructor to wrap. 10 | * @returns {Function} Returns the new wrapped function. 11 | */ 12 | function createCtorWrapper(Ctor) { 13 | return function() { 14 | var thisBinding = baseCreate(Ctor.prototype), 15 | result = Ctor.apply(thisBinding, arguments); 16 | 17 | // Mimic the constructor's `return` behavior. 18 | // See https://es5.github.io/#x13.2.2 for more details. 19 | return isObject(result) ? result : thisBinding; 20 | }; 21 | } 22 | 23 | module.exports = createCtorWrapper; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/escapeHtmlChar.js: -------------------------------------------------------------------------------- 1 | /** Used to map characters to HTML entities. */ 2 | var htmlEscapes = { 3 | '&': '&', 4 | '<': '<', 5 | '>': '>', 6 | '"': '"', 7 | "'": ''', 8 | '`': '`' 9 | }; 10 | 11 | /** 12 | * Used by `_.escape` to convert characters to HTML entities. 13 | * 14 | * @private 15 | * @param {string} chr The matched character to escape. 16 | * @returns {string} Returns the escaped character. 17 | */ 18 | function escapeHtmlChar(chr) { 19 | return htmlEscapes[chr]; 20 | } 21 | 22 | module.exports = escapeHtmlChar; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/escapeStringChar.js: -------------------------------------------------------------------------------- 1 | /** Used to escape characters for inclusion in compiled string literals. */ 2 | var stringEscapes = { 3 | '\\': '\\', 4 | "'": "'", 5 | '\n': 'n', 6 | '\r': 'r', 7 | '\u2028': 'u2028', 8 | '\u2029': 'u2029' 9 | }; 10 | 11 | /** 12 | * Used by `_.template` to escape characters for inclusion in compiled 13 | * string literals. 14 | * 15 | * @private 16 | * @param {string} chr The matched character to escape. 17 | * @returns {string} Returns the escaped character. 18 | */ 19 | function escapeStringChar(chr) { 20 | return '\\' + stringEscapes[chr]; 21 | } 22 | 23 | module.exports = escapeStringChar; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/getData.js: -------------------------------------------------------------------------------- 1 | var metaMap = require('./metaMap'), 2 | noop = require('../utility/noop'); 3 | 4 | /** 5 | * Gets metadata for `func`. 6 | * 7 | * @private 8 | * @param {Function} func The function to query. 9 | * @returns {*} Returns the metadata for `func`. 10 | */ 11 | var getData = !metaMap ? noop : function(func) { 12 | return metaMap.get(func); 13 | }; 14 | 15 | module.exports = getData; 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/indexOfNaN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the index at which the first occurrence of `NaN` is found in `array`. 3 | * If `fromRight` is provided elements of `array` are iterated from right to left. 4 | * 5 | * @private 6 | * @param {Array} array The array to search. 7 | * @param {number} [fromIndex] The index to search from. 8 | * @param {boolean} [fromRight] Specify iterating from right to left. 9 | * @returns {number} Returns the index of the matched `NaN`, else `-1`. 10 | */ 11 | function indexOfNaN(array, fromIndex, fromRight) { 12 | var length = array.length, 13 | index = fromRight ? (fromIndex || length) : ((fromIndex || 0) - 1); 14 | 15 | while ((fromRight ? index-- : ++index < length)) { 16 | var other = array[index]; 17 | if (other !== other) { 18 | return index; 19 | } 20 | } 21 | return -1; 22 | } 23 | 24 | module.exports = indexOfNaN; 25 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/initCloneArray.js: -------------------------------------------------------------------------------- 1 | /** Used for native method references. */ 2 | var objectProto = Object.prototype; 3 | 4 | /** Used to check objects for own properties. */ 5 | var hasOwnProperty = objectProto.hasOwnProperty; 6 | 7 | /** 8 | * Initializes an array clone. 9 | * 10 | * @private 11 | * @param {Array} array The array to clone. 12 | * @returns {Array} Returns the initialized clone. 13 | */ 14 | function initCloneArray(array) { 15 | var length = array.length, 16 | result = new array.constructor(length); 17 | 18 | // Add array properties assigned by `RegExp#exec`. 19 | if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { 20 | result.index = array.index; 21 | result.input = array.input; 22 | } 23 | return result; 24 | } 25 | 26 | module.exports = initCloneArray; 27 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/initCloneObject.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Initializes an object clone. 3 | * 4 | * @private 5 | * @param {Object} object The object to clone. 6 | * @returns {Object} Returns the initialized clone. 7 | */ 8 | function initCloneObject(object) { 9 | var Ctor = object.constructor; 10 | if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) { 11 | Ctor = Object; 12 | } 13 | return new Ctor; 14 | } 15 | 16 | module.exports = initCloneObject; 17 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/isIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used as the maximum length of an array-like value. 3 | * See the [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) 4 | * for more details. 5 | */ 6 | var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; 7 | 8 | /** 9 | * Checks if `value` is a valid array-like index. 10 | * 11 | * @private 12 | * @param {*} value The value to check. 13 | * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 14 | * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 15 | */ 16 | function isIndex(value, length) { 17 | value = +value; 18 | length = length == null ? MAX_SAFE_INTEGER : length; 19 | return value > -1 && value % 1 == 0 && value < length; 20 | } 21 | 22 | module.exports = isIndex; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/isLength.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used as the maximum length of an array-like value. 3 | * See the [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) 4 | * for more details. 5 | */ 6 | var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; 7 | 8 | /** 9 | * Checks if `value` is a valid array-like length. 10 | * 11 | * **Note:** This function is based on ES `ToLength`. See the 12 | * [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) 13 | * for more details. 14 | * 15 | * @private 16 | * @param {*} value The value to check. 17 | * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 18 | */ 19 | function isLength(value) { 20 | return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 21 | } 22 | 23 | module.exports = isLength; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/isObjectLike.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is object-like. 3 | * 4 | * @private 5 | * @param {*} value The value to check. 6 | * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 7 | */ 8 | function isObjectLike(value) { 9 | return (value && typeof value == 'object') || false; 10 | } 11 | 12 | module.exports = isObjectLike; 13 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/isSpace.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a 3 | * character code is whitespace. 4 | * 5 | * @private 6 | * @param {number} charCode The character code to inspect. 7 | * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`. 8 | */ 9 | function isSpace(charCode) { 10 | return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 || 11 | (charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279))); 12 | } 13 | 14 | module.exports = isSpace; 15 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/isStrictComparable.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. 5 | * 6 | * @private 7 | * @param {*} value The value to check. 8 | * @returns {boolean} Returns `true` if `value` if suitable for strict 9 | * equality comparisons, else `false`. 10 | */ 11 | function isStrictComparable(value) { 12 | return value === value && (value === 0 ? ((1 / value) > 0) : !isObject(value)); 13 | } 14 | 15 | module.exports = isStrictComparable; 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/lazyReverse.js: -------------------------------------------------------------------------------- 1 | var LazyWrapper = require('./LazyWrapper'); 2 | 3 | /** 4 | * Reverses the direction of lazy iteration. 5 | * 6 | * @private 7 | * @name reverse 8 | * @memberOf LazyWrapper 9 | * @returns {Object} Returns the new reversed `LazyWrapper` object. 10 | */ 11 | function lazyReverse() { 12 | if (this.__filtered__) { 13 | var result = new LazyWrapper(this); 14 | result.__dir__ = -1; 15 | result.__filtered__ = true; 16 | } else { 17 | result = this.clone(); 18 | result.__dir__ *= -1; 19 | } 20 | return result; 21 | } 22 | 23 | module.exports = lazyReverse; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/mapDelete.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Removes `key` and its value from the cache. 3 | * 4 | * @private 5 | * @name delete 6 | * @memberOf _.memoize.Cache 7 | * @param {string} key The key of the value to remove. 8 | * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`. 9 | */ 10 | function mapDelete(key) { 11 | return this.has(key) && delete this.__data__[key]; 12 | } 13 | 14 | module.exports = mapDelete; 15 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/mapGet.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Gets the cached value for `key`. 3 | * 4 | * @private 5 | * @name get 6 | * @memberOf _.memoize.Cache 7 | * @param {string} key The key of the value to get. 8 | * @returns {*} Returns the cached value. 9 | */ 10 | function mapGet(key) { 11 | return key == '__proto__' ? undefined : this.__data__[key]; 12 | } 13 | 14 | module.exports = mapGet; 15 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/mapHas.js: -------------------------------------------------------------------------------- 1 | /** Used for native method references. */ 2 | var objectProto = Object.prototype; 3 | 4 | /** Used to check objects for own properties. */ 5 | var hasOwnProperty = objectProto.hasOwnProperty; 6 | 7 | /** 8 | * Checks if a cached value for `key` exists. 9 | * 10 | * @private 11 | * @name has 12 | * @memberOf _.memoize.Cache 13 | * @param {string} key The key of the entry to check. 14 | * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 15 | */ 16 | function mapHas(key) { 17 | return key != '__proto__' && hasOwnProperty.call(this.__data__, key); 18 | } 19 | 20 | module.exports = mapHas; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/mapSet.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Adds `value` to `key` of the cache. 3 | * 4 | * @private 5 | * @name set 6 | * @memberOf _.memoize.Cache 7 | * @param {string} key The key of the value to cache. 8 | * @param {*} value The value to cache. 9 | * @returns {Object} Returns the cache object. 10 | */ 11 | function mapSet(key, value) { 12 | if (key != '__proto__') { 13 | this.__data__[key] = value; 14 | } 15 | return this; 16 | } 17 | 18 | module.exports = mapSet; 19 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/metaMap.js: -------------------------------------------------------------------------------- 1 | var isNative = require('../lang/isNative'); 2 | 3 | /** Native method references. */ 4 | var WeakMap = isNative(WeakMap = global.WeakMap) && WeakMap; 5 | 6 | /** Used to store function metadata. */ 7 | var metaMap = WeakMap && new WeakMap; 8 | 9 | module.exports = metaMap; 10 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/pickByArray.js: -------------------------------------------------------------------------------- 1 | var toObject = require('./toObject'); 2 | 3 | /** 4 | * A specialized version of `_.pick` that picks `object` properties specified 5 | * by the `props` array. 6 | * 7 | * @private 8 | * @param {Object} object The source object. 9 | * @param {string[]} props The property names to pick. 10 | * @returns {Object} Returns the new object. 11 | */ 12 | function pickByArray(object, props) { 13 | object = toObject(object); 14 | 15 | var index = -1, 16 | length = props.length, 17 | result = {}; 18 | 19 | while (++index < length) { 20 | var key = props[index]; 21 | if (key in object) { 22 | result[key] = object[key]; 23 | } 24 | } 25 | return result; 26 | } 27 | 28 | module.exports = pickByArray; 29 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/pickByCallback.js: -------------------------------------------------------------------------------- 1 | var baseForIn = require('./baseForIn'); 2 | 3 | /** 4 | * A specialized version of `_.pick` that picks `object` properties `predicate` 5 | * returns truthy for. 6 | * 7 | * @private 8 | * @param {Object} object The source object. 9 | * @param {Function} predicate The function invoked per iteration. 10 | * @returns {Object} Returns the new object. 11 | */ 12 | function pickByCallback(object, predicate) { 13 | var result = {}; 14 | baseForIn(object, function(value, key, object) { 15 | if (predicate(value, key, object)) { 16 | result[key] = value; 17 | } 18 | }); 19 | return result; 20 | } 21 | 22 | module.exports = pickByCallback; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/reEscape.js: -------------------------------------------------------------------------------- 1 | /** Used to match template delimiters. */ 2 | var reEscape = /<%-([\s\S]+?)%>/g; 3 | 4 | module.exports = reEscape; 5 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/reEvaluate.js: -------------------------------------------------------------------------------- 1 | /** Used to match template delimiters. */ 2 | var reEvaluate = /<%([\s\S]+?)%>/g; 3 | 4 | module.exports = reEvaluate; 5 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/reInterpolate.js: -------------------------------------------------------------------------------- 1 | /** Used to match template delimiters. */ 2 | var reInterpolate = /<%=([\s\S]+?)%>/g; 3 | 4 | module.exports = reInterpolate; 5 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/replaceHolders.js: -------------------------------------------------------------------------------- 1 | /** Used as the internal argument placeholder. */ 2 | var PLACEHOLDER = '__lodash_placeholder__'; 3 | 4 | /** 5 | * Replaces all `placeholder` elements in `array` with an internal placeholder 6 | * and returns an array of their indexes. 7 | * 8 | * @private 9 | * @param {Array} array The array to modify. 10 | * @param {*} placeholder The placeholder to replace. 11 | * @returns {Array} Returns the new array of placeholder indexes. 12 | */ 13 | function replaceHolders(array, placeholder) { 14 | var index = -1, 15 | length = array.length, 16 | resIndex = -1, 17 | result = []; 18 | 19 | while (++index < length) { 20 | if (array[index] === placeholder) { 21 | array[index] = PLACEHOLDER; 22 | result[++resIndex] = index; 23 | } 24 | } 25 | return result; 26 | } 27 | 28 | module.exports = replaceHolders; 29 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/sortedUniq.js: -------------------------------------------------------------------------------- 1 | /** 2 | * An implementation of `_.uniq` optimized for sorted arrays without support 3 | * for callback shorthands and `this` binding. 4 | * 5 | * @private 6 | * @param {Array} array The array to inspect. 7 | * @param {Function} [iteratee] The function invoked per iteration. 8 | * @returns {Array} Returns the new duplicate-value-free array. 9 | */ 10 | function sortedUniq(array, iteratee) { 11 | var seen, 12 | index = -1, 13 | length = array.length, 14 | resIndex = -1, 15 | result = []; 16 | 17 | while (++index < length) { 18 | var value = array[index], 19 | computed = iteratee ? iteratee(value, index, array) : value; 20 | 21 | if (!index || seen !== computed) { 22 | seen = computed; 23 | result[++resIndex] = value; 24 | } 25 | } 26 | return result; 27 | } 28 | 29 | module.exports = sortedUniq; 30 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/toIterable.js: -------------------------------------------------------------------------------- 1 | var isLength = require('./isLength'), 2 | isObject = require('../lang/isObject'), 3 | values = require('../object/values'); 4 | 5 | /** 6 | * Converts `value` to an array-like object if it is not one. 7 | * 8 | * @private 9 | * @param {*} value The value to process. 10 | * @returns {Array|Object} Returns the array-like object. 11 | */ 12 | function toIterable(value) { 13 | if (value == null) { 14 | return []; 15 | } 16 | if (!isLength(value.length)) { 17 | return values(value); 18 | } 19 | return isObject(value) ? value : Object(value); 20 | } 21 | 22 | module.exports = toIterable; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/toObject.js: -------------------------------------------------------------------------------- 1 | var isObject = require('../lang/isObject'); 2 | 3 | /** 4 | * Converts `value` to an object if it is not one. 5 | * 6 | * @private 7 | * @param {*} value The value to process. 8 | * @returns {Object} Returns the object. 9 | */ 10 | function toObject(value) { 11 | return isObject(value) ? value : Object(value); 12 | } 13 | 14 | module.exports = toObject; 15 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/trimmedLeftIndex.js: -------------------------------------------------------------------------------- 1 | var isSpace = require('./isSpace'); 2 | 3 | /** 4 | * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace 5 | * character of `string`. 6 | * 7 | * @private 8 | * @param {string} string The string to inspect. 9 | * @returns {number} Returns the index of the first non-whitespace character. 10 | */ 11 | function trimmedLeftIndex(string) { 12 | var index = -1, 13 | length = string.length; 14 | 15 | while (++index < length && isSpace(string.charCodeAt(index))) {} 16 | return index; 17 | } 18 | 19 | module.exports = trimmedLeftIndex; 20 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/trimmedRightIndex.js: -------------------------------------------------------------------------------- 1 | var isSpace = require('./isSpace'); 2 | 3 | /** 4 | * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace 5 | * character of `string`. 6 | * 7 | * @private 8 | * @param {string} string The string to inspect. 9 | * @returns {number} Returns the index of the last non-whitespace character. 10 | */ 11 | function trimmedRightIndex(string) { 12 | var index = string.length; 13 | 14 | while (index-- && isSpace(string.charCodeAt(index))) {} 15 | return index; 16 | } 17 | 18 | module.exports = trimmedRightIndex; 19 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/unescapeHtmlChar.js: -------------------------------------------------------------------------------- 1 | /** Used to map HTML entities to characters. */ 2 | var htmlUnescapes = { 3 | '&': '&', 4 | '<': '<', 5 | '>': '>', 6 | '"': '"', 7 | ''': "'", 8 | '`': '`' 9 | }; 10 | 11 | /** 12 | * Used by `_.unescape` to convert HTML entities to characters. 13 | * 14 | * @private 15 | * @param {string} chr The matched character to unescape. 16 | * @returns {string} Returns the unescaped character. 17 | */ 18 | function unescapeHtmlChar(chr) { 19 | return htmlUnescapes[chr]; 20 | } 21 | 22 | module.exports = unescapeHtmlChar; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/internal/wrapperClone.js: -------------------------------------------------------------------------------- 1 | var LazyWrapper = require('./LazyWrapper'), 2 | LodashWrapper = require('./LodashWrapper'), 3 | arrayCopy = require('./arrayCopy'); 4 | 5 | /** 6 | * Creates a clone of `wrapper`. 7 | * 8 | * @private 9 | * @param {Object} wrapper The wrapper to clone. 10 | * @returns {Object} Returns the cloned wrapper. 11 | */ 12 | function wrapperClone(wrapper) { 13 | return wrapper instanceof LazyWrapper 14 | ? wrapper.clone() 15 | : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__)); 16 | } 17 | 18 | module.exports = wrapperClone; 19 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/lang/isNull.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is `null`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Lang 7 | * @param {*} value The value to check. 8 | * @returns {boolean} Returns `true` if `value` is `null`, else `false`. 9 | * @example 10 | * 11 | * _.isNull(null); 12 | * // => true 13 | * 14 | * _.isNull(void 0); 15 | * // => false 16 | */ 17 | function isNull(value) { 18 | return value === null; 19 | } 20 | 21 | module.exports = isNull; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/lang/isObject.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is the language type of `Object`. 3 | * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 4 | * 5 | * **Note:** See the [ES5 spec](https://es5.github.io/#x8) for more details. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Lang 10 | * @param {*} value The value to check. 11 | * @returns {boolean} Returns `true` if `value` is an object, else `false`. 12 | * @example 13 | * 14 | * _.isObject({}); 15 | * // => true 16 | * 17 | * _.isObject([1, 2, 3]); 18 | * // => true 19 | * 20 | * _.isObject(1); 21 | * // => false 22 | */ 23 | function isObject(value) { 24 | // Avoid a V8 JIT bug in Chrome 19-20. 25 | // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. 26 | var type = typeof value; 27 | return type == 'function' || (value && type == 'object') || false; 28 | } 29 | 30 | module.exports = isObject; 31 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/lang/isUndefined.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if `value` is `undefined`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Lang 7 | * @param {*} value The value to check. 8 | * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. 9 | * @example 10 | * 11 | * _.isUndefined(void 0); 12 | * // => true 13 | * 14 | * _.isUndefined(null); 15 | * // => false 16 | */ 17 | function isUndefined(value) { 18 | return typeof value == 'undefined'; 19 | } 20 | 21 | module.exports = isUndefined; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/lang/toArray.js: -------------------------------------------------------------------------------- 1 | var arrayCopy = require('../internal/arrayCopy'), 2 | isLength = require('../internal/isLength'), 3 | values = require('../object/values'); 4 | 5 | /** 6 | * Converts `value` to an array. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Lang 11 | * @param {*} value The value to convert. 12 | * @returns {Array} Returns the converted array. 13 | * @example 14 | * 15 | * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3); 16 | * // => [2, 3] 17 | */ 18 | function toArray(value) { 19 | var length = value ? value.length : 0; 20 | if (!isLength(length)) { 21 | return values(value); 22 | } 23 | if (!length) { 24 | return []; 25 | } 26 | return arrayCopy(value); 27 | } 28 | 29 | module.exports = toArray; 30 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/lang/toPlainObject.js: -------------------------------------------------------------------------------- 1 | var baseCopy = require('../internal/baseCopy'), 2 | keysIn = require('../object/keysIn'); 3 | 4 | /** 5 | * Converts `value` to a plain object flattening inherited enumerable 6 | * properties of `value` to own properties of the plain object. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category Lang 11 | * @param {*} value The value to convert. 12 | * @returns {Object} Returns the converted plain object. 13 | * @example 14 | * 15 | * function Foo() { 16 | * this.b = 2; 17 | * } 18 | * 19 | * Foo.prototype.c = 3; 20 | * 21 | * _.assign({ 'a': 1 }, new Foo); 22 | * // => { 'a': 1, 'b': 2 } 23 | * 24 | * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); 25 | * // => { 'a': 1, 'b': 2, 'c': 3 } 26 | */ 27 | function toPlainObject(value) { 28 | return baseCopy(value, keysIn(value)); 29 | } 30 | 31 | module.exports = toPlainObject; 32 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/number.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'random': require('./number/random') 3 | }; 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/object/extend.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./assign'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/object/functions.js: -------------------------------------------------------------------------------- 1 | var baseFunctions = require('../internal/baseFunctions'), 2 | keysIn = require('./keysIn'); 3 | 4 | /** 5 | * Creates an array of function property names from all enumerable properties, 6 | * own and inherited, of `object`. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @alias methods 11 | * @category Object 12 | * @param {Object} object The object to inspect. 13 | * @returns {Array} Returns the new array of property names. 14 | * @example 15 | * 16 | * _.functions(_); 17 | * // => ['all', 'any', 'bind', ...] 18 | */ 19 | function functions(object) { 20 | return baseFunctions(object, keysIn(object)); 21 | } 22 | 23 | module.exports = functions; 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/object/has.js: -------------------------------------------------------------------------------- 1 | /** Used for native method references. */ 2 | var objectProto = Object.prototype; 3 | 4 | /** Used to check objects for own properties. */ 5 | var hasOwnProperty = objectProto.hasOwnProperty; 6 | 7 | /** 8 | * Checks if `key` exists as a direct property of `object` instead of an 9 | * inherited property. 10 | * 11 | * @static 12 | * @memberOf _ 13 | * @category Object 14 | * @param {Object} object The object to inspect. 15 | * @param {string} key The key to check. 16 | * @returns {boolean} Returns `true` if `key` is a direct property, else `false`. 17 | * @example 18 | * 19 | * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b'); 20 | * // => true 21 | */ 22 | function has(object, key) { 23 | return object ? hasOwnProperty.call(object, key) : false; 24 | } 25 | 26 | module.exports = has; 27 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/object/methods.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./functions'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/object/pairs.js: -------------------------------------------------------------------------------- 1 | var keys = require('./keys'); 2 | 3 | /** 4 | * Creates a two dimensional array of the key-value pairs for `object`, 5 | * e.g. `[[key1, value1], [key2, value2]]`. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category Object 10 | * @param {Object} object The object to inspect. 11 | * @returns {Array} Returns the new array of key-value pairs. 12 | * @example 13 | * 14 | * _.pairs({ 'barney': 36, 'fred': 40 }); 15 | * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed) 16 | */ 17 | function pairs(object) { 18 | var index = -1, 19 | props = keys(object), 20 | length = props.length, 21 | result = Array(length); 22 | 23 | while (++index < length) { 24 | var key = props[index]; 25 | result[index] = [key, object[key]]; 26 | } 27 | return result; 28 | } 29 | 30 | module.exports = pairs; 31 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/object/values.js: -------------------------------------------------------------------------------- 1 | var baseValues = require('../internal/baseValues'), 2 | keys = require('./keys'); 3 | 4 | /** 5 | * Creates an array of the own enumerable property values of `object`. 6 | * 7 | * **Note:** Non-object values are coerced to objects. 8 | * 9 | * @static 10 | * @memberOf _ 11 | * @category Object 12 | * @param {Object} object The object to query. 13 | * @returns {Array} Returns the array of property values. 14 | * @example 15 | * 16 | * function Foo() { 17 | * this.a = 1; 18 | * this.b = 2; 19 | * } 20 | * 21 | * Foo.prototype.c = 3; 22 | * 23 | * _.values(new Foo); 24 | * // => [1, 2] (iteration order is not guaranteed) 25 | * 26 | * _.values('hi'); 27 | * // => ['h', 'i'] 28 | */ 29 | function values(object) { 30 | return baseValues(object, keys(object)); 31 | } 32 | 33 | module.exports = values; 34 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/object/valuesIn.js: -------------------------------------------------------------------------------- 1 | var baseValues = require('../internal/baseValues'), 2 | keysIn = require('./keysIn'); 3 | 4 | /** 5 | * Creates an array of the own and inherited enumerable property values 6 | * of `object`. 7 | * 8 | * **Note:** Non-object values are coerced to objects. 9 | * 10 | * @static 11 | * @memberOf _ 12 | * @category Object 13 | * @param {Object} object The object to query. 14 | * @returns {Array} Returns the array of property values. 15 | * @example 16 | * 17 | * function Foo() { 18 | * this.a = 1; 19 | * this.b = 2; 20 | * } 21 | * 22 | * Foo.prototype.c = 3; 23 | * 24 | * _.valuesIn(new Foo); 25 | * // => [1, 2, 3] (iteration order is not guaranteed) 26 | */ 27 | function valuesIn(object) { 28 | return baseValues(object, keysIn(object)); 29 | } 30 | 31 | module.exports = valuesIn; 32 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/string/camelCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to camel case. 5 | * See [Wikipedia](https://en.wikipedia.org/wiki/CamelCase) for more details. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category String 10 | * @param {string} [string=''] The string to convert. 11 | * @returns {string} Returns the camel cased string. 12 | * @example 13 | * 14 | * _.camelCase('Foo Bar'); 15 | * // => 'fooBar' 16 | * 17 | * _.camelCase('--foo-bar'); 18 | * // => 'fooBar' 19 | * 20 | * _.camelCase('__foo_bar__'); 21 | * // => 'fooBar' 22 | */ 23 | var camelCase = createCompounder(function(result, word, index) { 24 | word = word.toLowerCase(); 25 | return result + (index ? (word.charAt(0).toUpperCase() + word.slice(1)) : word); 26 | }); 27 | 28 | module.exports = camelCase; 29 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/string/capitalize.js: -------------------------------------------------------------------------------- 1 | var baseToString = require('../internal/baseToString'); 2 | 3 | /** 4 | * Capitalizes the first character of `string`. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category String 9 | * @param {string} [string=''] The string to capitalize. 10 | * @returns {string} Returns the capitalized string. 11 | * @example 12 | * 13 | * _.capitalize('fred'); 14 | * // => 'Fred' 15 | */ 16 | function capitalize(string) { 17 | string = baseToString(string); 18 | return string && (string.charAt(0).toUpperCase() + string.slice(1)); 19 | } 20 | 21 | module.exports = capitalize; 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/string/kebabCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to kebab case (a.k.a. spinal case). 5 | * See [Wikipedia](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles) for 6 | * more details. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category String 11 | * @param {string} [string=''] The string to convert. 12 | * @returns {string} Returns the kebab cased string. 13 | * @example 14 | * 15 | * _.kebabCase('Foo Bar'); 16 | * // => 'foo-bar' 17 | * 18 | * _.kebabCase('fooBar'); 19 | * // => 'foo-bar' 20 | * 21 | * _.kebabCase('__foo_bar__'); 22 | * // => 'foo-bar' 23 | */ 24 | var kebabCase = createCompounder(function(result, word, index) { 25 | return result + (index ? '-' : '') + word.toLowerCase(); 26 | }); 27 | 28 | module.exports = kebabCase; 29 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/string/snakeCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to snake case. 5 | * See [Wikipedia](https://en.wikipedia.org/wiki/Snake_case) for more details. 6 | * 7 | * @static 8 | * @memberOf _ 9 | * @category String 10 | * @param {string} [string=''] The string to convert. 11 | * @returns {string} Returns the snake cased string. 12 | * @example 13 | * 14 | * _.snakeCase('Foo Bar'); 15 | * // => 'foo_bar' 16 | * 17 | * _.snakeCase('fooBar'); 18 | * // => 'foo_bar' 19 | * 20 | * _.snakeCase('--foo-bar'); 21 | * // => 'foo_bar' 22 | */ 23 | var snakeCase = createCompounder(function(result, word, index) { 24 | return result + (index ? '_' : '') + word.toLowerCase(); 25 | }); 26 | 27 | module.exports = snakeCase; 28 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/string/startCase.js: -------------------------------------------------------------------------------- 1 | var createCompounder = require('../internal/createCompounder'); 2 | 3 | /** 4 | * Converts `string` to start case. 5 | * See [Wikipedia](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage) 6 | * for more details. 7 | * 8 | * @static 9 | * @memberOf _ 10 | * @category String 11 | * @param {string} [string=''] The string to convert. 12 | * @returns {string} Returns the start cased string. 13 | * @example 14 | * 15 | * _.startCase('--foo-bar'); 16 | * // => 'Foo Bar' 17 | * 18 | * _.startCase('fooBar'); 19 | * // => 'Foo Bar' 20 | * 21 | * _.startCase('__foo_bar__'); 22 | * // => 'Foo Bar' 23 | */ 24 | var startCase = createCompounder(function(result, word, index) { 25 | return result + (index ? ' ' : '') + (word.charAt(0).toUpperCase() + word.slice(1)); 26 | }); 27 | 28 | module.exports = startCase; 29 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'attempt': require('./utility/attempt'), 3 | 'callback': require('./utility/callback'), 4 | 'constant': require('./utility/constant'), 5 | 'identity': require('./utility/identity'), 6 | 'iteratee': require('./utility/iteratee'), 7 | 'matches': require('./utility/matches'), 8 | 'matchesProperty': require('./utility/matchesProperty'), 9 | 'mixin': require('./utility/mixin'), 10 | 'noop': require('./utility/noop'), 11 | 'property': require('./utility/property'), 12 | 'propertyOf': require('./utility/propertyOf'), 13 | 'range': require('./utility/range'), 14 | 'times': require('./utility/times'), 15 | 'uniqueId': require('./utility/uniqueId') 16 | }; 17 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility/constant.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creates a function that returns `value`. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Utility 7 | * @param {*} value The value to return from the new function. 8 | * @returns {Function} Returns the new function. 9 | * @example 10 | * 11 | * var object = { 'user': 'fred' }; 12 | * var getter = _.constant(object); 13 | * getter() === object; 14 | * // => true 15 | */ 16 | function constant(value) { 17 | return function() { 18 | return value; 19 | }; 20 | } 21 | 22 | module.exports = constant; 23 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility/identity.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This method returns the first argument provided to it. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Utility 7 | * @param {*} value Any value. 8 | * @returns {*} Returns `value`. 9 | * @example 10 | * 11 | * var object = { 'user': 'fred' }; 12 | * _.identity(object) === object; 13 | * // => true 14 | */ 15 | function identity(value) { 16 | return value; 17 | } 18 | 19 | module.exports = identity; 20 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility/iteratee.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./callback'); 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility/noop.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A no-operation function. 3 | * 4 | * @static 5 | * @memberOf _ 6 | * @category Utility 7 | * @example 8 | * 9 | * var object = { 'user': 'fred' }; 10 | * _.noop(object) === undefined; 11 | * // => true 12 | */ 13 | function noop() { 14 | // No operation performed. 15 | } 16 | 17 | module.exports = noop; 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility/property.js: -------------------------------------------------------------------------------- 1 | var baseProperty = require('../internal/baseProperty'); 2 | 3 | /** 4 | * Creates a function which returns the property value of `key` on a given object. 5 | * 6 | * @static 7 | * @memberOf _ 8 | * @category Utility 9 | * @param {string} key The key of the property to get. 10 | * @returns {Function} Returns the new function. 11 | * @example 12 | * 13 | * var users = [ 14 | * { 'user': 'fred' }, 15 | * { 'user': 'barney' } 16 | * ]; 17 | * 18 | * var getName = _.property('user'); 19 | * 20 | * _.map(users, getName); 21 | * // => ['fred', barney'] 22 | * 23 | * _.pluck(_.sortBy(users, getName), 'user'); 24 | * // => ['barney', 'fred'] 25 | */ 26 | function property(key) { 27 | return baseProperty(key + ''); 28 | } 29 | 30 | module.exports = property; 31 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility/propertyOf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The inverse of `_.property`; this method creates a function which returns 3 | * the property value of a given key on `object`. 4 | * 5 | * @static 6 | * @memberOf _ 7 | * @category Utility 8 | * @param {Object} object The object to inspect. 9 | * @returns {Function} Returns the new function. 10 | * @example 11 | * 12 | * var object = { 'user': 'fred', 'age': 40, 'active': true }; 13 | * _.map(['active', 'user'], _.propertyOf(object)); 14 | * // => [true, 'fred'] 15 | * 16 | * var object = { 'a': 3, 'b': 1, 'c': 2 }; 17 | * _.sortBy(['a', 'b', 'c'], _.propertyOf(object)); 18 | * // => ['b', 'c', 'a'] 19 | */ 20 | function propertyOf(object) { 21 | return function(key) { 22 | return object == null ? undefined : object[key]; 23 | }; 24 | } 25 | 26 | module.exports = propertyOf; 27 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/lodash/utility/uniqueId.js: -------------------------------------------------------------------------------- 1 | var baseToString = require('../internal/baseToString'); 2 | 3 | /** Used to generate unique IDs. */ 4 | var idCounter = 0; 5 | 6 | /** 7 | * Generates a unique ID. If `prefix` is provided the ID is appended to it. 8 | * 9 | * @static 10 | * @memberOf _ 11 | * @category Utility 12 | * @param {string} [prefix] The value to prefix the ID with. 13 | * @returns {string} Returns the unique ID. 14 | * @example 15 | * 16 | * _.uniqueId('contact_'); 17 | * // => 'contact_104' 18 | * 19 | * _.uniqueId(); 20 | * // => '105' 21 | */ 22 | function uniqueId(prefix) { 23 | var id = ++idCounter; 24 | return baseToString(prefix) + id; 25 | } 26 | 27 | module.exports = uniqueId; 28 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/.npmignore: -------------------------------------------------------------------------------- 1 | build/ 2 | test/ 3 | examples/ 4 | fs.js 5 | zlib.js -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_duplex.js") 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inherits 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/test.js: -------------------------------------------------------------------------------- 1 | var inherits = require('./inherits.js') 2 | var assert = require('assert') 3 | 4 | function test(c) { 5 | assert(c.constructor === Child) 6 | assert(c.constructor.super_ === Parent) 7 | assert(Object.getPrototypeOf(c) === Child.prototype) 8 | assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype) 9 | assert(c instanceof Child) 10 | assert(c instanceof Parent) 11 | } 12 | 13 | function Child() { 14 | Parent.call(this) 15 | test(this) 16 | } 17 | 18 | function Parent() {} 19 | 20 | inherits(Child, Parent) 21 | 22 | var c = new Child 23 | test(c) 24 | 25 | console.log('ok') 26 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/string_decoder/.npmignore: -------------------------------------------------------------------------------- 1 | build 2 | test 3 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/node_modules/string_decoder/README.md: -------------------------------------------------------------------------------- 1 | **string_decoder.js** (`require('string_decoder')`) from Node.js core 2 | 3 | Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. 4 | 5 | Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** 6 | 7 | The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_passthrough.js") 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/readable.js: -------------------------------------------------------------------------------- 1 | var Stream = require('stream'); // hack to fix a circular dependency issue when used with browserify 2 | exports = module.exports = require('./lib/_stream_readable.js'); 3 | exports.Stream = Stream; 4 | exports.Readable = exports; 5 | exports.Writable = require('./lib/_stream_writable.js'); 6 | exports.Duplex = require('./lib/_stream_duplex.js'); 7 | exports.Transform = require('./lib/_stream_transform.js'); 8 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 9 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_transform.js") 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_writable.js") 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/index.js: -------------------------------------------------------------------------------- 1 | exports.extract = require('./extract') 2 | exports.pack = require('./pack') -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/bl/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/bl/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - "0.10" 5 | branches: 6 | only: 7 | - master 8 | notifications: 9 | email: 10 | - rod@vagg.org 11 | script: npm test -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/bl/test/test.js: -------------------------------------------------------------------------------- 1 | require('./basic-test') 2 | 3 | if (!process.env.SAUCE_KEY || !process.env.SAUCE_USER) 4 | return console.log('SAUCE_KEY and/or SAUCE_USER not set, not running sauce tests') 5 | 6 | if (!/v0\.10/.test(process.version)) 7 | return console.log('Not Node v0.10.x, not running sauce tests') 8 | 9 | require('./sauce.js') -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/once.js: -------------------------------------------------------------------------------- 1 | var wrappy = require('wrappy') 2 | module.exports = wrappy(once) 3 | 4 | once.proto = once(function () { 5 | Object.defineProperty(Function.prototype, 'once', { 6 | value: function () { 7 | return once(this) 8 | }, 9 | configurable: true 10 | }) 11 | }) 12 | 13 | function once (fn) { 14 | var f = function () { 15 | if (f.called) return f.value 16 | f.called = true 17 | return f.value = fn.apply(this, arguments) 18 | } 19 | f.called = false 20 | return f 21 | } 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/test/once.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test 2 | var once = require('../once.js') 3 | 4 | test('once', function (t) { 5 | var f = 0 6 | function fn (g) { 7 | t.equal(f, 0) 8 | f ++ 9 | return f + g + this 10 | } 11 | fn.ownProperty = {} 12 | var foo = once(fn) 13 | t.equal(fn.ownProperty, foo.ownProperty) 14 | t.notOk(foo.called) 15 | for (var i = 0; i < 1E3; i++) { 16 | t.same(f, i === 0 ? 0 : 1) 17 | var g = foo.call(1, 1) 18 | t.ok(foo.called) 19 | t.same(g, 3) 20 | t.same(f, 1) 21 | } 22 | t.end() 23 | }) 24 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "maxdepth": 4, 3 | "maxstatements": 200, 4 | "maxcomplexity": 12, 5 | "maxlen": 80, 6 | "maxparams": 5, 7 | 8 | "curly": true, 9 | "eqeqeq": true, 10 | "immed": true, 11 | "latedef": false, 12 | "noarg": true, 13 | "noempty": true, 14 | "nonew": true, 15 | "undef": true, 16 | "unused": "vars", 17 | "trailing": true, 18 | 19 | "quotmark": true, 20 | "expr": true, 21 | "asi": true, 22 | 23 | "browser": false, 24 | "esnext": true, 25 | "devel": false, 26 | "node": false, 27 | "nonstandard": false, 28 | 29 | "predef": ["require", "module", "__dirname", "__filename"] 30 | } 31 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/Makefile: -------------------------------------------------------------------------------- 1 | browser: 2 | node ./support/compile 3 | 4 | .PHONY: browser -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/README.md: -------------------------------------------------------------------------------- 1 | # xtend 2 | 3 | [![browser support][3]][4] 4 | 5 | [![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) 6 | 7 | Extend like a boss 8 | 9 | xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. 10 | 11 | ## Examples 12 | 13 | ```js 14 | var extend = require("xtend") 15 | 16 | // extend returns a new object. Does not mutate arguments 17 | var combination = extend({ 18 | a: "a", 19 | b: 'c' 20 | }, { 21 | b: "b" 22 | }) 23 | // { a: "a", b: "b" } 24 | ``` 25 | 26 | ## Stability status: Locked 27 | 28 | ## MIT Licenced 29 | 30 | 31 | [3]: http://ci.testling.com/Raynos/xtend.png 32 | [4]: http://ci.testling.com/Raynos/xtend 33 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/immutable.js: -------------------------------------------------------------------------------- 1 | module.exports = extend 2 | 3 | function extend() { 4 | var target = {} 5 | 6 | for (var i = 0; i < arguments.length; i++) { 7 | var source = arguments[i] 8 | 9 | for (var key in source) { 10 | if (source.hasOwnProperty(key)) { 11 | target[key] = source[key] 12 | } 13 | } 14 | } 15 | 16 | return target 17 | } 18 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/mutable.js: -------------------------------------------------------------------------------- 1 | module.exports = extend 2 | 3 | function extend(target) { 4 | for (var i = 1; i < arguments.length; i++) { 5 | var source = arguments[i] 6 | 7 | for (var key in source) { 8 | if (source.hasOwnProperty(key)) { 9 | target[key] = source[key] 10 | } 11 | } 12 | } 13 | 14 | return target 15 | } 16 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/archive-entry.js: -------------------------------------------------------------------------------- 1 | /** 2 | * node-compress-commons 3 | * 4 | * Copyright (c) 2014 Chris Talkington, contributors. 5 | * Licensed under the MIT license. 6 | * https://github.com/archiverjs/node-compress-commons/blob/master/LICENSE-MIT 7 | */ 8 | var ArchiveEntry = module.exports = function() {}; 9 | 10 | ArchiveEntry.prototype.getName = function() {}; 11 | 12 | ArchiveEntry.prototype.getSize = function() {}; 13 | 14 | ArchiveEntry.prototype.getLastModifiedDate = function() {}; 15 | 16 | ArchiveEntry.prototype.isDirectory = function() {}; -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/compress-commons.js: -------------------------------------------------------------------------------- 1 | /** 2 | * node-compress-commons 3 | * 4 | * Copyright (c) 2014 Chris Talkington, contributors. 5 | * Licensed under the MIT license. 6 | * https://github.com/archiverjs/node-compress-commons/blob/master/LICENSE-MIT 7 | */ 8 | module.exports = { 9 | ArchiveEntry: require('./archivers/archive-entry'), 10 | ZipArchiveEntry: require('./archivers/zip/zip-archive-entry'), 11 | ArchiveOutputStream: require('./archivers/archive-output-stream'), 12 | ZipArchiveOutputStream: require('./archivers/zip/zip-archive-output-stream') 13 | }; -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/crc32-stream/lib/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * node-crc32-stream 3 | * 4 | * Copyright (c) 2014 Chris Talkington, contributors. 5 | * Licensed under the MIT license. 6 | * https://github.com/archiverjs/node-crc32-stream/blob/master/LICENSE-MIT 7 | */ 8 | exports = module.exports = require('./crc32-stream'); 9 | exports.CRC32Stream = exports; 10 | exports.DeflateCRC32Stream = require('./deflate-crc32-stream'); -------------------------------------------------------------------------------- /src/extension_tools/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/node-int64/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | npm-debug.log 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/.documentup.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ShellJS", 3 | "twitter": [ 4 | "r2r" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "loopfunc": true, 3 | "sub": true, 4 | "undef": true, 5 | "unused": true, 6 | "node": true 7 | } -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | tmp/ -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.11" 5 | - "0.12" 6 | 7 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/RELEASE.md: -------------------------------------------------------------------------------- 1 | # Release steps 2 | 3 | * Ensure master passes CI tests 4 | * Bump version in package.json. Any breaking change or new feature should bump minor (or even major). Non-breaking changes or fixes can just bump patch. 5 | * Update README manually if the changes are not documented in-code. If so, run `scripts/generate-docs.js` 6 | * Commit 7 | * `$ git tag ` (see `git tag -l` for latest) 8 | * `$ git push origin master --tags` 9 | * `$ npm publish .` 10 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/global.js: -------------------------------------------------------------------------------- 1 | var shell = require('./shell.js'); 2 | for (var cmd in shell) 3 | global[cmd] = shell[cmd]; 4 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/scripts/generate-docs.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require('../global'); 3 | 4 | echo('Appending docs to README.md'); 5 | 6 | cd(__dirname + '/..'); 7 | 8 | // Extract docs from shell.js 9 | var docs = grep('//@', 'shell.js'); 10 | 11 | docs = docs.replace(/\/\/\@include (.+)/g, function(match, path) { 12 | var file = path.match('.js$') ? path : path+'.js'; 13 | return grep('//@', file); 14 | }); 15 | 16 | // Remove '//@' 17 | docs = docs.replace(/\/\/\@ ?/g, ''); 18 | // Append docs to README 19 | sed('-i', /## Command reference(.|\n)*/, '## Command reference\n\n' + docs, 'README.md'); 20 | 21 | echo('All done.'); 22 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/cd.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var common = require('./common'); 3 | 4 | //@ 5 | //@ ### cd('dir') 6 | //@ Changes to directory `dir` for the duration of the script 7 | function _cd(options, dir) { 8 | if (!dir) 9 | common.error('directory not specified'); 10 | 11 | if (!fs.existsSync(dir)) 12 | common.error('no such file or directory: ' + dir); 13 | 14 | if (!fs.statSync(dir).isDirectory()) 15 | common.error('not a directory: ' + dir); 16 | 17 | process.chdir(dir); 18 | } 19 | module.exports = _cd; 20 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/echo.js: -------------------------------------------------------------------------------- 1 | var common = require('./common'); 2 | 3 | //@ 4 | //@ ### echo(string [,string ...]) 5 | //@ 6 | //@ Examples: 7 | //@ 8 | //@ ```javascript 9 | //@ echo('hello world'); 10 | //@ var str = echo('hello world'); 11 | //@ ``` 12 | //@ 13 | //@ Prints string to stdout, and returns string with additional utility methods 14 | //@ like `.to()`. 15 | function _echo() { 16 | var messages = [].slice.call(arguments, 0); 17 | console.log.apply(this, messages); 18 | return common.ShellString(messages.join(' ')); 19 | } 20 | module.exports = _echo; 21 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/error.js: -------------------------------------------------------------------------------- 1 | var common = require('./common'); 2 | 3 | //@ 4 | //@ ### error() 5 | //@ Tests if error occurred in the last command. Returns `null` if no error occurred, 6 | //@ otherwise returns string explaining the error 7 | function error() { 8 | return common.state.error; 9 | }; 10 | module.exports = error; 11 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/popd.js: -------------------------------------------------------------------------------- 1 | // see dirs.js -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/pushd.js: -------------------------------------------------------------------------------- 1 | // see dirs.js -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/pwd.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | var common = require('./common'); 3 | 4 | //@ 5 | //@ ### pwd() 6 | //@ Returns the current directory. 7 | function _pwd(options) { 8 | var pwd = path.resolve(process.cwd()); 9 | return common.ShellString(pwd); 10 | } 11 | module.exports = _pwd; 12 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/to.js: -------------------------------------------------------------------------------- 1 | var common = require('./common'); 2 | var fs = require('fs'); 3 | var path = require('path'); 4 | 5 | //@ 6 | //@ ### 'string'.to(file) 7 | //@ 8 | //@ Examples: 9 | //@ 10 | //@ ```javascript 11 | //@ cat('input.txt').to('output.txt'); 12 | //@ ``` 13 | //@ 14 | //@ Analogous to the redirection operator `>` in Unix, but works with JavaScript strings (such as 15 | //@ those returned by `cat`, `grep`, etc). _Like Unix redirections, `to()` will overwrite any existing file!_ 16 | function _to(options, file) { 17 | if (!file) 18 | common.error('wrong arguments'); 19 | 20 | if (!fs.existsSync( path.dirname(file) )) 21 | common.error('no such file or directory: ' + path.dirname(file)); 22 | 23 | try { 24 | fs.writeFileSync(file, this.toString(), 'utf8'); 25 | } catch(e) { 26 | common.error('could not write to file (code '+e.code+'): '+file, true); 27 | } 28 | } 29 | module.exports = _to; 30 | -------------------------------------------------------------------------------- /src/extension_tools/node_modules/shelljs/src/toEnd.js: -------------------------------------------------------------------------------- 1 | var common = require('./common'); 2 | var fs = require('fs'); 3 | var path = require('path'); 4 | 5 | //@ 6 | //@ ### 'string'.toEnd(file) 7 | //@ 8 | //@ Examples: 9 | //@ 10 | //@ ```javascript 11 | //@ cat('input.txt').toEnd('output.txt'); 12 | //@ ``` 13 | //@ 14 | //@ Analogous to the redirect-and-append operator `>>` in Unix, but works with JavaScript strings (such as 15 | //@ those returned by `cat`, `grep`, etc). 16 | function _toEnd(options, file) { 17 | if (!file) 18 | common.error('wrong arguments'); 19 | 20 | if (!fs.existsSync( path.dirname(file) )) 21 | common.error('no such file or directory: ' + path.dirname(file)); 22 | 23 | try { 24 | fs.appendFileSync(file, this.toString(), 'utf8'); 25 | } catch(e) { 26 | common.error('could not append to file (code '+e.code+'): '+file, true); 27 | } 28 | } 29 | module.exports = _toEnd; 30 | -------------------------------------------------------------------------------- /src/extension_tools/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "adm-zip": "^0.4.7", 4 | "archiver": "^0.14.4", 5 | "shelljs": "^0.5.1" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/extension_tools/readmanifest.js: -------------------------------------------------------------------------------- 1 | var AdmZip = require('adm-zip'); 2 | 3 | var package = process.argv[2]; 4 | 5 | // Check args 6 | if (process.argv.length !== 2+1) { 7 | console.error("Usage: " + process.argv[1] + " package"); 8 | process.exit(1); 9 | } 10 | 11 | var MANIFEST_FILENAME = "nqq-manifest.json"; 12 | 13 | var zip = new AdmZip(package); 14 | var manifest = zip.readAsText(MANIFEST_FILENAME); 15 | console.log(manifest); -------------------------------------------------------------------------------- /src/ui-tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.moc 2 | *.o 3 | Makefile 4 | ui-tests 5 | -------------------------------------------------------------------------------- /src/ui-tests/tst_notepadqqtest.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "include/notepadqq.h" 4 | #include "nqqsettings.cpp" 5 | #include "notepadqq.cpp" 6 | 7 | class NotepadqqTest : public QObject 8 | { 9 | Q_OBJECT 10 | 11 | public: 12 | NotepadqqTest(); 13 | 14 | private Q_SLOTS: 15 | void editorPathIsHtml(); 16 | }; 17 | 18 | NotepadqqTest::NotepadqqTest() 19 | { 20 | //QApplication a(); 21 | } 22 | 23 | void NotepadqqTest::editorPathIsHtml() 24 | { 25 | QVERIFY(Notepadqq::editorPath().endsWith(".html")); 26 | } 27 | 28 | QTEST_GUILESS_MAIN(NotepadqqTest) 29 | 30 | #include "tst_notepadqqtest.moc" 31 | -------------------------------------------------------------------------------- /src/ui-tests/ui-tests.pro: -------------------------------------------------------------------------------- 1 | ###################################################################### 2 | # Automatically generated by qmake (3.0) mar set 6 19:25:17 2016 3 | ###################################################################### 4 | 5 | QT += testlib 6 | QT += core gui svg widgets printsupport network 7 | CONFIG += c++11 8 | TEMPLATE = app 9 | TARGET = ui-tests 10 | INCLUDEPATH += ../ui/ 11 | 12 | # Input 13 | SOURCES += tst_notepadqqtest.cpp 14 | -------------------------------------------------------------------------------- /src/ui/EditorNS/bannerfilechanged.cpp: -------------------------------------------------------------------------------- 1 | #include "include/EditorNS/bannerfilechanged.h" 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | namespace EditorNS 9 | { 10 | 11 | BannerFileChanged::BannerFileChanged(QWidget *parent) : 12 | BannerBasicMessage(parent) 13 | { 14 | setMessage(tr("This file has been changed outside of Notepadqq.")); 15 | 16 | QPushButton *btnReload = addButton(tr("Reload")); 17 | connect(btnReload, &QPushButton::clicked, this, &BannerFileChanged::reload); 18 | 19 | QPushButton *btnIgnore = addButton(tr("Ignore")); 20 | connect(btnIgnore, &QPushButton::clicked, this, &BannerFileChanged::ignore); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/ui/EditorNS/bannerfileremoved.cpp: -------------------------------------------------------------------------------- 1 | #include "include/EditorNS/bannerfileremoved.h" 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | namespace EditorNS 9 | { 10 | 11 | BannerFileRemoved::BannerFileRemoved(QWidget *parent) : 12 | BannerBasicMessage(parent) 13 | { 14 | setMessage(tr("This file has been deleted from the file system.")); 15 | 16 | QPushButton *btnReload = addButton(tr("Save")); 17 | connect(btnReload, &QPushButton::clicked, this, &BannerFileRemoved::save); 18 | 19 | QPushButton *btnIgnore = addButton(tr("Ignore")); 20 | connect(btnIgnore, &QPushButton::clicked, this, &BannerFileRemoved::ignore); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/ui/clickablelabel.cpp: -------------------------------------------------------------------------------- 1 | #include "include/clickablelabel.h" 2 | 3 | ClickableLabel::ClickableLabel(QWidget *parent) : 4 | QLabel(parent) 5 | { 6 | } 7 | 8 | ClickableLabel::ClickableLabel(const QString &text, QWidget *parent) : 9 | QLabel(text, parent) 10 | { 11 | 12 | } 13 | 14 | void ClickableLabel::mousePressEvent(QMouseEvent *) 15 | { 16 | emit clicked(); 17 | } 18 | -------------------------------------------------------------------------------- /src/ui/frmlinenumberchooser.cpp: -------------------------------------------------------------------------------- 1 | #include "include/frmlinenumberchooser.h" 2 | 3 | #include "ui_frmlinenumberchooser.h" 4 | 5 | frmLineNumberChooser::frmLineNumberChooser(int min, int max, int defaultValue, QWidget *parent) : 6 | QDialog(parent), 7 | ui(new Ui::frmLineNumberChooser) 8 | { 9 | ui->setupUi(this); 10 | 11 | QFont f = ui->lblTitle->font(); 12 | f.setPointSizeF(f.pointSizeF() * 1.2); 13 | ui->lblTitle->setFont(f); 14 | 15 | setFixedSize(this->width(), this->height()); 16 | setWindowFlags((windowFlags() | Qt::CustomizeWindowHint) & ~Qt::WindowMinMaxButtonsHint); 17 | 18 | ui->spinLine->setMinimum(min); 19 | ui->spinLine->setMaximum(max); 20 | ui->spinLine->setValue(defaultValue); 21 | ui->spinLine->selectAll(); 22 | } 23 | 24 | frmLineNumberChooser::~frmLineNumberChooser() 25 | { 26 | delete ui; 27 | } 28 | 29 | int frmLineNumberChooser::value() 30 | { 31 | return ui->spinLine->value(); 32 | } 33 | -------------------------------------------------------------------------------- /src/ui/globals.cpp: -------------------------------------------------------------------------------- 1 | #include "include/globals.h" 2 | 3 | #include 4 | 5 | void print(QString string) 6 | { 7 | static QTextStream ts(stdout); 8 | ts << string; 9 | ts.flush(); 10 | } 11 | 12 | void println(QString string) 13 | { 14 | print(string + "\n"); 15 | } 16 | 17 | void printerr(QString string) 18 | { 19 | static QTextStream ts(stderr); 20 | ts << string; 21 | ts.flush(); 22 | } 23 | 24 | void printerrln(QString string) 25 | { 26 | printerr(string + "\n"); 27 | } 28 | -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/128x128/document-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/128x128/document-save.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/128x128/math-rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/128x128/math-rendering.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-close-all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-close-all.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-close.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-new.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-open.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-print.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-save-all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-save-all.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-save-as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-save-as.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-save.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-saved.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-saved.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/document-unsaved.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/document-unsaved.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/edit-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/edit-copy.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/edit-cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/edit-cut.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/edit-find-replace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/edit-find-replace.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/edit-find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/edit-find.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/edit-paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/edit-paste.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/edit-redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/edit-redo.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/edit-undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/edit-undo.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/go-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/go-next.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/go-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/go-previous.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/math-rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/math-rendering.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/media-playback-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/media-playback-start.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/media-playback-stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/media-playback-stop.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/media-record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/media-record.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/media-seek-forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/media-seek-forward.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/preferences-other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/preferences-other.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/show-special-chars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/show-special-chars.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/word-wrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/word-wrap.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/zoom-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/zoom-in.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/zoom-original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/zoom-original.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/16x16/zoom-out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/16x16/zoom-out.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/64x64/document-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/icons/notepadqq/64x64/document-save.png -------------------------------------------------------------------------------- /src/ui/icons/notepadqq/index.theme: -------------------------------------------------------------------------------- 1 | [Icon Theme] 2 | Name=notepadqq 3 | Comment=Default theme for notepadqq 4 | Inherits=default 5 | Directories=16x16,64x64,128x128,scalable 6 | 7 | [16x16] 8 | Size=16 9 | Type=Fixed 10 | 11 | [64x64] 12 | Size=64 13 | Type=Fixed 14 | 15 | [128x128] 16 | Size=128 17 | Type=Fixed 18 | 19 | [scalable] 20 | Size=16 21 | Type=Scalable -------------------------------------------------------------------------------- /src/ui/include/EditorNS/bannerfilechanged.h: -------------------------------------------------------------------------------- 1 | #ifndef BANNERFILECHANGED_H 2 | #define BANNERFILECHANGED_H 3 | 4 | #include "include/EditorNS/bannerbasicmessage.h" 5 | 6 | namespace EditorNS 7 | { 8 | 9 | class BannerFileChanged : public BannerBasicMessage 10 | { 11 | Q_OBJECT 12 | public: 13 | explicit BannerFileChanged(QWidget *parent = 0); 14 | 15 | signals: 16 | void reload(); 17 | void ignore(); 18 | 19 | public slots: 20 | 21 | }; 22 | 23 | } 24 | 25 | #endif // BANNERFILECHANGED_H 26 | -------------------------------------------------------------------------------- /src/ui/include/EditorNS/bannerfileremoved.h: -------------------------------------------------------------------------------- 1 | #ifndef BANNERFILEREMOVED_H 2 | #define BANNERFILEREMOVED_H 3 | 4 | #include "include/EditorNS/bannerbasicmessage.h" 5 | 6 | namespace EditorNS 7 | { 8 | 9 | class BannerFileRemoved : public BannerBasicMessage 10 | { 11 | Q_OBJECT 12 | public: 13 | explicit BannerFileRemoved(QWidget *parent = 0); 14 | 15 | signals: 16 | void save(); 17 | void ignore(); 18 | 19 | public slots: 20 | 21 | }; 22 | 23 | } 24 | 25 | #endif // BANNERFILEREMOVED_H 26 | -------------------------------------------------------------------------------- /src/ui/include/EditorNS/bannerindentationdetected.h: -------------------------------------------------------------------------------- 1 | #ifndef BANNERINDENTATIONDETECTED_H 2 | #define BANNERINDENTATIONDETECTED_H 3 | 4 | #include "include/EditorNS/bannerbasicmessage.h" 5 | #include "include/EditorNS/editor.h" 6 | 7 | namespace EditorNS 8 | { 9 | 10 | class BannerIndentationDetected : public BannerBasicMessage 11 | { 12 | Q_OBJECT 13 | public: 14 | BannerIndentationDetected(bool mode, Editor::IndentationMode detected, Editor::IndentationMode current, QWidget *parent = 0); 15 | 16 | signals: 17 | void useDocumentSettings(); 18 | void useApplicationSettings(); 19 | }; 20 | 21 | } 22 | 23 | #endif // BANNERINDENTATIONDETECTED_H 24 | -------------------------------------------------------------------------------- /src/ui/include/Extensions/Stubs/editorstub.h: -------------------------------------------------------------------------------- 1 | #ifndef EDITORSTUB_H 2 | #define EDITORSTUB_H 3 | 4 | #include "include/EditorNS/editor.h" 5 | #include "include/Extensions/Stubs/stub.h" 6 | 7 | #include 8 | 9 | namespace Extensions { 10 | namespace Stubs { 11 | 12 | class EditorStub : public Stub 13 | { 14 | public: 15 | EditorStub(const QWeakPointer &object, RuntimeSupport *rts); 16 | ~EditorStub(); 17 | 18 | NQQ_STUB_NAME("Editor") 19 | 20 | private: 21 | NQQ_DECLARE_EXTENSION_METHOD(setValue) 22 | NQQ_DECLARE_EXTENSION_METHOD(value) 23 | NQQ_DECLARE_EXTENSION_METHOD(setSelectionsText) 24 | 25 | EditorNS::Editor *editor(); 26 | }; 27 | 28 | } 29 | } 30 | 31 | #endif // EDITORSTUB_H 32 | -------------------------------------------------------------------------------- /src/ui/include/Extensions/Stubs/menuitemstub.h: -------------------------------------------------------------------------------- 1 | #ifndef MENUITEMSTUB_H 2 | #define MENUITEMSTUB_H 3 | 4 | #include "include/Extensions/Stubs/stub.h" 5 | 6 | #include 7 | #include 8 | 9 | namespace Extensions { 10 | namespace Stubs { 11 | 12 | class MenuItemStub : public Stub 13 | { 14 | Q_OBJECT 15 | void on_triggered(bool checked = false); 16 | 17 | public: 18 | MenuItemStub(QAction *object, RuntimeSupport *rts); 19 | ~MenuItemStub(); 20 | 21 | NQQ_STUB_NAME("MenuItem") 22 | 23 | private: 24 | NQQ_DECLARE_EXTENSION_METHOD(setShortcut) 25 | 26 | }; 27 | 28 | } 29 | } 30 | 31 | #endif // MENUITEMSTUB_H 32 | -------------------------------------------------------------------------------- /src/ui/include/Extensions/Stubs/notepadqqstub.h: -------------------------------------------------------------------------------- 1 | #ifndef EXTENSIONS_STUBS_NOTEPADQQ_H 2 | #define EXTENSIONS_STUBS_NOTEPADQQ_H 3 | 4 | #include "include/Extensions/Stubs/stub.h" 5 | #include "include/mainwindow.h" 6 | 7 | namespace Extensions { 8 | namespace Stubs { 9 | 10 | class NotepadqqStub : public Stub 11 | { 12 | Q_OBJECT 13 | public: 14 | NotepadqqStub(RuntimeSupport *rts); 15 | ~NotepadqqStub(); 16 | 17 | NQQ_STUB_NAME("Notepadqq") 18 | 19 | private: 20 | NQQ_DECLARE_EXTENSION_METHOD(commandLineArguments) 21 | NQQ_DECLARE_EXTENSION_METHOD(version) 22 | NQQ_DECLARE_EXTENSION_METHOD(print) 23 | NQQ_DECLARE_EXTENSION_METHOD(windows) 24 | 25 | void on_newWindow(MainWindow *window); 26 | }; 27 | 28 | } 29 | } 30 | 31 | #endif // EXTENSIONS_STUBS_NOTEPADQQ_H 32 | -------------------------------------------------------------------------------- /src/ui/include/Extensions/Stubs/windowstub.h: -------------------------------------------------------------------------------- 1 | #ifndef WINDOWSTUB_H 2 | #define WINDOWSTUB_H 3 | 4 | #include "include/Extensions/Stubs/stub.h" 5 | #include "include/mainwindow.h" 6 | 7 | #include 8 | 9 | namespace Extensions { 10 | namespace Stubs { 11 | 12 | class WindowStub : public Stub 13 | { 14 | Q_OBJECT 15 | public: 16 | WindowStub(MainWindow *object, RuntimeSupport *rts); 17 | ~WindowStub(); 18 | 19 | NQQ_STUB_NAME("Window") 20 | private: 21 | NQQ_DECLARE_EXTENSION_METHOD(currentEditor) 22 | NQQ_DECLARE_EXTENSION_METHOD(addExtensionMenuItem) 23 | }; 24 | 25 | } 26 | } 27 | 28 | #endif // WINDOWSTUB_H 29 | -------------------------------------------------------------------------------- /src/ui/include/Extensions/extension.h: -------------------------------------------------------------------------------- 1 | #ifndef EXTENSION_H 2 | #define EXTENSION_H 3 | 4 | #include 5 | #include 6 | 7 | namespace Extensions { 8 | 9 | class Extension : public QObject 10 | { 11 | Q_OBJECT 12 | public: 13 | explicit Extension(QString path, QString serverSocketPath); 14 | ~Extension(); 15 | 16 | QString id() const; 17 | QString name() const; 18 | static QJsonObject getManifest(const QString &extensionPath); 19 | signals: 20 | 21 | public slots: 22 | 23 | private slots: 24 | void on_processError(QProcess::ProcessError error); 25 | private: 26 | QString m_extensionId; 27 | QString m_name; 28 | QString m_runtime; 29 | void failedToLoadExtension(QString path, QString reason); 30 | QProcess *process = nullptr; 31 | }; 32 | 33 | } 34 | 35 | #endif // EXTENSION_H 36 | -------------------------------------------------------------------------------- /src/ui/include/Search/searchhelpers.h: -------------------------------------------------------------------------------- 1 | #ifndef SEARCHHELPERS_H 2 | #define SEARCHHELPERS_H 3 | 4 | class SearchHelpers 5 | { 6 | 7 | public: 8 | 9 | enum class SearchMode { 10 | PlainText = 1, 11 | SpecialChars = 2, 12 | Regex = 3 13 | }; 14 | 15 | struct SearchOptions { 16 | unsigned MatchCase : 1; 17 | unsigned MatchWholeWord : 1; 18 | unsigned SearchFromStart : 1; 19 | unsigned IncludeSubDirs : 1; 20 | 21 | SearchOptions() : MatchCase(0), MatchWholeWord(0), 22 | SearchFromStart(0), IncludeSubDirs(0) { } 23 | }; 24 | 25 | }; 26 | 27 | #endif // SEARCHHELPERS_H 28 | -------------------------------------------------------------------------------- /src/ui/include/Search/searchstring.h: -------------------------------------------------------------------------------- 1 | #ifndef SEARCHSTRING_H 2 | #define SEARCHSTRING_H 3 | #include "include/Search/searchhelpers.h" 4 | 5 | #include 6 | 7 | class SearchString { 8 | public: 9 | /** 10 | * @brief Formats a search string for use in CodeMirror. 11 | * @param regex The string to be worked on, either regex or not. 12 | * @param searchMode If mode==regex, will return an escaped string 13 | * @param searchOptions Handles wholeWord search option 14 | * @return QString A regex string 15 | */ 16 | static QString format(QString regex, SearchHelpers::SearchMode searchMode, const SearchHelpers::SearchOptions &searchOptions); 17 | 18 | /** 19 | * @brief Unescape escape sequences in `data` 20 | * @param `data`: The string to be worked on. 21 | * @return `QString`: `data` with escape sequences unescaped. 22 | */ 23 | static QString unescape(const QString &data); 24 | }; 25 | 26 | #endif // SEARCHSTRING_H 27 | -------------------------------------------------------------------------------- /src/ui/include/clickablelabel.h: -------------------------------------------------------------------------------- 1 | #ifndef CLICKABLELABEL_H 2 | #define CLICKABLELABEL_H 3 | 4 | #include 5 | 6 | class ClickableLabel : public QLabel 7 | { 8 | Q_OBJECT 9 | public: 10 | explicit ClickableLabel(QWidget *parent); 11 | explicit ClickableLabel(const QString &text = "", QWidget *parent = 0); 12 | 13 | signals: 14 | void clicked(); 15 | 16 | public slots: 17 | 18 | protected: 19 | void mousePressEvent(QMouseEvent *); 20 | }; 21 | 22 | #endif // CLICKABLELABEL_H 23 | -------------------------------------------------------------------------------- /src/ui/include/frmabout.h: -------------------------------------------------------------------------------- 1 | #ifndef FRMABOUT_H 2 | #define FRMABOUT_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class frmAbout; 8 | } 9 | 10 | class frmAbout : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit frmAbout(QWidget *parent = 0); 16 | ~frmAbout(); 17 | 18 | private slots: 19 | void on_pushButton_clicked(); 20 | 21 | void on_btnLicense_clicked(); 22 | 23 | private: 24 | Ui::frmAbout *ui; 25 | }; 26 | 27 | #endif // FRMABOUT_H 28 | -------------------------------------------------------------------------------- /src/ui/include/frmencodingchooser.h: -------------------------------------------------------------------------------- 1 | #ifndef FRMENCODINGCHOOSER_H 2 | #define FRMENCODINGCHOOSER_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class frmEncodingChooser; 8 | } 9 | 10 | class frmEncodingChooser : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit frmEncodingChooser(QWidget *parent = 0); 16 | ~frmEncodingChooser(); 17 | 18 | QTextCodec *selectedCodec() const; 19 | void setEncoding(QTextCodec *codec); 20 | void setInfoText(const QString &text); 21 | 22 | private slots: 23 | void on_buttonBox_accepted(); 24 | void on_buttonBox_rejected(); 25 | 26 | private: 27 | Ui::frmEncodingChooser *ui; 28 | }; 29 | 30 | #endif // FRMENCODINGCHOOSER_H 31 | -------------------------------------------------------------------------------- /src/ui/include/frmindentationmode.h: -------------------------------------------------------------------------------- 1 | #ifndef FRMINDENTATIONMODE_H 2 | #define FRMINDENTATIONMODE_H 3 | 4 | #include "include/EditorNS/editor.h" 5 | 6 | #include 7 | 8 | namespace Ui { 9 | class frmIndentationMode; 10 | } 11 | 12 | class frmIndentationMode : public QDialog 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit frmIndentationMode(QWidget *parent = 0); 18 | ~frmIndentationMode(); 19 | 20 | void populateWidgets(EditorNS::Editor::IndentationMode indentationMode); 21 | EditorNS::Editor::IndentationMode indentationMode(); 22 | 23 | private slots: 24 | void on_buttonBox_accepted(); 25 | 26 | void on_buttonBox_rejected(); 27 | 28 | private: 29 | Ui::frmIndentationMode *ui; 30 | }; 31 | 32 | #endif // FRMINDENTATIONMODE_H 33 | -------------------------------------------------------------------------------- /src/ui/include/frmlinenumberchooser.h: -------------------------------------------------------------------------------- 1 | #ifndef FRMLINENUMBERCHOOSER_H 2 | #define FRMLINENUMBERCHOOSER_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class frmLineNumberChooser; 8 | } 9 | 10 | class frmLineNumberChooser : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit frmLineNumberChooser(int min, int max, int defaultValue, QWidget *parent = 0); 16 | ~frmLineNumberChooser(); 17 | 18 | int value(); 19 | 20 | private: 21 | Ui::frmLineNumberChooser *ui; 22 | }; 23 | 24 | #endif // FRMLINENUMBERCHOOSER_H 25 | -------------------------------------------------------------------------------- /src/ui/include/globals.h: -------------------------------------------------------------------------------- 1 | #ifndef GLOBALS_H 2 | #define GLOBALS_H 3 | 4 | #include 5 | 6 | #include 7 | 8 | void print(QString string); 9 | void println(QString string); 10 | void printerr(QString string); 11 | void printerrln(QString string); 12 | 13 | #endif // GLOBALS_H 14 | 15 | -------------------------------------------------------------------------------- /src/ui/include/iconprovider.h: -------------------------------------------------------------------------------- 1 | #ifndef ICONPROVIDER_H 2 | #define ICONPROVIDER_H 3 | 4 | #include 5 | 6 | class IconProvider 7 | { 8 | public: 9 | IconProvider(); 10 | static QIcon fromTheme(const QString &name); 11 | }; 12 | 13 | #endif // ICONPROVIDER_H 14 | -------------------------------------------------------------------------------- /src/ui/include/localcommunication.h: -------------------------------------------------------------------------------- 1 | #ifndef LOCALCOMMUNICATION_H 2 | #define LOCALCOMMUNICATION_H 3 | 4 | #include 5 | #include 6 | 7 | /** 8 | * @brief Send and receive messages through local sockets. 9 | */ 10 | class LocalCommunication 11 | { 12 | public: 13 | static bool sendRaw(QByteArray data, QLocalSocket *socket); 14 | static bool send(QString message, QLocalSocket *socket); 15 | static QByteArray receiveRaw(QLocalSocket *socket); 16 | static QString receive(QLocalSocket *socket); 17 | static int numOfDigits(int n); 18 | 19 | private: 20 | static const int MAX_PKT_SIZE = 999999; 21 | }; 22 | 23 | #endif // LOCALCOMMUNICATION_H 24 | -------------------------------------------------------------------------------- /src/ui/ote/Highlighter/fmtrangelist.cpp: -------------------------------------------------------------------------------- 1 | #include "fmtrangelist.h" 2 | 3 | FmtRangeList::FmtRangeList() {} 4 | 5 | bool operator==(const FmtRangeList& a, const FmtRangeList& b) 6 | { 7 | return a.m_vec == b.m_vec; 8 | } 9 | 10 | bool operator==(const FmtRangeList::FmtRange& a, const FmtRangeList::FmtRange& b) 11 | { 12 | return a.begin == b.begin && a.end == b.end && a.type == b.type; 13 | } 14 | -------------------------------------------------------------------------------- /src/ui/ote/JKQTMath/asana.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | asana/Asana-Math.otf 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/ui/ote/JKQTMath/asana/Asana-Math.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/ote/JKQTMath/asana/Asana-Math.otf -------------------------------------------------------------------------------- /src/ui/ote/JKQTMath/asana/Asana-Math.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/ote/JKQTMath/asana/Asana-Math.ttf -------------------------------------------------------------------------------- /src/ui/ote/JKQTMath/jkqtptools.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/src/ui/ote/JKQTMath/jkqtptools.h -------------------------------------------------------------------------------- /src/ui/ote/icons/bookmark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/ui/ote/icons/icons.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | bookmark.svg 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/ui/ote/plugins/colorlabelsplugin.h: -------------------------------------------------------------------------------- 1 | #ifndef COLORLABELSPLUGIN_H 2 | #define COLORLABELSPLUGIN_H 3 | 4 | #include 5 | #include "../editorlabel.h" 6 | 7 | #include "pluginbase.h" 8 | 9 | namespace ote { 10 | 11 | /** 12 | * This plugin looks at the word under the current cursor and, 13 | * if this word is a color code (such as #AABBCC) it'll show 14 | * a small square to the right of it with the color in question. 15 | */ 16 | class ColorLabelsPlugin : public PluginBase 17 | { 18 | public: 19 | ColorLabelsPlugin(TextEdit* te); 20 | 21 | private: 22 | void onCursorPositionChanged(); 23 | 24 | // Contains the current EditorLabel that is used to show the 25 | // color label. 26 | WeakEditorLabelPtr m_ptr; 27 | }; 28 | 29 | } // namespace ote 30 | 31 | #endif // COLORLABELSPLUGIN_H 32 | -------------------------------------------------------------------------------- /src/ui/ote/plugins/latexplugin.h: -------------------------------------------------------------------------------- 1 | #ifndef LATEXPLUGIN_H 2 | #define LATEXPLUGIN_H 3 | 4 | #include "pluginbase.h" 5 | 6 | namespace ote { 7 | /** 8 | * This plugin creates EditorLabels for all Latex text pieces it can find. 9 | * These pieces will be run through the JKQTMath library to create a 10 | * pixmap of the pretty-formatted latex formula. 11 | * Text in strigs will be ignored. 12 | */ 13 | class LatexPlugin : public PluginBase 14 | { 15 | public: 16 | LatexPlugin(TextEdit* te); 17 | 18 | private: 19 | void onBlockHighlighted(const QTextBlock& block); 20 | }; 21 | 22 | } // namespace 23 | 24 | #endif // LATEXPLUGIN_H 25 | -------------------------------------------------------------------------------- /support_files/icons/hicolor/128x128/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/128x128/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/16x16/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/16x16/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/22x22/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/22x22/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/24x24/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/24x24/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/256x256/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/256x256/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/32x32/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/32x32/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/48x48/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/48x48/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/512x512/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/512x512/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/64x64/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/64x64/apps/notepadqq.png -------------------------------------------------------------------------------- /support_files/icons/hicolor/96x96/apps/notepadqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuBan1/notepadqq/0c27fd07a98f6e4eef1077798cce984f368a68a1/support_files/icons/hicolor/96x96/apps/notepadqq.png --------------------------------------------------------------------------------