yanki 1.2.10 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +58 -9
- package/dist/lib/index.d.ts +144 -1566
- package/dist/lib/index.js +50 -1
- package/package.json +33 -28
- package/readme.md +4 -4
- package/dist/abap-Dg923wIy.js +0 -1
- package/dist/actionscript-3-BBttMYlr.js +0 -1
- package/dist/ada-CTi7YQtL.js +0 -1
- package/dist/andromeeda-BK6gTiwT.js +0 -1
- package/dist/angular-html-rCdPnZ8w.js +0 -1
- package/dist/angular-ts-DYCYVCHu.js +0 -1
- package/dist/apache-PcO-DBxQ.js +0 -1
- package/dist/apex-CnCu5_gb.js +0 -1
- package/dist/apl-B743j01p.js +0 -1
- package/dist/applescript-BWh8DkcF.js +0 -1
- package/dist/ara-C1--7J61.js +0 -1
- package/dist/asciidoc-CkWYjVYI.js +0 -1
- package/dist/asm-CTFRnVOM.js +0 -1
- package/dist/astro-DHbdk5O0.js +0 -1
- package/dist/aurora-x-C0VKFdlO.js +0 -1
- package/dist/awk-CrWgQKhV.js +0 -1
- package/dist/ayu-dark-De7IQEfS.js +0 -1
- package/dist/ballerina-a0yOSyc5.js +0 -1
- package/dist/bat-B0cHNp6s.js +0 -1
- package/dist/beancount-dPJi_gci.js +0 -1
- package/dist/berry-CVKoklHx.js +0 -1
- package/dist/bibtex-DRcCXNgM.js +0 -1
- package/dist/bicep-jWz-hQ8I.js +0 -1
- package/dist/blade-h41ErOi-.js +0 -1
- package/dist/bsl-C7rNYC9b.js +0 -1
- package/dist/c-BG-tZi7o.js +0 -1
- package/dist/c3-2rTjmrCP.js +0 -1
- package/dist/cadence-BuaeHeSu.js +0 -1
- package/dist/cairo-BHkUC1B6.js +0 -1
- package/dist/catppuccin-frappe-D3lHSMns.js +0 -1
- package/dist/catppuccin-latte-DoBaWTGn.js +0 -1
- package/dist/catppuccin-macchiato-BkAuvdZC.js +0 -1
- package/dist/catppuccin-mocha-D9fcC0iT.js +0 -1
- package/dist/clarity-CC_0IFDj.js +0 -1
- package/dist/clojure-KnfDkB_V.js +0 -1
- package/dist/cmake-bh2MLnkv.js +0 -1
- package/dist/cobol-WHXSr_Wd.js +0 -1
- package/dist/codeowners-CtwIM3TN.js +0 -1
- package/dist/codeql-D164juXQ.js +0 -1
- package/dist/coffee-BWKAfs2s.js +0 -1
- package/dist/common-lisp-DXc9XcIM.js +0 -1
- package/dist/coq-BCSFDxg0.js +0 -1
- package/dist/cpp-CTmscSNZ.js +0 -1
- package/dist/crystal-BFJuErkW.js +0 -1
- package/dist/csharp-BztKY7sB.js +0 -1
- package/dist/css-PZBBrkI0.js +0 -1
- package/dist/csv-D5aBhKLr.js +0 -1
- package/dist/cue-WCin6O4e.js +0 -1
- package/dist/cypher-DYQk2G82.js +0 -1
- package/dist/d-DVc-yF-l.js +0 -1
- package/dist/dark-plus-DLU5INA3.js +0 -1
- package/dist/dart-YLd5yyRs.js +0 -1
- package/dist/dax-oldcCaJg.js +0 -1
- package/dist/desktop-DZfyBMgF.js +0 -1
- package/dist/diff-jW5kmiru.js +0 -1
- package/dist/docker-DG9neUKd.js +0 -1
- package/dist/dotenv-Bea-FkXq.js +0 -1
- package/dist/dracula-XcYHBZy6.js +0 -1
- package/dist/dracula-soft-BPeX9gxW.js +0 -1
- package/dist/dream-maker-DAHQwpwp.js +0 -1
- package/dist/edge-BvW7BRWT.js +0 -1
- package/dist/elixir-C40XQAD9.js +0 -1
- package/dist/elm-DzXNHNQT.js +0 -1
- package/dist/emacs-lisp-BdGsgvrR.js +0 -1
- package/dist/erb-Dis5VyyW.js +0 -1
- package/dist/erlang-Jhp2iHYS.js +0 -1
- package/dist/everforest-dark-WOub3wle.js +0 -1
- package/dist/everforest-light-DCUg8VH8.js +0 -1
- package/dist/fennel-BH6gVCng.js +0 -1
- package/dist/fish-BxskpYPN.js +0 -1
- package/dist/fluent-Bwo2XpEt.js +0 -1
- package/dist/fortran-fixed-form-DoFUIhSC.js +0 -1
- package/dist/fortran-free-form-DB5N_DgY.js +0 -1
- package/dist/fsharp-DHaf8n3s.js +0 -1
- package/dist/gdresource-D9Lk-biZ.js +0 -1
- package/dist/gdscript-AcTSlgpe.js +0 -1
- package/dist/gdshader-G7X6ysY3.js +0 -1
- package/dist/genie-DSsjfZMX.js +0 -1
- package/dist/gherkin-Cbsyuvab.js +0 -1
- package/dist/git-commit-CesLaiSz.js +0 -1
- package/dist/git-rebase-B9wKr8Mu.js +0 -1
- package/dist/github-dark-BQV5ugrc.js +0 -1
- package/dist/github-dark-default-DLWDM7FH.js +0 -1
- package/dist/github-dark-dimmed-D1FmiR_p.js +0 -1
- package/dist/github-dark-high-contrast-BilLoi0o.js +0 -1
- package/dist/github-light-Rcb2q3L5.js +0 -1
- package/dist/github-light-default-CQ75esMw.js +0 -1
- package/dist/github-light-high-contrast-CRF1wyLy.js +0 -1
- package/dist/gleam-BeBqoPwE.js +0 -1
- package/dist/glimmer-js-3dwOmeU7.js +0 -1
- package/dist/glimmer-ts-CGrdEN9y.js +0 -1
- package/dist/glsl-CJ5UNUz7.js +0 -1
- package/dist/gn-Dxr0sSUf.js +0 -1
- package/dist/gnuplot-CtW3R_Hz.js +0 -1
- package/dist/go-CPYJReqS.js +0 -1
- package/dist/graphql-BXLvmlOo.js +0 -1
- package/dist/groovy-DFxE31Qs.js +0 -1
- package/dist/gruvbox-dark-hard-C37G1gbc.js +0 -1
- package/dist/gruvbox-dark-medium-C3G9m3TV.js +0 -1
- package/dist/gruvbox-dark-soft-eZmcmZ9I.js +0 -1
- package/dist/gruvbox-light-hard-BYj-vz_3.js +0 -1
- package/dist/gruvbox-light-medium-BdQlDiiF.js +0 -1
- package/dist/gruvbox-light-soft-BGNwjiRh.js +0 -1
- package/dist/hack-BVNIISZD.js +0 -1
- package/dist/haml-CNL2qJ9f.js +0 -1
- package/dist/handlebars-X5srullM.js +0 -1
- package/dist/haskell-CeCR1-Hh.js +0 -1
- package/dist/haxe-DVIybFAS.js +0 -1
- package/dist/hcl-B6OePqme.js +0 -1
- package/dist/hjson-D2jn7IRw.js +0 -1
- package/dist/hlsl-MKeth5V9.js +0 -1
- package/dist/houston-RHIKkNfR.js +0 -1
- package/dist/html-B4bznzA2.js +0 -1
- package/dist/html-derivative-CD1Z7kSG.js +0 -1
- package/dist/http-Bb0P8zvE.js +0 -1
- package/dist/hurl-DdMgw5nt.js +0 -1
- package/dist/hxml-BdTS9Zj7.js +0 -1
- package/dist/hy-BZMqGtQj.js +0 -1
- package/dist/imba-D-Pk5S0X.js +0 -1
- package/dist/index-CQlZV-e4.js +0 -2
- package/dist/ini-Dix3pTmg.js +0 -1
- package/dist/java-BTDmaRNO.js +0 -1
- package/dist/javascript-WyGyM1wV.js +0 -1
- package/dist/jinja-Cibv3n81.js +0 -1
- package/dist/jison-CZOoZOej.js +0 -1
- package/dist/json-B8JryHcM.js +0 -1
- package/dist/json5-Cdatmj9n.js +0 -1
- package/dist/jsonc-CvUCa1o5.js +0 -1
- package/dist/jsonl-9I_GBd5L.js +0 -1
- package/dist/jsonnet-XoenQ2oc.js +0 -1
- package/dist/jssm-CWE2S0Z5.js +0 -1
- package/dist/jsx-8cLv2Six.js +0 -1
- package/dist/julia-DIzTBDVk.js +0 -1
- package/dist/kanagawa-dragon-BOvIHJVT.js +0 -1
- package/dist/kanagawa-lotus-Bwcd7Bvx.js +0 -1
- package/dist/kanagawa-wave-0SAlpf0s.js +0 -1
- package/dist/kdl-CMbyIXjQ.js +0 -1
- package/dist/kotlin-BQy537ds.js +0 -1
- package/dist/kusto-B_y0uMaZ.js +0 -1
- package/dist/laserwave-si7wuSrt.js +0 -1
- package/dist/latex-BXZuhSz0.js +0 -1
- package/dist/lean-7hWDN_w4.js +0 -1
- package/dist/less-CaoNcwlE.js +0 -1
- package/dist/light-plus-g_Fi9vkG.js +0 -1
- package/dist/liquid-e5bbsXXe.js +0 -1
- package/dist/llvm-CiYQeg8E.js +0 -1
- package/dist/log-CcaF_xNv.js +0 -1
- package/dist/logo-D9WQLoKQ.js +0 -1
- package/dist/lua-DRivoEBK.js +0 -1
- package/dist/luau-BTSFCcFb.js +0 -1
- package/dist/make-DXVx14cr.js +0 -1
- package/dist/markdown-DX-TNHnc.js +0 -1
- package/dist/marko-CFpKsLoh.js +0 -1
- package/dist/material-theme-CIJ3cGaW.js +0 -1
- package/dist/material-theme-darker-BWg3m1GB.js +0 -1
- package/dist/material-theme-lighter-DR8HWMN7.js +0 -1
- package/dist/material-theme-ocean-CZf9pk28.js +0 -1
- package/dist/material-theme-palenight-BF01YeZy.js +0 -1
- package/dist/matlab-DzreyMvm.js +0 -1
- package/dist/mdc-BX9nsEef.js +0 -1
- package/dist/mdx-C2fqO2XY.js +0 -1
- package/dist/mermaid-Cwy4Up_p.js +0 -1
- package/dist/min-dark-DhfaepVE.js +0 -1
- package/dist/min-light-6xx0uMgm.js +0 -1
- package/dist/mipsasm-yE_Aqo9y.js +0 -1
- package/dist/mojo-Bk-6ipf4.js +0 -1
- package/dist/monokai-BodnsaDQ.js +0 -1
- package/dist/moonbit-C7bLf9Bh.js +0 -1
- package/dist/move-BvvU7WAr.js +0 -1
- package/dist/narrat-DXUZ_ZkW.js +0 -1
- package/dist/nextflow-MPHPbw14.js +0 -1
- package/dist/nginx-DE9vInot.js +0 -1
- package/dist/night-owl-EdP2Hztp.js +0 -1
- package/dist/nim-CvfVE-Jm.js +0 -1
- package/dist/nix-Ckjrpg0r.js +0 -1
- package/dist/nord-BAu0wM6c.js +0 -1
- package/dist/nushell-8dnicoUR.js +0 -1
- package/dist/objective-c-BoaBTdtz.js +0 -1
- package/dist/objective-cpp-DstR8hNy.js +0 -1
- package/dist/ocaml-DTbn2Hv7.js +0 -1
- package/dist/one-dark-pro-utPxbBbJ.js +0 -1
- package/dist/one-light-s-s--efq.js +0 -1
- package/dist/openscad-CXHpNBsb.js +0 -1
- package/dist/pascal-Sr-XLSE6.js +0 -1
- package/dist/perl-Dl-vCdjY.js +0 -1
- package/dist/php-B5RY5YQV.js +0 -1
- package/dist/pkl-CRusufhw.js +0 -1
- package/dist/plastic-CXnNNlFZ.js +0 -1
- package/dist/plsql-Dbm3tV2N.js +0 -1
- package/dist/po-LG0lFwH4.js +0 -1
- package/dist/poimandres-BrOVMvuE.js +0 -1
- package/dist/polar-DjOs3GWb.js +0 -1
- package/dist/postcss-GRRkWn2F.js +0 -1
- package/dist/powerquery-DHf-dtTS.js +0 -1
- package/dist/powershell-CubgGmZX.js +0 -1
- package/dist/prisma-Dgf8IN_C.js +0 -1
- package/dist/prolog-9JcfiY6I.js +0 -1
- package/dist/proto-dqx_Sj2i.js +0 -1
- package/dist/pug-jKFt5v09.js +0 -1
- package/dist/puppet-B4ctDsrh.js +0 -1
- package/dist/purescript-B-mlhevv.js +0 -1
- package/dist/python-B6Ihcp-E.js +0 -1
- package/dist/qml-CXQr5hi3.js +0 -1
- package/dist/qmldir-DXd9s5XC.js +0 -1
- package/dist/qss-B7NnhfIi.js +0 -1
- package/dist/r-1ts4xG1r.js +0 -1
- package/dist/racket-CrxT4k8p.js +0 -1
- package/dist/raku-B9ngR1rt.js +0 -1
- package/dist/razor-xda6wMq7.js +0 -1
- package/dist/red-DR6ZwibK.js +0 -1
- package/dist/reg-Cvyu2Gnx.js +0 -1
- package/dist/regexp-DK-WlHNu.js +0 -1
- package/dist/rel-CYd0g8C5.js +0 -1
- package/dist/riscv-C5dpdlr7.js +0 -1
- package/dist/rose-pine-Cd1NG3HO.js +0 -1
- package/dist/rose-pine-dawn-eauBvPfk.js +0 -1
- package/dist/rose-pine-moon-B3tSb9zr.js +0 -1
- package/dist/rosmsg-ZkSIzPhc.js +0 -1
- package/dist/rst-DBtDFrr6.js +0 -1
- package/dist/ruby-B8qtJuKf.js +0 -1
- package/dist/rust-CxuBE0J8.js +0 -1
- package/dist/sas-9Dvcn_Se.js +0 -1
- package/dist/sass-bfEVHPJ8.js +0 -1
- package/dist/scala-Dtw19ca_.js +0 -1
- package/dist/scheme-OJppFQF3.js +0 -1
- package/dist/scss-CFlr0x0u.js +0 -1
- package/dist/sdbl-Bd9eE8IL.js +0 -1
- package/dist/shaderlab-CJHdEwFw.js +0 -1
- package/dist/shellscript-DgJyDXW6.js +0 -1
- package/dist/shellsession-BqFY_Jl7.js +0 -1
- package/dist/slack-dark-CWRQmTmo.js +0 -1
- package/dist/slack-ochin-DO_ok7XK.js +0 -1
- package/dist/smalltalk-B9IHbYt7.js +0 -1
- package/dist/snazzy-light-B5llO_gK.js +0 -1
- package/dist/solarized-dark-G9yBjKj_.js +0 -1
- package/dist/solarized-light-DeSzljQz.js +0 -1
- package/dist/solidity-B3CjIuAd.js +0 -1
- package/dist/soy-BnGnvCkT.js +0 -1
- package/dist/sparql-Ckj_9Rg5.js +0 -1
- package/dist/splunk-h-bNAnbk.js +0 -1
- package/dist/sql-BbONfI8K.js +0 -1
- package/dist/ssh-config-CywOjoXH.js +0 -1
- package/dist/stata-eYSq_k6x.js +0 -1
- package/dist/stylus-CIg617SB.js +0 -1
- package/dist/svelte-Bq7yX3Ip.js +0 -1
- package/dist/swift-D8uC5CNv.js +0 -1
- package/dist/sync-files-obgDr5HY.js +0 -962
- package/dist/synthwave-84-DRVv-_m_.js +0 -1
- package/dist/system-verilog-Qdm_1g2q.js +0 -1
- package/dist/systemd-DMp0udv_.js +0 -1
- package/dist/talonscript-eRuyeYHl.js +0 -1
- package/dist/tasl-B9CVvjfG.js +0 -1
- package/dist/tcl-Bq9dbVAF.js +0 -1
- package/dist/templ-BA8-YsSp.js +0 -1
- package/dist/terraform-CAp711iT.js +0 -1
- package/dist/tex-Dpq9weyt.js +0 -1
- package/dist/tokyo-night-BvwC8l2v.js +0 -1
- package/dist/toml-Ms459DBw.js +0 -1
- package/dist/ts-tags-D-LANnn2.js +0 -1
- package/dist/tsv-BFtm7NXx.js +0 -1
- package/dist/tsx-D6116Ycy.js +0 -1
- package/dist/turtle-DpRhbQZY.js +0 -1
- package/dist/twig-bKeTGJCh.js +0 -1
- package/dist/typescript-BqvgUolh.js +0 -1
- package/dist/typespec-DhK7u29_.js +0 -1
- package/dist/typst-Dfd71gQj.js +0 -1
- package/dist/v-BH76v7br.js +0 -1
- package/dist/vala-z59IxkFd.js +0 -1
- package/dist/vb-4AxSLKIU.js +0 -1
- package/dist/verilog-LfQUkHDc.js +0 -1
- package/dist/vesper--t9w6MWz.js +0 -1
- package/dist/vhdl-DJCsFYgn.js +0 -1
- package/dist/viml-pbKHW3Ia.js +0 -1
- package/dist/vitesse-black-B_BYPdvp.js +0 -1
- package/dist/vitesse-dark-DOSOf2Sz.js +0 -1
- package/dist/vitesse-light-gUX51GpB.js +0 -1
- package/dist/vue-FQ0hgXO-.js +0 -1
- package/dist/vue-html-DH1-x0xc.js +0 -1
- package/dist/vue-vine-DeUyrIQS.js +0 -1
- package/dist/vyper-DpazWNpx.js +0 -1
- package/dist/wasm-CFi-k9--.js +0 -1
- package/dist/wasm-CiQ5tcoN.js +0 -1
- package/dist/wenyan-DoPRjnAP.js +0 -1
- package/dist/wgsl-CxjTZs-b.js +0 -1
- package/dist/wikitext-Bx2qct8O.js +0 -1
- package/dist/wit-DDW3hD69.js +0 -1
- package/dist/wolfram-pu21K997.js +0 -1
- package/dist/xml-BhAxjPaW.js +0 -1
- package/dist/xsl-6n2rlM5j.js +0 -1
- package/dist/yaml-Bopit2L3.js +0 -1
- package/dist/zenscript-BIAKq-aR.js +0 -1
- package/dist/zig-bSFrHQ7n.js +0 -1
package/dist/lib/index.js
CHANGED
|
@@ -1 +1,50 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{deepmerge as e}from"deepmerge-ts";import t from"plur";import n from"pretty-ms";import{YankiConnect as r,defaultYankiConnectOptions as i}from"yanki-connect";import a from"@shikijs/rehype";import{toText as o}from"hast-util-to-text";import s from"rehype-format";import c from"rehype-parse";import l from"rehype-raw";import u from"rehype-stringify";import d from"remark-rehype";import{unified as f}from"unified";import{u as p}from"unist-builder";import{CONTINUE as m,EXIT as h,SKIP as g,visit as _}from"unist-util-visit";import v from"@sindresorhus/fnv1a";import y from"path-browserify-esm";import b from"@sindresorhus/slugify";import{sha256 as x}from"crypto-hash";import S from"@stdlib/assert-is-absolute-path";import C from"slash";import ee from"remark-breaks";import te from"filenamify";import{nanoid as ne}from"nanoid";import re from"remark-denden-ruby";import w from"remark-flexible-markers";import ie from"remark-frontmatter";import ae from"remark-gfm";import oe from"remark-github-beta-blockquote-admonitions";import se from"remark-math";import ce from"remark-parse";import{parse as le,stringify as ue}from"yaml";import{sanitizeUri as de}from"micromark-util-sanitize-uri";function T(e,t){return v(e,{size:t===8?32:64}).toString(16).padStart(t,`0`)}function fe(e){return e.charAt(0).toUpperCase()+e.slice(1)}function E(e,t,n=`...`,r=` `){if(e.length<=t)return e;let i=t-n.length,a=e.split(r);for(;a.length>1&&a.join(r).length>i;)a.pop();return`${a.join(r).slice(0,i)}${n}`}function pe(e){return e.toLowerCase().replaceAll(/[^\da-z]/gi,` `).trim().replaceAll(/ +/g,`-`)}function D(e){if(e!==void 0)return e.trim()===``?void 0:e}function me(e,...t){return he(e,...t)}function he(e,...t){let n=e.reduce((e,n,r)=>`${e}${n}${String(t[r]??``)}`,``).split(/\r?\n/).filter(e=>e.trim()!==``),r=/^(\s+)/.exec(n[0])?.[0]??``,i=RegExp(`^${r}`);return n.map(e=>e.replace(i,``).trimEnd()).join(`
|
|
2
|
+
`)}function ge(e,t){let n=e.match(t);if(n?.index===void 0)return[e,void 0];let{index:r}=n;return[e.slice(0,r),e.slice(r)]}const _e=me`
|
|
3
|
+
.card {
|
|
4
|
+
font-family: arial;
|
|
5
|
+
font-size: 20px;
|
|
6
|
+
text-align: center;
|
|
7
|
+
color: black;
|
|
8
|
+
background-color: white;
|
|
9
|
+
}
|
|
10
|
+
`,O=`yanki`,k=`(Empty)`,ve=p(`element`,{properties:{},tagName:`p`},[p(`element`,{properties:{},tagName:`em`},[p(`text`,k)])]),A=`Untitled`,ye=[`avif`,`gif`,`ico`,`jpeg`,`jpg`,`png`,`svg`,`tif`,`tiff`,`webp`],be=[`3gp`,`aac`,`avi`,`flac`,`flv`,`m4a`,`mkv`,`mov`,`mp3`,`mp4`,`mpeg`,`mpg`,`oga`,`ogg`,`ogv`,`ogx`,`opus`,`spx`,`swf`,`wav`,`webm`],xe=[`md`,`pdf`],Se=[...be,...ye,...xe],j=typeof window>`u`?typeof process>`u`?`other`:`node`:`browser`;j===`browser`?/windows/i.test(navigator.userAgent)||/mac/i.test(navigator.userAgent)||/linux/i.test(navigator.userAgent)||/ubuntu/i.test(navigator.userAgent):j===`node`&&(process.platform===`win32`||process.platform===`darwin`||process.platform);const M={allFilePaths:[],ankiConnectOptions:i,ankiWeb:!1,basePath:void 0,checkDatabase:!0,cwd:y.process_cwd,dryRun:!1,fetchAdapter:void 0,fileAdapter:void 0,manageFilenames:`off`,maxFilenameLength:60,namespace:`Yanki`,obsidianVault:void 0,resolveUrls:!0,strictLineBreaks:!0,strictMatching:!1,syncMediaAssets:`local`};async function N(){if(j===`node`){let e=await import(`node:fs/promises`);if(e===void 0)throw Error(`Error loading file functions in Node environment`);return{async readFile(t){return e.readFile(t,`utf8`)},async readFileBuffer(t){return e.readFile(t)},async rename(t,n){await e.rename(t,n)},async stat(t){return e.stat(t)},async writeFile(t,n){await e.writeFile(t,n,`utf8`)}}}throw Error(`The "readFile", "readFileBuffer", "rename" , "stat", and "writeFile" function implementations must be provided to the function when running in the browser`)}function P(){return fetch.bind(globalThis)}async function Ce(e,t){try{return await t.stat(e),!0}catch{return!1}}async function we(e,t,n=`metadata`){switch(n){case`content`:return(await x(await t.readFileBuffer(e))).slice(0,16);case`metadata`:{let{mtimeMs:n,size:r}=await t.stat(e),i=`${n??``}${r??``}`;return i===``?we(e,t,`name`):T(i,16)}case`name`:return T(e,16)}}function F(e,t=!1){return Ee(e,t),Te(e)}function Te(e){return e.normalize(`NFC`).trim()}function Ee(e,t=!1){let n=[];e.trim().length===0&&n.push(`Cannot be empty`),e.trim().length>60&&n.push(`Cannot be longer than 60 characters`);let r=[[/:/,`Colon`],[/\u0000/,`Null`],[/\u0001/,`Start of Heading`],[/\u0002/,`Start of Text`],[/\u0003/,`End of Text`],[/\u0004/,`End of Transmission`],[/\u0005/,`Enquiry`],[/\u0006/,`Acknowledge`],[/\u0007/,`Bell`],[/\u0008/,`Backspace`],[/\u0009/,`Horizontal Tab`],[/\u000A/,`Line Feed`],[/\u000B/,`Vertical Tab`],[/\u000C/,`Form Feed`],[/\u000D/,`Carriage Return`],[/\u000E/,`Shift Out`],[/\u000F/,`Shift In`],[/\u0010/,`Data Link Escape`],[/\u0011/,`Device Control 1`],[/\u0012/,`Device Control 2`],[/\u0013/,`Device Control 3`],[/\u0014/,`Device Control 4`],[/\u0015/,`Negative Acknowledge`],[/\u0016/,`Synchronous Idle`],[/\u0017/,`End of Transmission Block`],[/\u0018/,`Cancel`],[/\u0019/,`End of Medium`],[/\u001A/,`Substitute`],[/\u001B/,`Escape`],[/\u001C/,`File Separator`],[/\u001D/,`Group Separator`],[/\u001E/,`Record Separator`],[/\u001F/,`Unit Separator`],[/\u007F/,`Delete`],[/\u0080/,`Padding Character`],[/\u0081/,`High Octet Preset`],[/\u0082/,`Break Permitted Here`],[/\u0083/,`No Break Here`],[/\u0084/,`Index`],[/\u0085/,`Next Line`],[/\u0086/,`Start of Selected Area`],[/\u0087/,`End of Selected Area`],[/\u0088/,`Character Tabulation Set`],[/\u0089/,`Character Tabulation with Justification`],[/\u008A/,`Line Tabulation Set`],[/\u008B/,`Partial Line Forward`],[/\u008C/,`Partial Line Backward`],[/\u008D/,`Reverse Line Feed`],[/\u008E/,`Single Shift Two`],[/\u008F/,`Single Shift Three`],[/\u0090/,`Device Control String`],[/\u0091/,`Private Use One`],[/\u0092/,`Private Use Two`],[/\u0093/,`Set Transmit State`],[/\u0094/,`Cancel Character`],[/\u0095/,`Message Waiting`],[/\u0096/,`Start of Protected Area`],[/\u0097/,`End of Protected Area`],[/\u0098/,`Start of String`],[/\u0099/,`Single Graphic Character Introducer`],[/\u009A/,`Single Character Introducer`],[/\u009B/,`Control Sequence Introducer`],[/\u009C/,`String Terminator`],[/\u009D/,`Operating System Command`],[/\u009E/,`Privacy Message`],[/\u009F/,`Application Program Command`],[/\u00A0/,`Non-breaking Space`],[/\u00AD/,`Soft Hyphen`],[/\u200B/,`Zero-width Space`],[/\u200C/,`Zero-width Non-joiner`],[/\u200D/,`Zero-width Joiner`],[/\u200E/,`Left-to-right Mark`],[/\u200F/,`Right-to-left Mark`],[/\u202A/,`Left-to-right Embedding`],[/\u202B/,`Right-to-left Embedding`],[/\u202C/,`Pop Directional Formatting`],[/\u202D/,`Left-to-right Override`],[/\u202E/,`Right-to-left Override`],[/\uFEFF/,`Byte Order Mark (BOM)`]];t||r.push([/\*/,`Asterisk`]);for(let[t,i]of r){let r=e.match(t);if(r){let e=JSON.stringify(r[0]).slice(1,-1);n.push(`Forbidden character: ${i}: "${e}"`)}}if(n.length>0)throw Error(`Invalid namespace "${e}":\n\t- ${n.join(`
|
|
11
|
+
- `)}`)}function De(e){return`yanki-media-${b(Te(e)).replaceAll(/-+/g,`-`)}`}function Oe(e){let t={"application/octet-stream":`mp4`,"application/ogg":`ogx`,"application/pdf":`pdf`,"application/x-shockwave-flash":`swf`,"audio/aac":`aac`,"audio/flac":`flac`,"audio/mp4":`m4a`,"audio/mpeg":`mp3`,"audio/ogg":`ogg`,"audio/opus":`opus`,"audio/wav":`wav`,"audio/webm":`webm`,"audio/x-speex":`spx`,"image/avif":`avif`,"image/gif":`gif`,"image/jpeg":`jpg`,"image/png":`png`,"image/svg+xml":`svg`,"image/tiff":`tif`,"image/vnd.microsoft.icon":`ico`,"image/webp":`webp`,"image/x-icon":`ico`,"text/markdown":`md`,"video/3gpp":`3gp`,"video/flv":`flv`,"video/matroska":`mkv`,"video/mp4":`mp4`,"video/mpeg":`mpg`,"video/msvideo":`avi`,"video/ogg":`ogv`,"video/quicktime":`mov`,"video/webm":`webm`,"video/x-flv":`flv`,"video/x-matroska":`mkv`,"video/x-msvideo":`avi`}[e];if(t!==void 0)return t}function I(e){return S.posix(e)||S.win32(e)}const ke=/^\\\\\?\\.+/;function L(e){if(ke.test(e))return console.warn(`Unsupported extended length path detected: ${e}`),e;let t=C(e),n=y.normalize(t);return t.startsWith(`./`)?`./${n}`:n}function Ae(e,t){let{basePath:n,compoundBase:r=!1,cwd:i}=t;return n!==void 0&&(I(n)||console.warn(`Base path "${n}" is not absolute`),i.startsWith(n)||console.warn(`CWD "${i}" does not start with base path "${n}"`)),I(i)||console.warn(`CWD "${i}" is not absolute`),I(e)?n===void 0||/^[A-Z]:/i.test(e)||!r&&e.startsWith(n)?e:y.join(n,e):y.join(i,e)}function je(e,t){let n=RegExp(`^${t}`,`i`);return e.replace(n,``)}function R(e){let t=y.dirname(e),[n,r]=ge(y.basename(e),/[#?^]/);return[y.join(t,n),r]}function z(e){return R(e)[0]}function Me(e){return R(e).at(1)??``}function Ne(e){return Pe(e)!==``}function Pe(e){return y.extname(z(e))}function Fe(e,t){return Ne(e)?e:Ie(e,t)}function Ie(e,t){let[n,r]=R(e);return`${n}.${t}${r??``}`}function Le(e){try{return decodeURI(e)}catch(t){console.warn(`Error decoding URI text: "${e}"`,t);return}}function B(e){try{let t=new URL(e),n=/^[a-z]:/i,r=/^file:/i;return(r.test(t.protocol)||n.test(t.protocol))&&!r.test(e)?void 0:t}catch{return}}function V(e){return B(e)!==void 0}function Re(e){let t=B(e);return t?.protocol===`file:`?t.pathname:e}function H(e){let t=B(e);if(t===void 0){let t=L(e);return I(t)||t.startsWith(`./`)||t.startsWith(`../`)?`localFilePath`:`localFileName`}return t.protocol===`file:`?`localFileUrl`:t.protocol===`obsidian:`?`obsidianVaultUrl`:t.protocol===`http:`||t.protocol===`https:`?`remoteHttpUrl`:`unsupportedProtocolUrl`}function ze(e,t){if(e===void 0)return;e instanceof Headers||(e=Be(e));let n=(e instanceof Headers?t.map(t=>e.get(t)):t.map(t=>e[t])).filter(e=>e!=null).join(``);if(n!==``)return n}function Be(e){let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}async function Ve(e,t){try{return(await t(e,{method:`HEAD`}))?.status===200}catch{return!1}}async function He(e,t,n=`metadata`){switch(n){case`metadata`:if(t===void 0)return He(e,t,`name`);try{let n=ze((await t(e,{method:`HEAD`}))?.headers,[`content-type`]);if(n===void 0)throw Error(`No content-type header found`);return Oe(n)}catch{return He(e,t,`name`)}case`name`:{let t,n=B(e);if(n===void 0){console.warn(`Could not parse URL: ${e}`);return}let r=n.pathname.split(`.`);return t=r.length>1?r.at(-1):n.search.split(`.`).at(-1),Se.includes(t??``)?t:void 0}}}async function Ue(e,t,n=`metadata`){switch(n){case`content`:return console.warn("`content` hash mode is not yet implemented for URLs"),Ue(e,t,`metadata`);case`metadata`:try{let n=ze((await t(e,{method:`HEAD`}))?.headers,[`etag`,`last-modified`,`content-length`]);if(n===void 0)throw Error(`No headers found`);return T(n,16)}catch{return Ue(e,t,`name`)}case`name`:return T(e,16)}}function We(e){let t=B(e);return t===void 0?void 0:{host:`${t.protocol}//${t.hostname}`,port:Number.parseInt(t.port,10)}}function Ge(e,t){return`${e}:${t}`}async function Ke(e,t){let n=V(e)?await He(e,t):y.extname(e).slice(1);if(!(n===void 0||!Se.includes(n)))return n}async function qe(e,t,n){return V(e)?Ve(e,n):Ce(e,t)}async function Je(e,t,n,r,i){if(!await qe(e,r,i))return;let a=De(t),o=await Ye(e,r,i),s=n===void 0?``:`.${n}`,c;if(c=`${a}-${o}${s}`,c.length>120)throw Error(`Filename too long: ${c}`);return c}async function Ye(e,t,n){return V(e)?Ue(e,n):we(e,t)}const Xe=f().use(function(){return function(e,t){if(t.data.strictLineBreaks===!1){ee()(e);return}return e}}).use(d,{allowDangerousHtml:!0}).use(l).use(function(){return function(e){let t=!1;_(e,(e,n,r)=>{if(r===void 0||n===void 0||e.type!==`element`)return m;if(e.tagName===`pre`&&e.children.length===1&&e.children[0].type===`element`&&e.children[0].tagName===`code`&&Array.isArray(e.children[0].properties.className)&&e.children[0].properties.className.includes(`language-math`)&&(t=!0,r.children.splice(n,1,e.children[0])),e.tagName===`code`&&Array.isArray(e.properties.className)&&e.properties.className.includes(`language-math`)){let n=e.properties.className.includes(`math-display`)||t;t=!1,e.tagName=n?`div`:`span`,e.children=[{type:`text`,value:n?String.raw`\[`:String.raw`\(`},...e.children,{type:`text`,value:n?String.raw`\]`:String.raw`\)`}]}})}}).use(a,{defaultLanguage:`plaintext`,fallbackLanguage:`plaintext`,themes:{dark:`github-dark`,light:`github-light`}}).use(s).use(u),Ze={...M};async function U(t,n){if(t===void 0)return``;let{cssClassNames:r,fetchAdapter:i=P(),fileAdapter:a=await N(),namespace:o,strictLineBreaks:s,syncMediaAssets:c,useEmptyPlaceholder:l}=e(Ze,n??{}),u=await Xe.run(t,{data:{strictLineBreaks:s}}),d=p(`root`,[p(`element`,{properties:{className:r?.map(e=>pe(e))},tagName:`div`},u.children)]),f=[];_(d,`element`,(e,t,n)=>{if(n===void 0||t===void 0||e.tagName!==`img`)return m;if(typeof e.properties.src!=`string`||e.properties?.src?.trim().length===0)return console.warn(`Image has no src`),m;let r,s=H(e.properties.src);switch(s){case`localFilePath`:if(r=Le(e.properties.src),r===void 0)return m;r=z(r);break;case`unsupportedProtocolUrl`:case`localFileName`:console.warn(`Unsupported URL for media asset, treating as link: "${e.properties.src}"`),r=e.properties.src;break;case`obsidianVaultUrl`:case`localFileUrl`:r=e.properties.src;break;case`remoteHttpUrl`:r=e.properties.src;break}f.push(async()=>{let l=await Ke(r,s===`obsidianVaultUrl`?void 0:i),u=l!==void 0&&s!==`unsupportedProtocolUrl`&&s!==`localFileName`&&s!==`obsidianVaultUrl`&&s!==`localFileUrl`,d=(s===`localFilePath`&&c===`local`||s===`remoteHttpUrl`&&c===`remote`||c===`all`)&&u,f=d?await Je(r,o,l,a,i):void 0,m=f??r,h=d&&f!==void 0?`true`:`false`;if(!u||xe.includes(l)){let i=V(m)?m:`${m}${Me(String(e.properties.dataYankiSrcOriginal))}`;n.children.splice(t,1,p(`element`,{properties:{className:[`yanki-media`,`yanki-media-${u?`file`:`unsupported`}`],"data-yanki-alt-text":e.properties.alt,"data-yanki-media-src":r,"data-yanki-media-sync":h,"data-yanki-src":m,"data-yanki-src-original":e.properties.dataYankiSrcOriginal},tagName:`span`},[p(`element`,{properties:{href:i},tagName:`a`},[p(`text`,decodeURI(String(e.properties.dataYankiSrcOriginal)))])]))}else ye.includes(l)?(e.properties.src=m,e.properties.className=[`yanki-media`,`yanki-media-image`],e.properties.dataYankiMediaSrc=r,e.properties.dataYankiMediaSync=h):be.includes(l)&&n.children.splice(t,1,p(`element`,{properties:{className:[`yanki-media`,`yanki-media-audio-video`],"data-yanki-alt-text":e.properties.alt,"data-yanki-media-src":r,"data-yanki-media-sync":h,"data-yanki-src":m,"data-yanki-src-original":e.properties.dataYankiSrcOriginal},tagName:`span`},[p(`text`,`[sound:${m}]`)]))})});for(let e of f)await e();_(d,`element`,(e,t,n)=>{if(n===void 0||t===void 0||e.tagName!==`img`||D(String(e.properties.alt))===void 0)return m;let{alt:r,height:i,width:a}=it(String(e.properties.alt??``));r===void 0?delete e.properties.alt:e.properties.alt=r,i!==void 0&&(e.properties.height=i),a!==void 0&&(e.properties.width=a)});let h=ot(d);if(h&&!l)return``;let g=h?st(d,ve):d;return $e(Xe.stringify(g)).trim()}const Qe=f().use(c,{fragment:!0});function $e(e){return`<!-- This HTML was generated by Yanki, a Markdown to Anki converter. Do not edit directly. -->\n${e}`}function et(e){return o(e)}function tt(e){return et(Qe.parse(e))}function nt(e){return tt(e).split(`
|
|
12
|
+
`).map(e=>e.trim()).filter(e=>e.length>0).join(` `)}function W(e){return tt(e).split(`
|
|
13
|
+
`).map(e=>e.trim()).find(e=>e.length>0)??``}function rt(e){let t=Qe.parse(e),n=[];return _(t,`element`,e=>{if((e.tagName===`img`||e.tagName===`span`)&&e.properties?.dataYankiMediaSync===`true`){let t=e.properties?.src??e.properties?.dataYankiSrc,r=e.properties?.dataYankiMediaSrc;t!==void 0&&r!==void 0&&typeof t==`string`&&typeof r==`string`&&n.push({filename:t,originalSrc:r})}}),n}function it(e){let t=e.split(`|`),n=D(t.pop()),r=D(t.join(`|`));if(n!==void 0){let{width:e,height:t}=at(n);if(e!==void 0||t!==void 0)return{alt:r,height:t,width:e}}return{alt:e,height:void 0,width:void 0}}function at(e){if(!/^[\dx]+$/.test(e))return{width:void 0,height:void 0};if(!e.includes(`x`)){let t=Number.parseInt(e,10);if(!Number.isNaN(t))return{width:t,height:void 0}}let[t,n]=e.split(`x`).map(e=>Number.parseInt(e,10));return{width:Number.isNaN(t)||t===void 0?void 0:t,height:Number.isNaN(n)||n===void 0?void 0:n}}function ot(e){let t=!1;return _(e,e=>{if(!t){if(e.type===`element`){let n=e,{tagName:r}=n;if([`img`,`video`,`audio`,`iframe`,`object`,`embed`,`canvas`,`svg`,`picture`].includes(r)||o(n).trim())return t=!0,h}if(e.type===`text`&&e.value!==void 0&&e.value.trim()!==``)return t=!0,h}}),!t}function st(e,t){return _(e,`element`,e=>{if(e.tagName===`div`)return e.children.unshift(t),h}),e}const G=[{cardTemplates:[{Back:`{{FrontSide}}
|
|
14
|
+
|
|
15
|
+
<hr id=answer>
|
|
16
|
+
|
|
17
|
+
{{Back}}`,Front:`{{Front}}`,YankiNamespace:`{{YankiNamespace}}`}],inOrderFields:[`Front`,`Back`,`YankiNamespace`],modelName:`Yanki - Basic`},{cardTemplates:[{Back:`{{cloze:Front}}<br>
|
|
18
|
+
{{Back}}`,Front:`{{cloze:Front}}`,YankiNamespace:`{{YankiNamespace}}`}],inOrderFields:[`Front`,`Back`,`YankiNamespace`],isCloze:!0,modelName:`Yanki - Cloze`},{cardTemplates:[{Back:`{{Front}}
|
|
19
|
+
|
|
20
|
+
<hr id=answer>
|
|
21
|
+
|
|
22
|
+
{{type:Back}}`,Front:`{{Front}}
|
|
23
|
+
|
|
24
|
+
{{type:Back}}`,YankiNamespace:`{{YankiNamespace}}`}],inOrderFields:[`Front`,`Back`,`YankiNamespace`],modelName:`Yanki - Basic (type in the answer)`},{cardTemplates:[{Back:`{{FrontSide}}
|
|
25
|
+
|
|
26
|
+
<hr id=answer>
|
|
27
|
+
|
|
28
|
+
{{Back}}{{#Extra}}
|
|
29
|
+
|
|
30
|
+
<hr>
|
|
31
|
+
|
|
32
|
+
{{Extra}}{{/Extra}}`,Front:`{{Front}}`,YankiNamespace:`{{YankiNamespace}}`},{Back:`{{FrontSide}}
|
|
33
|
+
|
|
34
|
+
<hr id=answer>
|
|
35
|
+
|
|
36
|
+
{{Front}}{{#Extra}}
|
|
37
|
+
|
|
38
|
+
<hr>
|
|
39
|
+
|
|
40
|
+
{{Extra}}{{/Extra}}`,Front:`{{Back}}`,YankiNamespace:`{{YankiNamespace}}`}],inOrderFields:[`Front`,`Back`,`Extra`,`YankiNamespace`],modelName:`Yanki - Basic (and reversed card with extra)`}],K=G.map(e=>e.modelName),ct=[`Yanki - Basic (and reversed card)`];async function lt(e,t,n=!1){if(n)return;let r=t.map(e=>e.noteId).filter(e=>e!==void 0);await e.note.deleteNotes({notes:r})}async function q(e,t,n){if(t.noteId!==void 0)throw Error(`Note already has an ID`);if(n)return 0;let r=await e.note.addNote({note:{...t,options:{allowDuplicate:!0}}}).catch(async r=>{if(r instanceof Error){if(r.message===`model was not found: ${t.modelName}`){let r=G.find(e=>e.modelName===t.modelName);if(r===void 0)throw Error(`Model not found: ${t.modelName}`);return await e.model.createModel(r),q(e,t,n)}if(r.message===`deck was not found: ${t.deckName}`){if(t.deckName===``)throw Error(`Deck name is empty`);return await e.deck.createDeck({deck:t.deckName}),q(e,t,n)}throw r}else throw TypeError(`Unknown error`)});if(r===null)throw Error(`Note creation failed`);return await vt(e,t,n),r}async function ut(e,t,n,r){if(t.noteId===void 0)throw Error(`Local note ID is undefined`);if(n.cards===void 0)throw Error(`Remote note cards are undefined`);let i=!1;if(t.deckName!==n.deckName){if(t.deckName===``)throw Error(`Local deck name is empty`);r||await e.deck.changeDeck({cards:n.cards,deck:t.deckName}),i=!0}return(!pt(t.tags??[],n.tags??[])||!dt(t.fields,n.fields)||t.modelName!==n.modelName)&&(r||(await e.note.updateNoteModel({note:{...t,id:t.noteId,tags:t.tags??[]}}).catch(async i=>{if(i instanceof Error){if(i.message===`Model '${t.modelName}' not found`){let i=G.find(e=>e.modelName===t.modelName);if(i===void 0)throw Error(`Model not found: ${t.modelName}`);return await e.model.createModel(i),ut(e,t,n,r)}throw i}else throw TypeError(`Unknown error`)}),await vt(e,t,r)),i=!0),i}function dt(e,t){for(let n of[`Front`,`Back`,`Extra`])if(n in e&&n in t){if(e[n].normalize(`NFC`)!==t[n].normalize(`NFC`))return!1}else if(n in e||n in t)return!1;return!0}function ft(e,t,n=!0){return!(n&&e.noteId!==t.noteId||e.deckName!==t.deckName||e.modelName!==t.modelName||!dt(e.fields,t.fields)||!pt(e.tags??[],t.tags??[]))}function pt(e,t){let n=new Set(e.map(e=>e.normalize(`NFC`).toLowerCase())),r=new Set(t.map(e=>e.normalize(`NFC`).toLowerCase()));return new Set([...n,...r]).size===r.size}async function J(e,t=M.namespace){return await mt(e,await e.note.findNotes({query:`"YankiNamespace:${t}"`}))}async function mt(e,t){let n=await e.note.notesInfo({notes:t}),r=[];if(n.every(e=>e.noteId===void 0))return Array.from({length:n.length}).fill(void 0);let i=n.flatMap(e=>e.cards??[]),a=await e.deck.getDecks({cards:i}),o=new Map;for(let[e,t]of Object.entries(a))for(let n of t)o.set(n,e);let s=new Map,c=new Map;for(let t of n){if(t.noteId===void 0){r.push(void 0);continue}if(![...ct,...K].includes(t.modelName))throw Error(`Unknown model name ${t.modelName} for note ${t.noteId}`);let n=[...new Set(t.cards.map(e=>o.get(e)))];n.length;let i=n.at(0);if(i===void 0)throw Error(`No deck found for cards in note ${t.noteId}`);if(!s.has(i)){let t=!!(await e.deck.getDeckConfig({deck:i})).dyn;if(s.set(i,t),t){let t=await e.deck.deckNames();for(let n of t)if(!s.has(n)){let t=await e.deck.getDeckConfig({deck:n});s.set(n,!!t.dyn)}let n=[...s.entries()].filter(([e,t])=>!t&&e!==`Default`).map(([e])=>e).sort((e,t)=>t.split(`::`).length-e.split(`::`).length);n.push(`Default`);for(let e of n)c.set(e,void 0)}}if(s.get(i)){let n=c.keys(),r=!1;for(let a of n)if(c.get(a)===void 0&&c.set(a,await e.note.findNotes({query:`"deck:${a}"`})),c.get(a)?.includes(t.noteId)){i=a,r=!0;break}if(!r)throw Error(`No matching non-filtered deck found for note ${t.noteId}`)}r.push({cards:t.cards,deckName:i,fields:{Back:t.fields.Back.value??``,...t.fields.Extra!==void 0&&{Extra:t.fields.Extra.value??``},Front:t.fields.Front.value??``,YankiNamespace:t.fields.YankiNamespace.value??``},modelName:t.modelName,noteId:t.noteId,tags:t.tags})}return r}async function ht(e,t,n,r){let i=[...new Set(t.map(e=>e.deckName))].filter(Boolean),a=[...new Set(n.map(e=>e.deckName))].filter(Boolean).filter(e=>!i.includes(e)),o=[];for(let e of a){let t=e.split(`::`);if(t.length!==1)for(;t.length>1;){t.pop();let e=t.join(`::`);if(i.some(t=>e.includes(t)))break;o.push(e)}}let s=[...new Set([...a,...o])].sort(),c=[];for(let i of s){let a=await e.deck.getDeckStats({decks:[i]}),o=Object.values(a);if(o.length>1){console.warn(`Multiple decks found for deck name: ${i}`);continue}let s=o.at(0);if(s===void 0){console.warn(`Deck not found for deck name: ${i}`);continue}let l=Math.max(s.total_in_deck,s.new_count+s.learn_count+s.review_count);if(r){let e=n.filter(e=>e.deckName===i).length,r=t.filter(e=>e.deckName===i).length;l===e&&r===0&&!c.includes(i)&&c.push(i)}else l===0&&!c.includes(i)&&c.push(i)}return r||await e.deck.deleteDecks({cardsToo:!0,decks:c}),c}async function gt(e,t,n,r){let i;try{let{css:n}=await e.model.modelStyling({modelName:t});i=n}catch(i){if(i instanceof Error){if(i.message===`model was not found: ${t}`){let i=G.find(e=>e.modelName===t);if(i===void 0)throw Error(`Model not found: ${t}`);return r?!1:(await e.model.createModel(i),gt(e,i.modelName,n,r))}throw i}else throw TypeError(`Unknown error`)}return i!==void 0&&i===n?!1:(r||await e.model.updateModelStyling({model:{css:n,name:t}}),!0)}async function _t(e,t=K[0]){let{css:n}=await e.model.modelStyling({modelName:t});return n}async function vt(e,t,n){let r=rt(`${t.fields.Front}\n${t.fields.Back}\n${t.fields.Extra}`),i=[];for(let{filename:t,originalSrc:a}of r)if((await e.media.getMediaFilesNames({pattern:t})).length===0){if(!n)try{let n=await e.media.storeMediaFile(V(a)?{deleteExisting:!0,filename:t,url:a}:{deleteExisting:!0,filename:t,path:a});t!==n&&console.warn(`Anki media filename mismatch: Expected: "${t}" -> Received: "${n}"`)}catch(e){console.warn(`Anki could not store media file: "${t}"\n${String(e)}`)}i.push({filename:t,originalSrc:a})}return i}async function yt(e,t,n,r){if(r)return[];let i=De(n),a=[];for(let e of t){let t=rt(`${e.fields.Front}\n${e.fields.Back}\n${e.fields.Extra}`);for(let{filename:e}of t)a.push(e)}let o=await e.media.getMediaFilesNames({pattern:`${i}-*`}),s=[];for(let t of o)a.includes(t)||(await e.media.deleteMediaFile({filename:t}),s.push(t));return s}async function Y(e){try{let{permission:t}=await e.miscellaneous.requestPermission();if(t===`denied`)throw Error(`Permission denied, please add this source to the "webCorsOriginList" in the Anki-Connect add-on configuration options.`);return`granted`}catch(e){if(e instanceof Error&&(e.message===`fetch failed`||e.message===`net::ERR_CONNECTION_REFUSED`))return`ankiUnreachable`;throw e}}async function X(e){try{await e.miscellaneous.sync()}catch{console.warn(`Could not sync to AnkiWeb.`)}}const bt={...M};async function xt(t){let n=performance.now(),{ankiConnectOptions:i,ankiWeb:a,dryRun:o,namespace:s}=e(bt,t??{}),c=F(s,!0),l=new r(i);if(await Y(l)===`ankiUnreachable`)throw Error(`Anki is unreachable. Is Anki running?`);let u=await J(l,c);await lt(l,u,o);let d=await ht(l,[],u,o),f=await yt(l,[],c,o);return u.length>0||d.length,!o&&a&&await X(l),{ankiWeb:a,deletedDecks:d,deletedMedia:f,deletedNotes:u,dryRun:o,duration:performance.now()-n,namespace:c}}function St(e,r=!1){let i=e.deletedDecks.length,a=e.deletedNotes.length,o=e.deletedMedia.length;if(i===0&&a===0&&o===0)return`Nothing to delete`;let s=[`${e.dryRun?`Will`:`Successfully`} deleted ${a} ${t(`note`,a)}, ${i} ${t(`deck`,i)}, and ${o} media ${t(`asset`,o)} from Anki${e.dryRun?``:` in ${n(e.duration)}`}.`];if(r){if(a>0){s.push(``,e.dryRun?`Notes to delete:`:`Deleted notes:`);for(let t of e.deletedNotes){let e=E(W(t.fields.Front),50);s.push(` Note ID ${t.noteId} ${e}`)}}if(i>0){s.push(``,e.dryRun?`Decks to delete:`:`Deleted decks:`);for(let t of e.deletedDecks)s.push(` ${t}`)}if(o>0){s.push(``,e.dryRun?`Media assets to delete:`:`Deleted media assets:`);for(let t of e.deletedMedia)s.push(` ${t}`)}}return s.join(`
|
|
41
|
+
`)}const Ct={...M};async function wt(t){let n=performance.now(),{ankiConnectOptions:i,namespace:a}=e(Ct,t??{}),o=F(a,!0),s=new r(i);if(await Y(s)===`ankiUnreachable`)throw Error(`Anki is unreachable. Is Anki running?`);let c=await J(s,o);return{duration:performance.now()-n,namespace:o,notes:c}}function Tt(e){if(e.notes.length===0)return`No notes found.`;let t=[];for(let n of e.notes){let e=E(W(n.fields.Front),50);t.push(`Note ID ${n.noteId} ${e}`)}return t.join(`
|
|
42
|
+
`)}function Et(e,t,n){if(t===`off`)throw Error(`manageFilenames must not be off`);switch(e.modelName){case`Yanki - Basic`:case`Yanki - Basic (and reversed card with extra)`:case`Yanki - Basic (type in the answer)`:{let r=D(Z(e.fields.Front).replace(k,``).replace(A,``)),i=D(Z(e.fields.Back).replace(k,``).replace(A,``));switch(t){case`prompt`:return Z(r??i??``,n);case`response`:return Z(i??r??``,n)}}case`Yanki - Cloze`:{let r=nt(e.fields.Front),i=D(r.split(`{{`).at(0)??``),a=D(/\{\{\w\d*\s?:{0,2}([^:}]+)/.exec(r)?.at(1)),o=D(r.split(`}}`).at(1)?.split(`{{`).at(0)??``);switch(t){case`prompt`:return Z(i??o??a??``,n);case`response`:return Z(a??i??o??``,n)}}}}function Z(e,t){let n=te(W(e).trim(),{maxLength:2**53-1,replacement:` `}).replaceAll(/\s+/g,` `).trim();return n.length===0&&(n=A),n=n.normalize(`NFC`),t===void 0?n:E(n,Math.min(t,108))}function Dt(e,t){let n=At(e,1),r=2;for(;t.includes(n.toLowerCase());)n=At(e,r),r++;return n}function Ot(e,t){let n=At(e,2);return t.includes(n.toLowerCase())?e:kt(e)}function kt(e){let t=e.endsWith(`.`)||e.endsWith(`)`)?void 0:y.extname(e),n=y.basename(e,t).replace(/\s\(\d+\)$/,``);return y.join(y.dirname(e),`${n}${t??``}`)}function At(e,t){let n=y.extname(e),r=`${kt(y.basename(e,n))} (${t})`;return y.join(y.dirname(e),`${r}${n}`)}function jt(e){return`${e}-${ne(8)}`}const Mt={allFilePaths:[],basePath:void 0,convertFilePathsToProtocol:`none`,obsidianVaultName:void 0};function Q(t,n){let{allFilePaths:r,basePath:i,convertFilePathsToProtocol:a,cwd:o,obsidianVaultName:s,type:c}=e(Mt,n??{});a===`obsidian`&&s===void 0&&console.warn(`convertFilePathsToProtocol is 'obsidian', but no obsidianVaultName provided`);let l=Le(t)??t;switch(H(l)){case`localFileName`:{let e=Fe(L(l),`md`);return e=Nt(e,o,r??[])??Ae(l,{basePath:i,cwd:o}),H(e)===`localFilePath`?Q(e,{allFilePaths:r,basePath:i,convertFilePathsToProtocol:a,cwd:o,obsidianVaultName:s,type:c}):(console.warn(`Failed to convert local file wiki-style name to path: ${t} --> ${e}`),e)}case`localFilePath`:{let e=Ae(L(l),{basePath:i,cwd:o}),t=Pt(Fe(e,`md`),r??[])??Pt(Ie(e,`md`),r??[])??void 0;if(t!==void 0){if(a!==`none`&&(c===`link`||c===`embed`&&[`.md`,`.pdf`].includes(Pe(t)))){if(a===`obsidian`&&s!==void 0)return It(t,i??``,s);if(a===`file`)return Ft(t)}return z(t)}return z(e)}case`localFileUrl`:{let e=L(Re(t));return H(e)===`localFilePath`?Q(e,{allFilePaths:r,basePath:i,convertFilePathsToProtocol:a,cwd:o,obsidianVaultName:s,type:c}):(console.warn(`Failed to convert file URL to path: ${t} --> ${e}`),e)}case`obsidianVaultUrl`:return t;case`remoteHttpUrl`:return t;case`unsupportedProtocolUrl`:return console.warn(`Unsupported URL protocol: ${t}`),t}}function Nt(e,t,n){if(n.length===0)return;let[r,i]=R(e),a=r.replace(/\.md$/,``).toLowerCase(),o=n.filter(e=>e.replace(/\.md$/,``).toLowerCase().endsWith(a));if(o.length!==0)return o.length===1?`${o[0]}${i??``}`:`${[...o].sort((e,n)=>{if(!r.endsWith(`.md`)||r.includes(y.sep)){let r=e.startsWith(t);if(r!==n.startsWith(t))return r?-1:1}let i=e.split(y.sep).length,a=n.split(y.sep).length;return i===a?e.localeCompare(n):i-a})[0]}${i??``}`}function Pt(e,t){let n=z(e);if(t.some(e=>e.toLowerCase().endsWith(n.toLowerCase())))return e}function Ft(e){return`file://${e}`}function It(e,t,n){let r=je(e,t);return`obsidian://open?vault=${encodeURIComponent(n)}&file=${encodeURIComponent(r)}`}const Lt=function(e){let{allFilePaths:t=[],basePath:n,cwd:r,enabled:i=!0,obsidianVault:a}=e;return function(e){i&&(_(e,`link`,e=>{e.data??={},e.data.hProperties={...e.data?.hProperties,"data-yanki-src-original":e.url};let i=Q(e.url,{allFilePaths:t,basePath:n,convertFilePathsToProtocol:a===void 0?`none`:`obsidian`,cwd:r,obsidianVaultName:a,type:`link`});e.url=V(i)?i:encodeURI(i)}),_(e,`image`,e=>{e.data??={},e.data.hProperties={...e.data?.hProperties,"data-yanki-src-original":e.url};let i=Q(e.url,{allFilePaths:t,basePath:n,convertFilePathsToProtocol:a===void 0?`none`:`obsidian`,cwd:r,obsidianVaultName:a,type:`embed`});e.url=V(i)?i:encodeURI(i)}))}};function Rt(){let e=``,t;return{enter:{wikiEmbed:r,wikiLabel:o,wikiLink:n,wikiUrl:i},exit:{wikiEmbed:l,wikiLabel:s,wikiLink:c,wikiUrl:a}};function n(n){e=``,t=void 0,this.enter({children:[],title:void 0,type:`link`,url:``},n)}function r(n){e=``,t=void 0,this.enter({type:`image`,url:``},n)}function i(){this.buffer()}function a(){e=this.resume()}function o(){this.buffer()}function s(){t=this.resume()}function c(n){let r=this.stack.at(-1);r.url=de(e),r.children=[{type:`text`,value:D((t??``).replaceAll(`|`,``))??e.split(`#`).pop()??e.split(`/`).pop()??e}],this.exit(n)}function l(n){let r=this.stack.at(-1);r.url=de(e),t!==void 0&&(r.alt=t),this.exit(n)}}function zt(){return{text:{33:{name:`wikiEmbed`,tokenize:e},91:{name:`wikiLink`,tokenize:e}}};function e(e,t,n){let r=!1,i=!1,a=0,o=0;return s;function s(t){return t===33?(r=!0,e.enter(`wikiEmbed`),e.enter(`wikiMarker`),e.consume(t),c):(e.enter(`wikiLink`),e.enter(`wikiMarker`),c(t))}function c(t){return t===91?(e.consume(t),l):n(t)}function l(t){return t===91?(e.consume(t),e.exit(`wikiMarker`),u):n(t)}function u(t){return t===-5||t===-4||t===-3||t===null||t===124||t===93?n(t):(e.enter(`wikiUrl`),e.enter(`chunkString`,{contentType:`string`}),e.consume(t),a++,d)}function d(t){return t===-5||t===-4||t===-3||t===null?n(t):t===124?a===1?n(t):x(t):t===92?e.check({partial:!0,tokenize:b},x,f)(t):t===93?h(t):f(t)}function f(t){return e.consume(t),a++,d}function p(t){return t===-5||t===-4||t===-3||t===null?n(t):t===93?h(t):(e.enter(`wikiLabel`),e.enter(`chunkString`,{contentType:`string`}),e.consume(t),o++,m)}function m(t){return t===-5||t===-4||t===-3||t===null?n(t):t===93?h(t):(e.consume(t),o++,m)}function h(t){return t===93?e.check({partial:!0,tokenize:y},g,v)(t):n(t)}function g(t){return t===93?(i?o>0&&(e.exit(`chunkString`),e.exit(`wikiLabel`)):a>0&&(e.exit(`chunkString`),e.exit(`wikiUrl`)),e.enter(`wikiMarker`),e.consume(t),_):n(t)}function _(i){return i!==93||a===0?n(i):(e.consume(i),e.exit(`wikiMarker`),r?e.exit(`wikiEmbed`):e.exit(`wikiLink`),t)}function v(t){return t===93?(e.consume(t),i?(o++,m):(a++,d)):n(t)}function y(e,t,n){return r;function r(r){return r===93?(e.enter(`wikiMarkerTemp`),e.consume(r),e.exit(`wikiMarkerTemp`),t(r)):n(r)}}function b(e,t,n){return r;function r(t){return t===92?(e.enter(`wikiMarkerTemp`),e.consume(t),i):n(t)}function i(r){return r===124?(e.consume(r),e.exit(`wikiMarkerTemp`),t(r)):(e.exit(`wikiMarkerTemp`),n(r))}}function x(t){return e.exit(`chunkString`),e.exit(`wikiUrl`),e.enter(`wikiMarker`),e.consume(t),t===92?C:(e.exit(`wikiMarker`),i=!0,e.check({partial:!0,tokenize:S},h,p)(t))}function S(e,t,n){return r;function r(r){return r===93?(e.enter(`wikiMarkerTemp`),e.consume(r),e.exit(`wikiMarkerTemp`),t(r)):n(r)}}function C(t){return t===124?(e.consume(t),e.exit(`wikiMarker`),i=!0,p):n(t)}}}const Bt=function(){let e=this.data();e.micromarkExtensions=[...e.micromarkExtensions??[],zt()],e.fromMarkdownExtensions=[...e.fromMarkdownExtensions??[],Rt()]},Vt={...M};async function Ht(t,n){let{allFilePaths:r,basePath:i,cwd:a,obsidianVault:o,resolveUrls:s}=e(Vt,n??{}),c=f().use(ce).use(ie,[{anywhere:!1,marker:`-`,type:`yaml`}]).use(Bt).use(ae,{singleTilde:!1}).use(Lt,{allFilePaths:r,basePath:i,cwd:a,enabled:s,obsidianVault:o}).use(se).use(oe).use(w).use(re);return c.run(c.parse(t))}function Ut(e){return e.type===`text`}function Wt(e,t){return _(e,t,(e,t,n)=>{if(n&&t!==void 0)return n.children.splice(t,1),h}),e}function Gt(e){let t=e.at(0);t?.type===`text`&&(t.value=t.value.trimStart(),t.value===``&&e.shift());let n=e.at(-1);return n?.type===`text`&&(n.value=n.value.trimEnd(),n.value===``&&e.pop()),e}function Kt(e){let t=1;return _(e,`delete`,(e,n,r)=>{if(r===void 0||n===void 0||!(`children`in e)||e.children.length===0)return m;if(e.children.length>0&&Ut(e.children[0])){let n=/^[(|]?(\d{1,2})(?:[\s).|]|$)(.*)$/.exec(e.children[0].value);if(n!==null&&(e.children.length>1||(n.at(2)??``).length>0)){let r=Number.parseInt(n.at(1)??``,10);Number.isNaN(r)||(t=r,e.children[0].value=(n.at(2)?.trim().length??0)>0?n.at(2)??``:``)}}let i=e.children.at(-1),a=e.children.length>1&&i?.type===`emphasis`?[p(`text`,`{{c${t}::`),...Gt(e.children.slice(0,-1)),p(`text`,`::`),...Gt(e.children.slice(-1)),p(`text`,`}}`)]:[p(`text`,`{{c${t}::`),...Gt(e.children),p(`text`,`}}`)];r.children.splice(n,1,...a),t+=1}),e}function $(e){let t,n=!1;return _(e,`thematicBreak`,(e,r,i)=>r===void 0||i===void 0?m:(t=r,i.children[r+1]?.type===`thematicBreak`&&(n=!0),h)),t===void 0?[e,void 0]:[{children:e.children.slice(0,t),type:`root`},{children:e.children.slice(t+(n?2:1)),type:`root`}]}function qt(e){let t;if(_(e,e=>{if(e.type===`thematicBreak`)return t=void 0,h;if(e.type===`delete`)return t=`Yanki - Cloze`,h}),t!==void 0)return t;if(!Yt(e)&&Xt(e))return`Yanki - Basic (type in the answer)`;let n;return _(e,(e,r,i)=>{if(i===null||r===null)return m;if(e.type===`thematicBreak`){if(t===void 0)t=`Yanki - Basic`;else if(t===`Yanki - Basic`&&n?.type===`thematicBreak`)return t=`Yanki - Basic (and reversed card with extra)`,h}n=e}),t??`Yanki - Basic`}function Jt(e){let t;if(_(e,`yaml`,e=>`value`in e?(t=e.value,h):m),!t)return{};let n=le(t);if(!n)throw Error(`Could not parse frontmatter`);return n}function Yt(e){let t=!1;return _(e,`thematicBreak`,()=>(t=!0,h)),t}function Xt(e){let t,n=0;return _(e,e=>{if(e.type===`text`&&e.value.trim()!==``)t=e,n++;else if(e.type===`emphasis`&&e.children.some(e=>e.type===`text`&&e.value.trim()!==``))return t=e,n++,g}),t?.type===`emphasis`&&n>1}function Zt(e){let t,n,r;if(_(e,`emphasis`,(e,i,a)=>{if(a===void 0||i===void 0||e.type!==`emphasis`)return m;t=e,n=a,r=i}),n&&t&&typeof r==`number`)return n.children.splice(r,1),t}const Qt={namespaceValidationAndSanitization:!0,...M};async function $t(t,n){let{allFilePaths:r,basePath:i,cwd:a,fetchAdapter:o=P(),fileAdapter:s=await N(),namespace:c,namespaceValidationAndSanitization:l,obsidianVault:u,resolveUrls:d,strictLineBreaks:f,syncMediaAssets:m}=e(Qt,n??{}),h=l?F(c):c,g=await Ht(t,{allFilePaths:r,basePath:i,cwd:a,obsidianVault:u,resolveUrls:d}),_=qt(g),v=Jt(g);g=Wt(g,`yaml`);let y=``,b=``,x;switch(_){case`Yanki - Basic`:case`Yanki - Basic (and reversed card with extra)`:{let[e,t]=$(g),n;if(t!==void 0&&_===`Yanki - Basic (and reversed card with extra)`){x=``;let[e,r]=$(t);t=e,n=r}y=await U(e,{cssClassNames:[O,`namespace-${h}`,`front`,`model-${_}`],fetchAdapter:o,fileAdapter:s,namespace:h,strictLineBreaks:f,syncMediaAssets:m,useEmptyPlaceholder:!0}),b=await U(t,{cssClassNames:[O,`namespace-${h}`,`back`,`model-${_}`],fetchAdapter:o,fileAdapter:s,namespace:h,strictLineBreaks:f,syncMediaAssets:m,useEmptyPlaceholder:!0}),n!==void 0&&(x=await U(n,{cssClassNames:[O,`namespace-${h}`,`extra`,`model-${_}`],fetchAdapter:o,fileAdapter:s,namespace:h,strictLineBreaks:f,syncMediaAssets:m,useEmptyPlaceholder:!1}));break}case`Yanki - Basic (type in the answer)`:{let e=Zt(g);if(e===void 0)throw Error(`Could not find emphasis in Basic (type in the answer) note AST.`);let t=g,n=p(`root`,p(`paragraph`,e.children));y=await U(t,{cssClassNames:[O,`namespace-${h}`,`front`,`model-${_}`],fetchAdapter:o,fileAdapter:s,namespace:h,strictLineBreaks:f,syncMediaAssets:m,useEmptyPlaceholder:!0}),b=await U(n,{cssClassNames:[O,`namespace-${h}`,`back`,`model-${_}`],fetchAdapter:o,fileAdapter:s,namespace:h,strictLineBreaks:f,syncMediaAssets:m,useEmptyPlaceholder:!1});break}case`Yanki - Cloze`:{let[e,t]=$(g);y=await U(Kt(e),{cssClassNames:[O,`namespace-${h}`,`front`,`model-${_}`],fetchAdapter:o,fileAdapter:s,namespace:h,strictLineBreaks:f,syncMediaAssets:m,useEmptyPlaceholder:!0}),b=await U(t,{cssClassNames:[O,`namespace-${h}`,`back`,`model-${_}`],fetchAdapter:o,fileAdapter:s,namespace:h,strictLineBreaks:f,syncMediaAssets:m,useEmptyPlaceholder:!1});break}}return{deckName:``,fields:{Back:b,...x!==void 0&&{Extra:x},Front:y,YankiNamespace:h},modelName:_,noteId:v.noteId??void 0,tags:en(v.tags)}}function en(e){return(typeof e==`string`?[e]:e??[]).map(e=>e.replaceAll(`/`,`::`))}const tn={...M};async function nn(t,n){let{allFilePaths:r,basePath:i,fetchAdapter:a=P(),fileAdapter:o=await N(),namespace:s,obsidianVault:c,strictLineBreaks:l,syncMediaAssets:u}=e(tn,n??{}),d=F(s);t.sort((e,t)=>e.localeCompare(t));let f=an(t);return await Promise.all(t.map(async(e,t)=>{let n=await o.readFile(e),s=await $t(n,{allFilePaths:r,basePath:i,cwd:y.dirname(e),fetchAdapter:a,fileAdapter:o,namespace:d,namespaceValidationAndSanitization:!1,obsidianVault:c,strictLineBreaks:l,syncMediaAssets:u});return s.deckName===``&&(s.deckName=f[t]),{filePath:e,filePathOriginal:e,markdown:n,note:s}}))}const rn={mode:`common-root`};function an(t,n){let{mode:r}=e(rn,n??{});if(t.length===0)return[];let i=t.map(e=>y.dirname(e).split(y.sep)),a=i.reduce((e,t)=>e.filter((e,n)=>e===t[n])),o=i.some(e=>e.at(-1)===a.at(-1)),s=r===`common-parent`||o?1:0;return i.map(e=>e.slice(a.length-s).join(`::`))}const on={...M};async function sn(t,n){let{dryRun:r,fileAdapter:i=await N(),manageFilenames:a,maxFilenameLength:o}=e(on,n??{});if(a!==`off`){let e=[];for(let n of t){let{filePath:t,note:r}=n;if(t===void 0)throw Error(`File path is undefined`);let i=Et(r,a,o),s=Dt(y.join(y.dirname(t),`${i}${y.extname(t)}`),e);n.filePath=s,e.push(s.toLowerCase())}for(let n of t){let{filePath:t}=n;if(t===void 0)throw Error(`File path is undefined`);n.filePath=Ot(t,e)}let n=new Map;for(let e of t){let{filePath:a,filePathOriginal:o}=e;if(o===void 0)throw Error(`Original file path is undefined.`);if(a===void 0)throw Error(`File path is undefined.`);if(a===o)continue;let s=a;t.some(({filePath:e,filePathOriginal:t})=>e!==a&&t?.toLowerCase()===a.toLowerCase())&&(s=jt(a),n.set(s,a)),r||await i.rename(o,s)}for(let[e,t]of n)r||await i.rename(e,t)}return t.sort((e,t)=>e.filePath.localeCompare(t.filePath)),t}const cn={...M};async function ln(t,n){let{allFilePaths:r,basePath:i,dryRun:a,fetchAdapter:o=P(),fileAdapter:s=await N(),manageFilenames:c,maxFilenameLength:l,namespace:u,obsidianVault:d,strictLineBreaks:f,syncMediaAssets:p}=e(cn,n??{}),m=t.map(e=>L(e)),h=i===void 0?void 0:L(i);return{dryRun:a,notes:await sn(await nn(m,{allFilePaths:r.map(e=>L(e)),basePath:h,fetchAdapter:o,fileAdapter:s,namespace:F(u),obsidianVault:d,strictLineBreaks:f,syncMediaAssets:p}),{dryRun:a,fileAdapter:s,manageFilenames:c,maxFilenameLength:l})}}const un={css:_e,...M},dn={...M};async function fn(t){let{ankiConnectOptions:n}=e(un,t??{}),i=new r(n);if(await Y(i)===`ankiUnreachable`)throw Error(`Anki is unreachable. Is Anki running?`);let a=new Set;for(let e of K){let t=await _t(i,e);a.add(t)}if(a.size===0)throw Error(`No CSS found in any Yanki model.`);if(a.size>1)throw Error(`Expected all Yanki models to have identical CSS.`);return[...a][0]}async function pn(t){let n=performance.now(),{ankiConnectOptions:i,ankiWeb:a,css:o,dryRun:s}=e(un,t??{}),c=new r(i);if(await Y(c)===`ankiUnreachable`)throw Error(`Anki is unreachable. Is Anki running?`);let l=[];for(let e of K){let t=await gt(c,e,o,s);l.push({action:t?`updated`:`unchanged`,name:e})}return l.some(e=>e.action!==`unchanged`),!s&&a&&await X(c),{ankiWeb:a,dryRun:s,duration:performance.now()-n,models:l}}function mn(e,r=!1){let i=[],a=e.models.filter(e=>e.action===`unchanged`),o=e.models.filter(e=>e.action===`updated`);if(i.push(`${e.dryRun?`Will`:`Successfully`} update ${o.length} ${t(`model`,o.length)} and left ${a.length} ${t(`model`,a.length)} unchanged${e.dryRun?``:` in ${n(e.duration)}`}.`),r){if(o.length>0){i.push(``,e.dryRun?`Models to update:`:`Updated models:`);for(let e of o)i.push(` ${e.name}`)}if(a.length>0){i.push(``,e.dryRun?`Models unchanged:`:`Unchanged models:`);for(let e of a)i.push(` ${e.name}`)}}return i.join(`
|
|
43
|
+
`)}async function hn(e,t){let[n,r]=gn(e),i=e.split(/\r?\n/);if(n===void 0||r===void 0)return t===void 0?e:[`---`,ue({noteId:t}).trim(),`---
|
|
44
|
+
`,...i].join(`
|
|
45
|
+
`);let a=await le(i.slice(n+1,r).join(`
|
|
46
|
+
`))??{};if(t===void 0){if(delete a.noteId,Object.keys(a).length===0){let e=i.slice(r+1);return e[0].trim()===``?e.slice(1).join(`
|
|
47
|
+
`):e.join(`
|
|
48
|
+
`)}}else a.noteId=t;let o=ue(a,{lineWidth:0}).trim();return[...i.slice(0,n+1),o,...i.slice(r)].join(`
|
|
49
|
+
`)}function gn(e){let t=e.split(/\r?\n/);if(!t.join(``).trim().startsWith(`---`))return[void 0,void 0];let n=t.findIndex(e=>e.startsWith(`---`)),r=t.findIndex((e,t)=>t>n&&e.startsWith(`---`));return n===-1||r===-1?[void 0,void 0]:[n,r]}const _n={...M};async function vn(t,n){let i=performance.now(),a=structuredClone(t),{ankiConnectOptions:o,ankiWeb:s,checkDatabase:c,dryRun:l,namespace:u,strictMatching:d}=e(_n,n??{}),f=F(u),p=[],m=new r(o);if(await Y(m)===`ankiUnreachable`)return{ankiWeb:s,deletedDecks:[],deletedMedia:[],dryRun:l,duration:performance.now()-i,fixedDatabase:!1,namespace:f,synced:a.map(e=>({action:`ankiUnreachable`,note:e}))};for(let e of a)e.deckName===``&&(e.deckName=`Yanki`);let h=await J(m,`*`),g=h.filter(e=>e.fields.YankiNamespace===f);for(let e of a){if(e.noteId===void 0)continue;let t=yn(a,e.noteId);if(t.length<=1)continue;let n=bn(t,g.find(t=>t.noteId===e.noteId));for(let e of t)e!==n&&(e.noteId=void 0)}let _=new Set(a.filter(e=>e.noteId!==void 0&&g.some(t=>e.noteId===t.noteId)).map(e=>e.noteId));for(let e of a){let t=h.find(t=>t.noteId===e.noteId);if(t?.fields.YankiNamespace!==f&&(e.noteId=void 0,t=void 0),t===void 0)e.noteId=d?void 0:xn(e,g,_),e.noteId===void 0?(e.noteId=await q(m,{...e,noteId:void 0},l),p.push({action:`created`,note:e})):p.push({action:`matched`,note:e});else{if(t.noteId===void 0)throw Error(`Remote note ID is undefined`);let n=await ut(m,e,t,l);p.push({action:n?`updated`:`unchanged`,note:e})}if(e.noteId===void 0)throw Error(`Note ID is undefined`);_.add(e.noteId)}let v=g.filter(e=>!a.some(t=>t.noteId===e.noteId));await lt(m,v,l);for(let e of v)p.push({action:`deleted`,note:e});let y=[],b=[];for(let e of p)e.action===`deleted`?b.push(e.note):y.push(e.note);let x=await ht(m,y,g,l),S=!1;if(c){let e=g.filter(e=>p.some(t=>t.action===`updated`&&t.note.noteId===e.noteId&&t.note.modelName!==e.modelName));if(e.length>0){let t=e.flatMap(({cards:e})=>e??[]);try{await m.card.cardsInfo({cards:t})}catch{S=!0,await m.graphical.guiCheckDatabase()}}}let C=await yt(m,y,f,l);return x.length>0||p.some(e=>e.action!==`unchanged`),!l&&s&&await X(m),{ankiWeb:s,deletedDecks:x,deletedMedia:C,dryRun:l,duration:performance.now()-i,fixedDatabase:S,namespace:f,synced:p}}function yn(e,t){return e.filter(e=>e.noteId===void 0?!1:e.noteId===t)}function bn(e,t){return e.find(e=>e.fields.Front===t?.fields.Front&&e.fields.Back===t.fields.Back&&e.fields.Extra===t.fields.Extra)??e[0]}function xn(e,t,n){return t.find(t=>t.noteId!==void 0&&!n.has(t.noteId)&&ft(e,t,!1))?.noteId??void 0}const Sn={...M,..._n};async function Cn(t,n){let r=performance.now(),{allFilePaths:i,ankiConnectOptions:a,ankiWeb:o,basePath:s,checkDatabase:c,dryRun:l,fetchAdapter:u=P(),fileAdapter:d=await N(),manageFilenames:f,maxFilenameLength:p,namespace:m,obsidianVault:h,strictLineBreaks:g,strictMatching:_,syncMediaAssets:v}=e(Sn,n??{}),y=t.map(e=>L(e)),b=s===void 0?void 0:L(s),x=i.map(e=>L(e)),S=F(m),C=await sn(await nn(y,{allFilePaths:x,basePath:b,fetchAdapter:u,fileAdapter:d,namespace:S,obsidianVault:h,strictLineBreaks:g,syncMediaAssets:v}),{dryRun:l,fileAdapter:d,manageFilenames:f,maxFilenameLength:p});if(h!==void 0&&C.some(e=>e.filePath!==e.filePathOriginal)){let e=await nn(C.map(e=>e.filePath),{allFilePaths:x.map(e=>{let t=C.find(t=>t.filePathOriginal===e);return t?t.filePath:e}),basePath:b,fetchAdapter:u,fileAdapter:d,namespace:S,obsidianVault:h,strictLineBreaks:g,syncMediaAssets:v});for(let[t,n]of C.entries())n.note=e[t].note}let{deletedDecks:ee,deletedMedia:te,fixedDatabase:ne,synced:re}=await vn(C.map(e=>e.note),{ankiConnectOptions:a,ankiWeb:o,checkDatabase:c,dryRun:l,namespace:S,strictMatching:_}),w=re.filter(e=>e.action!==`deleted`);for(let[e,t]of C.entries()){let n=w[e];if((t.note.noteId===void 0||t.note.noteId!==n.note.noteId)&&n.action!==`ankiUnreachable`){let e=await hn(t.markdown,n.note.noteId);l||await d.writeFile(t.filePath,e)}n.filePath=t.filePath,n.filePathOriginal=t.filePathOriginal}let ie=[...re.filter(e=>e.action===`deleted`).map(e=>({action:`deleted`,filePath:void 0,filePathOriginal:void 0,note:e.note})),...w].sort((e,t)=>(e.filePath??``).localeCompare(t.filePath??``));return{ankiWeb:o,deletedDecks:ee,deletedMedia:te,dryRun:l,duration:performance.now()-r,fixedDatabase:ne,namespace:S,synced:ie}}function wn(e,r=!1){let i=[],{synced:a}=e,o=a.reduce((e,t)=>(e[t.action]=(e[t.action]||0)+1,e),{}),s=a.filter(e=>e.action!==`deleted`).length,c=a.filter(e=>e.filePath!==e.filePathOriginal).length,l=o.ankiUnreachable>0;if(i.push(`${e.dryRun?`Will sync`:l?`Failed to sync`:`Successfully synced`} ${s} ${t(`note`,s)} to Anki${e.dryRun?``:` in ${n(e.duration)}`}.`),r){i.push(``,e.dryRun?`Sync Plan Summary:`:`Sync Summary:`);for(let[e,t]of Object.entries(o))i.push(` ${fe(e)}: ${t}`);c>0&&i.push(``,`Local notes renamed: ${c}`),e.deletedDecks.length>0&&i.push(``,`Decks pruned: ${e.deletedDecks.length}`),e.deletedMedia.length>0&&i.push(``,`Media assets deleted: ${e.deletedMedia.length}`),e.dryRun||i.push(``,`Database automatically fixed: ${e.fixedDatabase?`Yes`:`No`}`),i.push(``,e.dryRun?`Sync Plan Details:`:`Sync Details:`);for(let{action:e,filePath:t,note:n}of a)t===void 0?i.push(` Note ID ${n.noteId} ${fe(e)} (From Anki)`):i.push(` Note ID ${n.noteId} ${fe(e)} ${t}`)}return i.join(`
|
|
50
|
+
`)}export{xt as cleanNotes,bt as defaultCleanOptions,Qt as defaultGetNoteFromMarkdownOptions,dn as defaultGetStyleOptions,Ct as defaultListOptions,cn as defaultRenameFilesOptions,un as defaultSetStyleOptions,Sn as defaultSyncFilesOptions,_n as defaultSyncNotesOptions,St as formatCleanResult,Tt as formatListResult,mn as formatSetStyleResult,wn as formatSyncFilesResult,$t as getNoteFromMarkdown,fn as getStyle,Ge as hostAndPortToUrl,wt as listNotes,ln as renameFiles,pn as setStyle,Cn as syncFiles,vn as syncNotes,We as urlToHostAndPort};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yanki",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "A CLI tool and TypeScript library to turn Markdown into Anki flashcards.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"anki",
|
|
@@ -41,49 +41,38 @@
|
|
|
41
41
|
"dist/*"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
+
"@shikijs/rehype": "^3.22.0",
|
|
45
|
+
"@sindresorhus/fnv1a": "^3.1.0",
|
|
46
|
+
"@sindresorhus/slugify": "^3.0.0",
|
|
47
|
+
"@stdlib/assert-is-absolute-path": "^0.2.3",
|
|
44
48
|
"@types/hast": "^3.0.4",
|
|
45
49
|
"@types/lodash-es": "^4.17.12",
|
|
46
50
|
"@types/mdast": "^4.0.4",
|
|
47
|
-
"@types/node": "
|
|
51
|
+
"@types/node": "~20.11.30",
|
|
48
52
|
"@types/unist": "^3.0.3",
|
|
49
53
|
"@types/yargs": "^17.0.35",
|
|
50
|
-
"globby": "^14.1.0",
|
|
51
|
-
"rehype-parse": "^9.0.1",
|
|
52
|
-
"yargs": "^17.7.2"
|
|
53
|
-
},
|
|
54
|
-
"devDependencies": {
|
|
55
|
-
"@kitschpatrol/shared-config": "^5.12.0",
|
|
56
|
-
"@shikijs/rehype": "^3.21.0",
|
|
57
|
-
"@sindresorhus/fnv1a": "^3.1.0",
|
|
58
|
-
"@sindresorhus/slugify": "^3.0.0",
|
|
59
|
-
"@stdlib/assert-is-absolute-path": "^0.2.2",
|
|
60
|
-
"@vitest/browser-playwright": "^4.0.17",
|
|
61
|
-
"@vitest/coverage-v8": "^4.0.17",
|
|
62
|
-
"bumpp": "^10.4.0",
|
|
63
54
|
"crypto-hash": "^4.0.1",
|
|
64
55
|
"deepmerge-ts": "^7.1.5",
|
|
65
|
-
"execa": "^9.6.1",
|
|
66
56
|
"filenamify": "6.0.0",
|
|
57
|
+
"globby": "^16.1.1",
|
|
67
58
|
"hast-util-to-text": "^4.0.2",
|
|
68
59
|
"linkedom": "^0.18.12",
|
|
69
60
|
"mdast-util-from-markdown": "^2.0.2",
|
|
70
|
-
"mdat-plugin-cli-help": "^1.0.5",
|
|
71
61
|
"micromark-util-sanitize-uri": "^2.0.1",
|
|
72
62
|
"micromark-util-types": "^2.0.2",
|
|
73
63
|
"nanoid": "^5.1.6",
|
|
74
64
|
"path-browserify-esm": "^1.0.6",
|
|
75
65
|
"picocolors": "^1.1.1",
|
|
76
|
-
"pkgroll": "^2.21.5",
|
|
77
|
-
"playwright": "^1.57.0",
|
|
78
66
|
"plur": "^6.0.0",
|
|
79
67
|
"pretty-ms": "^9.3.0",
|
|
80
68
|
"rehype-format": "^5.0.1",
|
|
69
|
+
"rehype-parse": "^9.0.1",
|
|
81
70
|
"rehype-raw": "^7.0.0",
|
|
82
71
|
"rehype-stringify": "^10.0.1",
|
|
83
72
|
"remark": "^15.0.1",
|
|
84
73
|
"remark-breaks": "^4.0.0",
|
|
85
74
|
"remark-denden-ruby": "^0.3.1",
|
|
86
|
-
"remark-flexible-markers": "^1.3.
|
|
75
|
+
"remark-flexible-markers": "^1.3.3",
|
|
87
76
|
"remark-frontmatter": "^5.0.0",
|
|
88
77
|
"remark-gfm": "^4.0.1",
|
|
89
78
|
"remark-github-beta-blockquote-admonitions": "^3.1.2",
|
|
@@ -93,22 +82,38 @@
|
|
|
93
82
|
"slash": "^5.1.0",
|
|
94
83
|
"sort-keys": "^6.0.0",
|
|
95
84
|
"strip-ansi": "^7.1.2",
|
|
96
|
-
"
|
|
97
|
-
"type-fest": "^5.4.1",
|
|
98
|
-
"typescript": "~5.9.3",
|
|
85
|
+
"type-fest": "^5.4.4",
|
|
99
86
|
"unified": "^11.0.5",
|
|
100
87
|
"unist-builder": "^4.0.0",
|
|
101
|
-
"unist-util-visit": "^5.
|
|
88
|
+
"unist-util-visit": "^5.1.0",
|
|
102
89
|
"untildify": "^6.0.0",
|
|
103
|
-
"vitest": "^4.0.17",
|
|
104
90
|
"yaml": "^2.8.2",
|
|
105
|
-
"yanki-connect": "^
|
|
91
|
+
"yanki-connect": "^4.0.0",
|
|
92
|
+
"yargs": "^17.7.2"
|
|
93
|
+
},
|
|
94
|
+
"devDependencies": {
|
|
95
|
+
"@arethetypeswrong/core": "^0.18.2",
|
|
96
|
+
"@kitschpatrol/shared-config": "^5.13.0",
|
|
97
|
+
"@vitest/browser-playwright": "^4.0.18",
|
|
98
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
99
|
+
"bumpp": "^10.4.1",
|
|
100
|
+
"execa": "^9.6.1",
|
|
101
|
+
"mdat-plugin-cli-help": "^1.0.6",
|
|
102
|
+
"playwright": "^1.58.2",
|
|
103
|
+
"publint": "^0.3.17",
|
|
104
|
+
"tsdown": "^0.20.3",
|
|
105
|
+
"tsx": "^4.21.0",
|
|
106
|
+
"typescript": "~5.9.3",
|
|
107
|
+
"vitest": "^4.0.18"
|
|
106
108
|
},
|
|
107
109
|
"engines": {
|
|
108
|
-
"node": "
|
|
110
|
+
"node": ">=20.11.0"
|
|
111
|
+
},
|
|
112
|
+
"devEngines": {
|
|
113
|
+
"node": ">=20.19"
|
|
109
114
|
},
|
|
110
115
|
"scripts": {
|
|
111
|
-
"build": "
|
|
116
|
+
"build": "tsdown",
|
|
112
117
|
"clean": "git rm -f pnpm-lock.yaml ; git clean -fdX",
|
|
113
118
|
"coverage": "vitest run --coverage",
|
|
114
119
|
"fix": "ksc fix",
|
package/readme.md
CHANGED
|
@@ -53,13 +53,13 @@ The primary novelty of its approach is in how Markdown is translated into Anki n
|
|
|
53
53
|
|
|
54
54
|
This package provides both a stand-alone CLI tool and a TypeScript library for ease of integration in other projects.
|
|
55
55
|
|
|
56
|
-
The library powers the [`yanki-obsidian`](https://github.com/kitschpatrol/yanki-obsidian) Obsidian plugin.
|
|
56
|
+
The library powers the [`yanki-obsidian`](https://github.com/kitschpatrol/yanki-obsidian) Obsidian plugin. For lower-level access to Anki, please take a look at the [`yanki-connect`](https://github.com/kitschpatrol/yanki-connect) TypeScript library.
|
|
57
57
|
|
|
58
58
|
The "Y" prefix in "Yanki" is in the "Yet another" naming tradition; a nod to Anki's robust and occasionally duplicative ecosystem of third-party tools. (Also, appropriately, Yankī are a variety of [truant youth](https://en.wikipedia.org/wiki/Yankee#/media/File:ヤンキー.jpg).)
|
|
59
59
|
|
|
60
60
|
## Quick start
|
|
61
61
|
|
|
62
|
-
Install [Node.js](https://nodejs.org) if you haven't already. (Yanki requires Node
|
|
62
|
+
Install [Node.js](https://nodejs.org) if you haven't already. (Yanki requires Node 20.11 or newer.)
|
|
63
63
|
|
|
64
64
|
Assuming you have a folder of Markdown note files, the [Anki app](https://apps.ankiweb.net) is open and has the [Anki-Connect](https://ankiweb.net/shared/info/2055492159) add-on installed:
|
|
65
65
|
|
|
@@ -310,10 +310,10 @@ _Linux users should note that the Flatpak / Flathub version of Anki is not recom
|
|
|
310
310
|
|
|
311
311
|
### Installation
|
|
312
312
|
|
|
313
|
-
Invoke directly:
|
|
313
|
+
Invoke directly on Markdown files in a directory:
|
|
314
314
|
|
|
315
315
|
```sh
|
|
316
|
-
npx yanki ./folder-to-sync
|
|
316
|
+
npx yanki ./folder-to-sync
|
|
317
317
|
```
|
|
318
318
|
|
|
319
319
|
...or install globally:
|
package/dist/abap-Dg923wIy.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=Object.freeze(JSON.parse('{"displayName":"ABAP","fileTypes":["abap","ABAP"],"foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"abap","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"^\\\\*.*\\\\n?","name":"comment.line.full.abap"},{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"\\".*\\\\n?","name":"comment.line.partial.abap"},{"match":"(?<!\\\\S)##.*?(?=([,.:\\\\s]))","name":"comment.line.pragma.abap"},{"match":"(?i)(?<=[-~\\\\s])(?<=[-=]>)([/_a-z][/-9_a-z]*)(?=\\\\s+(?:|[-*+/]|&&?)=\\\\s+)","name":"variable.other.abap"},{"match":"\\\\b[0-9]+(\\\\b|[,.])","name":"constant.numeric.abap"},{"match":"(?i)(^|\\\\s+)((P(?:UBLIC|RIVATE|ROTECTED))\\\\sSECTION)(?=\\\\s+|[.:])","name":"storage.modifier.class.abap"},{"begin":"(?<!\\\\\\\\)(\\\\|)(.*?)","beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"end":"(?<!\\\\\\\\)(\\\\||(\\\\\\\\\\\\\\\\\\\\|))","endCaptures":{"1":{"name":"constant.character.escape.abap"}},"name":"string.interpolated.abap","patterns":[{"match":"(\\\\{ )|( })","name":"constant.character.escape"},{"match":"\\\\\\\\\\\\|","name":"constant.character.escape.abap"},{"match":"(?i)(?<=\\\\s)(align|alpha|case|country|currency|date|decimals|exponent|number|pad|sign|style|time|timestamp|timezone|width|xsd|zero)(?=\\\\s=)","name":"entity.name.property.stringtemplate.abap"},{"match":"(?i)(?<==\\\\s)(center|engineering|environment|in|iso|left|leftplus|leftspace|lower|no|out|raw|right|rightplus|rightspace|scale_preserving|scale_preserving_scientific|scientific|scientific_with_leading_zero|sign_as_postfix|simple|space|upper|user|yes)(?=\\\\s)","name":"entity.value.property.stringtemplate.abap"}]},{"begin":"\'","end":"\'","name":"string.quoted.single.abap","patterns":[{"match":"\'\'","name":"constant.character.escape.abap"}]},{"begin":"`","end":"`","name":"string.quoted.single.abap","patterns":[{"match":"``","name":"constant.character.escape.abap"}]},{"begin":"(?i)^\\\\s*(class)\\\\s([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","name":"meta.block.begin.implementation.abap","patterns":[{"match":"(?i)(^|\\\\s+)(definition|implementation|public|inheriting\\\\s+from|final|deferred|abstract|shared\\\\s+memory\\\\s+enabled|(global|local)*\\\\s*friends|(create\\\\s+(p(?:ublic|rotected|rivate)))|for\\\\s+behavior\\\\s+of|for\\\\s+testing|risk\\\\s+level\\\\s+(critical|dangerous|harmless))|duration\\\\s(short|medium|long)(?=\\\\s+|\\\\.)","name":"storage.modifier.class.abap"},{"begin":"(?=[A-Z_a-z][0-9A-Z_a-z]*)","contentName":"entity.name.type.block.abap","end":"(?![0-9A-Z_a-z])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(method)\\\\s(?:([/_a-z][/-9_a-z]*)~)?([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(BY(?:\\\\s+DATABASE(\\\\s+PROCEDURE|\\\\s+FUNCTION|\\\\s+GRAPH\\\\s+WORKSPACE)|\\\\s+KERNEL\\\\s+MODULE))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(FOR\\\\s+(HDB|LLANG))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=\\\\s)(OPTIONS\\\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\\\s+SYNTAX\\\\s+ERRORS))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(LANGUAGE\\\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"captures":{"1":{"name":"storage.modifier.method.abap"}},"match":"(?i)(?<=\\\\s)(USING)\\\\s+([/_a-z][/-9=>_a-z]*)+(?=\\\\s+|\\\\.)"},{"begin":"(?=[A-Z_a-z][0-9A-Z_a-z]*)","end":"(?![0-9A-Z_a-z])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(INTERFACE)\\\\s([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(DEFERRED|PUBLIC)(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"}]},{"begin":"(?i)^\\\\s*(FORM)\\\\s([/_a-z][-/-9?_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\\\s+|\\\\.)","name":"storage.modifier.form.abap"},{"include":"#abaptypes"},{"include":"#keywords_followed_by_braces"}]},{"match":"(?i)(end(?:class|method|form|interface))","name":"storage.type.block.end.abap"},{"match":"(?i)(<[A-Z_a-z][0-9A-Z_a-z]*>)","name":"variable.other.field.symbol.abap"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"},{"include":"#sql_functions"},{"include":"#sql_types"}],"repository":{"abap_constants":{"match":"(?i)(?<=\\\\s)(initial|null|@?space|@?abap_true|@?abap_false|@?abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=[,.\\\\s])","name":"constant.language.abap"},"abaptypes":{"patterns":[{"match":"(?i)\\\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|[cdfinptx])(?=[,.\\\\s])","name":"support.type.abap"},{"match":"(?i)\\\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=[,.\\\\s])","name":"keyword.control.simple.abap"}]},"arithmetic_operator":{"match":"(?i)(?<=\\\\s)([-*+]|\\\\*\\\\*|[%/]|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\\\s)","name":"keyword.control.simple.abap"},"builtin_functions":{"match":"(?i)(?<=\\\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\\\()","name":"entity.name.function.builtin.abap"},"comparison_operator":{"match":"(?i)(?<=\\\\s)([<>]|<=|>=|=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|[moz])(?=\\\\s)","name":"keyword.control.simple.abap"},"control_keywords":{"match":"(?i)(^|\\\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=[.:\\\\s])","name":"keyword.control.flow.abap"},"generic_names":{"match":"[A-Z_a-z][0-9A-Z_a-z]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}},"match":"(?i)\\\\b(data|value|field-symbol|final|reference|resumable)\\\\((<?[/_a-z][/-9_a-z]*>?)\\\\)"},"logical_operator":{"match":"(?i)(?<=\\\\s)(not|or|and)(?=\\\\s)","name":"keyword.control.simple.abap"},"main_keywords":{"match":"(?i)(?<=^|\\\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|all|allocate|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blanks??|blocks??|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-methods??|class-pool|cleanup|clear|clients??|clock|clone|close|cnt|code|collect|color|column|comments??|commit|common|communication|comparing|components??|compression|compute|concatenate|cond|condense|condition|connection|constants??|contexts??|controls??|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicates??|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|equiv|errors|escape|escaping|events??|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filters??|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frames??|free|from|full|function|function-pool|generate|get|giving|graph|groups??|handler??|hashed|having|headers??|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|includes??|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instances??|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|job|join|keep|keeping|kernel|keys??|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|legacy|length|let|levels??|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|locale??|locks??|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|methods??|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no-display|no-extension|no-gaps??|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|objects??|objmgr|obligatory|occurences??|occurrences??|occurs|of|offset|on|only|open|optional|options??|order|others|out|outer|output|output-length|overflow|overlay|pack|package|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|ranges??|read|read-only|received??|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|results??|resumable|resume|retry|return|returning|right|right-justified|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scan|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-sets??|selection-table|selections|send|separated??|session|set|shared|shift|shortdump|shortdump-id|sign|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statements??|statics??|statusinfo|step|step-loop|stop|structures??|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|tables??|tableview|tabstrip|target|tasks??|test|test-injection|test-seam|testing|text|textpool|then|throw|times??|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pools??|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|windows??|with|with-heading|with-title|without|word|work|workspace|write|xml|zone)(?=[,.:\\\\s])","name":"keyword.control.simple.abap"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"match":"(?<=\\\\s)(&&?|\\\\?=|\\\\+=|-=|/=|\\\\*=|&&=|&=)(?=\\\\s)","name":"keyword.control.simple.abap"},"reserved_names":{"match":"(?i)(?<=\\\\s)(me|super)(?=[,.\\\\s]|->)","name":"constant.language.abap"},"sql_functions":{"match":"(?i)(?<=\\\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\\\()","name":"entity.name.function.sql.abap"},"sql_types":{"match":"(?i)(?<=\\\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=[()\\\\s])","name":"entity.name.type.sql.abap"},"system_fields":{"captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}},"match":"(?i)\\\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=[.\\\\s])"},"text_symbols":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}},"match":"(?i)(?<=^|\\\\s)(text)-([0-9A-Z]{1,3})(?=[,.:\\\\s])"}},"scopeName":"source.abap"}'));var a=[e];export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=Object.freeze(JSON.parse(`{"displayName":"ActionScript","fileTypes":["as"],"name":"actionscript-3","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"},{"include":"#import"},{"include":"#mxml"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"}],"repository":{"arithmetic_operators":{"match":"([-%+/]|(?<!:)\\\\*)","name":"keyword.operator.actionscript.3"},"array_access_operators":{"match":"([]\\\\[])","name":"keyword.operator.actionscript.3"},"class":{"begin":"(^|\\\\s+|;)(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(\\\\b(internal|public)\\\\b\\\\s+)?(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(?=\\\\bclass\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.class.actionscript.3","patterns":[{"include":"#class_declaration"},{"include":"#metadata"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_operators"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"},{"include":"#object_literal"}]},"class_declaration":{"begin":"\\\\b(class)\\\\b\\\\s+([$.0-9A-Z_a-z]+|\\\\*)","beginCaptures":{"1":{"name":"storage.type.class.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#implements"},{"include":"#comments"}]},"code_block":{"begin":"\\\\{","end":"}","name":"meta.code_block.actionscript.3","patterns":[{"include":"#code_block"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"},{"include":"#import"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","end":"\\\\*/","name":"comment.block.documentation.actionscript.3","patterns":[{"match":"@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\\\\b","name":"keyword.other.documentation.actionscript.3.asdoc"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.actionscript.3"},{"match":"//.*","name":"comment.line.actionscript.3"}]},"control_keywords":{"match":"\\\\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\\\\b","name":"keyword.control.actionscript.3"},"dynamic_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"(?<=:)\\\\s*(\\\\*)"},"escapes":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.actionscript.3"},"extends":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(extends)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.extends.actionscript.3"},"function_arguments":{"begin":"\\\\(","end":"\\\\)","name":"meta.function_arguments.actionscript.3","patterns":[{"include":"#parameters"},{"include":"#comments"}]},"functions":{"begin":"\\\\b(function)\\\\b(?:\\\\s+\\\\b([gs]et)\\\\b\\\\s+)?\\\\s*([$0-9A-Z_a-z]+\\\\b)?","beginCaptures":{"1":{"name":"storage.type.function.actionscript.3"},"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"entity.name.function.actionscript.3"}},"end":"($|;|(?=\\\\{))","name":"meta.function.actionscript.3","patterns":[{"include":"#function_arguments"},{"include":"#return_type"},{"include":"#comments"}]},"guess_constant":{"captures":{"1":{"name":"constant.other.actionscript.3"}},"match":"\\\\b([$A-Z][0-9A-Z_]+)\\\\b"},"guess_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"\\\\b((?:[$0-9A-Z_a-z]+\\\\.)*[A-Z][0-9A-Z]*[a-z]+[$0-9A-Z_a-z]*)\\\\b"},"implements":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(implements)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.implements.actionscript.3"},"import":{"captures":{"2":{"name":"keyword.control.import.actionscript.3"},"3":{"name":"support.type.actionscript.3"}},"match":"(^|\\\\s+|;)\\\\b(import)\\\\b\\\\s+([$.0-9A-Z_a-z]+(?:\\\\.\\\\*)?)\\\\s*(?=;|$)","name":"meta.import.actionscript.3"},"interface":{"begin":"(^|\\\\s+|;)(\\\\b(internal|public)\\\\b\\\\s+)?(?=\\\\binterface\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.interface.actionscript.3","patterns":[{"include":"#interface_declaration"},{"include":"#metadata"},{"include":"#functions"},{"include":"#comments"}]},"interface_declaration":{"begin":"\\\\b(interface)\\\\b\\\\s+([$.0-9A-Z_a-z]+)","beginCaptures":{"1":{"name":"storage.type.interface.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#comments"}]},"language_constants":{"match":"\\\\b(true|false|null|Infinity|-Infinity|NaN|undefined)\\\\b","name":"constant.language.actionscript.3"},"language_variables":{"match":"\\\\b(super|this|arguments)\\\\b","name":"variable.language.actionscript.3"},"logical_operators":{"match":"([!\\\\&<>?^|~])","name":"keyword.operator.actionscript.3"},"metadata":{"begin":"(?<=(?:^|[;{}]|\\\\*/)\\\\s*)\\\\[\\\\s*\\\\b([$A-Z_a-z][$0-9A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"keyword.other.actionscript.3"}},"end":"]","name":"meta.metadata_info.actionscript.3","patterns":[{"include":"#metadata_info"}]},"metadata_info":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#strings"},{"captures":{"1":{"name":"variable.parameter.actionscript.3"},"2":{"name":"keyword.operator.actionscript.3"}},"match":"(\\\\w+)\\\\s*(=)"}]},"method":{"begin":"(^|\\\\s+)((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?(?=\\\\bfunction\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"storage.modifier.actionscript.3"}},"end":"(?<=([;}]))","name":"meta.method.actionscript.3","patterns":[{"include":"#functions"},{"include":"#code_block"}]},"mxml":{"begin":"<!\\\\[CDATA\\\\[","end":"]]>","name":"meta.cdata.actionscript.3","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#metadata"},{"include":"#class"},{"include":"#namespace_declaration"},{"include":"#use_namespace"},{"include":"#class_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_keywords"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"}]},"namespace_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"storage.modifier.actionscript.3"}},"match":"((\\\\w+)\\\\s+)?(namespace)\\\\s+[$0-9A-Z_a-z]+","name":"meta.namespace_declaration.actionscript.3"},"numbers":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.actionscript.3"},"object_literal":{"begin":"\\\\{","end":"}","name":"meta.object_literal.actionscript.3","patterns":[{"include":"#object_literal"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#functions"}]},"other_keywords":{"match":"\\\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\\\b","name":"keyword.other.actionscript.3"},"other_operators":{"match":"([.=])","name":"keyword.operator.actionscript.3"},"package":{"begin":"(^|\\\\s+)(package)\\\\b","beginCaptures":{"2":{"name":"keyword.other.actionscript.3"}},"end":"}","name":"meta.package.actionscript.3","patterns":[{"include":"#package_name"},{"include":"#variable_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#return_type"},{"include":"#import"},{"include":"#use_namespace"},{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#metadata"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"}]},"package_name":{"begin":"(?<=package)\\\\s+([._\\\\w]*)\\\\b","end":"\\\\{","name":"meta.package_name.actionscript.3"},"parameters":{"begin":"(\\\\.\\\\.\\\\.)?\\\\s*([$A-Z_a-z][$0-9A-Z_a-z]*)(?:\\\\s*(:)\\\\s*(?:([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)))?(?:\\\\s*(=))?","beginCaptures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"variable.parameter.actionscript.3"},"3":{"name":"keyword.operator.actionscript.3"},"4":{"name":"support.type.actionscript.3"},"5":{"name":"support.type.actionscript.3"},"6":{"name":"support.type.actionscript.3"},"7":{"name":"keyword.operator.actionscript.3"}},"end":",|(?=\\\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#comments"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#guess_type"},{"include":"#guess_constant"}]},"primitive_error_types":{"captures":{"1":{"name":"support.class.error.actionscript.3"}},"match":"\\\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\\\b"},"primitive_functions":{"captures":{"1":{"name":"support.function.actionscript.3"}},"match":"\\\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\\\s*\\\\()"},"primitive_types":{"captures":{"1":{"name":"support.class.builtin.actionscript.3"}},"match":"\\\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\\\*(?<=a))\\\\b"},"regexp":{"begin":"(?<=[(,:=\\\\[]|^|return|&&|\\\\|\\\\||!)\\\\s*(/)(?![*+/?{}])","end":"$|(/)[gim]*","name":"string.regex.actionscript.3","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.actionscript.3"},{"match":"\\\\[(\\\\\\\\]|[^]])*]","name":"constant.character.class.actionscript.3"}]},"return_type":{"captures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"support.type.actionscript.3"},"3":{"name":"support.type.actionscript.3"},"4":{"name":"support.type.actionscript.3"}},"match":"(:)\\\\s*([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)"},"strings":{"patterns":[{"begin":"@\\"","end":"\\"","name":"string.quoted.verbatim.actionscript.3"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.actionscript.3","patterns":[{"include":"#escapes"}]},{"begin":"'","end":"'","name":"string.quoted.single.actionscript.3","patterns":[{"include":"#escapes"}]}]},"use_namespace":{"captures":{"2":{"name":"keyword.other.actionscript.3"},"3":{"name":"keyword.other.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"}},"match":"(^|\\\\s+|;)(use\\\\s+)?(namespace)\\\\s+(\\\\w+)\\\\s*(;|$)"},"variable_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"},"6":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"keyword.operator.actionscript.3"}},"match":"((static)\\\\s+)?((\\\\w+)\\\\s+)?((static)\\\\s+)?(const|var)\\\\s+[$0-9A-Z_a-z]+(?:\\\\s*(:))?","name":"meta.variable_declaration.actionscript.3"},"vector_creation_operators":{"match":"([<>])","name":"keyword.operator.actionscript.3"}},"scopeName":"source.actionscript.3"}`));var t=[e];export{t as default};
|
package/dist/ada-CTi7YQtL.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=Object.freeze(JSON.parse(`{"displayName":"Ada","name":"ada","patterns":[{"include":"#library_unit"},{"include":"#comment"},{"include":"#use_clause"},{"include":"#with_clause"},{"include":"#pragma"},{"include":"#keyword"}],"repository":{"abort_statement":{"begin":"(?i)\\\\babort\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.abort.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.task.ada"}]},"accept_statement":{"begin":"(?i)\\\\b(accept)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"entity.name.accept.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"entity.name.accept.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.accept.ada","patterns":[{"begin":"(?i)\\\\bdo\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#statement"}]},{"include":"#parameter_profile"}]},"access_definition":{"captures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"storage.visibility.ada"},"3":{"name":"storage.modifier.ada"},"4":{"name":"entity.name.type.ada"}},"match":"(?i)(not\\\\s+null\\\\s+)?(access)\\\\s+(constant\\\\s+)?([._\\\\w\\\\d]+)\\\\b","name":"meta.declaration.access.definition.ada"},"access_type_definition":{"begin":"(?i)\\\\b(not\\\\s+null\\\\s+)?(access)\\\\b","beginCaptures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"storage.visibility.ada"}},"end":"(?i)(?=(with|;))","name":"meta.declaration.type.definition.access.ada","patterns":[{"match":"(?i)\\\\ball\\\\b","name":"storage.visibility.ada"},{"match":"(?i)\\\\bconstant\\\\b","name":"storage.modifier.ada"},{"include":"#subtype_mark"}]},"actual_parameter_part":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#parameter_association"}]},"adding_operator":{"match":"([-\\\\&+])","name":"keyword.operator.adding.ada"},"array_aggregate":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.definition.array.aggregate.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#positional_array_aggregate"},{"include":"#array_component_association"}]},"array_component_association":{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"keyword.other.ada"},"3":{"patterns":[{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]}},"match":"(?i)\\\\b([^()=>]*)\\\\s*(=>)\\\\s*([^),]+)","name":"meta.definition.array.aggregate.component.ada"},"array_dimensions":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.declaration.type.definition.array.dimensions.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"(?i)\\\\brange\\\\b","name":"storage.modifier.ada"},{"match":"<>","name":"keyword.modifier.unknown.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"include":"#expression"},{"patterns":[{"include":"#subtype_mark"}]}]},"array_type_definition":{"begin":"(?i)\\\\barray\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(with|;))","name":"meta.declaration.type.definition.array.ada","patterns":[{"include":"#array_dimensions"},{"match":"(?i)\\\\bof\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\baliased\\\\b","name":"storage.visibility.ada"},{"include":"#access_definition"},{"include":"#subtype_mark"}]},"aspect_clause":{"begin":"(?i)\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#subtype_mark"}]},"3":{"name":"punctuation.ada"},"5":{"name":"keyword.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.aspect.clause.ada","patterns":[{"begin":"(?i)\\\\buse\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=;)","endCaptures":{"0":{"name":"punctuation.ada"}},"patterns":[{"include":"#record_representation_clause"},{"include":"#array_aggregate"},{"include":"#expression"}]},{"begin":"(?i)(?<=for)","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=use)","patterns":[{"captures":{"1":{"patterns":[{"include":"#subtype_mark"}]},"2":{"patterns":[{"include":"#attribute"}]}},"match":"([_\\\\w\\\\d]+)('([_\\\\w\\\\d]+))?"}]}]},"aspect_definition":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.other.ada"}},"end":"(?i)(?=([,;]|\\\\bis\\\\b))","name":"meta.aspect.definition.ada","patterns":[{"include":"#expression"}]},"aspect_mark":{"captures":{"1":{"name":"keyword.control.directive.ada"},"2":{"name":"punctuation.ada"},"3":{"name":"entity.other.attribute-name.ada"}},"match":"(?i)\\\\b([._\\\\w\\\\d]+)(?:(')(class))?\\\\b","name":"meta.aspect.mark.ada"},"aspect_specification":{"begin":"(?i)\\\\bwith\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(;|\\\\bis\\\\b))","name":"meta.aspect.specification.ada","patterns":[{"match":",","name":"punctuation.ada"},{"captures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"}},"match":"(?i)\\\\b(null)\\\\s+(record)\\\\b"},{"begin":"(?i)\\\\brecord\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(end)\\\\s+(record)\\\\b","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"storage.modifier.ada"}},"patterns":[{"include":"#component_item"}]},{"captures":{"0":{"name":"storage.visibility.ada"}},"match":"(?i)\\\\bprivate\\\\b"},{"include":"#aspect_definition"},{"include":"#aspect_mark"},{"include":"#comment"}]},"assignment_statement":{"begin":"\\\\b([\\"'()._\\\\w\\\\d\\\\s]+)\\\\s*(:=)","beginCaptures":{"1":{"patterns":[{"match":"([._\\\\w\\\\d]+)","name":"variable.name.ada"},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"include":"#expression"}]}]},"2":{"name":"keyword.operator.new.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.assignment.ada","patterns":[{"include":"#expression"},{"include":"#comment"}]},"attribute":{"captures":{"1":{"name":"punctuation.ada"},"2":{"name":"entity.other.attribute-name.ada"}},"match":"(')([_\\\\w\\\\d]+)\\\\b","name":"meta.attribute.ada"},"based_literal":{"captures":{"1":{"name":"constant.numeric.base.ada"},"2":{"name":"punctuation.ada"},"3":{"name":"punctuation.ada"},"4":{"name":"punctuation.radix-point.ada"},"5":{"name":"punctuation.ada"},"6":{"name":"constant.numeric.base.ada"},"7":{"patterns":[{"include":"#exponent_part"}]}},"match":"(?i)(\\\\d(?:(_)?\\\\d)*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\\\\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([Ee][-+]?\\\\d(?:_?\\\\d)*)?","name":"constant.numeric.ada"},"basic_declaration":{"patterns":[{"include":"#type_declaration"},{"include":"#subtype_declaration"},{"include":"#exception_declaration"},{"include":"#object_declaration"},{"include":"#single_protected_declaration"},{"include":"#single_task_declaration"},{"include":"#subprogram_specification"},{"include":"#package_declaration"},{"include":"#pragma"},{"include":"#comment"}]},"basic_declarative_item":{"patterns":[{"include":"#basic_declaration"},{"include":"#aspect_clause"},{"include":"#use_clause"},{"include":"#keyword"}]},"block_statement":{"begin":"(?i)\\\\bdeclare\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(end)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.label.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.block.ada","patterns":[{"begin":"(?i)(?<=declare)","end":"(?i)\\\\bbegin\\\\b","endCaptures":{"0":{"name":"keyword.ada"}},"patterns":[{"include":"#body"},{"include":"#basic_declarative_item"}]},{"begin":"(?i)(?<=begin)","end":"(?i)(?=end)","patterns":[{"include":"#statement"}]}]},"body":{"patterns":[{"include":"#subprogram_body"},{"include":"#package_body"},{"include":"#task_body"},{"include":"#protected_body"}]},"case_statement":{"begin":"(?i)\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(case)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.case.ada","patterns":[{"begin":"(?i)(?<=case)\\\\b","end":"(?i)\\\\bis\\\\b","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"include":"#expression"}]},{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"=>","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.case.alternative.ada","patterns":[{"match":"(?i)\\\\bothers\\\\b","name":"keyword.modifier.unknown.ada"},{"match":"\\\\|","name":"punctuation.ada"},{"include":"#expression"}]},{"include":"#statement"}]},"character_literal":{"captures":{"0":{"patterns":[{"match":"'","name":"punctuation.definition.string.ada"}]}},"match":"'.'","name":"string.quoted.single.ada"},"comment":{"patterns":[{"include":"#preprocessor"},{"include":"#comment-section"},{"include":"#comment-doc"},{"include":"#comment-line"}]},"comment-doc":{"captures":{"1":{"name":"comment.line.double-dash.ada"},"2":{"name":"punctuation.definition.tag.ada"},"3":{"name":"entity.name.tag.ada"},"4":{"name":"comment.line.double-dash.ada"}},"match":"(--)\\\\s*(@)(\\\\w+)\\\\s+(.*)$","name":"comment.block.documentation.ada"},"comment-line":{"match":"--.*$","name":"comment.line.double-dash.ada"},"comment-section":{"captures":{"1":{"name":"entity.name.section.ada"}},"match":"--\\\\s*([^-].*?[^-])\\\\s*--\\\\s*$","name":"comment.line.double-dash.ada"},"component_clause":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"0":{"name":"variable.name.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.aspect.clause.record.representation.component.ada","patterns":[{"begin":"(?i)\\\\bat\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(?=range)\\\\b","patterns":[{"include":"#expression"}]},{"include":"#range_constraint"}]},"component_declaration":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"}]},"2":{"name":"punctuation.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.type.definition.record.component.ada","patterns":[{"patterns":[{"match":":=","name":"keyword.operator.new.ada"},{"include":"#expression"}]},{"include":"#component_definition"}]},"component_definition":{"patterns":[{"match":"(?i)\\\\baliased\\\\b","name":"storage.visibility.ada"},{"match":"(?i)\\\\brange\\\\b","name":"storage.modifier.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"include":"#access_definition"},{"include":"#subtype_mark"}]},"component_item":{"patterns":[{"include":"#component_declaration"},{"include":"#variant_part"},{"include":"#comment"},{"include":"#aspect_clause"},{"captures":{"1":{"name":"keyword.ada"},"2":{"name":"punctuation.ada"}},"match":"(?i)\\\\b(null)\\\\s*(;)"}]},"composite_constraint":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.declaration.constraint.composite.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"keyword.other.ada"},"3":{"patterns":[{"include":"#expression"}]}},"match":"(?i)\\\\b([_\\\\w\\\\d]+)\\\\s*(=>)\\\\s*([^),])+\\\\b"},{"include":"#expression"}]},"decimal_literal":{"captures":{"1":{"name":"punctuation.ada"},"2":{"name":"punctuation.radix-point.ada"},"3":{"name":"punctuation.ada"},"4":{"patterns":[{"include":"#exponent_part"}]}},"match":"\\\\d(?:(_)?\\\\d)*(?:(\\\\.)\\\\d(?:(_)?\\\\d)*)?([Ee][-+]?\\\\d(?:_?\\\\d)*)?","name":"constant.numeric.ada"},"declarative_item":{"patterns":[{"include":"#body"},{"include":"#basic_declarative_item"}]},"delay_relative_statement":{"begin":"(?i)\\\\b(delay)\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"patterns":[{"include":"#expression"}]},"delay_statement":{"patterns":[{"include":"#delay_until_statement"},{"include":"#delay_relative_statement"}]},"delay_until_statement":{"begin":"(?i)\\\\b(delay)\\\\s+(until)\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.delay.until.ada","patterns":[{"include":"#expression"}]},"derived_type_definition":{"name":"meta.declaration.type.definition.derived.ada","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(\\\\bwith\\\\b|;))","patterns":[{"match":"(?i)\\\\band\\\\b","name":"storage.modifier.ada"},{"include":"#subtype_mark"}]},{"match":"(?i)\\\\b(abstract|and|limited|tagged)\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\bprivate\\\\b","name":"storage.visibility.ada"},{"include":"#subtype_mark"}]},"discriminant_specification":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"}]},"2":{"name":"punctuation.ada"}},"end":"(?=([);]))","patterns":[{"begin":":=","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=([);]))","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"storage.visibility.ada"},"2":{"patterns":[{"include":"#subtype_mark"}]}},"match":"(?i)(not\\\\s+null\\\\s+)?([._\\\\w\\\\d]+)\\\\b"},{"include":"#access_definition"}]},"entry_body":{"begin":"(?i)\\\\b(entry)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.entry.ada"}},"end":"(?i)\\\\b(end)\\\\s*(\\\\s\\\\2)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.entry.ada"},"3":{"name":"punctuation.ada"}},"patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=begin)\\\\b","patterns":[{"include":"#declarative_item"}]},{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#statement"}]},{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=is)\\\\b","patterns":[{"include":"#expression"}]},{"include":"#parameter_profile"}]},"entry_declaration":{"begin":"(?i)\\\\b(?:(not)?\\\\s+(overriding)\\\\s+)?(entry)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"},"3":{"name":"keyword.ada"},"4":{"name":"entity.name.entry.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"patterns":[{"include":"#parameter_profile"}]},"enumeration_type_definition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.type.definition.enumeration.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"},{"include":"#comment"}]},"exception_declaration":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)\\\\s*(exception)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"entity.name.exception.ada"}]},"2":{"name":"punctuation.ada"},"3":{"name":"storage.type.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.exception.ada","patterns":[{"match":"(?i)\\\\b(renames)\\\\s+(([._\\\\w\\\\d])+)","name":"entity.name.exception.ada"}]},"exit_statement":{"begin":"(?i)\\\\bexit\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.exit.ada","patterns":[{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?=;)","patterns":[{"include":"#expression"}]},{"match":"[_\\\\w\\\\d]+","name":"entity.name.label.ada"}]},"exponent_part":{"captures":{"1":{"name":"punctuation.exponent-mark.ada"},"2":{"name":"keyword.operator.unary.ada"},"3":{"name":"punctuation.ada"}},"match":"([Ee])([-+])?\\\\d(?:(_)?\\\\d)*"},"expression":{"name":"meta.expression.ada","patterns":[{"match":"(?i)\\\\bnull\\\\b","name":"constant.language.ada"},{"match":"=>(\\\\+)?","name":"keyword.other.ada"},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"include":"#expression"}]},{"match":",","name":"punctuation.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"include":"#value"},{"include":"#attribute"},{"include":"#comment"},{"include":"#operator"},{"match":"(?i)\\\\b(and|or|xor)\\\\b","name":"keyword.ada"},{"match":"(?i)\\\\b(if|then|else|elsif|in|for|(?<!\\\\.)all|some|\\\\.\\\\.|delta|with)\\\\b","name":"keyword.ada"}]},"for_loop_statement":{"begin":"(?i)\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"entity.name.label.ada"},"4":{"name":"punctuation.ada"}},"name":"meta.statement.loop.for.ada","patterns":[{"begin":"(?i)(?<=for)","end":"(?i)\\\\bloop\\\\b","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"keyword.control.ada"}},"match":"(?i)\\\\b([_\\\\w\\\\d]+)\\\\s+(in)(\\\\s+reverse)?\\\\b"},{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"punctuation.ada"},"3":{"patterns":[{"include":"#subtype_mark"}]},"4":{"name":"keyword.control.ada"},"5":{"name":"keyword.control.ada"}},"match":"(?i)\\\\b([_\\\\w\\\\d]+)(?:\\\\s*(:)\\\\s*([._\\\\w\\\\d]+))?\\\\s+(of)(\\\\s+reverse)?\\\\b"},{"include":"#expression"}]},{"include":"#statement"}]},"full_type_declaration":{"patterns":[{"include":"#task_type_declaration"},{"include":"#regular_type_declaration"}]},"function_body":{"begin":"(?i)\\\\b(overriding\\\\s+)?(function)\\\\s+(?:([._\\\\w\\\\d]+)\\\\b|(\\".+\\"))","beginCaptures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.function.ada"},"4":{"patterns":[{"include":"#string_literal"}]}},"end":"(?i)(?:\\\\b(end)\\\\s+(\\\\3|\\\\4)\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.function.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.function.body.ada","patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=end)","patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#aspect_specification"},{"include":"#result_profile"},{"include":"#subprogram_renaming_declaration"},{"include":"#parameter_profile"},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with|begin|;))","name":"meta.function.body.spec_part.ada","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=;)","name":"meta.declaration.package.generic.ada","patterns":[{"match":"([._\\\\w\\\\d]+)","name":"entity.name.function.ada"},{"include":"#actual_parameter_part"}]},{"captures":{"0":{"name":"storage.modifier.ada"}},"match":"(?i)\\\\babstract\\\\b","name":"meta.declaration.function.abstract.ada"},{"include":"#declarative_item"},{"include":"#subprogram_renaming_declaration"},{"include":"#expression"}]}]},"function_specification":{"patterns":[{"include":"#function_body"}]},"goto_statement":{"begin":"(?i)\\\\bgoto\\\\b","beginCaptures":{"0":{"name":"keyword.control.goto.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.goto.ada","patterns":[{}]},"guard":{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"=>","endCaptures":{"0":{"name":"keyword.other.ada"}},"patterns":[{"include":"#expression"}]},"handled_sequence_of_statements":{"patterns":[{"begin":"(?i)\\\\bexception\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","name":"meta.handler.exception.ada","patterns":[{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"=>","endCaptures":{"0":{"name":"keyword.other.ada"}},"patterns":[{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"punctuation.ada"}},"match":"\\\\b([._\\\\w\\\\d]+)\\\\s*(:)"},{"match":"\\\\|","name":"punctuation.ada"},{"match":"(?i)\\\\bothers\\\\b","name":"keyword.ada"},{"match":"[._\\\\w\\\\d]+","name":"entity.name.exception.ada"}]},{"include":"#statement"}]},{"include":"#statement"}]},"highest_precedence_operator":{"match":"(?i)(\\\\*\\\\*|\\\\babs\\\\b|\\\\bnot\\\\b)","name":"keyword.operator.highest-precedence.ada"},"if_statement":{"begin":"(?i)\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(if)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.if.ada","patterns":[{"begin":"(?i)\\\\belsif\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)(?<!\\\\sand)\\\\s+(?=then)","patterns":[{"include":"#expression"}]},{"begin":"(?i)\\\\belse\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)(?=end)","patterns":[{"include":"#statement"}]},{"begin":"(?i)(?<=if)\\\\b","end":"(?i)(?<!\\\\sand)\\\\s+(?=then)","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"include":"#expression"}]},{"begin":"(?i)\\\\bthen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)(?=(e(?:lsif|lse|nd)))","patterns":[{"include":"#statement"}]}]},"integer_type_definition":{"name":"meta.declaration.type.definition.integer.ada","patterns":[{"include":"#signed_integer_type_definition"},{"include":"#modular_type_definition"}]},"interface_type_definition":{"begin":"(?i)\\\\b(?:(limited|task|protected|synchronized)\\\\s+)?(interface)","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(with|;))","name":"meta.declaration.type.definition.interface.ada","patterns":[{"match":"(?i)\\\\band\\\\b","name":"storage.modifier.ada"},{"include":"#subtype_mark"}]},"keyword":{"patterns":[{"match":"(?i)\\\\b(abort|abs|accept|all|and|at|begin|body|declare|delay|end|entry|exception|function|generic|in|is|mod|new|not|null|of|or|others|out|package|pragma|procedure|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|then|type|use|when|with|xor)\\\\b","name":"keyword.ada"},{"match":"(?i)\\\\b(case|do|else|elsif|exit|for|goto|if|loop|raise|return|terminate|until|while)\\\\b","name":"keyword.control.ada"},{"match":"(?i)\\\\b(abstract|access|aliased|array|constant|delta|digits|interface|limited|protected|synchronized|tagged|task)\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\b(private|overriding)\\\\b","name":"storage.visibility.ada"},{"match":"<>","name":"keyword.modifier.unknown.ada"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.ada"},{"match":":=","name":"keyword.operator.assignment.ada"},{"match":"(=|/=|[<>]|<=|>=)","name":"keyword.operator.logic.ada"},{"match":"&","name":"keyword.operator.concatenation.ada"}]},"known_discriminant_part":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.declaration.type.discriminant.ada","patterns":[{"match":";","name":"punctuation.ada"},{"include":"#discriminant_specification"}]},"label":{"captures":{"1":{"name":"punctuation.label.ada"},"2":{"name":"entity.name.label.ada"},"3":{"name":"punctuation.label.ada"}},"match":"(<<)?([_\\\\w\\\\d]+)\\\\s*(:[^=]|>>)","name":"meta.label.ada"},"library_unit":{"name":"meta.library.unit.ada","patterns":[{"include":"#package_body"},{"include":"#package_specification"},{"include":"#subprogram_body"}]},"loop_statement":{"patterns":[{"include":"#simple_loop_statement"},{"include":"#while_loop_statement"},{"include":"#for_loop_statement"}]},"modular_type_definition":{"begin":"(?i)\\\\b(mod)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(with|;))","patterns":[{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]},"multiplying_operator":{"match":"(?i)([*/]|\\\\bmod\\\\b|\\\\brem\\\\b)","name":"keyword.operator.multiplying.ada"},"null_statement":{"captures":{"1":{"name":"keyword.ada"},"2":{"name":"punctuation.ada"}},"match":"(?i)\\\\b(null)\\\\s*(;)","name":"meta.statement.null.ada"},"object_declaration":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)*)\\\\s*(:)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"}]},"2":{"name":"punctuation.ada"}},"end":"(;)","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.object.ada","patterns":[{"begin":"(?<=:)","end":"(?=;)|(:=)|\\\\b(renames)\\\\b","endCaptures":{"1":{"name":"keyword.operator.new.ada"},"2":{"name":"keyword.ada"}},"patterns":[{"match":"(?i)\\\\bconstant\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\baliased\\\\b","name":"storage.visibility.ada"},{"include":"#aspect_specification"},{"include":"#subtype_mark"}]},{"begin":"(?<=:=)","end":"(?=;)","patterns":[{"include":"#aspect_specification"},{"include":"#expression"}]},{"begin":"(?<=renames)","end":"(?=;)","patterns":[{"include":"#aspect_specification"}]}]},"operator":{"patterns":[{"include":"#highest_precedence_operator"},{"include":"#multiplying_operator"},{"include":"#adding_operator"},{"include":"#relational_operator"},{"include":"#logical_operator"}]},"package_body":{"begin":"(?i)\\\\b(package)\\\\s+(body)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.ada"},"3":{"patterns":[{"include":"#package_mark"}]}},"end":"(?i)\\\\b(end)\\\\s+(\\\\3)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#package_mark"}]},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.package.body.ada","patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#handled_sequence_of_statements"}]},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=\\\\b(begin|end)\\\\b)","patterns":[{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#declarative_item"},{"include":"#comment"}]},{"include":"#aspect_specification"}]},"package_declaration":{"patterns":[{"include":"#package_specification"}]},"package_mark":{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.package.ada"},"package_specification":{"begin":"(?i)\\\\b(package)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#package_mark"}]}},"end":"(?i)(?:\\\\b(end)\\\\s+(\\\\2)\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#package_mark"}]},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.package.specification.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=(end|;))","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=;)","name":"meta.declaration.package.generic.ada","patterns":[{"include":"#package_mark"},{"include":"#actual_parameter_part"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#basic_declarative_item"},{"include":"#comment"}]},{"include":"#aspect_specification"}]},"parameter_association":{"patterns":[{"captures":{"1":{"name":"variable.parameter.ada"},"2":{"name":"keyword.other.ada"}},"match":"([_\\\\w\\\\d]+)\\\\s*(=>)"},{"include":"#expression"}]},"parameter_profile":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"match":";","name":"punctuation.ada"},{"include":"#parameter_specification"}]},"parameter_specification":{"patterns":[{"begin":":(?!=)","beginCaptures":{"0":{"name":"punctuation.ada"}},"end":"(?=[):;])","name":"meta.type.annotation.ada","patterns":[{"match":"(?i)\\\\b(in|out)\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"}]},{"begin":":=","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=[):;])","patterns":[{"include":"#expression"}]},{"match":",","name":"punctuation.ada"},{"match":"\\\\b[._\\\\w\\\\d]+\\\\b","name":"variable.parameter.ada"},{"include":"#comment"}]},"positional_array_aggregate":{"name":"meta.definition.array.aggregate.positional.ada","patterns":[{"captures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.other.ada"},"3":{"patterns":[{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]}},"match":"(?i)\\\\b(others)\\\\s*(=>)\\\\s*([^),]+)"},{"include":"#expression"}]},"pragma":{"begin":"(?i)\\\\b(pragma)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.control.directive.ada"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.ada"}},"name":"meta.pragma.ada","patterns":[{"include":"#expression"}]},"preprocessor":{"name":"meta.preprocessor.ada","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.ada"},"2":{"name":"keyword.control.directive.conditional.ada"},"3":{"patterns":[{"include":"#expression"}]}},"match":"^\\\\s*(#)(if|elsif)\\\\s+(.*)$"},{"captures":{"1":{"name":"punctuation.definition.directive.ada"},"2":{"name":"keyword.control.directive.conditional"},"3":{"name":"punctuation.ada"}},"match":"^\\\\s*(#)(end if)(;)"},{"captures":{"1":{"name":"punctuation.definition.directive.ada"},"2":{"name":"keyword.control.directive.conditional"}},"match":"^\\\\s*(#)(else)"}]},"procedure_body":{"begin":"(?i)\\\\b(overriding\\\\s+)?(procedure)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.function.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s+(\\\\3)\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.function.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.procedure.body.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with|begin|;))","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=;)","name":"meta.declaration.package.generic.ada","patterns":[{"match":"([._\\\\w\\\\d]+)","name":"entity.name.function.ada"},{"include":"#actual_parameter_part"}]},{"match":"(?i)\\\\b(null|abstract)\\\\b","name":"storage.modifier.ada"},{"include":"#declarative_item"}]},{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=\\\\bend\\\\b)","patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#subprogram_renaming_declaration"},{"include":"#aspect_specification"},{"include":"#parameter_profile"},{"include":"#comment"}]},"procedure_call_statement":{"begin":"(?i)\\\\b([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.call.ada","patterns":[{"include":"#attribute"},{"include":"#actual_parameter_part"},{"include":"#comment"}]},"procedure_specification":{"patterns":[{"include":"#procedure_body"}]},"protected_body":{"begin":"(?i)\\\\b(protected)\\\\s+(body)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.body.ada"}},"end":"(?i)\\\\b(end)\\\\s*(\\\\s\\\\3)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.body.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.procedure.body.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#protected_operation_item"}]}]},"protected_element_declaration":{"patterns":[{"include":"#subprogram_specification"},{"include":"#aspect_clause"},{"include":"#entry_declaration"},{"include":"#component_declaration"},{"include":"#pragma"}]},"protected_operation_item":{"patterns":[{"include":"#subprogram_specification"},{"include":"#subprogram_body"},{"include":"#aspect_clause"},{"include":"#entry_body"}]},"raise_expression":{"begin":"(?i)\\\\braise\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?=;)","name":"meta.expression.raise.ada","patterns":[{"begin":"(?i)\\\\bwith\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=([);]))","patterns":[{"include":"#expression"}]},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"entity.name.exception.ada"}]},"raise_statement":{"begin":"(?i)\\\\braise\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.raise.ada","patterns":[{"begin":"(?i)\\\\bwith\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?=;)","patterns":[{"include":"#expression"}]},{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.exception.ada"}]},"range_constraint":{"begin":"(?i)\\\\brange\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?=(\\\\bwith\\\\b|;))","patterns":[{"match":"\\\\.\\\\.","name":"keyword.ada"},{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]},"real_type_definition":{"name":"meta.declaration.type.definition.real-type.ada","patterns":[{"include":"#scalar_constraint"}]},"record_representation_clause":{"begin":"(?i)\\\\b(record)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(end)\\\\s+(record)\\\\b","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"storage.modifier.ada"}},"name":"meta.aspect.clause.record.representation.ada","patterns":[{"include":"#component_clause"},{"include":"#comment"}]},"record_type_definition":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"},"3":{"name":"storage.modifier.ada"},"4":{"name":"storage.modifier.ada"},"5":{"name":"storage.modifier.ada"}},"match":"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(null)\\\\s+(record)\\\\b","name":"meta.declaration.type.definition.record.null.ada","patterns":[{"include":"#component_item"}]},{"begin":"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(record)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"},"3":{"name":"storage.modifier.ada"},"4":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(end)\\\\s+(record)\\\\b","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"storage.modifier.ada"}},"name":"meta.declaration.type.definition.record.ada","patterns":[{"include":"#component_item"}]}]},"regular_type_declaration":{"begin":"(?i)\\\\b(type)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.type.definition.regular.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with(?!\\\\s+(private))|;))","patterns":[{"include":"#type_definition"}]},{"begin":"(?i)\\\\b(?<=type)\\\\b","end":"(?i)(?=(is|;))","patterns":[{"include":"#known_discriminant_part"},{"include":"#subtype_mark"}]},{"include":"#aspect_specification"}]},"relational_operator":{"match":"(=|/=|<=??|>=??)","name":"keyword.operator.relational.ada"},"requeue_statement":{"begin":"(?i)\\\\brequeue\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.requeue.ada","patterns":[{"match":"(?i)\\\\b(with|abort)\\\\b","name":"keyword.control.ada"},{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.function.ada"}]},"result_profile":{"begin":"(?i)\\\\breturn\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=(is|with|renames|;))","patterns":[{"include":"#subtype_mark"}]},"return_statement":{"begin":"(?i)\\\\breturn\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.return.ada","patterns":[{"begin":"(?i)\\\\bdo\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(return)\\\\s*(?=;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"}},"patterns":[{"include":"#label"},{"include":"#statement"}]},{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"punctuation.ada"},"3":{"name":"entity.name.type.ada"}},"match":"\\\\b([_\\\\w\\\\d]+)\\\\s*(:)\\\\s*([._\\\\w\\\\d]+)\\\\b"},{"match":":=","name":"keyword.operator.new.ada"},{"include":"#expression"}]},"scalar_constraint":{"name":"meta.declaration.constraint.scalar.ada","patterns":[{"begin":"(?i)\\\\b(d(?:igits|elta))\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"}},"end":"(?i)(?=\\\\brange\\\\b|\\\\bdigits\\\\b|\\\\bwith\\\\b|;)","patterns":[{"include":"#expression"}]},{"include":"#range_constraint"},{"include":"#expression"}]},"select_alternative":{"patterns":[{"begin":"(?i)\\\\bterminate\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}}},{"include":"#statement"}]},"select_statement":{"begin":"(?i)\\\\bselect\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(select)\\\\b","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"}},"name":"meta.statement.select.ada","patterns":[{"begin":"(?i)\\\\b(?:(or)|(?<=select))\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(?=(or|else|end))\\\\b","patterns":[{"include":"#guard"},{"include":"#select_alternative"}]},{"begin":"(?i)\\\\belse\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#statement"}]}]},"signed_integer_type_definition":{"patterns":[{"include":"#range_constraint"}]},"simple_loop_statement":{"begin":"(?i)\\\\bloop\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"entity.name.label.ada"},"4":{"name":"punctuation.ada"}},"name":"meta.statement.loop.ada","patterns":[{"include":"#statement"}]},"single_protected_declaration":{"begin":"(?i)\\\\b(protected)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.protected.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.protected.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.protected.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(\\\\bend\\\\b|;))","patterns":[{"begin":"(?i)\\\\bnew\\\\b","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\bwith\\\\b","patterns":[{"match":"(?i)\\\\band\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"},{"include":"#comment"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#protected_element_declaration"},{"include":"#comment"}]},{"include":"#comment"}]},"single_task_declaration":{"begin":"(?i)\\\\b(task)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"},"3":{"name":"punctuation.ada"}},"patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"begin":"(?i)\\\\bnew\\\\b","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\bwith\\\\b","patterns":[{"match":"(?i)\\\\band\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"},{"include":"#comment"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#task_item"},{"include":"#comment"}]},{"include":"#comment"}]},"statement":{"patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(end)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"punctuation.ada"}},"patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#label"},{"include":"#null_statement"},{"include":"#return_statement"},{"include":"#assignment_statement"},{"include":"#exit_statement"},{"include":"#goto_statement"},{"include":"#requeue_statement"},{"include":"#delay_statement"},{"include":"#abort_statement"},{"include":"#raise_statement"},{"include":"#if_statement"},{"include":"#case_statement"},{"include":"#loop_statement"},{"include":"#block_statement"},{"include":"#select_statement"},{"include":"#accept_statement"},{"include":"#pragma"},{"include":"#procedure_call_statement"},{"include":"#comment"}]},"string_literal":{"captures":{"1":{"name":"punctuation.definition.string.ada"},"2":{"name":"punctuation.definition.string.ada"}},"match":"(\\").*?(\\")","name":"string.quoted.double.ada"},"subprogram_body":{"name":"meta.declaration.subprogram.body.ada","patterns":[{"include":"#procedure_body"},{"include":"#function_body"}]},"subprogram_renaming_declaration":{"begin":"(?i)\\\\brenames\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=(with|;))","patterns":[{"match":"[._\\\\w\\\\d]+","name":"entity.name.function.ada"}]},"subprogram_specification":{"name":"meta.declaration.subprogram.specification.ada","patterns":[{"include":"#procedure_specification"},{"include":"#function_specification"}]},"subtype_declaration":{"begin":"(?i)\\\\bsubtype\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.subtype.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=;)","patterns":[{"match":"(?i)\\\\b(not\\\\s+null)\\\\b","name":"storage.modifier.ada"},{"include":"#composite_constraint"},{"include":"#aspect_specification"},{"include":"#subtype_indication"}]},{"begin":"(?i)(?<=subtype)","end":"(?i)\\\\b(?=is)\\\\b","patterns":[{"include":"#subtype_mark"}]}]},"subtype_indication":{"name":"meta.declaration.indication.subtype.ada","patterns":[{"include":"#scalar_constraint"},{"include":"#subtype_mark"}]},"subtype_mark":{"patterns":[{"match":"(?i)\\\\b(access|aliased|not\\\\s+null|constant)\\\\b","name":"storage.visibility.ada"},{"include":"#attribute"},{"include":"#actual_parameter_part"},{"begin":"(?i)\\\\b(procedure|function)\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=([);]))","patterns":[{"include":"#parameter_profile"},{"begin":"(?i)\\\\breturn\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=([);]))","patterns":[{"include":"#subtype_mark"}]}]},{"captures":{"0":{"patterns":[{"match":"[._]","name":"punctuation.ada"}]}},"match":"\\\\b[._\\\\w\\\\d]+\\\\b","name":"entity.name.type.ada"},{"include":"#comment"}]},"task_body":{"begin":"(?i)\\\\b(task)\\\\s+(body)\\\\s+(([._\\\\w\\\\d])+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.task.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.task.body.ada","patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=end)","patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#aspect_specification"},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with|begin))","patterns":[{"include":"#declarative_item"}]}]},"task_item":{"patterns":[{"include":"#aspect_clause"},{"include":"#entry_declaration"}]},"task_type_declaration":{"begin":"(?i)\\\\b(task)\\\\s+(type)\\\\s+(([._\\\\w\\\\d])+)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.task.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.type.task.ada","patterns":[{"include":"#known_discriminant_part"},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"begin":"(?i)\\\\bnew\\\\b","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\bwith\\\\b","patterns":[{"match":"(?i)\\\\band\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"},{"include":"#comment"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#task_item"},{"include":"#comment"}]},{"include":"#comment"}]},"type_declaration":{"name":"meta.declaration.type.ada","patterns":[{"include":"#full_type_declaration"}]},"type_definition":{"name":"meta.declaration.type.definition.ada","patterns":[{"include":"#enumeration_type_definition"},{"include":"#integer_type_definition"},{"include":"#real_type_definition"},{"include":"#array_type_definition"},{"include":"#record_type_definition"},{"include":"#access_type_definition"},{"include":"#interface_type_definition"},{"include":"#derived_type_definition"}]},"use_clause":{"name":"meta.context.use.ada","patterns":[{"include":"#use_type_clause"},{"include":"#use_package_clause"}]},"use_package_clause":{"begin":"(?i)\\\\buse\\\\b","beginCaptures":{"0":{"name":"keyword.other.using.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.context.use.package.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#package_mark"}]},"use_type_clause":{"begin":"(?i)\\\\b(use)\\\\s+(?:(all)\\\\s+)?(type)\\\\b","beginCaptures":{"1":{"name":"keyword.other.using.ada"},"2":{"name":"keyword.modifier.ada"},"3":{"name":"keyword.modifier.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.context.use.type.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#subtype_mark"}]},"value":{"patterns":[{"include":"#based_literal"},{"include":"#decimal_literal"},{"include":"#character_literal"},{"include":"#string_literal"}]},"variant_part":{"begin":"(?i)\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(end)\\\\s+(case);","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.variant.ada","patterns":[{"begin":"(?i)\\\\b(?<=case)\\\\b","end":"(?i)\\\\bis\\\\b","endCaptures":{"0":{"name":"keyword.ada"}},"patterns":[{"match":"[_\\\\w\\\\d]+","name":"variable.name.ada"},{"include":"#comment"}]},{"begin":"(?i)\\\\b(?<=is)\\\\b","end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"=>","endCaptures":{"0":{"name":"keyword.other.ada"}},"patterns":[{"match":"\\\\|","name":"punctuation.ada"},{"match":"(?i)\\\\bothers\\\\b","name":"keyword.ada"},{"include":"#expression"}]},{"include":"#component_item"}]}]},"while_loop_statement":{"begin":"(?i)\\\\bwhile\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"entity.name.label.ada"},"4":{"name":"punctuation.ada"}},"name":"meta.statement.loop.while.ada","patterns":[{"begin":"(?i)(?<=while)\\\\b","end":"(?i)\\\\bloop\\\\b","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"with_clause":{"begin":"(?i)\\\\b(?:(limited)\\\\s+)?(?:(private)\\\\s+)?(with)\\\\b","beginCaptures":{"1":{"name":"keyword.modifier.ada"},"2":{"name":"storage.visibility.ada"},"3":{"name":"keyword.other.using.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.context.with.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#package_mark"}]}},"scopeName":"source.ada"}`));var a=[e];export{a as default};
|