@treeseed/core 0.1.2

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.
Files changed (384) hide show
  1. package/README.md +145 -0
  2. package/dist/agents/index.js +5 -0
  3. package/dist/agents/registry-helper.js +14 -0
  4. package/dist/agents/registry.js +88 -0
  5. package/dist/components/DevWatchReload.astro +45 -0
  6. package/dist/components/SiteTitle.astro +51 -0
  7. package/dist/components/content/ContentStatusLegend.astro +18 -0
  8. package/dist/components/content/StatusBadge.astro +11 -0
  9. package/dist/components/docs/BookFontControls.astro +180 -0
  10. package/dist/components/docs/DesktopSidebarToggle.astro +88 -0
  11. package/dist/components/docs/DownloadBook.astro +34 -0
  12. package/dist/components/docs/Footer.astro +196 -0
  13. package/dist/components/docs/Header.astro +150 -0
  14. package/dist/components/docs/PageFrame.astro +260 -0
  15. package/dist/components/docs/PageSidebar.astro +63 -0
  16. package/dist/components/docs/PageTitle.astro +39 -0
  17. package/dist/components/docs/Sidebar.astro +41 -0
  18. package/dist/components/docs/ThemeSelect.astro +3 -0
  19. package/dist/components/forms/ContactForm.astro +234 -0
  20. package/dist/components/forms/FooterSubscribeForm.astro +189 -0
  21. package/dist/components/site/BookList.astro +27 -0
  22. package/dist/components/site/CTASection.astro +24 -0
  23. package/dist/components/site/ChronicleList.astro +33 -0
  24. package/dist/components/site/Hero.astro +18 -0
  25. package/dist/components/site/NotesList.astro +18 -0
  26. package/dist/components/site/PathCard.astro +16 -0
  27. package/dist/components/site/ProfileList.astro +30 -0
  28. package/dist/components/site/SectionIntro.astro +9 -0
  29. package/dist/components/site/StageBanner.astro +8 -0
  30. package/dist/components/site/TrustCallout.astro +9 -0
  31. package/dist/components/starlight.js +6 -0
  32. package/dist/config.js +8 -0
  33. package/dist/content-config.js +9 -0
  34. package/dist/content.js +230 -0
  35. package/dist/contracts.d.ts +130 -0
  36. package/dist/contracts.js +0 -0
  37. package/dist/deploy/config.d.ts +4 -0
  38. package/dist/deploy/config.js +154 -0
  39. package/dist/deploy/runtime.js +77 -0
  40. package/dist/env.yaml +322 -0
  41. package/dist/environment.d.ts +130 -0
  42. package/dist/environment.js +324 -0
  43. package/dist/index.js +81 -0
  44. package/dist/layouts/AuthoredEntryLayout.astro +87 -0
  45. package/dist/layouts/BookLayout.astro +35 -0
  46. package/dist/layouts/BridgeLayout.astro +11 -0
  47. package/dist/layouts/ContentLayout.astro +24 -0
  48. package/dist/layouts/MainLayout.astro +203 -0
  49. package/dist/layouts/NoteLayout.astro +26 -0
  50. package/dist/layouts/ProfileLayout.astro +81 -0
  51. package/dist/middleware/starlightRouteData.js +45 -0
  52. package/dist/pages/404.astro +29 -0
  53. package/dist/pages/[slug].astro +30 -0
  54. package/dist/pages/agents/[slug].astro +29 -0
  55. package/dist/pages/agents/index.astro +27 -0
  56. package/dist/pages/api/form/submit.js +14 -0
  57. package/dist/pages/books/[slug].astro +19 -0
  58. package/dist/pages/books/index.astro +28 -0
  59. package/dist/pages/contact.astro +27 -0
  60. package/dist/pages/feed.xml.js +34 -0
  61. package/dist/pages/index.astro +290 -0
  62. package/dist/pages/notes/[slug].astro +19 -0
  63. package/dist/pages/notes/index.astro +21 -0
  64. package/dist/pages/objectives/[slug].astro +31 -0
  65. package/dist/pages/objectives/index.astro +30 -0
  66. package/dist/pages/people/[slug].astro +29 -0
  67. package/dist/pages/people/index.astro +28 -0
  68. package/dist/pages/questions/[slug].astro +31 -0
  69. package/dist/pages/questions/index.astro +30 -0
  70. package/dist/plugin-default.js +4 -0
  71. package/dist/plugins/builtin/default-plugin.d.ts +21 -0
  72. package/dist/plugins/builtin/default-plugin.js +32 -0
  73. package/dist/plugins/constants.d.ts +21 -0
  74. package/dist/plugins/constants.js +28 -0
  75. package/dist/plugins/plugin.d.ts +42 -0
  76. package/dist/plugins/plugin.js +6 -0
  77. package/dist/plugins/runtime.d.ts +31 -0
  78. package/dist/plugins/runtime.js +120 -0
  79. package/dist/scripts/aggregate-book.js +112 -0
  80. package/dist/scripts/assert-release-tag-version.js +21 -0
  81. package/dist/scripts/build-dist.js +384 -0
  82. package/dist/scripts/build-tenant-worker.js +36 -0
  83. package/dist/scripts/package-tools.js +88 -0
  84. package/dist/scripts/patch-starlight-content-path.js +172 -0
  85. package/dist/scripts/paths.js +11 -0
  86. package/dist/scripts/publish-package.js +20 -0
  87. package/dist/scripts/release-verify.js +52 -0
  88. package/dist/scripts/run-fixture-astro-command.js +21 -0
  89. package/dist/scripts/tenant-astro-command.js +3 -0
  90. package/dist/scripts/tenant-build.js +16 -0
  91. package/dist/scripts/tenant-check.js +7 -0
  92. package/dist/scripts/test-smoke.js +105 -0
  93. package/dist/server.js +53 -0
  94. package/dist/site-resources.d.ts +29 -0
  95. package/dist/site-resources.js +127 -0
  96. package/dist/site.js +313 -0
  97. package/dist/styles/global.css +683 -0
  98. package/dist/styles/prose.css +89 -0
  99. package/dist/styles/tokens.css +24 -0
  100. package/dist/tenant/bridge.js +5 -0
  101. package/dist/tenant/config.d.ts +9 -0
  102. package/dist/tenant/config.js +124 -0
  103. package/dist/tenant/runtime-config.js +20 -0
  104. package/dist/tsconfigs/strict.json +3 -0
  105. package/dist/types/agents.d.ts +1 -0
  106. package/dist/types/agents.js +1 -0
  107. package/dist/types/astro-build.d.js +0 -0
  108. package/dist/types/cloudflare-sockets.d.js +0 -0
  109. package/dist/types/cloudflare.d.ts +1 -0
  110. package/dist/types/cloudflare.js +1 -0
  111. package/dist/types/forms.js +4 -0
  112. package/dist/utils/agents/adapters/execution.js +90 -0
  113. package/dist/utils/agents/adapters/mutations.js +30 -0
  114. package/dist/utils/agents/adapters/notification.js +16 -0
  115. package/dist/utils/agents/adapters/repository.js +61 -0
  116. package/dist/utils/agents/adapters/research.js +25 -0
  117. package/dist/utils/agents/adapters/verification.js +62 -0
  118. package/dist/utils/agents/cli-tools.js +5 -0
  119. package/dist/utils/agents/contracts/messages.d.ts +88 -0
  120. package/dist/utils/agents/contracts/messages.js +138 -0
  121. package/dist/utils/agents/contracts/run.d.ts +20 -0
  122. package/dist/utils/agents/contracts/run.js +0 -0
  123. package/dist/utils/agents/runtime-types.d.ts +117 -0
  124. package/dist/utils/agents/runtime-types.js +4 -0
  125. package/dist/utils/books-data.js +82 -0
  126. package/dist/utils/content-status.js +38 -0
  127. package/dist/utils/forms/config.js +87 -0
  128. package/dist/utils/forms/constants.js +27 -0
  129. package/dist/utils/forms/contact-submissions-local.js +19 -0
  130. package/dist/utils/forms/contact-submissions.js +72 -0
  131. package/dist/utils/forms/crypto.js +64 -0
  132. package/dist/utils/forms/guard.js +76 -0
  133. package/dist/utils/forms/http.js +51 -0
  134. package/dist/utils/forms/provider-core.js +88 -0
  135. package/dist/utils/forms/routing-core.js +7 -0
  136. package/dist/utils/forms/routing.js +13 -0
  137. package/dist/utils/forms/runtime-core.js +17 -0
  138. package/dist/utils/forms/runtime.js +27 -0
  139. package/dist/utils/forms/service-core.js +256 -0
  140. package/dist/utils/forms/service.js +55 -0
  141. package/dist/utils/forms/session.js +57 -0
  142. package/dist/utils/forms/smtp-cloudflare.js +107 -0
  143. package/dist/utils/forms/smtp-node.js +27 -0
  144. package/dist/utils/forms/smtp.js +10 -0
  145. package/dist/utils/forms/subscribers-local.js +21 -0
  146. package/dist/utils/forms/subscribers.js +53 -0
  147. package/dist/utils/forms/turnstile.js +31 -0
  148. package/dist/utils/forms/validation.js +58 -0
  149. package/dist/utils/hub-content.js +28 -0
  150. package/dist/utils/plugin-runtime.js +158 -0
  151. package/dist/utils/routes.js +17 -0
  152. package/dist/utils/seo.js +4 -0
  153. package/dist/utils/site-config-schema.js +282 -0
  154. package/dist/utils/site-config.js +122 -0
  155. package/dist/utils/starlight-nav.js +62 -0
  156. package/dist/utils/theme.js +49 -0
  157. package/dist/vendor/starlight/components/AnchorHeading.astro +53 -0
  158. package/dist/vendor/starlight/components/Banner.astro +23 -0
  159. package/dist/vendor/starlight/components/ContentNotice.astro +33 -0
  160. package/dist/vendor/starlight/components/ContentPanel.astro +27 -0
  161. package/dist/vendor/starlight/components/DraftContentNotice.astro +5 -0
  162. package/dist/vendor/starlight/components/EditLink.astro +28 -0
  163. package/dist/vendor/starlight/components/FallbackContentNotice.astro +5 -0
  164. package/dist/vendor/starlight/components/Footer.astro +61 -0
  165. package/dist/vendor/starlight/components/Head.astro +5 -0
  166. package/dist/vendor/starlight/components/Header.astro +94 -0
  167. package/dist/vendor/starlight/components/Hero.astro +143 -0
  168. package/dist/vendor/starlight/components/Icons.js +121 -0
  169. package/dist/vendor/starlight/components/LanguageSelect.astro +57 -0
  170. package/dist/vendor/starlight/components/LastUpdated.astro +14 -0
  171. package/dist/vendor/starlight/components/MarkdownContent.astro +5 -0
  172. package/dist/vendor/starlight/components/MobileMenuFooter.astro +35 -0
  173. package/dist/vendor/starlight/components/MobileMenuToggle.astro +107 -0
  174. package/dist/vendor/starlight/components/MobileTableOfContents.astro +151 -0
  175. package/dist/vendor/starlight/components/Page.astro +126 -0
  176. package/dist/vendor/starlight/components/PageFrame.astro +97 -0
  177. package/dist/vendor/starlight/components/PageSidebar.astro +59 -0
  178. package/dist/vendor/starlight/components/PageTitle.astro +17 -0
  179. package/dist/vendor/starlight/components/Pagination.astro +79 -0
  180. package/dist/vendor/starlight/components/Search.astro +488 -0
  181. package/dist/vendor/starlight/components/Select.astro +99 -0
  182. package/dist/vendor/starlight/components/Sidebar.astro +15 -0
  183. package/dist/vendor/starlight/components/SidebarPersistState.js +43 -0
  184. package/dist/vendor/starlight/components/SidebarPersister.astro +78 -0
  185. package/dist/vendor/starlight/components/SidebarRestorePoint.astro +12 -0
  186. package/dist/vendor/starlight/components/SidebarSublist.astro +154 -0
  187. package/dist/vendor/starlight/components/SiteTitle.astro +59 -0
  188. package/dist/vendor/starlight/components/SkipLink.astro +26 -0
  189. package/dist/vendor/starlight/components/SocialIcons.astro +32 -0
  190. package/dist/vendor/starlight/components/StarlightPage.astro +17 -0
  191. package/dist/vendor/starlight/components/TableOfContents/TableOfContentsList.astro +79 -0
  192. package/dist/vendor/starlight/components/TableOfContents/starlight-toc.js +93 -0
  193. package/dist/vendor/starlight/components/TableOfContents.astro +18 -0
  194. package/dist/vendor/starlight/components/ThemeProvider.astro +38 -0
  195. package/dist/vendor/starlight/components/ThemeSelect.astro +73 -0
  196. package/dist/vendor/starlight/components/TwoColumnContent.astro +54 -0
  197. package/dist/vendor/starlight/components.js +26 -0
  198. package/dist/vendor/starlight/constants.js +4 -0
  199. package/dist/vendor/starlight/expressive-code.d.js +1 -0
  200. package/dist/vendor/starlight/global.d.js +0 -0
  201. package/dist/vendor/starlight/i18n.d.js +1 -0
  202. package/dist/vendor/starlight/index.js +119 -0
  203. package/dist/vendor/starlight/integrations/asides-error.js +12 -0
  204. package/dist/vendor/starlight/integrations/asides.js +179 -0
  205. package/dist/vendor/starlight/integrations/code-rtl-support.js +21 -0
  206. package/dist/vendor/starlight/integrations/expressive-code/hast.d.js +1 -0
  207. package/dist/vendor/starlight/integrations/expressive-code/index.js +63 -0
  208. package/dist/vendor/starlight/integrations/expressive-code/preprocessor.js +92 -0
  209. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-dark.jsonc +1796 -0
  210. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-dark.jsonc.js +1 -0
  211. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-light.jsonc +1695 -0
  212. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-light.jsonc.js +1 -0
  213. package/dist/vendor/starlight/integrations/expressive-code/theming.js +62 -0
  214. package/dist/vendor/starlight/integrations/expressive-code/translations.js +29 -0
  215. package/dist/vendor/starlight/integrations/heading-links.js +61 -0
  216. package/dist/vendor/starlight/integrations/pagefind.js +43 -0
  217. package/dist/vendor/starlight/integrations/remark-rehype.js +68 -0
  218. package/dist/vendor/starlight/integrations/shared/absolutePathToLang.js +15 -0
  219. package/dist/vendor/starlight/integrations/shared/localeToLang.js +9 -0
  220. package/dist/vendor/starlight/integrations/shared/slugToLocale.js +10 -0
  221. package/dist/vendor/starlight/integrations/sitemap.js +20 -0
  222. package/dist/vendor/starlight/integrations/virtual-user-config.js +110 -0
  223. package/dist/vendor/starlight/integrations/vite-layer-order.js +42 -0
  224. package/dist/vendor/starlight/internal.js +6 -0
  225. package/dist/vendor/starlight/loaders.js +36 -0
  226. package/dist/vendor/starlight/locals.d.js +0 -0
  227. package/dist/vendor/starlight/locals.js +30 -0
  228. package/dist/vendor/starlight/package.json +231 -0
  229. package/dist/vendor/starlight/package.json.js +248 -0
  230. package/dist/vendor/starlight/props.js +0 -0
  231. package/dist/vendor/starlight/route-data.js +6 -0
  232. package/dist/vendor/starlight/routes/common.astro +23 -0
  233. package/dist/vendor/starlight/routes/ssr/404.astro +7 -0
  234. package/dist/vendor/starlight/routes/ssr/index.astro +14 -0
  235. package/dist/vendor/starlight/routes/static/404.astro +7 -0
  236. package/dist/vendor/starlight/routes/static/index.astro +12 -0
  237. package/dist/vendor/starlight/schema.js +102 -0
  238. package/dist/vendor/starlight/schemas/badge.js +26 -0
  239. package/dist/vendor/starlight/schemas/components.js +235 -0
  240. package/dist/vendor/starlight/schemas/expressiveCode.js +12 -0
  241. package/dist/vendor/starlight/schemas/favicon.js +33 -0
  242. package/dist/vendor/starlight/schemas/head.js +32 -0
  243. package/dist/vendor/starlight/schemas/hero.js +57 -0
  244. package/dist/vendor/starlight/schemas/i18n.js +101 -0
  245. package/dist/vendor/starlight/schemas/icon.js +7 -0
  246. package/dist/vendor/starlight/schemas/logo.js +24 -0
  247. package/dist/vendor/starlight/schemas/pagefind.js +108 -0
  248. package/dist/vendor/starlight/schemas/prevNextLink.js +14 -0
  249. package/dist/vendor/starlight/schemas/sidebar.js +80 -0
  250. package/dist/vendor/starlight/schemas/site-title.js +19 -0
  251. package/dist/vendor/starlight/schemas/social.js +19 -0
  252. package/dist/vendor/starlight/schemas/tableOfContents.js +16 -0
  253. package/dist/vendor/starlight/style/anchor-links.css +131 -0
  254. package/dist/vendor/starlight/style/asides.css +51 -0
  255. package/dist/vendor/starlight/style/layers.css +1 -0
  256. package/dist/vendor/starlight/style/markdown.css +253 -0
  257. package/dist/vendor/starlight/style/print.css +175 -0
  258. package/dist/vendor/starlight/style/props.css +188 -0
  259. package/dist/vendor/starlight/style/reset.css +52 -0
  260. package/dist/vendor/starlight/style/util.css +63 -0
  261. package/dist/vendor/starlight/translations/ar.json +30 -0
  262. package/dist/vendor/starlight/translations/ar.json.js +32 -0
  263. package/dist/vendor/starlight/translations/ca.json +43 -0
  264. package/dist/vendor/starlight/translations/ca.json.js +45 -0
  265. package/dist/vendor/starlight/translations/cs.json +43 -0
  266. package/dist/vendor/starlight/translations/cs.json.js +45 -0
  267. package/dist/vendor/starlight/translations/da.json +30 -0
  268. package/dist/vendor/starlight/translations/da.json.js +32 -0
  269. package/dist/vendor/starlight/translations/de.json +30 -0
  270. package/dist/vendor/starlight/translations/de.json.js +32 -0
  271. package/dist/vendor/starlight/translations/el.json +30 -0
  272. package/dist/vendor/starlight/translations/el.json.js +32 -0
  273. package/dist/vendor/starlight/translations/en.json +30 -0
  274. package/dist/vendor/starlight/translations/en.json.js +32 -0
  275. package/dist/vendor/starlight/translations/es.json +43 -0
  276. package/dist/vendor/starlight/translations/es.json.js +45 -0
  277. package/dist/vendor/starlight/translations/fa.json +30 -0
  278. package/dist/vendor/starlight/translations/fa.json.js +32 -0
  279. package/dist/vendor/starlight/translations/fi.json +30 -0
  280. package/dist/vendor/starlight/translations/fi.json.js +32 -0
  281. package/dist/vendor/starlight/translations/fr.json +33 -0
  282. package/dist/vendor/starlight/translations/fr.json.js +35 -0
  283. package/dist/vendor/starlight/translations/gl.json +43 -0
  284. package/dist/vendor/starlight/translations/gl.json.js +45 -0
  285. package/dist/vendor/starlight/translations/he.json +30 -0
  286. package/dist/vendor/starlight/translations/he.json.js +32 -0
  287. package/dist/vendor/starlight/translations/hi.json +30 -0
  288. package/dist/vendor/starlight/translations/hi.json.js +32 -0
  289. package/dist/vendor/starlight/translations/hu.json +43 -0
  290. package/dist/vendor/starlight/translations/hu.json.js +45 -0
  291. package/dist/vendor/starlight/translations/id.json +30 -0
  292. package/dist/vendor/starlight/translations/id.json.js +32 -0
  293. package/dist/vendor/starlight/translations/index.js +77 -0
  294. package/dist/vendor/starlight/translations/it.json +30 -0
  295. package/dist/vendor/starlight/translations/it.json.js +32 -0
  296. package/dist/vendor/starlight/translations/ja.json +30 -0
  297. package/dist/vendor/starlight/translations/ja.json.js +32 -0
  298. package/dist/vendor/starlight/translations/ko.json +30 -0
  299. package/dist/vendor/starlight/translations/ko.json.js +32 -0
  300. package/dist/vendor/starlight/translations/lv.json +30 -0
  301. package/dist/vendor/starlight/translations/lv.json.js +32 -0
  302. package/dist/vendor/starlight/translations/nb.json +30 -0
  303. package/dist/vendor/starlight/translations/nb.json.js +32 -0
  304. package/dist/vendor/starlight/translations/nl.json +30 -0
  305. package/dist/vendor/starlight/translations/nl.json.js +32 -0
  306. package/dist/vendor/starlight/translations/pl.json +33 -0
  307. package/dist/vendor/starlight/translations/pl.json.js +35 -0
  308. package/dist/vendor/starlight/translations/pt.json +30 -0
  309. package/dist/vendor/starlight/translations/pt.json.js +32 -0
  310. package/dist/vendor/starlight/translations/ro.json +30 -0
  311. package/dist/vendor/starlight/translations/ro.json.js +32 -0
  312. package/dist/vendor/starlight/translations/ru.json +33 -0
  313. package/dist/vendor/starlight/translations/ru.json.js +35 -0
  314. package/dist/vendor/starlight/translations/sk.json +30 -0
  315. package/dist/vendor/starlight/translations/sk.json.js +32 -0
  316. package/dist/vendor/starlight/translations/sv.json +30 -0
  317. package/dist/vendor/starlight/translations/sv.json.js +32 -0
  318. package/dist/vendor/starlight/translations/th.json +30 -0
  319. package/dist/vendor/starlight/translations/th.json.js +32 -0
  320. package/dist/vendor/starlight/translations/tr.json +30 -0
  321. package/dist/vendor/starlight/translations/tr.json.js +32 -0
  322. package/dist/vendor/starlight/translations/uk.json +30 -0
  323. package/dist/vendor/starlight/translations/uk.json.js +32 -0
  324. package/dist/vendor/starlight/translations/vi.json +30 -0
  325. package/dist/vendor/starlight/translations/vi.json.js +32 -0
  326. package/dist/vendor/starlight/translations/zh-CN.json +30 -0
  327. package/dist/vendor/starlight/translations/zh-CN.json.js +32 -0
  328. package/dist/vendor/starlight/translations/zh-TW.json +30 -0
  329. package/dist/vendor/starlight/translations/zh-TW.json.js +32 -0
  330. package/dist/vendor/starlight/types.js +0 -0
  331. package/dist/vendor/starlight/user-components/Aside.astro +40 -0
  332. package/dist/vendor/starlight/user-components/Badge.astro +148 -0
  333. package/dist/vendor/starlight/user-components/Card.astro +68 -0
  334. package/dist/vendor/starlight/user-components/CardGrid.astro +38 -0
  335. package/dist/vendor/starlight/user-components/FileTree.astro +137 -0
  336. package/dist/vendor/starlight/user-components/Icon.astro +42 -0
  337. package/dist/vendor/starlight/user-components/LinkButton.astro +78 -0
  338. package/dist/vendor/starlight/user-components/LinkCard.astro +78 -0
  339. package/dist/vendor/starlight/user-components/Steps.astro +90 -0
  340. package/dist/vendor/starlight/user-components/TabItem.astro +19 -0
  341. package/dist/vendor/starlight/user-components/Tabs.astro +268 -0
  342. package/dist/vendor/starlight/user-components/file-tree-icons.js +608 -0
  343. package/dist/vendor/starlight/user-components/rehype-file-tree.js +160 -0
  344. package/dist/vendor/starlight/user-components/rehype-steps.js +53 -0
  345. package/dist/vendor/starlight/user-components/rehype-tabs.js +73 -0
  346. package/dist/vendor/starlight/utils/base.js +14 -0
  347. package/dist/vendor/starlight/utils/canonical.js +13 -0
  348. package/dist/vendor/starlight/utils/collection-fs.js +13 -0
  349. package/dist/vendor/starlight/utils/collection.js +16 -0
  350. package/dist/vendor/starlight/utils/createPathFormatter.js +39 -0
  351. package/dist/vendor/starlight/utils/createTranslationSystem.js +60 -0
  352. package/dist/vendor/starlight/utils/error-map.js +110 -0
  353. package/dist/vendor/starlight/utils/format-path.js +9 -0
  354. package/dist/vendor/starlight/utils/generateToC.js +18 -0
  355. package/dist/vendor/starlight/utils/git.js +92 -0
  356. package/dist/vendor/starlight/utils/gitInlined.js +13 -0
  357. package/dist/vendor/starlight/utils/head.js +156 -0
  358. package/dist/vendor/starlight/utils/i18n.js +121 -0
  359. package/dist/vendor/starlight/utils/localizedUrl.js +37 -0
  360. package/dist/vendor/starlight/utils/navigation.js +320 -0
  361. package/dist/vendor/starlight/utils/path.js +52 -0
  362. package/dist/vendor/starlight/utils/plugins.js +355 -0
  363. package/dist/vendor/starlight/utils/routing/data.js +116 -0
  364. package/dist/vendor/starlight/utils/routing/index.js +107 -0
  365. package/dist/vendor/starlight/utils/routing/middleware.js +40 -0
  366. package/dist/vendor/starlight/utils/routing/types.js +0 -0
  367. package/dist/vendor/starlight/utils/routing.js +1 -0
  368. package/dist/vendor/starlight/utils/slugs.js +70 -0
  369. package/dist/vendor/starlight/utils/starlight-page.js +123 -0
  370. package/dist/vendor/starlight/utils/translations-fs.js +31 -0
  371. package/dist/vendor/starlight/utils/translations.js +31 -0
  372. package/dist/vendor/starlight/utils/types.js +0 -0
  373. package/dist/vendor/starlight/utils/url.js +5 -0
  374. package/dist/vendor/starlight/utils/user-config.js +255 -0
  375. package/dist/vendor/starlight/utils/validateLogoImports.js +22 -0
  376. package/dist/vendor/starlight/virtual-internal.d.js +0 -0
  377. package/dist/vendor/starlight/virtual.d.js +0 -0
  378. package/dist/worker/forms-worker.js +141 -0
  379. package/package.json +156 -0
  380. package/style/anchor-links.css +131 -0
  381. package/templates/github/deploy.workflow.yml +47 -0
  382. package/tsconfigs/strict.json +3 -0
  383. package/utils/git.ts +121 -0
  384. package/utils/gitInlined.ts +20 -0
@@ -0,0 +1 @@
1
+ export default "/**\n * Night Owl VS Code Theme - https://github.com/sdras/night-owl-vscode-theme\n *\n * MIT License\n *\n * Copyright (c) 2018 Sarah Drasner\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n{\n\t\"name\": \"Night Owl Light\",\n\t\"type\": \"light\",\n\t\"semanticHighlighting\": false,\n\t\"colors\": {\n\t\t\"foreground\": \"#403f53\",\n\t\t\"focusBorder\": \"#93A1A1\",\n\t\t\"errorForeground\": \"#403f53\",\n\t\t\"selection.background\": \"#7a8181ad\",\n\t\t\"descriptionForeground\": \"#403f53\",\n\t\t\"widget.shadow\": \"#d9d9d9\",\n\t\t\"titleBar.activeBackground\": \"#F0F0F0\",\n\t\t\"notifications.background\": \"#F0F0F0\",\n\t\t\"notifications.foreground\": \"#403f53\",\n\t\t\"notificationLink.foreground\": \"#994cc3\",\n\t\t\"notifications.border\": \"#CCCCCC\",\n\t\t\"notificationCenter.border\": \"#CCCCCC\",\n\t\t\"notificationToast.border\": \"#CCCCCC\",\n\t\t\"notificationCenterHeader.foreground\": \"#403f53\",\n\t\t\"notificationCenterHeader.background\": \"#F0F0F0\",\n\t\t\"button.background\": \"#2AA298\",\n\t\t\"button.foreground\": \"#F0F0F0\",\n\t\t\"dropdown.background\": \"#F0F0F0\",\n\t\t\"dropdown.foreground\": \"#403f53\",\n\t\t\"dropdown.border\": \"#d9d9d9\",\n\t\t\"input.background\": \"#F0F0F0\",\n\t\t\"input.foreground\": \"#403f53\",\n\t\t\"input.border\": \"#d9d9d9\",\n\t\t\"input.placeholderForeground\": \"#93A1A1\",\n\t\t\"inputOption.activeBorder\": \"#2AA298\",\n\t\t\"inputValidation.infoBorder\": \"#D0D0D0\",\n\t\t\"inputValidation.infoBackground\": \"#F0F0F0\",\n\t\t\"inputValidation.warningBackground\": \"#daaa01\",\n\t\t\"inputValidation.warningBorder\": \"#E0AF02\",\n\t\t\"inputValidation.errorBackground\": \"#f76e6e\",\n\t\t\"inputValidation.errorBorder\": \"#de3d3b\",\n\t\t\"badge.background\": \"#2AA298\",\n\t\t\"badge.foreground\": \"#F0F0F0\",\n\t\t\"progressBar.background\": \"#2AA298\",\n\t\t\"list.activeSelectionBackground\": \"#d3e8f8\",\n\t\t\"list.activeSelectionForeground\": \"#403f53\",\n\t\t\"list.inactiveSelectionBackground\": \"#E0E7EA\",\n\t\t\"list.inactiveSelectionForeground\": \"#403f53\",\n\t\t\"list.focusBackground\": \"#d3e8f8\",\n\t\t\"list.hoverBackground\": \"#d3e8f8\",\n\t\t\"list.focusForeground\": \"#403f53\",\n\t\t\"list.hoverForeground\": \"#403f53\",\n\t\t\"list.highlightForeground\": \"#403f53\",\n\t\t\"list.errorForeground\": \"#E64D49\",\n\t\t\"list.warningForeground\": \"#daaa01\",\n\t\t\"activityBar.background\": \"#F0F0F0\",\n\t\t\"activityBar.foreground\": \"#403f53\",\n\t\t\"activityBar.dropBackground\": \"#D0D0D0\",\n\t\t\"activityBarBadge.background\": \"#403f53\",\n\t\t\"activityBarBadge.foreground\": \"#F0F0F0\",\n\t\t\"activityBar.border\": \"#F0F0F0\",\n\t\t\"sideBar.background\": \"#F0F0F0\",\n\t\t\"sideBar.foreground\": \"#403f53\",\n\t\t\"sideBarTitle.foreground\": \"#403f53\",\n\t\t\"sideBar.border\": \"#F0F0F0\",\n\t\t\"scrollbar.shadow\": \"#CCCCCC\",\n\t\t\"tab.border\": \"#F0F0F0\",\n\t\t\"tab.activeBackground\": \"#F6F6F6\",\n\t\t\"tab.activeForeground\": \"#403f53\",\n\t\t\"tab.inactiveForeground\": \"#403f53\",\n\t\t\"tab.inactiveBackground\": \"#F0F0F0\",\n\t\t\"editorGroup.border\": \"#F0F0F0\",\n\t\t\"editorGroup.background\": \"#F6F6F6\",\n\t\t\"editorGroupHeader.tabsBackground\": \"#F0F0F0\",\n\t\t\"editorGroupHeader.tabsBorder\": \"#F0F0F0\",\n\t\t\"editorGroupHeader.noTabsBackground\": \"#F0F0F0\",\n\t\t\"tab.activeModifiedBorder\": \"#2AA298\",\n\t\t\"tab.inactiveModifiedBorder\": \"#93A1A1\",\n\t\t\"tab.unfocusedActiveModifiedBorder\": \"#93A1A1\",\n\t\t\"tab.unfocusedInactiveModifiedBorder\": \"#93A1A1\",\n\t\t\"editor.background\": \"#FBFBFB\",\n\t\t\"editor.foreground\": \"#403f53\",\n\t\t\"editorCursor.foreground\": \"#90A7B2\",\n\t\t\"editorLineNumber.foreground\": \"#90A7B2\",\n\t\t\"editorLineNumber.activeForeground\": \"#403f53\",\n\t\t\"editor.selectionBackground\": \"#E0E0E0\",\n\t\t\"editor.selectionHighlightBackground\": \"#339cec33\",\n\t\t\"editor.wordHighlightBackground\": \"#339cec33\",\n\t\t\"editor.wordHighlightStrongBackground\": \"#007dd659\",\n\t\t\"editor.findMatchBackground\": \"#93A1A16c\",\n\t\t\"editor.findMatchHighlightBackground\": \"#93a1a16c\",\n\t\t\"editor.findRangeHighlightBackground\": \"#7497a633\",\n\t\t\"editor.hoverHighlightBackground\": \"#339cec33\",\n\t\t\"editor.lineHighlightBackground\": \"#F0F0F0\",\n\t\t\"editor.rangeHighlightBackground\": \"#7497a633\",\n\t\t\"editorWhitespace.foreground\": \"#d9d9d9\",\n\t\t\"editorIndentGuide.background\": \"#d9d9d9\",\n\t\t\"editorCodeLens.foreground\": \"#403f53\",\n\t\t\"editorBracketMatch.background\": \"#d3e8f8\",\n\t\t\"editorBracketMatch.border\": \"#2AA298\",\n\t\t\"editorError.foreground\": \"#E64D49\",\n\t\t\"editorError.border\": \"#FBFBFB\",\n\t\t\"editorWarning.foreground\": \"#daaa01\",\n\t\t\"editorWarning.border\": \"#daaa01\",\n\t\t\"editorGutter.addedBackground\": \"#49d0c5\",\n\t\t\"editorGutter.modifiedBackground\": \"#6fbef6\",\n\t\t\"editorGutter.deletedBackground\": \"#f76e6e\",\n\t\t\"editorRuler.foreground\": \"#d9d9d9\",\n\t\t\"editorOverviewRuler.errorForeground\": \"#E64D49\",\n\t\t\"editorOverviewRuler.warningForeground\": \"#daaa01\",\n\t\t\"editorWidget.background\": \"#F0F0F0\",\n\t\t\"editorWidget.border\": \"#d9d9d9\",\n\t\t\"editorSuggestWidget.background\": \"#F0F0F0\",\n\t\t\"editorSuggestWidget.foreground\": \"#403f53\",\n\t\t\"editorSuggestWidget.highlightForeground\": \"#403f53\",\n\t\t\"editorSuggestWidget.selectedBackground\": \"#d3e8f8\",\n\t\t\"editorSuggestWidget.border\": \"#d9d9d9\",\n\t\t\"editorHoverWidget.background\": \"#F0F0F0\",\n\t\t\"editorHoverWidget.border\": \"#d9d9d9\",\n\t\t\"debugExceptionWidget.background\": \"#F0F0F0\",\n\t\t\"debugExceptionWidget.border\": \"#d9d9d9\",\n\t\t\"editorMarkerNavigation.background\": \"#D0D0D0\",\n\t\t\"editorMarkerNavigationError.background\": \"#f76e6e\",\n\t\t\"editorMarkerNavigationWarning.background\": \"#daaa01\",\n\t\t\"debugToolBar.background\": \"#F0F0F0\",\n\t\t\"pickerGroup.border\": \"#d9d9d9\",\n\t\t\"pickerGroup.foreground\": \"#403f53\",\n\t\t\"extensionButton.prominentBackground\": \"#2AA298\",\n\t\t\"extensionButton.prominentForeground\": \"#F0F0F0\",\n\t\t\"statusBar.background\": \"#F0F0F0\",\n\t\t\"statusBar.border\": \"#F0F0F0\",\n\t\t\"statusBar.debuggingBackground\": \"#F0F0F0\",\n\t\t\"statusBar.debuggingForeground\": \"#403f53\",\n\t\t\"statusBar.foreground\": \"#403f53\",\n\t\t\"statusBar.noFolderBackground\": \"#F0F0F0\",\n\t\t\"statusBar.noFolderForeground\": \"#403f53\",\n\t\t\"panel.background\": \"#F0F0F0\",\n\t\t\"panel.border\": \"#d9d9d9\",\n\t\t\"peekView.border\": \"#d9d9d9\",\n\t\t\"peekViewEditor.background\": \"#F6F6F6\",\n\t\t\"peekViewEditorGutter.background\": \"#F6F6F6\",\n\t\t\"peekViewEditor.matchHighlightBackground\": \"#49d0c5\",\n\t\t\"peekViewResult.background\": \"#F0F0F0\",\n\t\t\"peekViewResult.fileForeground\": \"#403f53\",\n\t\t\"peekViewResult.lineForeground\": \"#403f53\",\n\t\t\"peekViewResult.matchHighlightBackground\": \"#49d0c5\",\n\t\t\"peekViewResult.selectionBackground\": \"#E0E7EA\",\n\t\t\"peekViewResult.selectionForeground\": \"#403f53\",\n\t\t\"peekViewTitle.background\": \"#F0F0F0\",\n\t\t\"peekViewTitleLabel.foreground\": \"#403f53\",\n\t\t\"peekViewTitleDescription.foreground\": \"#403f53\",\n\t\t\"terminal.ansiBrightBlack\": \"#403f53\",\n\t\t\"terminal.ansiBlack\": \"#403f53\",\n\t\t\"terminal.ansiBrightBlue\": \"#288ed7\",\n\t\t\"terminal.ansiBlue\": \"#288ed7\",\n\t\t\"terminal.ansiBrightCyan\": \"#2AA298\",\n\t\t\"terminal.ansiCyan\": \"#2AA298\",\n\t\t\"terminal.ansiBrightGreen\": \"#08916a\",\n\t\t\"terminal.ansiGreen\": \"#08916a\",\n\t\t\"terminal.ansiBrightMagenta\": \"#d6438a\",\n\t\t\"terminal.ansiMagenta\": \"#d6438a\",\n\t\t\"terminal.ansiBrightRed\": \"#de3d3b\",\n\t\t\"terminal.ansiRed\": \"#de3d3b\",\n\t\t\"terminal.ansiBrightWhite\": \"#F0F0F0\",\n\t\t\"terminal.ansiWhite\": \"#F0F0F0\",\n\t\t\"terminal.ansiBrightYellow\": \"#daaa01\",\n\t\t\"terminal.ansiYellow\": \"#E0AF02\",\n\t\t\"terminal.background\": \"#F6F6F6\",\n\t\t\"terminal.foreground\": \"#403f53\",\n\t},\n\t\"tokenColors\": [\n\t\t{\n\t\t\t\"name\": \"Changed\",\n\t\t\t\"scope\": [\n\t\t\t\t\"markup.changed\",\n\t\t\t\t\"meta.diff.header.git\",\n\t\t\t\t\"meta.diff.header.from-file\",\n\t\t\t\t\"meta.diff.header.to-file\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#a2bffc\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Deleted\",\n\t\t\t\"scope\": \"markup.deleted.diff\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#EF535090\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Inserted\",\n\t\t\t\"scope\": \"markup.inserted.diff\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6ff\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Global settings\",\n\t\t\t\"settings\": {\n\t\t\t\t\"background\": \"#011627\",\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Comment\",\n\t\t\t\"scope\": \"comment\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#989fb1\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"String\",\n\t\t\t\"scope\": \"string\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"String Quoted\",\n\t\t\t\"scope\": [\"string.quoted\", \"variable.other.readwrite.js\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#c96765\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Constant Math\",\n\t\t\t\"scope\": \"support.constant.math\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Number\",\n\t\t\t\"scope\": [\"constant.numeric\", \"constant.character.numeric\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Built-in constant\",\n\t\t\t\"scope\": [\"constant.language\", \"punctuation.definition.constant\", \"variable.other.constant\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"User-defined constant\",\n\t\t\t\"scope\": [\"constant.character\", \"constant.other\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Constant Character Escape\",\n\t\t\t\"scope\": \"constant.character.escape\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"RegExp String\",\n\t\t\t\"scope\": [\"string.regexp\", \"string.regexp keyword.other\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#5ca7e4\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Comma in functions\",\n\t\t\t\"scope\": \"meta.function punctuation.separator.comma\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#5f7e97\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable\",\n\t\t\t\"scope\": \"variable\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword\",\n\t\t\t\"scope\": [\"punctuation.accessor\", \"keyword\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Storage\",\n\t\t\t\"scope\": [\n\t\t\t\t\"storage\",\n\t\t\t\t\"meta.var.expr\",\n\t\t\t\t\"meta.class meta.method.declaration meta.var.expr storage.type.js\",\n\t\t\t\t\"storage.type.property.js\",\n\t\t\t\t\"storage.type.property.ts\",\n\t\t\t\t\"storage.type.property.tsx\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Storage type\",\n\t\t\t\"scope\": \"storage.type\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Storage type\",\n\t\t\t\"scope\": \"storage.type.function.arrow.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Class name\",\n\t\t\t\"scope\": [\"entity.name.class\", \"meta.class entity.name.type.class\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Inherited class\",\n\t\t\t\"scope\": \"entity.other.inherited-class\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Function name\",\n\t\t\t\"scope\": \"entity.name.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Meta Tag\",\n\t\t\t\"scope\": [\"punctuation.definition.tag\", \"meta.tag\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"HTML Tag names\",\n\t\t\t\"scope\": [\n\t\t\t\t\"entity.name.tag\",\n\t\t\t\t\"meta.tag.other.html\",\n\t\t\t\t\"meta.tag.other.js\",\n\t\t\t\t\"meta.tag.other.tsx\",\n\t\t\t\t\"entity.name.tag.tsx\",\n\t\t\t\t\"entity.name.tag.js\",\n\t\t\t\t\"entity.name.tag\",\n\t\t\t\t\"meta.tag.js\",\n\t\t\t\t\"meta.tag.tsx\",\n\t\t\t\t\"meta.tag.html\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag attribute\",\n\t\t\t\"scope\": \"entity.other.attribute-name\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Entity Name Tag Custom\",\n\t\t\t\"scope\": \"entity.name.tag.custom\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library (function & constant)\",\n\t\t\t\"scope\": [\"support.function\", \"support.constant\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Constant Property Value meta\",\n\t\t\t\"scope\": \"support.constant.meta.property-value\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library class/type\",\n\t\t\t\"scope\": [\"support.type\", \"support.class\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Variable DOM\",\n\t\t\t\"scope\": \"support.variable.dom\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Invalid\",\n\t\t\t\"scope\": \"invalid\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#ff2c83\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Invalid deprecated\",\n\t\t\t\"scope\": \"invalid.deprecated\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#d3423e\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator\",\n\t\t\t\"scope\": \"keyword.operator\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Relational\",\n\t\t\t\"scope\": \"keyword.operator.relational\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Assignment\",\n\t\t\t\"scope\": \"keyword.operator.assignment\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Arithmetic\",\n\t\t\t\"scope\": \"keyword.operator.arithmetic\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Bitwise\",\n\t\t\t\"scope\": \"keyword.operator.bitwise\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Increment\",\n\t\t\t\"scope\": \"keyword.operator.increment\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Ternary\",\n\t\t\t\"scope\": \"keyword.operator.ternary\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Double-Slashed Comment\",\n\t\t\t\"scope\": \"comment.line.double-slash\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#939dbb\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Object\",\n\t\t\t\"scope\": \"object\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#cdebf7\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Null\",\n\t\t\t\"scope\": \"constant.language.null\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#bc5454\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Meta Brace\",\n\t\t\t\"scope\": \"meta.brace\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Meta Delimiter Period\",\n\t\t\t\"scope\": \"meta.delimiter.period\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Punctuation Definition String\",\n\t\t\t\"scope\": \"punctuation.definition.string\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Punctuation Definition String Markdown\",\n\t\t\t\"scope\": \"punctuation.definition.string.begin.markdown\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#bc5454\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Boolean\",\n\t\t\t\"scope\": \"constant.language.boolean\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#bc5454\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Object Comma\",\n\t\t\t\"scope\": \"object.comma\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#ffffff\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable Parameter Function\",\n\t\t\t\"scope\": \"variable.parameter.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Type Property Name & entity name tags\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.type.vendor.property-name\",\n\t\t\t\t\"support.constant.vendor.property-value\",\n\t\t\t\t\"support.type.property-name\",\n\t\t\t\t\"meta.property-list entity.name.tag\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Entity Name tag reference in stylesheets\",\n\t\t\t\"scope\": \"meta.property-list entity.name.tag.reference\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#57eaf1\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Constant Other Color RGB Value Punctuation Definition Constant\",\n\t\t\t\"scope\": \"constant.other.color.rgb-value punctuation.definition.constant\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Constant Other Color\",\n\t\t\t\"scope\": \"constant.other.color\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Other Unit\",\n\t\t\t\"scope\": \"keyword.other.unit\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Meta Selector\",\n\t\t\t\"scope\": \"meta.selector\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Entity Other Attribute Name Id\",\n\t\t\t\"scope\": \"entity.other.attribute-name.id\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Meta Property Name\",\n\t\t\t\"scope\": \"meta.property-name\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Doctypes\",\n\t\t\t\"scope\": [\"entity.name.tag.doctype\", \"meta.tag.sgml.doctype\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Punctuation Definition Parameters\",\n\t\t\t\"scope\": \"punctuation.definition.parameters\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Control Operator\",\n\t\t\t\"scope\": \"keyword.control.operator\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Logical\",\n\t\t\t\"scope\": \"keyword.operator.logical\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable Instances\",\n\t\t\t\"scope\": [\n\t\t\t\t\"variable.instance\",\n\t\t\t\t\"variable.other.instance\",\n\t\t\t\t\"variable.readwrite.instance\",\n\t\t\t\t\"variable.other.readwrite.instance\",\n\t\t\t\t\"variable.other.property\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable Property Other object property\",\n\t\t\t\"scope\": [\"variable.other.object.property\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable Property Other object\",\n\t\t\t\"scope\": [\"variable.other.object.js\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Entity Name Function\",\n\t\t\t\"scope\": [\"entity.name.function\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Operator Comparison, imports, returns and Keyword Operator Ruby\",\n\t\t\t\"scope\": [\n\t\t\t\t\"keyword.operator.comparison\",\n\t\t\t\t\"keyword.control.flow.js\",\n\t\t\t\t\"keyword.control.flow.ts\",\n\t\t\t\t\"keyword.control.flow.tsx\",\n\t\t\t\t\"keyword.control.ruby\",\n\t\t\t\t\"keyword.control.module.ruby\",\n\t\t\t\t\"keyword.control.class.ruby\",\n\t\t\t\t\"keyword.control.def.ruby\",\n\t\t\t\t\"keyword.control.loop.js\",\n\t\t\t\t\"keyword.control.loop.ts\",\n\t\t\t\t\"keyword.control.import.js\",\n\t\t\t\t\"keyword.control.import.ts\",\n\t\t\t\t\"keyword.control.import.tsx\",\n\t\t\t\t\"keyword.control.from.js\",\n\t\t\t\t\"keyword.control.from.ts\",\n\t\t\t\t\"keyword.control.from.tsx\",\n\t\t\t\t\"keyword.operator.instanceof.js\",\n\t\t\t\t\"keyword.operator.expression.instanceof.ts\",\n\t\t\t\t\"keyword.operator.expression.instanceof.tsx\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword Control Conditional\",\n\t\t\t\"scope\": [\n\t\t\t\t\"keyword.control.conditional.js\",\n\t\t\t\t\"keyword.control.conditional.ts\",\n\t\t\t\t\"keyword.control.switch.js\",\n\t\t\t\t\"keyword.control.switch.ts\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Constant, `new` keyword, Special Method Keyword, `debugger`, other keywords\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.constant\",\n\t\t\t\t\"keyword.other.special-method\",\n\t\t\t\t\"keyword.other.new\",\n\t\t\t\t\"keyword.other.debugger\",\n\t\t\t\t\"keyword.control\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Function\",\n\t\t\t\"scope\": \"support.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Invalid Broken\",\n\t\t\t\"scope\": \"invalid.broken\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Invalid Unimplemented\",\n\t\t\t\"scope\": \"invalid.unimplemented\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#8BD649\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Invalid Illegal\",\n\t\t\t\"scope\": \"invalid.illegal\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#c96765\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Language Variable\",\n\t\t\t\"scope\": \"variable.language\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Variable Property\",\n\t\t\t\"scope\": \"support.variable.property\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable Function\",\n\t\t\t\"scope\": \"variable.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable Interpolation\",\n\t\t\t\"scope\": \"variable.interpolation\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#ec5f67\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Meta Function Call\",\n\t\t\t\"scope\": \"meta.function-call\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Punctuation Section Embedded\",\n\t\t\t\"scope\": \"punctuation.section.embedded\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#d3423e\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Punctuation Tweaks\",\n\t\t\t\"scope\": [\n\t\t\t\t\"punctuation.terminator.expression\",\n\t\t\t\t\"punctuation.definition.arguments\",\n\t\t\t\t\"punctuation.definition.array\",\n\t\t\t\t\"punctuation.section.array\",\n\t\t\t\t\"meta.array\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"More Punctuation Tweaks\",\n\t\t\t\"scope\": [\n\t\t\t\t\"punctuation.definition.list.begin\",\n\t\t\t\t\"punctuation.definition.list.end\",\n\t\t\t\t\"punctuation.separator.arguments\",\n\t\t\t\t\"punctuation.definition.list\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Template Strings\",\n\t\t\t\"scope\": \"string.template meta.template.expression\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#d3423e\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Backticks(``) in Template Strings\",\n\t\t\t\"scope\": \"string.template punctuation.definition.string\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Italics\",\n\t\t\t\"scope\": \"italic\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t\t\"fontStyle\": \"italic\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Bold\",\n\t\t\t\"scope\": \"bold\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t\t\"fontStyle\": \"bold\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Quote\",\n\t\t\t\"scope\": \"quote\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#697098\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Raw Code\",\n\t\t\t\"scope\": \"raw\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"CoffeeScript Variable Assignment\",\n\t\t\t\"scope\": \"variable.assignment.coffee\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#31e1eb\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"CoffeeScript Parameter Function\",\n\t\t\t\"scope\": \"variable.parameter.function.coffee\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"CoffeeScript Assignments\",\n\t\t\t\"scope\": \"variable.assignment.coffee\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C# Readwrite Variables\",\n\t\t\t\"scope\": \"variable.other.readwrite.cs\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C# Classes & Storage types\",\n\t\t\t\"scope\": [\"entity.name.type.class.cs\", \"storage.type.cs\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C# Namespaces\",\n\t\t\t\"scope\": \"entity.name.type.namespace.cs\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag names in Stylesheets\",\n\t\t\t\"scope\": [\n\t\t\t\t\"entity.name.tag.css\",\n\t\t\t\t\"entity.name.tag.less\",\n\t\t\t\t\"entity.name.tag.custom.css\",\n\t\t\t\t\"support.constant.property-value.css\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#c96765\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Wildcard(*) selector in Stylesheets\",\n\t\t\t\"scope\": [\n\t\t\t\t\"entity.name.tag.wildcard.css\",\n\t\t\t\t\"entity.name.tag.wildcard.less\",\n\t\t\t\t\"entity.name.tag.wildcard.scss\",\n\t\t\t\t\"entity.name.tag.wildcard.sass\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"CSS Keyword Other Unit\",\n\t\t\t\"scope\": \"keyword.other.unit.css\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Attribute Name for CSS\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.attribute-selector.css entity.other.attribute-name.attribute\",\n\t\t\t\t\"variable.other.readwrite.js\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Elixir Classes\",\n\t\t\t\"scope\": [\n\t\t\t\t\"source.elixir support.type.elixir\",\n\t\t\t\t\"source.elixir meta.module.elixir entity.name.class.elixir\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Elixir Functions\",\n\t\t\t\"scope\": \"source.elixir entity.name.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Elixir Constants\",\n\t\t\t\"scope\": [\n\t\t\t\t\"source.elixir constant.other.symbol.elixir\",\n\t\t\t\t\"source.elixir constant.other.keywords.elixir\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Elixir String Punctuations\",\n\t\t\t\"scope\": \"source.elixir punctuation.definition.string\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Elixir\",\n\t\t\t\"scope\": [\n\t\t\t\t\"source.elixir variable.other.readwrite.module.elixir\",\n\t\t\t\t\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Elixir Binary Punctuations\",\n\t\t\t\"scope\": \"source.elixir .punctuation.binary.elixir\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Closure Constant Keyword\",\n\t\t\t\"scope\": \"constant.keyword.clojure\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Go Function Calls\",\n\t\t\t\"scope\": \"source.go meta.function-call.go\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Go Keywords\",\n\t\t\t\"scope\": [\n\t\t\t\t\"source.go keyword.package.go\",\n\t\t\t\t\"source.go keyword.import.go\",\n\t\t\t\t\"source.go keyword.function.go\",\n\t\t\t\t\"source.go keyword.type.go\",\n\t\t\t\t\"source.go keyword.struct.go\",\n\t\t\t\t\"source.go keyword.interface.go\",\n\t\t\t\t\"source.go keyword.const.go\",\n\t\t\t\t\"source.go keyword.var.go\",\n\t\t\t\t\"source.go keyword.map.go\",\n\t\t\t\t\"source.go keyword.channel.go\",\n\t\t\t\t\"source.go keyword.control.go\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Go Constants e.g. nil, string format (%s, %d, etc.)\",\n\t\t\t\"scope\": [\"source.go constant.language.go\", \"source.go constant.other.placeholder.go\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#bc5454\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C++ Functions\",\n\t\t\t\"scope\": [\"entity.name.function.preprocessor.cpp\", \"entity.scope.name.cpp\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969bff\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C++ Meta Namespace\",\n\t\t\t\"scope\": [\"meta.namespace-block.cpp\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C++ Language Primitive Storage\",\n\t\t\t\"scope\": [\"storage.type.language.primitive.cpp\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#bc5454\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C++ Preprocessor Macro\",\n\t\t\t\"scope\": [\"meta.preprocessor.macro.cpp\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"C++ Variable Parameter\",\n\t\t\t\"scope\": [\"variable.parameter\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Powershell Variables\",\n\t\t\t\"scope\": [\"variable.other.readwrite.powershell\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Powershell Function\",\n\t\t\t\"scope\": [\"support.function.powershell\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969bff\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"ID Attribute Name in HTML\",\n\t\t\t\"scope\": \"entity.other.attribute-name.id.html\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"HTML Punctuation Definition Tag\",\n\t\t\t\"scope\": \"punctuation.definition.tag.html\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"HTML Doctype\",\n\t\t\t\"scope\": \"meta.tag.sgml.doctype.html\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Classes\",\n\t\t\t\"scope\": \"meta.class entity.name.type.class.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Method Declaration e.g. `constructor`\",\n\t\t\t\"scope\": \"meta.method.declaration storage.type.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Terminator\",\n\t\t\t\"scope\": \"terminator.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Meta Punctuation Definition\",\n\t\t\t\"scope\": \"meta.js punctuation.definition.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Entity Names in Code Documentations\",\n\t\t\t\"scope\": [\"entity.name.type.instance.jsdoc\", \"entity.name.type.instance.phpdoc\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#5f7e97\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Other Variables in Code Documentations\",\n\t\t\t\"scope\": [\"variable.other.jsdoc\", \"variable.other.phpdoc\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#78ccf0\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript module imports and exports\",\n\t\t\t\"scope\": [\n\t\t\t\t\"variable.other.meta.import.js\",\n\t\t\t\t\"meta.import.js variable.other\",\n\t\t\t\t\"variable.other.meta.export.js\",\n\t\t\t\t\"meta.export.js variable.other\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Variable Parameter Function\",\n\t\t\t\"scope\": \"variable.parameter.function.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#7986E7\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript[React] Variable Other Object\",\n\t\t\t\"scope\": [\n\t\t\t\t\"variable.other.object.js\",\n\t\t\t\t\"variable.other.object.jsx\",\n\t\t\t\t\"variable.object.property.js\",\n\t\t\t\t\"variable.object.property.jsx\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Variables\",\n\t\t\t\"scope\": [\"variable.js\", \"variable.other.js\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Entity Name Type\",\n\t\t\t\"scope\": [\"entity.name.type.js\", \"entity.name.type.module.js\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Support Classes\",\n\t\t\t\"scope\": \"support.class.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JSON Property Names\",\n\t\t\t\"scope\": \"support.type.property-name.json\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JSON Support Constants\",\n\t\t\t\"scope\": \"support.constant.json\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JSON Property values (string)\",\n\t\t\t\"scope\": \"meta.structure.dictionary.value.json string.quoted.double\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#c789d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Strings in JSON values\",\n\t\t\t\"scope\": \"string.quoted.double.json punctuation.definition.string.json\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Specific JSON Property values like null\",\n\t\t\t\"scope\": \"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#bc5454\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Other Variable\",\n\t\t\t\"scope\": \"variable.other.object.js\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Ruby Variables\",\n\t\t\t\"scope\": [\"variable.other.ruby\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Ruby Class\",\n\t\t\t\"scope\": [\"entity.name.type.class.ruby\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#c96765\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Ruby Hashkeys\",\n\t\t\t\"scope\": \"constant.language.symbol.hashkey.ruby\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Ruby Symbols\",\n\t\t\t\"scope\": \"constant.language.symbol.ruby\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"LESS Tag names\",\n\t\t\t\"scope\": \"entity.name.tag.less\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"LESS Keyword Other Unit\",\n\t\t\t\"scope\": \"keyword.other.unit.css\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Attribute Name for LESS\",\n\t\t\t\"scope\": \"meta.attribute-selector.less entity.other.attribute-name.attribute\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Headings\",\n\t\t\t\"scope\": [\n\t\t\t\t\"markup.heading.markdown\",\n\t\t\t\t\"markup.heading.setext.1.markdown\",\n\t\t\t\t\"markup.heading.setext.2.markdown\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Italics\",\n\t\t\t\"scope\": \"markup.italic.markdown\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t\t\"fontStyle\": \"italic\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Bold\",\n\t\t\t\"scope\": \"markup.bold.markdown\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t\t\"fontStyle\": \"bold\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Quote + others\",\n\t\t\t\"scope\": \"markup.quote.markdown\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#697098\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Raw Code + others\",\n\t\t\t\"scope\": \"markup.inline.raw.markdown\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Links\",\n\t\t\t\"scope\": [\"markup.underline.link.markdown\", \"markup.underline.link.image.markdown\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#ff869a\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Link Title and Description\",\n\t\t\t\"scope\": [\"string.other.link.title.markdown\", \"string.other.link.description.markdown\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Punctuation\",\n\t\t\t\"scope\": [\n\t\t\t\t\"punctuation.definition.string.markdown\",\n\t\t\t\t\"punctuation.definition.string.begin.markdown\",\n\t\t\t\t\"punctuation.definition.string.end.markdown\",\n\t\t\t\t\"meta.link.inline.markdown punctuation.definition.string\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown MetaData Punctuation\",\n\t\t\t\"scope\": [\"punctuation.definition.metadata.markdown\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown List Punctuation\",\n\t\t\t\"scope\": [\"beginning.punctuation.definition.list.markdown\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markdown Inline Raw String\",\n\t\t\t\"scope\": \"markup.inline.raw.string.markdown\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"PHP Variables\",\n\t\t\t\"scope\": [\"variable.other.php\", \"variable.other.property.php\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Classes in PHP\",\n\t\t\t\"scope\": \"support.class.php\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Punctuations in PHP function calls\",\n\t\t\t\"scope\": \"meta.function-call.php punctuation\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"PHP Global Variables\",\n\t\t\t\"scope\": \"variable.other.global.php\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Declaration Punctuation in PHP Global Variables\",\n\t\t\t\"scope\": \"variable.other.global.php punctuation.definition.variable\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Language Constants in Python\",\n\t\t\t\"scope\": \"constant.language.python\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#bc5454\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Python Function Parameter and Arguments\",\n\t\t\t\"scope\": [\"variable.parameter.function.python\", \"meta.function-call.arguments.python\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Python Function Call\",\n\t\t\t\"scope\": [\"meta.function-call.python\", \"meta.function-call.generic.python\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Punctuations in Python\",\n\t\t\t\"scope\": \"punctuation.python\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Decorator Functions in Python\",\n\t\t\t\"scope\": \"entity.name.function.decorator.python\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Python Language Variable\",\n\t\t\t\"scope\": \"source.python variable.language.special\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Python import control keyword\",\n\t\t\t\"scope\": \"keyword.control\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"SCSS Variable\",\n\t\t\t\"scope\": [\n\t\t\t\t\"variable.scss\",\n\t\t\t\t\"variable.sass\",\n\t\t\t\t\"variable.parameter.url.scss\",\n\t\t\t\t\"variable.parameter.url.sass\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variables in SASS At-Rules\",\n\t\t\t\"scope\": [\"source.css.scss meta.at-rule variable\", \"source.css.sass meta.at-rule variable\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variables in SASS At-Rules\",\n\t\t\t\"scope\": [\"source.css.scss meta.at-rule variable\", \"source.css.sass meta.at-rule variable\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Attribute Name for SASS\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.attribute-selector.scss entity.other.attribute-name.attribute\",\n\t\t\t\t\"meta.attribute-selector.sass entity.other.attribute-name.attribute\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag names in SASS\",\n\t\t\t\"scope\": [\"entity.name.tag.scss\", \"entity.name.tag.sass\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#0c969b\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"SASS Keyword Other Unit\",\n\t\t\t\"scope\": [\"keyword.other.unit.scss\", \"keyword.other.unit.sass\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#994cc3\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript[React] Variables and Object Properties\",\n\t\t\t\"scope\": [\n\t\t\t\t\"variable.other.readwrite.alias.ts\",\n\t\t\t\t\"variable.other.readwrite.alias.tsx\",\n\t\t\t\t\"variable.other.readwrite.ts\",\n\t\t\t\t\"variable.other.readwrite.tsx\",\n\t\t\t\t\"variable.other.object.ts\",\n\t\t\t\t\"variable.other.object.tsx\",\n\t\t\t\t\"variable.object.property.ts\",\n\t\t\t\t\"variable.object.property.tsx\",\n\t\t\t\t\"variable.other.ts\",\n\t\t\t\t\"variable.other.tsx\",\n\t\t\t\t\"variable.tsx\",\n\t\t\t\t\"variable.ts\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript[React] Entity Name Types\",\n\t\t\t\"scope\": [\"entity.name.type.ts\", \"entity.name.type.tsx\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript[React] Node Classes\",\n\t\t\t\"scope\": [\"support.class.node.ts\", \"support.class.node.tsx\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript[React] Entity Name Types as Parameters\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.type.parameters.ts entity.name.type\",\n\t\t\t\t\"meta.type.parameters.tsx entity.name.type\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#5f7e97\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript[React] Import/Export Punctuations\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.import.ts punctuation.definition.block\",\n\t\t\t\t\"meta.import.tsx punctuation.definition.block\",\n\t\t\t\t\"meta.export.ts punctuation.definition.block\",\n\t\t\t\t\"meta.export.tsx punctuation.definition.block\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript[React] Punctuation Decorators\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.decorator punctuation.decorator.ts\",\n\t\t\t\t\"meta.decorator punctuation.decorator.tsx\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript[React] Punctuation Decorators\",\n\t\t\t\"scope\": \"meta.tag.js meta.jsx.children.tsx\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"YAML Entity Name Tags\",\n\t\t\t\"scope\": \"entity.name.tag.yaml\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"JavaScript Variable Other ReadWrite\",\n\t\t\t\"scope\": [\"variable.other.readwrite.js\", \"variable.parameter\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support Class Component\",\n\t\t\t\"scope\": [\"support.class.component.js\", \"support.class.component.tsx\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#aa0982\",\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Text nested in React tags\",\n\t\t\t\"scope\": [\"meta.jsx.children\", \"meta.jsx.children.js\", \"meta.jsx.children.tsx\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#403f53\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript Classes\",\n\t\t\t\"scope\": \"meta.class entity.name.type.class.tsx\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript Entity Name Type\",\n\t\t\t\"scope\": [\"entity.name.type.tsx\", \"entity.name.type.module.tsx\"],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#111111\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript Class Variable Keyword\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.class.ts meta.var.expr.ts storage.type.ts\",\n\t\t\t\t\"meta.class.tsx meta.var.expr.tsx storage.type.tsx\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#C792EA\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"TypeScript Method Declaration e.g. `constructor`\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.method.declaration storage.type.ts\",\n\t\t\t\t\"meta.method.declaration storage.type.tsx\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#4876d6\",\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"name\": \"normalize font style of certain components\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.property-list.css meta.property-value.css variable.other.less\",\n\t\t\t\t\"meta.property-list.scss variable.scss\",\n\t\t\t\t\"meta.property-list.sass variable.sass\",\n\t\t\t\t\"meta.brace\",\n\t\t\t\t\"keyword.operator.operator\",\n\t\t\t\t\"keyword.operator.or.regexp\",\n\t\t\t\t\"keyword.operator.expression.in\",\n\t\t\t\t\"keyword.operator.relational\",\n\t\t\t\t\"keyword.operator.assignment\",\n\t\t\t\t\"keyword.operator.comparison\",\n\t\t\t\t\"keyword.operator.type\",\n\t\t\t\t\"keyword.operator\",\n\t\t\t\t\"keyword\",\n\t\t\t\t\"punctuation.definition.string\",\n\t\t\t\t\"punctuation\",\n\t\t\t\t\"variable.other.readwrite.js\",\n\t\t\t\t\"storage.type\",\n\t\t\t\t\"source.css\",\n\t\t\t\t\"string.quoted\",\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t},\n\t\t},\n\t],\n}\n";
@@ -0,0 +1,62 @@
1
+ import { ExpressiveCodeTheme } from "astro-expressive-code";
2
+ import nightOwlDark from "./themes/night-owl-dark.jsonc.js";
3
+ import nightOwlLight from "./themes/night-owl-light.jsonc.js";
4
+ function preprocessThemes(themes) {
5
+ themes = themes && !Array.isArray(themes) ? [themes] : themes;
6
+ if (!themes || !themes.length) themes = ["starlight-dark", "starlight-light"];
7
+ return themes.map((theme) => {
8
+ if (theme === "starlight-dark" || theme === "starlight-light") {
9
+ const bundledTheme = theme === "starlight-dark" ? nightOwlDark : nightOwlLight;
10
+ return customizeBundledTheme(ExpressiveCodeTheme.fromJSONString(bundledTheme));
11
+ }
12
+ return theme;
13
+ });
14
+ }
15
+ function customizeBundledTheme(theme) {
16
+ theme.colors["titleBar.border"] = theme.colors["tab.activeBackground"];
17
+ theme.colors["editorGroupHeader.tabsBorder"] = theme.colors["tab.activeBackground"];
18
+ theme.settings.forEach((s) => {
19
+ if (s.name?.includes("Link")) s.settings.fontStyle = "underline";
20
+ });
21
+ return theme;
22
+ }
23
+ function applyStarlightUiThemeColors(theme) {
24
+ const isDark = theme.type === "dark";
25
+ const neutralMinimal = isDark ? "#ffffff17" : "#0000001a";
26
+ const neutralDimmed = isDark ? "#ffffff40" : "#00000055";
27
+ const borderColor = "color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)";
28
+ theme.colors["titleBar.border"] = borderColor;
29
+ theme.colors["editorGroupHeader.tabsBorder"] = borderColor;
30
+ const backgroundColor = isDark ? "var(--sl-color-black)" : "var(--sl-color-gray-6)";
31
+ theme.colors["titleBar.activeBackground"] = backgroundColor;
32
+ theme.colors["editorGroupHeader.tabsBackground"] = backgroundColor;
33
+ theme.colors["titleBar.activeForeground"] = "var(--sl-color-text)";
34
+ theme.colors["tab.activeForeground"] = "var(--sl-color-text)";
35
+ const activeBorderColor = isDark ? "var(--sl-color-accent-high)" : "var(--sl-color-accent)";
36
+ theme.colors["tab.activeBorder"] = "transparent";
37
+ theme.colors["tab.activeBorderTop"] = activeBorderColor;
38
+ theme.colors["scrollbarSlider.background"] = neutralMinimal;
39
+ theme.colors["scrollbarSlider.hoverBackground"] = neutralDimmed;
40
+ theme.bg = isDark ? "#23262f" : "#f6f7f9";
41
+ theme.colors["editor.background"] = theme.bg;
42
+ const editorBackgroundColor = isDark ? "var(--sl-color-gray-6)" : "var(--sl-color-gray-7)";
43
+ theme.styleOverrides.frames = {
44
+ // Use the same color for editor background, terminal background and active tab background
45
+ editorBackground: editorBackgroundColor,
46
+ terminalBackground: editorBackgroundColor,
47
+ editorActiveTabBackground: editorBackgroundColor,
48
+ terminalTitlebarDotsForeground: borderColor,
49
+ terminalTitlebarDotsOpacity: "0.75",
50
+ inlineButtonForeground: "var(--sl-color-text)",
51
+ frameBoxShadowCssValue: "none"
52
+ };
53
+ theme.styleOverrides.textMarkers = {
54
+ markBackground: neutralMinimal,
55
+ markBorderColor: neutralDimmed
56
+ };
57
+ return theme;
58
+ }
59
+ export {
60
+ applyStarlightUiThemeColors,
61
+ preprocessThemes
62
+ };
@@ -0,0 +1,29 @@
1
+ import { pluginFramesTexts } from "astro-expressive-code";
2
+ import { localeToLang } from "../shared/localeToLang.js";
3
+ function addTranslations(config, useTranslations) {
4
+ addTranslationsForLocale(config.defaultLocale.locale, config, useTranslations);
5
+ if (config.isMultilingual) {
6
+ for (const locale in config.locales) {
7
+ if (locale === config.defaultLocale.locale || locale === "root") continue;
8
+ addTranslationsForLocale(locale, config, useTranslations);
9
+ }
10
+ }
11
+ }
12
+ function addTranslationsForLocale(locale, config, useTranslations) {
13
+ const lang = localeToLang(config, locale);
14
+ const t = useTranslations(lang);
15
+ const translationKeys = [
16
+ "expressiveCode.copyButtonCopied",
17
+ "expressiveCode.copyButtonTooltip",
18
+ "expressiveCode.terminalWindowFallbackTitle"
19
+ ];
20
+ translationKeys.forEach((key) => {
21
+ const translation = t.exists(key) ? t(key) : void 0;
22
+ if (!translation) return;
23
+ const ecId = key.replace(/^expressiveCode\./, "");
24
+ pluginFramesTexts.overrideTexts(lang, { [ecId]: translation });
25
+ });
26
+ }
27
+ export {
28
+ addTranslations
29
+ };
@@ -0,0 +1,61 @@
1
+ import { toString } from "hast-util-to-string";
2
+ import { h } from "hastscript";
3
+ import { SKIP, visit } from "unist-util-visit";
4
+ const AnchorLinkIcon = h(
5
+ "span",
6
+ { ariaHidden: "true", class: "sl-anchor-icon" },
7
+ h(
8
+ "svg",
9
+ { width: 16, height: 16, viewBox: "0 0 24 24" },
10
+ h("path", {
11
+ fill: "currentcolor",
12
+ d: "m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"
13
+ })
14
+ )
15
+ );
16
+ function rehypeAutolinkHeadings({
17
+ absolutePathToLang,
18
+ useTranslations
19
+ }) {
20
+ const transformer = (tree, file) => {
21
+ const pageLang = absolutePathToLang(file.path);
22
+ const t = useTranslations(pageLang);
23
+ visit(tree, "element", function(node, index, parent) {
24
+ if (!headingRank(node) || !node.properties.id || typeof index !== "number" || !parent) {
25
+ return;
26
+ }
27
+ const accessibleLabel = t("heading.anchorLabel", {
28
+ title: toString(node),
29
+ interpolation: { escapeValue: false }
30
+ });
31
+ parent.children[index] = h(
32
+ "div",
33
+ { class: `sl-heading-wrapper level-${node.tagName}` },
34
+ // Heading
35
+ node,
36
+ // Anchor link
37
+ {
38
+ type: "element",
39
+ tagName: "a",
40
+ properties: { class: "sl-anchor-link", href: "#" + String(node.properties.id) },
41
+ children: [
42
+ AnchorLinkIcon,
43
+ h("span", { class: "sr-only", "data-pagefind-ignore": true }, accessibleLabel)
44
+ ]
45
+ }
46
+ );
47
+ return SKIP;
48
+ });
49
+ };
50
+ return function attacher() {
51
+ return transformer;
52
+ };
53
+ }
54
+ function headingRank(node) {
55
+ const name = node.type === "element" ? node.tagName.toLowerCase() : "";
56
+ const code = name.length === 2 && name.charCodeAt(0) === 104 ? name.charCodeAt(1) : 0;
57
+ return code > 48 && code < 55 ? code - 48 : void 0;
58
+ }
59
+ export {
60
+ rehypeAutolinkHeadings as default
61
+ };
@@ -0,0 +1,43 @@
1
+ import { fileURLToPath } from "node:url";
2
+ import * as pagefind from "pagefind";
3
+ async function starlightPagefind({
4
+ dir,
5
+ logger: starlightLogger
6
+ }) {
7
+ const logger = starlightLogger.fork("starlight:pagefind");
8
+ const options = { dir, logger };
9
+ try {
10
+ const now = performance.now();
11
+ logger.info("Building search index with Pagefind...");
12
+ const newIndexResponse = await pagefind.createIndex();
13
+ const { index } = assertPagefindResponse(newIndexResponse, options);
14
+ const indexingResponse = await index.addDirectory({ path: fileURLToPath(dir) });
15
+ const { page_count } = assertPagefindResponse(
16
+ indexingResponse,
17
+ options
18
+ );
19
+ logger.info(`Found ${page_count} HTML files.`);
20
+ const writeFilesResponse = await index.writeFiles({
21
+ outputPath: fileURLToPath(new URL("./pagefind/", dir))
22
+ });
23
+ assertPagefindResponse(writeFilesResponse, options);
24
+ const pagefindTime = performance.now() - now;
25
+ logger.info(
26
+ `Finished building search index in ${pagefindTime < 750 ? `${Math.round(pagefindTime)}ms` : `${(pagefindTime / 1e3).toFixed(2)}s`}.`
27
+ );
28
+ } catch (cause) {
29
+ throw new Error("Failed to run Pagefind.", { cause });
30
+ } finally {
31
+ await pagefind.close();
32
+ }
33
+ }
34
+ function assertPagefindResponse(response, { logger }) {
35
+ if (response.errors.length > 0) {
36
+ for (const error of response.errors) logger.error(`Pagefind error: ${error}`);
37
+ throw new Error("Pagefind response contained errors.");
38
+ }
39
+ return response;
40
+ }
41
+ export {
42
+ starlightPagefind
43
+ };
@@ -0,0 +1,68 @@
1
+ import { resolve } from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ import { rehypeHeadingIds } from "@astrojs/markdown-remark";
4
+ import remarkDirective from "remark-directive";
5
+ import { resolveCollectionPath } from "../utils/collection-fs.js";
6
+ import { remarkAsides } from "./asides.js";
7
+ import { rehypeRtlCodeSupport } from "./code-rtl-support.js";
8
+ import rehypeAutolinkHeadings from "./heading-links.js";
9
+ function starlightRemarkPlugins(options) {
10
+ return [remarkDirective, remarkPlugins(options)];
11
+ }
12
+ function starlightRehypePlugins(options) {
13
+ return [
14
+ ...options.starlightConfig.markdown.headingLinks ? [
15
+ [
16
+ rehypeHeadingIds,
17
+ { experimentalHeadingIdCompat: options.astroConfig.experimental?.headingIdCompat }
18
+ ]
19
+ ] : [],
20
+ rehypePlugins(options)
21
+ ];
22
+ }
23
+ function remarkPlugins(options) {
24
+ const remarkRehypePaths = getRemarkRehypePaths(options);
25
+ return function attacher() {
26
+ const remarkAsidesTransformer = remarkAsides(options).call(this);
27
+ return async function transformer(...args) {
28
+ const [, file] = args;
29
+ if (!shouldTransformFile(file, remarkRehypePaths)) return;
30
+ await remarkAsidesTransformer(...args);
31
+ };
32
+ };
33
+ }
34
+ function rehypePlugins(options) {
35
+ const remarkRehypePaths = getRemarkRehypePaths(options);
36
+ return function attacher() {
37
+ const rehypeRtlCodeSupportTransformer = rehypeRtlCodeSupport(options).call(this);
38
+ const rehypeAutolinkHeadingsTransformer = rehypeAutolinkHeadings(options).call(this);
39
+ return async function transformer(...args) {
40
+ const [, file] = args;
41
+ if (!shouldTransformFile(file, remarkRehypePaths)) return;
42
+ await rehypeRtlCodeSupportTransformer(...args);
43
+ if (options.starlightConfig.markdown.headingLinks) {
44
+ await rehypeAutolinkHeadingsTransformer(...args);
45
+ }
46
+ };
47
+ };
48
+ }
49
+ function getRemarkRehypePaths(options) {
50
+ const paths = [normalizePath(resolveCollectionPath("docs", options.astroConfig.srcDir))];
51
+ for (const processedDir of options.starlightConfig.markdown.processedDirs) {
52
+ paths.push(normalizePath(resolve(fileURLToPath(options.astroConfig.root), processedDir)));
53
+ }
54
+ return paths;
55
+ }
56
+ function shouldTransformFile(file, remarkRehypePaths) {
57
+ if (!file?.path) return false;
58
+ const normalizedPath = normalizePath(file.path);
59
+ return remarkRehypePaths.some((path) => normalizedPath.startsWith(path));
60
+ }
61
+ const backSlashRegex = /\\/g;
62
+ function normalizePath(path) {
63
+ return path.replace(backSlashRegex, "/");
64
+ }
65
+ export {
66
+ starlightRehypePlugins,
67
+ starlightRemarkPlugins
68
+ };
@@ -0,0 +1,15 @@
1
+ import { localeToLang } from "./localeToLang.js";
2
+ import { slugToLocale } from "./slugToLocale.js";
3
+ function absolutePathToLang(path, {
4
+ docsPath,
5
+ starlightConfig
6
+ }) {
7
+ path = path?.replace(/\\/g, "/");
8
+ if (path && !path.startsWith("/") && docsPath.startsWith("/")) path = "/" + path;
9
+ const slug = path?.replace(docsPath, "");
10
+ const locale = slugToLocale(slug, starlightConfig);
11
+ return localeToLang(starlightConfig, locale);
12
+ }
13
+ export {
14
+ absolutePathToLang
15
+ };
@@ -0,0 +1,9 @@
1
+ import { BuiltInDefaultLocale } from "../../utils/i18n.js";
2
+ function localeToLang(config, locale) {
3
+ const lang = locale ? config.locales?.[locale]?.lang : config.locales?.root?.lang;
4
+ const defaultLang = config.defaultLocale?.lang || config.defaultLocale?.locale;
5
+ return lang || defaultLang || BuiltInDefaultLocale.lang;
6
+ }
7
+ export {
8
+ localeToLang
9
+ };
@@ -0,0 +1,10 @@
1
+ function slugToLocale(slug, config) {
2
+ const localesConfig = config.locales ?? {};
3
+ const baseSegment = slug?.split("/")[0];
4
+ if (baseSegment && localesConfig[baseSegment]) return baseSegment;
5
+ if (!localesConfig.root) return config.defaultLocale.locale;
6
+ return void 0;
7
+ }
8
+ export {
9
+ slugToLocale
10
+ };
@@ -0,0 +1,20 @@
1
+ import sitemap from "@astrojs/sitemap";
2
+ function getSitemapConfig(opts) {
3
+ const sitemapConfig = {};
4
+ if (opts.isMultilingual) {
5
+ sitemapConfig.i18n = {
6
+ defaultLocale: opts.defaultLocale.locale || "root",
7
+ locales: Object.fromEntries(
8
+ Object.entries(opts.locales).map(([locale, config]) => [locale, config.lang])
9
+ )
10
+ };
11
+ }
12
+ return sitemapConfig;
13
+ }
14
+ function starlightSitemap(opts) {
15
+ return sitemap(getSitemapConfig(opts));
16
+ }
17
+ export {
18
+ getSitemapConfig,
19
+ starlightSitemap
20
+ };
@@ -0,0 +1,110 @@
1
+ import { existsSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { resolveCollectionPath } from "../utils/collection-fs.js";
5
+ import { getAllNewestCommitDate } from "../utils/git.js";
6
+ function resolveVirtualModuleId(id) {
7
+ return `\0${id}`;
8
+ }
9
+ function vitePluginStarlightUserConfig(command, opts, {
10
+ build,
11
+ legacy,
12
+ root,
13
+ srcDir,
14
+ trailingSlash
15
+ }, pluginTranslations) {
16
+ const resolveId = (id, base = root) => JSON.stringify(id.startsWith(".") ? resolve(fileURLToPath(base), id) : id);
17
+ const resolveLocalPath = (path) => JSON.stringify(fileURLToPath(new URL(path, import.meta.url)));
18
+ const rootPath = fileURLToPath(root);
19
+ const docsPath = resolveCollectionPath("docs", srcDir);
20
+ let collectionConfigImportPath = resolve(
21
+ fileURLToPath(srcDir),
22
+ legacy.collections ? "./content/config.js" : "./content.config.js"
23
+ );
24
+ if (!legacy.collections && !existsSync(collectionConfigImportPath)) {
25
+ collectionConfigImportPath = resolve(fileURLToPath(srcDir), "./content/config.js");
26
+ }
27
+ const virtualComponentModules = Object.fromEntries(
28
+ Object.entries(opts.components).map(([name, path]) => [
29
+ `virtual:starlight/components/${name}`,
30
+ `export { default } from ${resolveId(path)};`
31
+ ])
32
+ );
33
+ const modules = {
34
+ "virtual:starlight/user-config": `export default ${JSON.stringify(opts)}`,
35
+ "virtual:starlight/project-context": `export default ${JSON.stringify({
36
+ build: { format: build.format },
37
+ legacyCollections: legacy.collections,
38
+ root,
39
+ srcDir,
40
+ trailingSlash
41
+ })}`,
42
+ "virtual:starlight/git-info": (command !== "build" ? `import { makeAPI } from ${resolveLocalPath("../utils/git.js")};const api = makeAPI(${JSON.stringify(rootPath)});` : `import { makeAPI } from ${resolveLocalPath("../utils/gitInlined.js")};const api = makeAPI(${JSON.stringify(getAllNewestCommitDate(rootPath, docsPath))});`) + "export const getNewestCommitDate = api.getNewestCommitDate;",
43
+ /**
44
+ * Module containing styles for features that can be toggled on or off such as heading anchor links.
45
+ */
46
+ "virtual:starlight/optional-css": opts.markdown.headingLinks ? `import ${resolveLocalPath("../style/anchor-links.css")};` : "",
47
+ /**
48
+ * Module containing imports of user-specified custom CSS files.
49
+ */
50
+ "virtual:starlight/user-css": opts.customCss.map((id) => `import ${resolveId(id)};`).join(""),
51
+ "virtual:starlight/user-images": opts.logo ? "src" in opts.logo ? `import src from ${resolveId(
52
+ opts.logo.src
53
+ )}; export const logos = { dark: src, light: src };` : `import dark from ${resolveId(opts.logo.dark)}; import light from ${resolveId(
54
+ opts.logo.light
55
+ )}; export const logos = { dark, light };` : "export const logos = {};",
56
+ "virtual:starlight/collection-config": `let userCollections;
57
+ try {
58
+ userCollections = (await import(${JSON.stringify(collectionConfigImportPath)})).collections;
59
+ } catch {}
60
+ export const collections = userCollections;`,
61
+ "virtual:starlight/plugin-translations": `export default ${JSON.stringify(pluginTranslations)}`,
62
+ /**
63
+ * Exports an array of route middleware functions.
64
+ * For example, might generate a module that looks like:
65
+ *
66
+ * ```js
67
+ * import { onRequest as routeMiddleware0 } from "/users/houston/docs/src/middleware";
68
+ * import { onRequest as routeMiddleware1 } from "@houston-inc/plugin/middleware";
69
+ *
70
+ * export const routeMiddleware = [
71
+ * routeMiddleware0,
72
+ * routeMiddleware1,
73
+ * ];
74
+ * ```
75
+ */
76
+ "virtual:starlight/route-middleware": opts.routeMiddleware.reduce(
77
+ ([imports, entries], id, index) => {
78
+ const importName = `routeMiddleware${index}`;
79
+ imports += `import { onRequest as ${importName} } from ${resolveId(id)};
80
+ `;
81
+ entries += ` ${importName},
82
+ `;
83
+ return [imports, entries];
84
+ },
85
+ ["", "export const routeMiddleware = [\n"]
86
+ ).join("\n") + "];",
87
+ /** Map of modules exporting Starlight’s templating components. */
88
+ "virtual:starlight/pagefind-config": `export const pagefindUserConfig = ${JSON.stringify(opts.pagefind || {})}`,
89
+ ...virtualComponentModules
90
+ };
91
+ const resolutionMap = Object.fromEntries(
92
+ Object.keys(modules).map((key) => [
93
+ resolveVirtualModuleId(key),
94
+ key
95
+ ])
96
+ );
97
+ return {
98
+ name: "vite-plugin-starlight-user-config",
99
+ resolveId(id) {
100
+ if (id in modules) return resolveVirtualModuleId(id);
101
+ },
102
+ load(id) {
103
+ const resolution = resolutionMap[id];
104
+ if (resolution) return modules[resolution];
105
+ }
106
+ };
107
+ }
108
+ export {
109
+ vitePluginStarlightUserConfig
110
+ };
@@ -0,0 +1,42 @@
1
+ import MagicString from "magic-string";
2
+ const starlightPageImportSource = "@astrojs/starlight/components/StarlightPage.astro";
3
+ function vitePluginStarlightCssLayerOrder() {
4
+ return {
5
+ name: "vite-plugin-starlight-css-layer-order",
6
+ enforce: "pre",
7
+ transform(code, id) {
8
+ if (!id.endsWith(".astro") || id.endsWith(starlightPageImportSource) || code.indexOf("StarlightPage.astro") === -1) {
9
+ return;
10
+ }
11
+ let ast;
12
+ try {
13
+ ast = this.parse(code);
14
+ } catch {
15
+ return;
16
+ }
17
+ let hasStarlightPageImport = false;
18
+ for (const node of ast.body) {
19
+ if (node.type !== "ImportDeclaration") continue;
20
+ if (node.source.value !== starlightPageImportSource) continue;
21
+ const importDefaultSpecifier = node.specifiers.find(
22
+ (specifier) => specifier.type === "ImportDefaultSpecifier"
23
+ );
24
+ if (!importDefaultSpecifier) continue;
25
+ hasStarlightPageImport = true;
26
+ break;
27
+ }
28
+ if (!hasStarlightPageImport) return;
29
+ const filename = id.replace(/\\/g, "/");
30
+ const ms = new MagicString(code, { filename });
31
+ ms.prepend(`import "${starlightPageImportSource}";
32
+ `);
33
+ return {
34
+ code: ms.toString(),
35
+ map: ms.generateMap({ hires: "boundary" })
36
+ };
37
+ }
38
+ };
39
+ }
40
+ export {
41
+ vitePluginStarlightCssLayerOrder
42
+ };
@@ -0,0 +1,6 @@
1
+ import { useTranslations } from "./utils/translations.js";
2
+ import { getStarlightEcConfigPreprocessor } from "./integrations/expressive-code/preprocessor.js";
3
+ export {
4
+ getStarlightEcConfigPreprocessor,
5
+ useTranslations
6
+ };