gitextract_ny75g84n/ ├── .claude/ │ └── settings.json ├── .gemini/ │ └── settings.json ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── build-sponsored.yml │ ├── issue-close-require.yml │ ├── issue-labeled.yml │ └── release.yml ├── .gitignore ├── .prettierrc ├── AGENTS.md ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build/ │ ├── entitlements.mac.inherit.plist │ └── icons/ │ └── icon.icns ├── commitlint.config.js ├── components.json ├── electron-builder.json ├── electron-builder.sponsored.json ├── eslint.config.js ├── nodemon.json ├── package.json ├── postcss.config.js ├── scripts/ │ ├── api-generate.js │ ├── bench-load-test.js │ ├── bench-seed.js │ └── copy-locales.js ├── src/ │ ├── main/ │ │ ├── api/ │ │ │ ├── dto/ │ │ │ │ ├── common/ │ │ │ │ │ ├── query.ts │ │ │ │ │ └── response.ts │ │ │ │ ├── folders.ts │ │ │ │ ├── snippet-contents.ts │ │ │ │ ├── snippets.ts │ │ │ │ └── tags.ts │ │ │ ├── index.ts │ │ │ └── routes/ │ │ │ ├── folders.ts │ │ │ ├── snippets.ts │ │ │ ├── system.ts │ │ │ └── tags.ts │ │ ├── currencyRates.ts │ │ ├── db/ │ │ │ ├── index.ts │ │ │ ├── migrate.ts │ │ │ └── types/ │ │ │ └── index.ts │ │ ├── i18n/ │ │ │ ├── index.ts │ │ │ ├── language.ts │ │ │ └── locales/ │ │ │ ├── README.md │ │ │ ├── cs_CZ/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── de_DE/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── el_GR/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── en_US/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── es_ES/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── fa_IR/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── fr_FR/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── ja_JP/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── pl_PL/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── pt_BR/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── ro_RO/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── ru_RU/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── tr_TR/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── uk_UA/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── zh_CN/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ ├── zh_HK/ │ │ │ │ ├── devtools.json │ │ │ │ ├── menu.json │ │ │ │ ├── messages.json │ │ │ │ ├── preferences.json │ │ │ │ └── ui.json │ │ │ └── zh_TW/ │ │ │ ├── devtools.json │ │ │ ├── menu.json │ │ │ ├── messages.json │ │ │ ├── preferences.json │ │ │ └── ui.json │ │ ├── index.ts │ │ ├── ipc/ │ │ │ ├── handlers/ │ │ │ │ ├── db.ts │ │ │ │ ├── dialog.ts │ │ │ │ ├── fs.ts │ │ │ │ ├── prettier.ts │ │ │ │ ├── spaces.ts │ │ │ │ ├── system.ts │ │ │ │ └── theme.ts │ │ │ └── index.ts │ │ ├── menu/ │ │ │ ├── main.ts │ │ │ └── utils/ │ │ │ └── index.ts │ │ ├── preload.ts │ │ ├── storage/ │ │ │ ├── contracts.ts │ │ │ ├── index.ts │ │ │ └── providers/ │ │ │ ├── markdown/ │ │ │ │ ├── index.ts │ │ │ │ ├── migrations.ts │ │ │ │ ├── runtime/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── normalizers.ts │ │ │ │ │ ├── parser.ts │ │ │ │ │ ├── paths.ts │ │ │ │ │ ├── search.ts │ │ │ │ │ ├── snippets.ts │ │ │ │ │ ├── spaceState.ts │ │ │ │ │ ├── spaces.ts │ │ │ │ │ ├── state.ts │ │ │ │ │ ├── sync.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── validation.ts │ │ │ │ ├── storages/ │ │ │ │ │ ├── folders.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── snippets.ts │ │ │ │ │ └── tags.ts │ │ │ │ └── watcher.ts │ │ │ └── sqlite/ │ │ │ ├── folders.ts │ │ │ ├── index.ts │ │ │ ├── snippets.ts │ │ │ └── tags.ts │ │ ├── store/ │ │ │ ├── constants.ts │ │ │ ├── index.ts │ │ │ ├── module/ │ │ │ │ ├── app.ts │ │ │ │ ├── currency-rates.ts │ │ │ │ ├── math-notebook.ts │ │ │ │ └── preferences.ts │ │ │ └── types/ │ │ │ ├── index.ts │ │ │ └── theme.ts │ │ ├── types/ │ │ │ ├── index.ts │ │ │ └── ipc.ts │ │ ├── updates/ │ │ │ └── index.ts │ │ └── utils/ │ │ └── index.ts │ └── renderer/ │ ├── App.vue │ ├── components/ │ │ ├── app-space-shell/ │ │ │ └── AppSpaceShell.vue │ │ ├── code-space-layout/ │ │ │ └── CodeSpaceLayout.vue │ │ ├── devtools/ │ │ │ ├── ShadcnComparison.vue │ │ │ ├── converters/ │ │ │ │ ├── Base64Converter.vue │ │ │ │ ├── CaseConverter.vue │ │ │ │ ├── ColorConverter.vue │ │ │ │ ├── JsonToToml.vue │ │ │ │ ├── JsonToXml.vue │ │ │ │ ├── JsonToYaml.vue │ │ │ │ ├── TextToAsciiBinary.vue │ │ │ │ └── TextToUnicode.vue │ │ │ ├── crypto/ │ │ │ │ ├── Hash.vue │ │ │ │ ├── Hmac.vue │ │ │ │ ├── Password.vue │ │ │ │ └── Uuid.vue │ │ │ ├── generators/ │ │ │ │ ├── JsonGenerator.vue │ │ │ │ └── LoremIpsumGenerator.vue │ │ │ ├── shadcn-comparison/ │ │ │ │ ├── RootUi.vue │ │ │ │ ├── Shadcn2.vue │ │ │ │ └── copy.ts │ │ │ └── web/ │ │ │ ├── Slugify.vue │ │ │ ├── UrlEncoder.vue │ │ │ └── UrlParser.vue │ │ ├── editor/ │ │ │ ├── Description.vue │ │ │ ├── Editor.vue │ │ │ ├── Footer.vue │ │ │ ├── Tab.vue │ │ │ ├── code-image/ │ │ │ │ ├── BackgroundSwitch.vue │ │ │ │ └── CodeImage.vue │ │ │ ├── grammars/ │ │ │ │ ├── auxiliary-grammars.ts │ │ │ │ ├── index.ts │ │ │ │ ├── languages.ts │ │ │ │ └── textmate/ │ │ │ │ ├── abap.tmLanguage.json │ │ │ │ ├── abc.tmLanguage.json │ │ │ │ ├── actionscript-3.tmLanguage.json │ │ │ │ ├── ada.tmLanguage.json │ │ │ │ ├── alda.tmLanguage.json │ │ │ │ ├── apache.tmLanguage.json │ │ │ │ ├── apex.tmLanguage.json │ │ │ │ ├── applescript.tmLanguage.json │ │ │ │ ├── arm.tmLanguage.json │ │ │ │ ├── asciidoctor.tmLanguage.json │ │ │ │ ├── asl.tmLanguage.json │ │ │ │ ├── asm.tmLanguage.json │ │ │ │ ├── asp-vb-net.tmlanguage.json │ │ │ │ ├── asymptote.tmLanguage.json │ │ │ │ ├── autohotkey.tmLanguage.json │ │ │ │ ├── batchfile.tmLanguage.json │ │ │ │ ├── bibtex.tmLanguage.json │ │ │ │ ├── bicep.tmLanguage.json │ │ │ │ ├── c.tmLanguage.json │ │ │ │ ├── cfscript.tmLanguage.json │ │ │ │ ├── cirru.tmLanguage.json │ │ │ │ ├── clojure.tmLanguage.json │ │ │ │ ├── cobol.tmLanguage.json │ │ │ │ ├── coffee.tmLanguage.json │ │ │ │ ├── coldfusion.tmLanguage.json │ │ │ │ ├── cpp-embedded-latex.tmLanguage.json │ │ │ │ ├── cpp.embedded.macro.tmLanguage.json │ │ │ │ ├── cpp.tmLanguage.json │ │ │ │ ├── crystal.tmLanguage.json │ │ │ │ ├── csharp.tmLanguage.json │ │ │ │ ├── csound-document.tmLanguage.json │ │ │ │ ├── csound-score.tmLanguage.json │ │ │ │ ├── csound.tmLanguage.json │ │ │ │ ├── css.tmLanguage.json │ │ │ │ ├── curly.tmLanguage.json │ │ │ │ ├── d.tmLanguage.json │ │ │ │ ├── dart.tmLanguage.json │ │ │ │ ├── diff.tmLanguage.json │ │ │ │ ├── django.tmLanguage.json │ │ │ │ ├── docker.tmLanguage.json │ │ │ │ ├── dot.tmLanguage.json │ │ │ │ ├── drools.tmLanguage.json │ │ │ │ ├── edifact.tmLanguage.json │ │ │ │ ├── eex.tmLanguage.json │ │ │ │ ├── eiffel.tmLanguage.json │ │ │ │ ├── ejs.tmLanguage.json │ │ │ │ ├── elixir.tmLanguage.json │ │ │ │ ├── elm.tmLanguage.json │ │ │ │ ├── erlang.tmLanguage.json │ │ │ │ ├── etc.tmLanguage.json │ │ │ │ ├── forth.tmLanguage.json │ │ │ │ ├── fortran.tmLanguage.json │ │ │ │ ├── fsharp.tmLanguage.json │ │ │ │ ├── gcode.tmLanguage.json │ │ │ │ ├── gherkin.tmLanguage.json │ │ │ │ ├── git-commit.tmLanguage.json │ │ │ │ ├── git-rebase.tmLanguage.json │ │ │ │ ├── gitignore.tmLanguage.json │ │ │ │ ├── glsl.tmLanguage.json │ │ │ │ ├── gnuplot.tmLanguage.json │ │ │ │ ├── go.tmLanguage.json │ │ │ │ ├── graphql.tmLanguage.json │ │ │ │ ├── groovy.tmLanguage.json │ │ │ │ ├── haml.tmLanguage.json │ │ │ │ ├── handlebars.tmLanguage.json │ │ │ │ ├── haskell-cabal.tmLanguage.json │ │ │ │ ├── haskell.tmLanguage.json │ │ │ │ ├── haxe.tmLanguage.json │ │ │ │ ├── hjson.tmLanguage.json │ │ │ │ ├── html-cfml.tmLanguage.json │ │ │ │ ├── html-derivative.tmLanguage.json │ │ │ │ ├── html-django.tmLanguage.json │ │ │ │ ├── html-elixir.tmLanguage.json │ │ │ │ ├── html-ruby.tmLanguage.json │ │ │ │ ├── html.tmLanguage.json │ │ │ │ ├── ini.tmLanguage.json │ │ │ │ ├── io.tmLanguage.json │ │ │ │ ├── java.tmLanguage.json │ │ │ │ ├── javadoc.tmLanguage.json │ │ │ │ ├── javascript.tmLanguage.json │ │ │ │ ├── jquery.tmLanguage.json │ │ │ │ ├── json.tmLanguage.json │ │ │ │ ├── json5.tmLanguage.json │ │ │ │ ├── jsonc.tmLanguage.json │ │ │ │ ├── jsoniq.tmLanguage.json │ │ │ │ ├── jsp.tmLanguage.json │ │ │ │ ├── jsx-styled.tmLanguage.json │ │ │ │ ├── jsx.tmLanguage.json │ │ │ │ ├── julia.tmLanguage.json │ │ │ │ ├── kotlin.tmLanguage.json │ │ │ │ ├── kusto.tmLanguage.json │ │ │ │ ├── latex.tmLanguage.json │ │ │ │ ├── latte.tmLanguage.json │ │ │ │ ├── less.tmLanguage.json │ │ │ │ ├── liquid.tmLanguage.json │ │ │ │ ├── lisp.tmLanguage.json │ │ │ │ ├── livescript.tmLanguage.json │ │ │ │ ├── log.tmLanguage.json │ │ │ │ ├── lsl.tmLanguage.json │ │ │ │ ├── lua.tmLanguage.json │ │ │ │ ├── make.tmLanguage.json │ │ │ │ ├── markdown-gf.tmLanguage.json │ │ │ │ ├── markdown-latex-combined.tmLanguage.json │ │ │ │ ├── markdown.tmLanguage.json │ │ │ │ ├── mask.tmLanguage.json │ │ │ │ ├── matlab.tmLanguage.json │ │ │ │ ├── mediawiki.tmLanguage.json │ │ │ │ ├── mel.tmLanguage.json │ │ │ │ ├── mermaid.tmLanguage.json │ │ │ │ ├── mikrotik.tmLanguage.json │ │ │ │ ├── mips.tmLanguage.json │ │ │ │ ├── mysql.tmLanguage.json │ │ │ │ ├── nginx.tmLanguage.json │ │ │ │ ├── nim.tmLanguage.json │ │ │ │ ├── nix.tmLanguage.json │ │ │ │ ├── nsis.tmLanguage.json │ │ │ │ ├── nu.tmLanguage.json │ │ │ │ ├── nunjucks.tmLanguage.json │ │ │ │ ├── objective-c.tmLanguage.json │ │ │ │ ├── ocaml.tmLanguage.json │ │ │ │ ├── oeabl.tmLanguage.json │ │ │ │ ├── pascal.tmLanguage.json │ │ │ │ ├── perl.tmLanguage.json │ │ │ │ ├── pgsql.tmLanguage.json │ │ │ │ ├── php-blade.tmLanguage.json │ │ │ │ ├── php-html.tmLanguage.json │ │ │ │ ├── php.tmLanguage.json │ │ │ │ ├── pig.tmLanguage.json │ │ │ │ ├── plain-text.tmLanguage.json │ │ │ │ ├── plsql.tmLanguage.json │ │ │ │ ├── postcss.tmLanguage.json │ │ │ │ ├── postscript.tmLanguage.json │ │ │ │ ├── powerquery.tmLanguage.json │ │ │ │ ├── powershell.tmLanguage.json │ │ │ │ ├── praat.tmLanguage.json │ │ │ │ ├── prisma.tmLanguage.json │ │ │ │ ├── prolog.tmLanguage.json │ │ │ │ ├── properties.tmLanguage.json │ │ │ │ ├── protobuf.tmLanguage.json │ │ │ │ ├── pug.tmLanguage.json │ │ │ │ ├── puppet.tmLanguage.json │ │ │ │ ├── python.tmLanguage.json │ │ │ │ ├── qml.tmLanguage.json │ │ │ │ ├── r.tmLanguage.json │ │ │ │ ├── raku.tmLanguage.json │ │ │ │ ├── razor.tmLanguage.json │ │ │ │ ├── rdoc.tmLanguage.json │ │ │ │ ├── red.tmLanguage.json │ │ │ │ ├── regexp-extended.tmLanguage.json │ │ │ │ ├── regexp-javascript.tmLanguage.json │ │ │ │ ├── regexp-posix.tmLanguage.json │ │ │ │ ├── regexp-python.tmLanguage.json │ │ │ │ ├── regexp.tmLanguage.json │ │ │ │ ├── rst.tmLanguage.json │ │ │ │ ├── ruby.tmLanguage.json │ │ │ │ ├── rust.tmLanguage.json │ │ │ │ ├── sas.tmLanguage.json │ │ │ │ ├── sass.tmLanguage.json │ │ │ │ ├── sassdoc.tmLanguage.json │ │ │ │ ├── scad.tmLanguage.json │ │ │ │ ├── scala.tmLanguage.json │ │ │ │ ├── scheme.tmLanguage.json │ │ │ │ ├── scrypt.tmLanguage.json │ │ │ │ ├── scss.tmLanguage.json │ │ │ │ ├── shell-unix-bash.tmLanguage.json │ │ │ │ ├── sjs.tmLanguage.json │ │ │ │ ├── slim.tmLanguage.json │ │ │ │ ├── slm.tmLanguage.json │ │ │ │ ├── smalltalk.tmLanguage.json │ │ │ │ ├── smarty.tmLanguage.json │ │ │ │ ├── smithy.tmLanguage.json │ │ │ │ ├── solidity.tmLanguage.json │ │ │ │ ├── soytemplate.tmLanguage.json │ │ │ │ ├── sql.tmLanguage.json │ │ │ │ ├── stylus.tmLanguage.json │ │ │ │ ├── svg.tmLanguage.json │ │ │ │ ├── swift.tmLanguage.json │ │ │ │ ├── syon.tmLanguage.json │ │ │ │ ├── systemverilog.tmLanguage.json │ │ │ │ ├── tcl.tmLanguage.json │ │ │ │ ├── terraform.tmLanguage.json │ │ │ │ ├── tex.tmLanguage.json │ │ │ │ ├── textile.tmLanguage.json │ │ │ │ ├── toml.tmLanguage.json │ │ │ │ ├── tsx.tmLanguage.json │ │ │ │ ├── twig.tmLanguage.json │ │ │ │ ├── typescript.tmLanguage.json │ │ │ │ ├── vala.tmLanguage.json │ │ │ │ ├── velocity.tmLanguage.json │ │ │ │ ├── vhdl.tmLanguage.json │ │ │ │ ├── visualforce.tmLanguage.json │ │ │ │ ├── vue.tmLanguage.json │ │ │ │ ├── wollok.tmLanguage.json │ │ │ │ ├── xml.tmLanguage.json │ │ │ │ ├── xquery.tmLanguage.json │ │ │ │ ├── xsl.tmLanguage.json │ │ │ │ ├── yaml.tmLanguage.json │ │ │ │ └── zeek.tmLanguage.json │ │ │ ├── header/ │ │ │ │ ├── Header.vue │ │ │ │ ├── Tags.vue │ │ │ │ └── Tool.vue │ │ │ ├── json-visualizer/ │ │ │ │ ├── DialogInfo.vue │ │ │ │ ├── JsonVisualizer.vue │ │ │ │ ├── composables/ │ │ │ │ │ └── useLayout.ts │ │ │ │ ├── nodes/ │ │ │ │ │ ├── ArrayNode.vue │ │ │ │ │ └── ObjectNode.vue │ │ │ │ ├── types/ │ │ │ │ │ └── index.ts │ │ │ │ └── utils/ │ │ │ │ ├── index.ts │ │ │ │ └── json-parser.ts │ │ │ ├── markdown/ │ │ │ │ ├── LaserPointer.vue │ │ │ │ ├── Markdown.vue │ │ │ │ ├── Presentation.vue │ │ │ │ └── composables/ │ │ │ │ ├── index.ts │ │ │ │ └── useMarkdown.ts │ │ │ ├── mindmap/ │ │ │ │ └── Mindmap.vue │ │ │ ├── preview/ │ │ │ │ └── Preview.vue │ │ │ └── types/ │ │ │ └── index.ts │ │ ├── layout/ │ │ │ └── TwoColumn.vue │ │ ├── math-notebook/ │ │ │ ├── MathEditor.vue │ │ │ ├── README.md │ │ │ ├── ResultsPanel.vue │ │ │ ├── SheetList.vue │ │ │ ├── Workspace.vue │ │ │ └── math-editor-highlight.ts │ │ ├── preferences/ │ │ │ ├── API.vue │ │ │ ├── Appearance.vue │ │ │ ├── Editor.vue │ │ │ ├── Language.vue │ │ │ ├── Storage.vue │ │ │ └── keys.ts │ │ ├── sidebar/ │ │ │ ├── Sidebar.vue │ │ │ ├── folders/ │ │ │ │ ├── Tree.vue │ │ │ │ ├── custom-icons/ │ │ │ │ │ ├── CustomIcons.vue │ │ │ │ │ └── icons.ts │ │ │ │ └── types/ │ │ │ │ └── index.ts │ │ │ ├── library/ │ │ │ │ ├── Item.vue │ │ │ │ └── Library.vue │ │ │ └── tags/ │ │ │ ├── Item.vue │ │ │ └── Tags.vue │ │ ├── snippet/ │ │ │ ├── Header.vue │ │ │ ├── Item.vue │ │ │ └── List.vue │ │ ├── space-rail/ │ │ │ └── SpaceRail.vue │ │ └── ui/ │ │ ├── action-button/ │ │ │ └── ActionButton.vue │ │ ├── color-picker/ │ │ │ └── ColorPicker.vue │ │ ├── empty/ │ │ │ └── Placeholder.vue │ │ ├── folder-icon/ │ │ │ ├── FolderIcon.vue │ │ │ ├── icons.ts │ │ │ └── variants.ts │ │ ├── heading/ │ │ │ └── Heading.vue │ │ ├── input/ │ │ │ ├── Input.vue │ │ │ └── variants.ts │ │ ├── input-tags/ │ │ │ ├── InputTags.vue │ │ │ └── types/ │ │ │ └── index.ts │ │ ├── menu/ │ │ │ ├── FormItem.vue │ │ │ ├── FormSection.vue │ │ │ └── Item.vue │ │ ├── shadcn/ │ │ │ ├── button/ │ │ │ │ ├── Button.vue │ │ │ │ └── index.ts │ │ │ ├── checkbox/ │ │ │ │ ├── Checkbox.vue │ │ │ │ └── index.ts │ │ │ ├── command/ │ │ │ │ ├── Command.vue │ │ │ │ ├── CommandDialog.vue │ │ │ │ ├── CommandEmpty.vue │ │ │ │ ├── CommandGroup.vue │ │ │ │ ├── CommandInput.vue │ │ │ │ ├── CommandItem.vue │ │ │ │ ├── CommandList.vue │ │ │ │ ├── CommandSeparator.vue │ │ │ │ ├── CommandShortcut.vue │ │ │ │ └── index.ts │ │ │ ├── context-menu/ │ │ │ │ ├── ContextMenu.vue │ │ │ │ ├── ContextMenuCheckboxItem.vue │ │ │ │ ├── ContextMenuContent.vue │ │ │ │ ├── ContextMenuGroup.vue │ │ │ │ ├── ContextMenuItem.vue │ │ │ │ ├── ContextMenuLabel.vue │ │ │ │ ├── ContextMenuPortal.vue │ │ │ │ ├── ContextMenuRadioGroup.vue │ │ │ │ ├── ContextMenuRadioItem.vue │ │ │ │ ├── ContextMenuSeparator.vue │ │ │ │ ├── ContextMenuShortcut.vue │ │ │ │ ├── ContextMenuSub.vue │ │ │ │ ├── ContextMenuSubContent.vue │ │ │ │ ├── ContextMenuSubTrigger.vue │ │ │ │ ├── ContextMenuTrigger.vue │ │ │ │ └── index.ts │ │ │ ├── dialog/ │ │ │ │ ├── Dialog.vue │ │ │ │ ├── DialogClose.vue │ │ │ │ ├── DialogContent.vue │ │ │ │ ├── DialogDescription.vue │ │ │ │ ├── DialogFooter.vue │ │ │ │ ├── DialogHeader.vue │ │ │ │ ├── DialogOverlay.vue │ │ │ │ ├── DialogScrollContent.vue │ │ │ │ ├── DialogTitle.vue │ │ │ │ ├── DialogTrigger.vue │ │ │ │ └── index.ts │ │ │ ├── input/ │ │ │ │ ├── Input.vue │ │ │ │ └── index.ts │ │ │ ├── popover/ │ │ │ │ ├── Popover.vue │ │ │ │ ├── PopoverAnchor.vue │ │ │ │ ├── PopoverContent.vue │ │ │ │ ├── PopoverTrigger.vue │ │ │ │ └── index.ts │ │ │ ├── resizable/ │ │ │ │ ├── ResizableHandle.vue │ │ │ │ ├── ResizablePanel.vue │ │ │ │ ├── ResizablePanelGroup.vue │ │ │ │ └── index.ts │ │ │ ├── select/ │ │ │ │ ├── Select.vue │ │ │ │ ├── SelectContent.vue │ │ │ │ ├── SelectGroup.vue │ │ │ │ ├── SelectItem.vue │ │ │ │ ├── SelectItemText.vue │ │ │ │ ├── SelectLabel.vue │ │ │ │ ├── SelectScrollDownButton.vue │ │ │ │ ├── SelectScrollUpButton.vue │ │ │ │ ├── SelectSeparator.vue │ │ │ │ ├── SelectTrigger.vue │ │ │ │ ├── SelectValue.vue │ │ │ │ └── index.ts │ │ │ ├── switch/ │ │ │ │ ├── Switch.vue │ │ │ │ └── index.ts │ │ │ ├── tabs/ │ │ │ │ ├── Tabs.vue │ │ │ │ ├── TabsContent.vue │ │ │ │ ├── TabsList.vue │ │ │ │ ├── TabsTrigger.vue │ │ │ │ └── index.ts │ │ │ ├── textarea/ │ │ │ │ ├── Textarea.vue │ │ │ │ └── index.ts │ │ │ └── tooltip/ │ │ │ ├── Tooltip.vue │ │ │ ├── TooltipContent.vue │ │ │ ├── TooltipProvider.vue │ │ │ ├── TooltipTrigger.vue │ │ │ └── index.ts │ │ ├── sonner/ │ │ │ ├── Sonner.vue │ │ │ ├── templates/ │ │ │ │ └── Donate.vue │ │ │ └── types.ts │ │ ├── text/ │ │ │ ├── Text.vue │ │ │ └── index.ts │ │ ├── textarea/ │ │ │ ├── Textarea.vue │ │ │ └── variants.ts │ │ └── tree/ │ │ ├── Tree.vue │ │ ├── TreeNode.vue │ │ ├── composables.ts │ │ ├── index.ts │ │ ├── keys.ts │ │ └── types.ts │ ├── composables/ │ │ ├── __tests__/ │ │ │ └── useMathEngine.test.ts │ │ ├── index.ts │ │ ├── math-notebook/ │ │ │ ├── index.ts │ │ │ ├── math-engine/ │ │ │ │ ├── constants.ts │ │ │ │ ├── css.ts │ │ │ │ ├── mathInstance.ts │ │ │ │ ├── preprocess.ts │ │ │ │ ├── timeZones.ts │ │ │ │ └── types.ts │ │ │ ├── useMathEngine.ts │ │ │ └── useMathNotebook.ts │ │ ├── types/ │ │ │ └── index.ts │ │ ├── useApp.ts │ │ ├── useCopyToClipboard.ts │ │ ├── useDialog.ts │ │ ├── useEditor.ts │ │ ├── useFolders.ts │ │ ├── useSnippetScroller.ts │ │ ├── useSnippetUpdate.ts │ │ ├── useSnippets.ts │ │ ├── useSonner.ts │ │ ├── useStorageMutation.ts │ │ ├── useTags.ts │ │ └── useTheme.ts │ ├── electron.ts │ ├── index.html │ ├── ipc/ │ │ ├── index.ts │ │ └── listeners/ │ │ ├── main-menu.ts │ │ └── system.ts │ ├── main.ts │ ├── router/ │ │ └── index.ts │ ├── services/ │ │ ├── api/ │ │ │ ├── generated/ │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ └── notifications/ │ │ ├── donate.ts │ │ └── index.ts │ ├── spaceDefinitions.ts │ ├── styles.css │ ├── utils/ │ │ └── index.ts │ ├── views/ │ │ ├── Devtools.vue │ │ ├── Main.vue │ │ ├── MarkdownPresentation.vue │ │ ├── MathNotebook.vue │ │ └── Preferences.vue │ └── vue-virtual-scroller.d.ts ├── tsconfig.json ├── tsconfig.main.json ├── vite.config.mjs └── vitest.config.ts