@astrojs/starlight 0.41.10 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/components/MobileMenuToggle.astro +65 -0
- package/{components → dist/components}/PageFrame.astro +32 -8
- package/dist/components-internals/Icons.d.ts +415 -0
- package/dist/components-internals/Icons.js +140 -0
- package/dist/components-internals/SidebarPersistState.d.ts +1 -0
- package/dist/components-internals/SidebarPersistState.js +53 -0
- package/dist/components-internals/TableOfContents/starlight-toc.d.ts +18 -0
- package/dist/components-internals/TableOfContents/starlight-toc.js +88 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +4 -0
- package/{expressive-code.d.ts → dist/expressive-code.d.ts} +6 -13
- package/dist/expressive-code.js +31 -0
- package/dist/global.d.ts +62 -0
- package/dist/global.js +2 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +109 -0
- package/dist/integrations/aside-utils.d.ts +9 -0
- package/dist/integrations/aside-utils.js +35 -0
- package/dist/integrations/expressive-code/hast.d.ts +1 -0
- package/dist/integrations/expressive-code/hast.js +2 -0
- package/dist/integrations/expressive-code/index.d.ts +60 -0
- package/dist/integrations/expressive-code/index.js +48 -0
- package/dist/integrations/expressive-code/preprocessor.d.ts +17 -0
- package/dist/integrations/expressive-code/preprocessor.js +76 -0
- package/dist/integrations/expressive-code/themes/night-owl-dark.js +4 -0
- package/dist/integrations/expressive-code/themes/night-owl-light.js +4 -0
- package/dist/integrations/expressive-code/theming.d.ts +16 -0
- package/dist/integrations/expressive-code/theming.js +71 -0
- package/dist/integrations/expressive-code/translations.d.ts +8 -0
- package/dist/integrations/expressive-code/translations.js +26 -0
- package/dist/integrations/markdown-icon.d.ts +8 -0
- package/dist/integrations/markdown-icon.js +14 -0
- package/dist/integrations/markdown-plugins.d.ts +18 -0
- package/dist/integrations/markdown-plugins.js +36 -0
- package/dist/integrations/markdown-processor.d.ts +29 -0
- package/dist/integrations/markdown-processor.js +44 -0
- package/dist/integrations/pagefind.d.ts +7 -0
- package/dist/integrations/pagefind.js +34 -0
- package/dist/integrations/rehype-code-rtl-support.d.ts +21 -0
- package/dist/integrations/rehype-code-rtl-support.js +36 -0
- package/dist/integrations/rehype-heading-links.d.ts +10 -0
- package/dist/integrations/rehype-heading-links.js +57 -0
- package/dist/integrations/remark-asides.d.ts +32 -0
- package/dist/integrations/remark-asides.js +166 -0
- package/dist/integrations/remark-rehype.d.ts +17 -0
- package/dist/integrations/remark-rehype.js +51 -0
- package/dist/integrations/satteri.d.ts +13 -0
- package/dist/integrations/satteri.js +209 -0
- package/dist/integrations/shared/absolutePathToLang.d.ts +10 -0
- package/dist/integrations/shared/absolutePathToLang.js +13 -0
- package/dist/integrations/shared/localeToLang.d.ts +10 -0
- package/dist/integrations/shared/localeToLang.js +13 -0
- package/dist/integrations/shared/slugToLocale.d.ts +12 -0
- package/dist/integrations/shared/slugToLocale.js +15 -0
- package/dist/integrations/sitemap.d.ts +12 -0
- package/dist/integrations/sitemap.js +19 -0
- package/dist/integrations/vite-layer-order.d.ts +15 -0
- package/dist/integrations/vite-layer-order.js +56 -0
- package/dist/integrations/vite-lazy-barrel-optimization.d.ts +12 -0
- package/dist/integrations/vite-lazy-barrel-optimization.js +33 -0
- package/dist/integrations/vite-virtual-modules.d.ts +14 -0
- package/dist/integrations/vite-virtual-modules.js +108 -0
- package/dist/internal.d.ts +3 -0
- package/dist/internal.js +3 -0
- package/dist/loaders.d.ts +20 -0
- package/dist/loaders.js +49 -0
- package/dist/locals.d.ts +15 -0
- package/dist/locals.js +33 -0
- package/dist/package.js +4 -0
- package/{props.ts → dist/props.d.ts} +6 -4
- package/dist/props.js +1 -0
- package/dist/route-data.d.ts +7 -0
- package/dist/route-data.js +6 -0
- package/dist/schema.d.ts +426 -0
- package/dist/schema.js +103 -0
- package/dist/schemas/badge.d.ts +86 -0
- package/dist/schemas/badge.js +39 -0
- package/dist/schemas/components.d.ts +236 -0
- package/dist/schemas/components.js +36 -0
- package/dist/schemas/expressiveCode.d.ts +7 -0
- package/dist/schemas/expressiveCode.js +5 -0
- package/dist/schemas/favicon.d.ts +9 -0
- package/dist/schemas/favicon.js +32 -0
- package/dist/schemas/head.d.ts +33 -0
- package/dist/schemas/head.js +41 -0
- package/dist/schemas/hero.d.ts +319 -0
- package/dist/schemas/hero.js +73 -0
- package/dist/schemas/i18n.d.ts +125 -0
- package/dist/schemas/i18n.js +76 -0
- package/dist/schemas/icon.d.ts +284 -0
- package/dist/schemas/icon.js +7 -0
- package/dist/schemas/locale.d.ts +20 -0
- package/dist/schemas/locale.js +11 -0
- package/dist/schemas/logo.d.ts +32 -0
- package/dist/schemas/logo.js +14 -0
- package/dist/schemas/pagefind.d.ts +166 -0
- package/dist/schemas/pagefind.js +31 -0
- package/dist/schemas/prevNextLink.d.ts +10 -0
- package/dist/schemas/prevNextLink.js +14 -0
- package/dist/schemas/sidebar.d.ts +205 -0
- package/dist/schemas/sidebar.js +71 -0
- package/dist/schemas/site-title.d.ts +7 -0
- package/dist/schemas/site-title.js +17 -0
- package/dist/schemas/social.d.ts +292 -0
- package/dist/schemas/social.js +18 -0
- package/dist/schemas/tableOfContents.d.ts +24 -0
- package/dist/schemas/tableOfContents.js +16 -0
- package/{style → dist/style}/anchor-links.css +13 -1
- package/dist/translations/ar.js +36 -0
- package/dist/translations/ca.js +46 -0
- package/dist/translations/cs.js +46 -0
- package/dist/translations/da.js +33 -0
- package/dist/translations/de.js +33 -0
- package/dist/translations/el.js +33 -0
- package/dist/translations/en.js +33 -0
- package/dist/translations/es.js +46 -0
- package/dist/translations/fa.js +33 -0
- package/dist/translations/fi.js +33 -0
- package/dist/translations/fr.js +36 -0
- package/dist/translations/gl.js +46 -0
- package/dist/translations/he.js +33 -0
- package/dist/translations/hi.js +36 -0
- package/dist/translations/hu.js +46 -0
- package/dist/translations/id.js +33 -0
- package/dist/translations/index.d.ts +48 -0
- package/dist/translations/index.js +75 -0
- package/dist/translations/it.js +36 -0
- package/dist/translations/ja.js +36 -0
- package/dist/translations/ko.js +36 -0
- package/dist/translations/lv.js +33 -0
- package/dist/translations/nb.js +33 -0
- package/dist/translations/nl.js +33 -0
- package/dist/translations/pl.js +36 -0
- package/dist/translations/pt.js +36 -0
- package/dist/translations/ro.js +33 -0
- package/dist/translations/ru.js +36 -0
- package/dist/translations/sk.js +33 -0
- package/dist/translations/sv.js +33 -0
- package/dist/translations/th.js +33 -0
- package/dist/translations/tr.js +33 -0
- package/dist/translations/uk.js +33 -0
- package/dist/translations/vi.js +33 -0
- package/dist/translations/zh-CN.js +36 -0
- package/dist/translations/zh-TW.js +36 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.js +1 -0
- package/{user-components → dist/user-components}/FileTree.astro +1 -1
- package/{user-components → dist/user-components}/Steps.astro +1 -1
- package/{user-components → dist/user-components}/TabItem.astro +1 -1
- package/{user-components → dist/user-components}/Tabs.astro +1 -1
- package/dist/user-components/file-tree-icons.d.ts +178 -0
- package/dist/user-components/file-tree-icons.js +632 -0
- package/dist/user-components/file-tree-processor.d.ts +16 -0
- package/dist/user-components/file-tree-processor.js +132 -0
- package/dist/user-components/steps-processor.d.ts +10 -0
- package/dist/user-components/steps-processor.js +39 -0
- package/dist/user-components/tabs-processor.d.ts +23 -0
- package/dist/user-components/tabs-processor.js +70 -0
- package/dist/utils/base.d.ts +7 -0
- package/dist/utils/base.js +15 -0
- package/dist/utils/canonical.d.ts +10 -0
- package/dist/utils/canonical.js +14 -0
- package/dist/utils/collection-fs.d.ts +13 -0
- package/dist/utils/collection-fs.js +19 -0
- package/{utils/collection.ts → dist/utils/collection.d.ts} +9 -20
- package/dist/utils/collection.js +26 -0
- package/dist/utils/createPathFormatter.d.ts +9 -0
- package/dist/utils/createPathFormatter.js +35 -0
- package/dist/utils/createTranslationSystem.d.ts +23 -0
- package/dist/utils/createTranslationSystem.js +84 -0
- package/dist/utils/error-map.d.ts +23 -0
- package/dist/utils/error-map.js +125 -0
- package/dist/utils/format-path.d.ts +4 -0
- package/dist/utils/format-path.js +9 -0
- package/dist/utils/generateToC.d.ts +14 -0
- package/dist/utils/generateToC.js +25 -0
- package/dist/utils/git.d.ts +12 -0
- package/dist/utils/git.js +71 -0
- package/dist/utils/gitInlined.d.ts +6 -0
- package/dist/utils/gitInlined.js +11 -0
- package/dist/utils/head.d.ts +7 -0
- package/dist/utils/head.js +233 -0
- package/dist/utils/i18n.d.ts +50 -0
- package/dist/utils/i18n.js +141 -0
- package/dist/utils/localizedUrl.d.ts +8 -0
- package/dist/utils/localizedUrl.js +28 -0
- package/dist/utils/navigation.d.ts +19 -0
- package/dist/utils/navigation.js +353 -0
- package/dist/utils/path.d.ts +21 -0
- package/dist/utils/path.js +51 -0
- package/dist/utils/plugins.d.ts +721 -0
- package/dist/utils/plugins.js +174 -0
- package/dist/utils/routing/data.d.ts +20 -0
- package/dist/utils/routing/data.js +127 -0
- package/dist/utils/routing/index.d.ts +21 -0
- package/dist/utils/routing/index.js +106 -0
- package/dist/utils/routing/middleware.d.ts +11 -0
- package/dist/utils/routing/middleware.js +65 -0
- package/dist/utils/routing/types.d.ts +93 -0
- package/dist/utils/routing/types.js +1 -0
- package/dist/utils/slugs.d.ts +45 -0
- package/dist/utils/slugs.js +104 -0
- package/dist/utils/starlight-page.d.ts +36 -0
- package/dist/utils/starlight-page.js +120 -0
- package/dist/utils/translations-fs.d.ts +15 -0
- package/dist/utils/translations-fs.js +39 -0
- package/dist/utils/translations.d.ts +20 -0
- package/dist/utils/translations.js +29 -0
- package/dist/utils/types.d.ts +5 -0
- package/dist/utils/types.js +1 -0
- package/dist/utils/url.d.ts +7 -0
- package/{utils/url.ts → dist/utils/url.js} +5 -4
- package/dist/utils/user-config.d.ts +2055 -0
- package/dist/utils/user-config.js +136 -0
- package/dist/utils/validateLogoImports.d.ts +5 -0
- package/dist/utils/validateLogoImports.js +16 -0
- package/dist/utils/zodDeepMerge.d.ts +16 -0
- package/dist/utils/zodDeepMerge.js +53 -0
- package/package.json +62 -33
- package/CHANGELOG.md +0 -3043
- package/components/MobileMenuToggle.astro +0 -114
- package/components-internals/Icons.ts +0 -248
- package/components-internals/SidebarPersistState.ts +0 -71
- package/components-internals/TableOfContents/starlight-toc.ts +0 -127
- package/constants.ts +0 -4
- package/expressive-code.mjs +0 -23
- package/global.d.ts +0 -11
- package/i18n.d.ts +0 -18
- package/index.ts +0 -200
- package/integrations/aside-utils.ts +0 -41
- package/integrations/expressive-code/hast.d.ts +0 -5
- package/integrations/expressive-code/hast.mjs +0 -9
- package/integrations/expressive-code/index.ts +0 -125
- package/integrations/expressive-code/preprocessor.ts +0 -126
- package/integrations/expressive-code/themes/night-owl-dark.jsonc +0 -1796
- package/integrations/expressive-code/themes/night-owl-light.jsonc +0 -1695
- package/integrations/expressive-code/theming.ts +0 -105
- package/integrations/expressive-code/translations.ts +0 -36
- package/integrations/markdown-icon.ts +0 -13
- package/integrations/markdown-plugins.ts +0 -71
- package/integrations/markdown-processor.ts +0 -64
- package/integrations/pagefind.ts +0 -60
- package/integrations/rehype-code-rtl-support.ts +0 -37
- package/integrations/rehype-heading-links.ts +0 -79
- package/integrations/remark-asides.ts +0 -219
- package/integrations/remark-rehype.ts +0 -87
- package/integrations/satteri.ts +0 -265
- package/integrations/shared/absolutePathToLang.ts +0 -26
- package/integrations/shared/localeToLang.ts +0 -15
- package/integrations/shared/slugToLocale.ts +0 -18
- package/integrations/sitemap.ts +0 -23
- package/integrations/vite-layer-order.ts +0 -69
- package/integrations/vite-lazy-barrel-optimization.ts +0 -40
- package/integrations/vite-virtual-modules.ts +0 -175
- package/internal.ts +0 -6
- package/loaders.ts +0 -63
- package/locals.d.ts +0 -43
- package/locals.ts +0 -43
- package/route-data.ts +0 -11
- package/schema.ts +0 -167
- package/schemas/badge.ts +0 -40
- package/schemas/components.ts +0 -265
- package/schemas/expressiveCode.ts +0 -12
- package/schemas/favicon.ts +0 -40
- package/schemas/head.ts +0 -50
- package/schemas/hero.ts +0 -69
- package/schemas/i18n.ts +0 -244
- package/schemas/icon.ts +0 -7
- package/schemas/logo.ts +0 -28
- package/schemas/pagefind.ts +0 -128
- package/schemas/prevNextLink.ts +0 -18
- package/schemas/sidebar.ts +0 -163
- package/schemas/site-title.ts +0 -20
- package/schemas/social.ts +0 -23
- package/schemas/tableOfContents.ts +0 -21
- package/translations/README.md +0 -14
- package/translations/ar.json +0 -33
- package/translations/ca.json +0 -43
- package/translations/cs.json +0 -43
- package/translations/da.json +0 -30
- package/translations/de.json +0 -30
- package/translations/el.json +0 -30
- package/translations/en.json +0 -30
- package/translations/es.json +0 -43
- package/translations/fa.json +0 -30
- package/translations/fi.json +0 -30
- package/translations/fr.json +0 -33
- package/translations/gl.json +0 -43
- package/translations/he.json +0 -30
- package/translations/hi.json +0 -33
- package/translations/hu.json +0 -43
- package/translations/id.json +0 -30
- package/translations/index.ts +0 -76
- package/translations/it.json +0 -33
- package/translations/ja.json +0 -33
- package/translations/ko.json +0 -33
- package/translations/lv.json +0 -30
- package/translations/nb.json +0 -30
- package/translations/nl.json +0 -30
- package/translations/pl.json +0 -33
- package/translations/pt.json +0 -33
- package/translations/ro.json +0 -30
- package/translations/ru.json +0 -33
- package/translations/sk.json +0 -30
- package/translations/sv.json +0 -30
- package/translations/th.json +0 -30
- package/translations/tr.json +0 -30
- package/translations/uk.json +0 -30
- package/translations/vi.json +0 -30
- package/translations/zh-CN.json +0 -33
- package/translations/zh-TW.json +0 -33
- package/types.ts +0 -7
- package/user-components/file-tree-icons.ts +0 -782
- package/user-components/rehype-file-tree.ts +0 -251
- package/user-components/rehype-steps.ts +0 -85
- package/user-components/rehype-tabs.ts +0 -121
- package/utils/base.ts +0 -15
- package/utils/canonical.ts +0 -19
- package/utils/collection-fs.ts +0 -20
- package/utils/createPathFormatter.ts +0 -60
- package/utils/createTranslationSystem.ts +0 -137
- package/utils/error-map.ts +0 -222
- package/utils/format-path.ts +0 -7
- package/utils/generateToC.ts +0 -33
- package/utils/git.ts +0 -121
- package/utils/gitInlined.ts +0 -20
- package/utils/head.ts +0 -235
- package/utils/i18n.ts +0 -221
- package/utils/localizedUrl.ts +0 -51
- package/utils/navigation.ts +0 -566
- package/utils/path.ts +0 -58
- package/utils/plugins.ts +0 -498
- package/utils/routing/data.ts +0 -154
- package/utils/routing/index.ts +0 -135
- package/utils/routing/middleware.ts +0 -81
- package/utils/routing/types.ts +0 -101
- package/utils/slugs.ts +0 -119
- package/utils/starlight-page.ts +0 -205
- package/utils/translations-fs.ts +0 -54
- package/utils/translations.ts +0 -57
- package/utils/types.ts +0 -15
- package/utils/user-config.ts +0 -348
- package/utils/validateLogoImports.ts +0 -21
- package/utils/zodDeepMerge.ts +0 -144
- package/virtual-internal.d.ts +0 -149
- package/virtual.d.ts +0 -27
- /package/{components → dist/components}/AnchorHeading.astro +0 -0
- /package/{components → dist/components}/Banner.astro +0 -0
- /package/{components → dist/components}/ContentNotice.astro +0 -0
- /package/{components → dist/components}/ContentPanel.astro +0 -0
- /package/{components → dist/components}/DraftContentNotice.astro +0 -0
- /package/{components → dist/components}/EditLink.astro +0 -0
- /package/{components → dist/components}/FallbackContentNotice.astro +0 -0
- /package/{components → dist/components}/Footer.astro +0 -0
- /package/{components → dist/components}/Head.astro +0 -0
- /package/{components → dist/components}/Header.astro +0 -0
- /package/{components → dist/components}/Hero.astro +0 -0
- /package/{components → dist/components}/LanguageSelect.astro +0 -0
- /package/{components → dist/components}/LastUpdated.astro +0 -0
- /package/{components → dist/components}/MarkdownContent.astro +0 -0
- /package/{components → dist/components}/MobileMenuFooter.astro +0 -0
- /package/{components → dist/components}/MobileTableOfContents.astro +0 -0
- /package/{components → dist/components}/Page.astro +0 -0
- /package/{components → dist/components}/PageSidebar.astro +0 -0
- /package/{components → dist/components}/PageTitle.astro +0 -0
- /package/{components → dist/components}/Pagination.astro +0 -0
- /package/{components → dist/components}/Search.astro +0 -0
- /package/{components → dist/components}/Select.astro +0 -0
- /package/{components → dist/components}/Sidebar.astro +0 -0
- /package/{components → dist/components}/SidebarPersister.astro +0 -0
- /package/{components → dist/components}/SidebarRestorePoint.astro +0 -0
- /package/{components → dist/components}/SidebarSublist.astro +0 -0
- /package/{components → dist/components}/SiteTitle.astro +0 -0
- /package/{components → dist/components}/SkipLink.astro +0 -0
- /package/{components → dist/components}/SocialIcons.astro +0 -0
- /package/{components → dist/components}/StarlightPage.astro +0 -0
- /package/{components → dist/components}/TableOfContents.astro +0 -0
- /package/{components → dist/components}/ThemeProvider.astro +0 -0
- /package/{components → dist/components}/ThemeSelect.astro +0 -0
- /package/{components → dist/components}/TwoColumnContent.astro +0 -0
- /package/{components-internals → dist/components-internals}/TableOfContents/TableOfContentsList.astro +0 -0
- /package/{components.ts → dist/components.ts} +0 -0
- /package/{routes → dist/routes}/common.astro +0 -0
- /package/{routes → dist/routes}/ssr/404.astro +0 -0
- /package/{routes → dist/routes}/ssr/index.astro +0 -0
- /package/{routes → dist/routes}/static/404.astro +0 -0
- /package/{routes → dist/routes}/static/index.astro +0 -0
- /package/{style → dist/style}/asides.css +0 -0
- /package/{style → dist/style}/layers.css +0 -0
- /package/{style → dist/style}/markdown.css +0 -0
- /package/{style → dist/style}/print.css +0 -0
- /package/{style → dist/style}/props.css +0 -0
- /package/{style → dist/style}/reset.css +0 -0
- /package/{style → dist/style}/util.css +0 -0
- /package/{user-components → dist/user-components}/Aside.astro +0 -0
- /package/{user-components → dist/user-components}/Badge.astro +0 -0
- /package/{user-components → dist/user-components}/Card.astro +0 -0
- /package/{user-components → dist/user-components}/CardGrid.astro +0 -0
- /package/{user-components → dist/user-components}/Icon.astro +0 -0
- /package/{user-components → dist/user-components}/LinkButton.astro +0 -0
- /package/{user-components → dist/user-components}/LinkCard.astro +0 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import "./global.js";
|
|
2
|
+
import { applyStarlightMarkdownPlugins, starlightDirectivesRestorationIntegration, unifiedIntegration } from "./integrations/markdown-plugins.js";
|
|
3
|
+
import { processI18nConfig } from "./utils/i18n.js";
|
|
4
|
+
import { starlightExpressiveCode } from "./integrations/expressive-code/index.js";
|
|
5
|
+
import { starlightPagefind } from "./integrations/pagefind.js";
|
|
6
|
+
import { starlightSitemap } from "./integrations/sitemap.js";
|
|
7
|
+
import { vitePluginStarlightCssLayerOrder } from "./integrations/vite-layer-order.js";
|
|
8
|
+
import { vitePluginStarlightLazyBarrelOptimization } from "./integrations/vite-lazy-barrel-optimization.js";
|
|
9
|
+
import { vitePluginStarlightVirtualModules } from "./integrations/vite-virtual-modules.js";
|
|
10
|
+
import { injectPluginTranslationsTypes, runPlugins } from "./utils/plugins.js";
|
|
11
|
+
import mdx from "@astrojs/mdx";
|
|
12
|
+
import { AstroError } from "astro/errors";
|
|
13
|
+
//#region src/index.ts
|
|
14
|
+
function StarlightIntegration(userOpts) {
|
|
15
|
+
if (typeof userOpts !== "object" || userOpts === null || Array.isArray(userOpts)) throw new AstroError("Invalid config passed to starlight integration", "The Starlight integration expects a configuration object with at least a `title` property.\n\nSee more details in the [Starlight configuration reference](https://starlight.astro.build/reference/configuration/)\n");
|
|
16
|
+
const { plugins, ...opts } = userOpts;
|
|
17
|
+
let userConfig;
|
|
18
|
+
let pluginTranslations = {};
|
|
19
|
+
return {
|
|
20
|
+
name: "@astrojs/starlight",
|
|
21
|
+
hooks: {
|
|
22
|
+
"astro:config:setup": async ({ addMiddleware, command, config, injectRoute, isRestart, logger, updateConfig }) => {
|
|
23
|
+
const pluginResult = await runPlugins(opts, plugins, {
|
|
24
|
+
command,
|
|
25
|
+
config,
|
|
26
|
+
isRestart,
|
|
27
|
+
logger
|
|
28
|
+
});
|
|
29
|
+
const { astroI18nConfig, starlightConfig } = processI18nConfig(pluginResult.starlightConfig, config.i18n);
|
|
30
|
+
const { integrations, useTranslations, absolutePathToLang } = pluginResult;
|
|
31
|
+
pluginTranslations = pluginResult.pluginTranslations;
|
|
32
|
+
userConfig = starlightConfig;
|
|
33
|
+
addMiddleware({
|
|
34
|
+
entrypoint: "@astrojs/starlight/locals",
|
|
35
|
+
order: "pre"
|
|
36
|
+
});
|
|
37
|
+
if (!starlightConfig.disable404Route) injectRoute({
|
|
38
|
+
pattern: "404",
|
|
39
|
+
entrypoint: starlightConfig.prerender ? "@astrojs/starlight/routes/static/404.astro" : "@astrojs/starlight/routes/ssr/404.astro",
|
|
40
|
+
prerender: starlightConfig.prerender
|
|
41
|
+
});
|
|
42
|
+
injectRoute({
|
|
43
|
+
pattern: "[...slug]",
|
|
44
|
+
entrypoint: starlightConfig.prerender ? "@astrojs/starlight/routes/static/index.astro" : "@astrojs/starlight/routes/ssr/index.astro",
|
|
45
|
+
prerender: starlightConfig.prerender
|
|
46
|
+
});
|
|
47
|
+
const processor = config.markdown.processor;
|
|
48
|
+
const unified = await unifiedIntegration;
|
|
49
|
+
const allIntegrations = [...config.integrations, ...integrations];
|
|
50
|
+
if (!allIntegrations.find(({ name }) => name === "astro-expressive-code")) integrations.push(...starlightExpressiveCode({
|
|
51
|
+
astroConfig: config,
|
|
52
|
+
starlightConfig,
|
|
53
|
+
useTranslations
|
|
54
|
+
}));
|
|
55
|
+
if (!allIntegrations.find(({ name }) => name === "@astrojs/sitemap")) integrations.push(starlightSitemap(starlightConfig));
|
|
56
|
+
if (!allIntegrations.find(({ name }) => name === "@astrojs/mdx")) integrations.push(mdx({ optimize: true }));
|
|
57
|
+
applyStarlightMarkdownPlugins(processor, {
|
|
58
|
+
starlightConfig,
|
|
59
|
+
astroConfig: config,
|
|
60
|
+
useTranslations,
|
|
61
|
+
absolutePathToLang
|
|
62
|
+
}, unified, logger);
|
|
63
|
+
integrations.push(starlightDirectivesRestorationIntegration());
|
|
64
|
+
const selfIndex = config.integrations.findIndex((i) => i.name === "@astrojs/starlight");
|
|
65
|
+
config.integrations.splice(selfIndex + 1, 0, ...integrations);
|
|
66
|
+
const isNodeCompatibleEnv = !(config.adapter?.name === "@astrojs/cloudflare" || config.integrations.some(({ name }) => name === "@astrojs/cloudflare"));
|
|
67
|
+
updateConfig({
|
|
68
|
+
vite: {
|
|
69
|
+
plugins: [
|
|
70
|
+
vitePluginStarlightCssLayerOrder(),
|
|
71
|
+
vitePluginStarlightLazyBarrelOptimization(),
|
|
72
|
+
vitePluginStarlightVirtualModules({
|
|
73
|
+
command,
|
|
74
|
+
isNodeCompatibleEnv
|
|
75
|
+
}, starlightConfig, config, pluginTranslations)
|
|
76
|
+
],
|
|
77
|
+
ssr: isNodeCompatibleEnv ? {} : { optimizeDeps: { include: [
|
|
78
|
+
"@astrojs/cloudflare/entrypoints/server",
|
|
79
|
+
"@astrojs/starlight>i18next",
|
|
80
|
+
"@astrojs/starlight>js-yaml",
|
|
81
|
+
"@astrojs/starlight>klona/lite",
|
|
82
|
+
"@astrojs/starlight>astro-expressive-code/components",
|
|
83
|
+
"@astrojs/starlight>astro-expressive-code>hast-util-select",
|
|
84
|
+
"@astrojs/starlight>astro-expressive-code>rehype",
|
|
85
|
+
"@astrojs/starlight>astro-expressive-code>unist-util-visit",
|
|
86
|
+
"@astrojs/starlight>astro-expressive-code>rehype-format",
|
|
87
|
+
"@astrojs/starlight>astro-expressive-code>hastscript",
|
|
88
|
+
"@astrojs/starlight>astro-expressive-code>hast-util-from-html",
|
|
89
|
+
"@astrojs/starlight>astro-expressive-code>hast-util-to-string",
|
|
90
|
+
"@astrojs/starlight>astro-expressive-code>@expressive-code/core>postcss"
|
|
91
|
+
] } }
|
|
92
|
+
},
|
|
93
|
+
scopedStyleStrategy: "where",
|
|
94
|
+
prefetch: config.prefetch ?? { prefetchAll: true },
|
|
95
|
+
i18n: astroI18nConfig
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
"astro:config:done": ({ injectTypes }) => {
|
|
99
|
+
injectPluginTranslationsTypes(pluginTranslations, injectTypes);
|
|
100
|
+
},
|
|
101
|
+
"astro:build:done": async (options) => {
|
|
102
|
+
if (!userConfig.pagefind) return;
|
|
103
|
+
return starlightPagefind(options);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//#endregion
|
|
109
|
+
export { StarlightIntegration as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { StarlightIcon } from "../components-internals/Icons.js";
|
|
2
|
+
//#region src/integrations/aside-utils.d.ts
|
|
3
|
+
declare const asideVariants: readonly ["note", "tip", "caution", "danger"];
|
|
4
|
+
type AsideVariant = (typeof asideVariants)[number];
|
|
5
|
+
declare function isAsideVariant(value: string): value is AsideVariant;
|
|
6
|
+
declare function getAsideIconName(variant: AsideVariant, customIcon?: string | null): StarlightIcon;
|
|
7
|
+
declare function getAsideIcon(variant: AsideVariant, customIcon?: string | null): string;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { AsideVariant, asideVariants, getAsideIcon, getAsideIconName, isAsideVariant };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Icons } from "../components-internals/Icons.js";
|
|
2
|
+
import { AstroError } from "astro/errors";
|
|
3
|
+
//#region src/integrations/aside-utils.ts
|
|
4
|
+
const asideVariants = [
|
|
5
|
+
"note",
|
|
6
|
+
"tip",
|
|
7
|
+
"caution",
|
|
8
|
+
"danger"
|
|
9
|
+
];
|
|
10
|
+
const asideIconNames = {
|
|
11
|
+
note: "information",
|
|
12
|
+
tip: "rocket",
|
|
13
|
+
caution: "warning",
|
|
14
|
+
danger: "error"
|
|
15
|
+
};
|
|
16
|
+
const asideVariantSet = new Set(asideVariants);
|
|
17
|
+
function isAsideVariant(value) {
|
|
18
|
+
return asideVariantSet.has(value);
|
|
19
|
+
}
|
|
20
|
+
function getAsideIconName(variant, customIcon) {
|
|
21
|
+
let iconName = asideIconNames[variant];
|
|
22
|
+
if (customIcon) {
|
|
23
|
+
iconName = customIcon;
|
|
24
|
+
if (!Icons[iconName]) throwInvalidAsideIconError(iconName);
|
|
25
|
+
}
|
|
26
|
+
return iconName;
|
|
27
|
+
}
|
|
28
|
+
function getAsideIcon(variant, customIcon) {
|
|
29
|
+
return Icons[getAsideIconName(variant, customIcon)];
|
|
30
|
+
}
|
|
31
|
+
function throwInvalidAsideIconError(icon) {
|
|
32
|
+
throw new AstroError("Invalid aside icon", `An aside custom icon must be set to the name of one of Starlight’s built-in icons, but received \`${icon}\`.\n\nSee https://starlight.astro.build/reference/icons/#all-icons for a list of available icons.`);
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { asideVariants, getAsideIcon, getAsideIconName, isAsideVariant };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "astro-expressive-code/hast";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { StarlightConfig } from "../../utils/user-config.js";
|
|
2
|
+
import { HookParameters as HookParameters$1 } from "../../utils/plugins.js";
|
|
3
|
+
import "../../types.js";
|
|
4
|
+
import { ThemeObjectOrBundledThemeName } from "./theming.js";
|
|
5
|
+
import { AstroExpressiveCodeOptions } from "astro-expressive-code";
|
|
6
|
+
import { AstroConfig, AstroIntegration } from "astro";
|
|
7
|
+
//#region src/integrations/expressive-code/index.d.ts
|
|
8
|
+
type StarlightExpressiveCodeOptions = Omit<AstroExpressiveCodeOptions, 'themes'> & {
|
|
9
|
+
/**
|
|
10
|
+
* Set the themes used to style code blocks.
|
|
11
|
+
*
|
|
12
|
+
* See the [Expressive Code `themes` documentation](https://expressive-code.com/guides/themes/)
|
|
13
|
+
* for details of the supported theme formats.
|
|
14
|
+
*
|
|
15
|
+
* Starlight uses the dark and light variants of Sarah Drasner’s
|
|
16
|
+
* [Night Owl theme](https://github.com/sdras/night-owl-vscode-theme) by default.
|
|
17
|
+
*
|
|
18
|
+
* If you provide at least one dark and one light theme, Starlight will automatically keep
|
|
19
|
+
* the active code block theme in sync with the current site theme. Configure this behavior
|
|
20
|
+
* with the [`useStarlightDarkModeSwitch`](#usestarlightdarkmodeswitch) option.
|
|
21
|
+
*
|
|
22
|
+
* Defaults to `['starlight-dark', 'starlight-light']`.
|
|
23
|
+
*/
|
|
24
|
+
themes?: ThemeObjectOrBundledThemeName[] | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* When `true`, code blocks automatically switch between light and dark themes when the
|
|
27
|
+
* site theme changes.
|
|
28
|
+
*
|
|
29
|
+
* When `false`, you must manually add CSS to handle switching between multiple themes.
|
|
30
|
+
*
|
|
31
|
+
* **Note**: When setting `themes`, you must provide at least one dark and one light theme
|
|
32
|
+
* for the Starlight dark mode switch to work.
|
|
33
|
+
*
|
|
34
|
+
* Defaults to `true`.
|
|
35
|
+
*/
|
|
36
|
+
useStarlightDarkModeSwitch?: boolean | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* When `true`, Starlight's CSS variables are used for the colors of code block UI elements
|
|
39
|
+
* (backgrounds, buttons, shadows etc.), matching the
|
|
40
|
+
* [site color theme](/guides/css-and-tailwind/#theming).
|
|
41
|
+
*
|
|
42
|
+
* When `false`, the colors provided by the active syntax highlighting theme are used for
|
|
43
|
+
* these elements.
|
|
44
|
+
*
|
|
45
|
+
* Defaults to `true` if the `themes` option is not set (= you are using Starlight's
|
|
46
|
+
* default themes), and `false` otherwise.
|
|
47
|
+
*
|
|
48
|
+
* **Note**: When manually setting this to `true` with your custom set of `themes`, you must
|
|
49
|
+
* provide at least one dark and one light theme to ensure proper color contrast.
|
|
50
|
+
*/
|
|
51
|
+
useStarlightUiThemeColors?: boolean | undefined;
|
|
52
|
+
};
|
|
53
|
+
type StarlightEcIntegrationOptions = {
|
|
54
|
+
astroConfig: AstroConfig;
|
|
55
|
+
starlightConfig: StarlightConfig;
|
|
56
|
+
useTranslations: HookParameters$1<'config:setup'>['useTranslations'];
|
|
57
|
+
};
|
|
58
|
+
declare const starlightExpressiveCode: ({ astroConfig, starlightConfig, useTranslations }: StarlightEcIntegrationOptions) => AstroIntegration[];
|
|
59
|
+
//#endregion
|
|
60
|
+
export { StarlightExpressiveCodeOptions, starlightExpressiveCode };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { getCollectionPosixPath } from "../../utils/collection-fs.js";
|
|
2
|
+
import "./theming.js";
|
|
3
|
+
import { getStarlightEcConfigPreprocessor } from "./preprocessor.js";
|
|
4
|
+
import { astroExpressiveCode } from "astro-expressive-code";
|
|
5
|
+
//#region src/integrations/expressive-code/index.ts
|
|
6
|
+
const starlightExpressiveCode = ({ astroConfig, starlightConfig, useTranslations }) => {
|
|
7
|
+
if (starlightConfig.expressiveCode === false) {
|
|
8
|
+
const modules = {
|
|
9
|
+
"virtual:astro-expressive-code/api": "export default {}",
|
|
10
|
+
"virtual:astro-expressive-code/config": "export default {}",
|
|
11
|
+
"virtual:astro-expressive-code/preprocess-config": `throw new Error("Starlight's
|
|
12
|
+
Code component requires Expressive Code, which is disabled in your Starlight config.
|
|
13
|
+
Please remove \`expressiveCode: false\` from your config or import Astro's built-in
|
|
14
|
+
Code component from 'astro:components' instead.")`.replace(/\s+/g, " ")
|
|
15
|
+
};
|
|
16
|
+
return [{
|
|
17
|
+
name: "astro-expressive-code-shim",
|
|
18
|
+
hooks: { "astro:config:setup": ({ updateConfig }) => {
|
|
19
|
+
updateConfig({ vite: { plugins: [{
|
|
20
|
+
name: "vite-plugin-astro-expressive-code-shim",
|
|
21
|
+
enforce: "post",
|
|
22
|
+
resolveId: (id) => id in modules ? `\0${id}` : void 0,
|
|
23
|
+
load: (id) => id?.[0] === "\0" ? modules[id.slice(1)] : void 0
|
|
24
|
+
}] } });
|
|
25
|
+
} }
|
|
26
|
+
}];
|
|
27
|
+
}
|
|
28
|
+
const configArgs = typeof starlightConfig.expressiveCode === "object" ? starlightConfig.expressiveCode : {};
|
|
29
|
+
const docsPath = getCollectionPosixPath("docs", astroConfig.srcDir);
|
|
30
|
+
return [astroExpressiveCode({
|
|
31
|
+
...configArgs,
|
|
32
|
+
customConfigPreprocessors: {
|
|
33
|
+
preprocessAstroIntegrationConfig: getStarlightEcConfigPreprocessor({
|
|
34
|
+
docsPath,
|
|
35
|
+
starlightConfig,
|
|
36
|
+
useTranslations
|
|
37
|
+
}),
|
|
38
|
+
preprocessComponentConfig: `
|
|
39
|
+
import starlightConfig from 'virtual:starlight/user-config'
|
|
40
|
+
import { useTranslations, getStarlightEcConfigPreprocessor } from '@astrojs/starlight/internal'
|
|
41
|
+
|
|
42
|
+
export default getStarlightEcConfigPreprocessor({ docsPath: ${JSON.stringify(docsPath)}, starlightConfig, useTranslations })
|
|
43
|
+
`
|
|
44
|
+
}
|
|
45
|
+
})];
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
export { starlightExpressiveCode };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StarlightConfig } from "../../utils/user-config.js";
|
|
2
|
+
import { HookParameters } from "../../utils/plugins.js";
|
|
3
|
+
import "../../types.js";
|
|
4
|
+
import { CustomConfigPreprocessors } from "astro-expressive-code";
|
|
5
|
+
//#region src/integrations/expressive-code/preprocessor.d.ts
|
|
6
|
+
type StarlightEcConfigPreprocessorOptions = {
|
|
7
|
+
docsPath: string;
|
|
8
|
+
starlightConfig: StarlightConfig;
|
|
9
|
+
useTranslations: HookParameters<'config:setup'>['useTranslations'];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Create an Expressive Code configuration preprocessor based on Starlight config.
|
|
13
|
+
* Used internally to set up Expressive Code and by the `<Code>` component.
|
|
14
|
+
*/
|
|
15
|
+
declare function getStarlightEcConfigPreprocessor({ docsPath, starlightConfig, useTranslations }: StarlightEcConfigPreprocessorOptions): CustomConfigPreprocessors['preprocessAstroIntegrationConfig'];
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getStarlightEcConfigPreprocessor };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { applyStarlightUiThemeColors, preprocessThemes } from "./theming.js";
|
|
2
|
+
import { localeToLang } from "../shared/localeToLang.js";
|
|
3
|
+
import { addTranslations } from "./translations.js";
|
|
4
|
+
import { slugToLocale } from "../shared/slugToLocale.js";
|
|
5
|
+
import { absolutePathToLang } from "../shared/absolutePathToLang.js";
|
|
6
|
+
import "astro-expressive-code";
|
|
7
|
+
import { addClassName } from "astro-expressive-code/hast";
|
|
8
|
+
//#region src/integrations/expressive-code/preprocessor.ts
|
|
9
|
+
/**
|
|
10
|
+
* Create an Expressive Code configuration preprocessor based on Starlight config.
|
|
11
|
+
* Used internally to set up Expressive Code and by the `<Code>` component.
|
|
12
|
+
*/
|
|
13
|
+
function getStarlightEcConfigPreprocessor({ docsPath, starlightConfig, useTranslations }) {
|
|
14
|
+
return (input) => {
|
|
15
|
+
const ecConfig = input.ecConfig;
|
|
16
|
+
const { themes: themesInput, cascadeLayer, customizeTheme, styleOverrides: { textMarkers: textMarkersStyleOverrides, ...otherStyleOverrides } = {}, useStarlightDarkModeSwitch, useStarlightUiThemeColors = ecConfig.themes === void 0, plugins = [], ...rest } = ecConfig;
|
|
17
|
+
const themes = preprocessThemes(themesInput);
|
|
18
|
+
if (useStarlightUiThemeColors === true && themes.length < 2) console.warn("*** Warning: Using the config option \"useStarlightUiThemeColors: true\" with a single theme is not recommended. For better color contrast, please provide at least one dark and one light theme.\n");
|
|
19
|
+
plugins.push({
|
|
20
|
+
name: "Starlight Plugin",
|
|
21
|
+
hooks: { postprocessRenderedBlock: ({ renderData }) => {
|
|
22
|
+
addClassName(renderData.blockAst, "not-content");
|
|
23
|
+
} }
|
|
24
|
+
});
|
|
25
|
+
addTranslations(starlightConfig, useTranslations);
|
|
26
|
+
return {
|
|
27
|
+
themes,
|
|
28
|
+
customizeTheme: (theme) => {
|
|
29
|
+
if (useStarlightUiThemeColors) applyStarlightUiThemeColors(theme);
|
|
30
|
+
if (customizeTheme) theme = customizeTheme(theme) ?? theme;
|
|
31
|
+
return theme;
|
|
32
|
+
},
|
|
33
|
+
defaultLocale: starlightConfig.defaultLocale?.lang ?? starlightConfig.defaultLocale?.locale,
|
|
34
|
+
themeCssSelector: (theme, { styleVariants }) => {
|
|
35
|
+
if (useStarlightDarkModeSwitch !== false && styleVariants.length >= 2) {
|
|
36
|
+
const baseTheme = styleVariants[0]?.theme;
|
|
37
|
+
const altTheme = styleVariants.find((v) => v.theme.type !== baseTheme?.type)?.theme;
|
|
38
|
+
if (theme === baseTheme || theme === altTheme) return `[data-theme='${theme.type}']`;
|
|
39
|
+
}
|
|
40
|
+
return `[data-theme='${theme.name}']`;
|
|
41
|
+
},
|
|
42
|
+
cascadeLayer: cascadeLayer ?? "starlight.components",
|
|
43
|
+
styleOverrides: {
|
|
44
|
+
borderRadius: "0px",
|
|
45
|
+
borderWidth: "1px",
|
|
46
|
+
codePaddingBlock: "0.75rem",
|
|
47
|
+
codePaddingInline: "1rem",
|
|
48
|
+
codeFontFamily: "var(--__sl-font-mono)",
|
|
49
|
+
codeFontSize: "var(--sl-text-code)",
|
|
50
|
+
codeLineHeight: "var(--sl-line-height)",
|
|
51
|
+
uiFontFamily: "var(--__sl-font)",
|
|
52
|
+
textMarkers: {
|
|
53
|
+
lineDiffIndicatorMarginLeft: "0.25rem",
|
|
54
|
+
defaultChroma: "45",
|
|
55
|
+
backgroundOpacity: "60%",
|
|
56
|
+
...textMarkersStyleOverrides
|
|
57
|
+
},
|
|
58
|
+
...otherStyleOverrides
|
|
59
|
+
},
|
|
60
|
+
getBlockLocale: ({ file }) => {
|
|
61
|
+
if (file.url && file.url.protocol !== "file:") {
|
|
62
|
+
const locale = slugToLocale(file.url.pathname.slice(1), starlightConfig);
|
|
63
|
+
return localeToLang(starlightConfig, locale);
|
|
64
|
+
}
|
|
65
|
+
return absolutePathToLang(file.path, {
|
|
66
|
+
docsPath,
|
|
67
|
+
starlightConfig
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
plugins,
|
|
71
|
+
...rest
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
export { getStarlightEcConfigPreprocessor };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
//#region src/integrations/expressive-code/themes/night-owl-dark.jsonc?raw
|
|
2
|
+
var night_owl_dark_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 \"name\": \"Night Owl No Italics\",\n \"type\": \"dark\",\n \"semanticHighlighting\": false,\n \"colors\": {\n \"contrastBorder\": \"#122d42\",\n \"focusBorder\": \"#122d42\",\n \"foreground\": \"#d6deeb\",\n \"widget.shadow\": \"#011627\",\n \"selection.background\": \"#4373c2\",\n \"errorForeground\": \"#EF5350\",\n \"button.background\": \"#7e57c2cc\",\n \"button.foreground\": \"#ffffffcc\",\n \"button.hoverBackground\": \"#7e57c2\",\n \"dropdown.background\": \"#011627\",\n \"dropdown.border\": \"#5f7e97\",\n \"dropdown.foreground\": \"#ffffffcc\",\n \"input.background\": \"#0b253a\",\n \"input.border\": \"#5f7e97\",\n \"input.foreground\": \"#ffffffcc\",\n \"input.placeholderForeground\": \"#5f7e97\",\n \"inputOption.activeBorder\": \"#ffffffcc\",\n \"punctuation.definition.generic.begin.html\": \"#ef5350f2\",\n \"inputValidation.errorBackground\": \"#AB0300F2\",\n \"inputValidation.errorBorder\": \"#EF5350\",\n \"inputValidation.infoBackground\": \"#00589EF2\",\n \"inputValidation.infoBorder\": \"#64B5F6\",\n \"inputValidation.warningBackground\": \"#675700F2\",\n \"inputValidation.warningBorder\": \"#FFCA28\",\n \"scrollbar.shadow\": \"#010b14\",\n \"scrollbarSlider.activeBackground\": \"#084d8180\",\n \"scrollbarSlider.background\": \"#084d8180\",\n \"scrollbarSlider.hoverBackground\": \"#084d8180\",\n \"badge.background\": \"#5f7e97\",\n \"badge.foreground\": \"#ffffff\",\n \"progress.background\": \"#7e57c2\",\n \"breadcrumb.foreground\": \"#A599E9\",\n \"breadcrumb.focusForeground\": \"#ffffff\",\n \"breadcrumb.activeSelectionForeground\": \"#FFFFFF\",\n \"breadcrumbPicker.background\": \"#001122\",\n \"list.activeSelectionBackground\": \"#234d708c\",\n \"list.activeSelectionForeground\": \"#ffffff\",\n \"list.invalidItemForeground\": \"#975f94\",\n \"list.dropBackground\": \"#011627\",\n \"list.focusBackground\": \"#010d18\",\n \"list.focusForeground\": \"#ffffff\",\n \"list.highlightForeground\": \"#ffffff\",\n \"list.hoverBackground\": \"#011627\",\n \"list.hoverForeground\": \"#ffffff\",\n \"list.inactiveSelectionBackground\": \"#0e293f\",\n \"list.inactiveSelectionForeground\": \"#5f7e97\",\n \"activityBar.background\": \"#011627\",\n \"activityBar.dropBackground\": \"#5f7e97\",\n \"activityBar.foreground\": \"#5f7e97\",\n \"activityBar.border\": \"#011627\",\n \"activityBarBadge.background\": \"#44596b\",\n \"activityBarBadge.foreground\": \"#ffffff\",\n \"sideBar.background\": \"#011627\",\n \"sideBar.foreground\": \"#89a4bb\",\n \"sideBar.border\": \"#011627\",\n \"sideBarTitle.foreground\": \"#5f7e97\",\n \"sideBarSectionHeader.background\": \"#011627\",\n \"sideBarSectionHeader.foreground\": \"#5f7e97\",\n \"editorGroup.emptyBackground\": \"#011627\",\n \"editorGroup.border\": \"#011627\",\n \"editorGroup.dropBackground\": \"#7e57c273\",\n \"editorGroupHeader.noTabsBackground\": \"#011627\",\n \"editorGroupHeader.tabsBackground\": \"#011627\",\n \"editorGroupHeader.tabsBorder\": \"#262A39\",\n \"tab.activeBackground\": \"#0b2942\",\n \"tab.activeForeground\": \"#d2dee7\",\n \"tab.border\": \"#272B3B\",\n \"tab.activeBorder\": \"#262A39\",\n \"tab.unfocusedActiveBorder\": \"#262A39\",\n \"tab.inactiveBackground\": \"#01111d\",\n \"tab.inactiveForeground\": \"#5f7e97\",\n \"tab.unfocusedActiveForeground\": \"#5f7e97\",\n \"tab.unfocusedInactiveForeground\": \"#5f7e97\",\n \"editor.background\": \"#011627\",\n \"editor.foreground\": \"#d6deeb\",\n \"editorLineNumber.foreground\": \"#4b6479\",\n \"editorLineNumber.activeForeground\": \"#C5E4FD\",\n \"editorCursor.foreground\": \"#80a4c2\",\n \"editor.selectionBackground\": \"#1d3b53\",\n \"editor.selectionHighlightBackground\": \"#5f7e9779\",\n \"editor.inactiveSelectionBackground\": \"#7e57c25a\",\n \"editor.wordHighlightBackground\": \"#f6bbe533\",\n \"editor.wordHighlightStrongBackground\": \"#e2a2f433\",\n \"editor.findMatchBackground\": \"#5f7e9779\",\n \"editor.findMatchHighlightBackground\": \"#1085bb5d\",\n \"editor.findRangeHighlightBackground\": null,\n \"editor.hoverHighlightBackground\": \"#7e57c25a\",\n \"editor.lineHighlightBackground\": \"#0003\",\n \"editor.lineHighlightBorder\": null,\n \"editorLink.activeForeground\": null,\n \"editor.rangeHighlightBackground\": \"#7e57c25a\",\n \"editorWhitespace.foreground\": null,\n \"editorIndentGuide.background\": \"#5e81ce52\",\n \"editorIndentGuide.activeBackground\": \"#7E97AC\",\n \"editorRuler.foreground\": \"#5e81ce52\",\n \"editorCodeLens.foreground\": \"#5e82ceb4\",\n \"editorBracketMatch.background\": \"#5f7e974d\",\n \"editorBracketMatch.border\": null,\n \"editorOverviewRuler.currentContentForeground\": \"#7e57c2\",\n \"editorOverviewRuler.incomingContentForeground\": \"#7e57c2\",\n \"editorOverviewRuler.commonContentForeground\": \"#7e57c2\",\n \"editorError.foreground\": \"#EF5350\",\n \"editorError.border\": null,\n \"editorWarning.foreground\": \"#b39554\",\n \"editorWarning.border\": null,\n \"editorGutter.background\": \"#011627\",\n \"editorGutter.modifiedBackground\": \"#e2b93d\",\n \"editorGutter.addedBackground\": \"#9CCC65\",\n \"editorGutter.deletedBackground\": \"#EF5350\",\n \"diffEditor.insertedTextBackground\": \"#99b76d23\",\n \"diffEditor.insertedTextBorder\": \"#c5e47833\",\n \"diffEditor.removedTextBackground\": \"#ef535033\",\n \"diffEditor.removedTextBorder\": \"#ef53504d\",\n \"editorWidget.background\": \"#021320\",\n \"editorWidget.border\": \"#5f7e97\",\n \"editorSuggestWidget.background\": \"#2C3043\",\n \"editorSuggestWidget.border\": \"#2B2F40\",\n \"editorSuggestWidget.foreground\": \"#d6deeb\",\n \"editorSuggestWidget.highlightForeground\": \"#ffffff\",\n \"editorSuggestWidget.selectedBackground\": \"#5f7e97\",\n \"editorHoverWidget.background\": \"#011627\",\n \"editorHoverWidget.border\": \"#5f7e97\",\n \"debugExceptionWidget.background\": \"#011627\",\n \"debugExceptionWidget.border\": \"#5f7e97\",\n \"editorMarkerNavigation.background\": \"#0b2942\",\n \"editorMarkerNavigationError.background\": \"#EF5350\",\n \"editorMarkerNavigationWarning.background\": \"#FFCA28\",\n \"peekView.border\": \"#5f7e97\",\n \"peekViewEditor.background\": \"#011627\",\n \"peekViewEditor.matchHighlightBackground\": \"#7e57c25a\",\n \"peekViewResult.background\": \"#011627\",\n \"peekViewResult.fileForeground\": \"#5f7e97\",\n \"peekViewResult.lineForeground\": \"#5f7e97\",\n \"peekViewResult.matchHighlightBackground\": \"#ffffffcc\",\n \"peekViewResult.selectionBackground\": \"#2E3250\",\n \"peekViewResult.selectionForeground\": \"#5f7e97\",\n \"peekViewTitle.background\": \"#011627\",\n \"peekViewTitleDescription.foreground\": \"#697098\",\n \"peekViewTitleLabel.foreground\": \"#5f7e97\",\n \"merge.currentHeaderBackground\": \"#5f7e97\",\n \"merge.currentContentBackground\": null,\n \"merge.incomingHeaderBackground\": \"#7e57c25a\",\n \"merge.incomingContentBackground\": null,\n \"merge.border\": null,\n \"panel.background\": \"#011627\",\n \"panel.border\": \"#5f7e97\",\n \"panelTitle.activeBorder\": \"#5f7e97\",\n \"panelTitle.activeForeground\": \"#ffffffcc\",\n \"panelTitle.inactiveForeground\": \"#d6deeb80\",\n \"statusBar.background\": \"#011627\",\n \"statusBar.foreground\": \"#5f7e97\",\n \"statusBar.border\": \"#262A39\",\n \"statusBar.debuggingBackground\": \"#202431\",\n \"statusBar.debuggingForeground\": null,\n \"statusBar.debuggingBorder\": \"#1F2330\",\n \"statusBar.noFolderForeground\": null,\n \"statusBar.noFolderBackground\": \"#011627\",\n \"statusBar.noFolderBorder\": \"#25293A\",\n \"statusBarItem.activeBackground\": \"#202431\",\n \"statusBarItem.hoverBackground\": \"#202431\",\n \"statusBarItem.prominentBackground\": \"#202431\",\n \"statusBarItem.prominentHoverBackground\": \"#202431\",\n \"titleBar.activeBackground\": \"#011627\",\n \"titleBar.activeForeground\": \"#eeefff\",\n \"titleBar.inactiveBackground\": \"#010e1a\",\n \"titleBar.inactiveForeground\": null,\n \"notifications.background\": \"#01111d\",\n \"notifications.border\": \"#262a39\",\n \"notificationCenter.border\": \"#262a39\",\n \"notificationToast.border\": \"#262a39\",\n \"notifications.foreground\": \"#ffffffcc\",\n \"notificationLink.foreground\": \"#80CBC4\",\n \"extensionButton.prominentForeground\": \"#ffffffcc\",\n \"extensionButton.prominentBackground\": \"#7e57c2cc\",\n \"extensionButton.prominentHoverBackground\": \"#7e57c2\",\n \"pickerGroup.foreground\": \"#d1aaff\",\n \"pickerGroup.border\": \"#011627\",\n \"terminal.ansiWhite\": \"#ffffff\",\n \"terminal.ansiBlack\": \"#011627\",\n \"terminal.ansiBlue\": \"#82AAFF\",\n \"terminal.ansiCyan\": \"#21c7a8\",\n \"terminal.ansiGreen\": \"#22da6e\",\n \"terminal.ansiMagenta\": \"#C792EA\",\n \"terminal.ansiRed\": \"#EF5350\",\n \"terminal.ansiYellow\": \"#c5e478\",\n \"terminal.ansiBrightWhite\": \"#ffffff\",\n \"terminal.ansiBrightBlack\": \"#575656\",\n \"terminal.ansiBrightBlue\": \"#82AAFF\",\n \"terminal.ansiBrightCyan\": \"#7fdbca\",\n \"terminal.ansiBrightGreen\": \"#22da6e\",\n \"terminal.ansiBrightMagenta\": \"#C792EA\",\n \"terminal.ansiBrightRed\": \"#EF5350\",\n \"terminal.ansiBrightYellow\": \"#ffeb95\",\n \"terminal.selectionBackground\": \"#1b90dd4d\",\n \"terminalCursor.background\": \"#234d70\",\n \"textCodeBlock.background\": \"#4f4f4f\",\n \"debugToolBar.background\": \"#011627\",\n \"welcomePage.buttonBackground\": \"#011627\",\n \"welcomePage.buttonHoverBackground\": \"#011627\",\n \"walkThrough.embeddedEditorBackground\": \"#011627\",\n \"gitDecoration.modifiedResourceForeground\": \"#a2bffc\",\n \"gitDecoration.deletedResourceForeground\": \"#EF535090\",\n \"gitDecoration.untrackedResourceForeground\": \"#c5e478ff\",\n \"gitDecoration.ignoredResourceForeground\": \"#395a75\",\n \"gitDecoration.conflictingResourceForeground\": \"#ffeb95cc\",\n \"source.elm\": \"#5f7e97\",\n \"string.quoted.single.js\": \"#ffffff\",\n \"meta.objectliteral.js\": \"#82AAFF\",\n },\n \"tokenColors\": [\n {\n \"name\": \"Changed\",\n \"scope\": [\n \"markup.changed\",\n \"meta.diff.header.git\",\n \"meta.diff.header.from-file\",\n \"meta.diff.header.to-file\",\n ],\n \"settings\": {\n \"foreground\": \"#a2bffc\",\n },\n },\n {\n \"name\": \"Deleted\",\n \"scope\": \"markup.deleted.diff\",\n \"settings\": {\n \"foreground\": \"#EF535090\",\n },\n },\n {\n \"name\": \"Inserted\",\n \"scope\": \"markup.inserted.diff\",\n \"settings\": {\n \"foreground\": \"#c5e478ff\",\n },\n },\n {\n \"name\": \"Global settings\",\n \"settings\": {\n \"background\": \"#011627\",\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"Comment\",\n \"scope\": \"comment\",\n \"settings\": {\n \"foreground\": \"#637777\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"String\",\n \"scope\": \"string\",\n \"settings\": {\n \"foreground\": \"#ecc48d\",\n },\n },\n {\n \"name\": \"String Quoted\",\n \"scope\": [\"string.quoted\", \"variable.other.readwrite.js\"],\n \"settings\": {\n \"foreground\": \"#ecc48d\",\n },\n },\n {\n \"name\": \"Support Constant Math\",\n \"scope\": \"support.constant.math\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Number\",\n \"scope\": [\"constant.numeric\", \"constant.character.numeric\"],\n \"settings\": {\n \"foreground\": \"#F78C6C\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Built-in constant\",\n \"scope\": [\"constant.language\", \"punctuation.definition.constant\", \"variable.other.constant\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"User-defined constant\",\n \"scope\": [\"constant.character\", \"constant.other\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Constant Character Escape\",\n \"scope\": \"constant.character.escape\",\n \"settings\": {\n \"foreground\": \"#F78C6C\",\n },\n },\n {\n \"name\": \"RegExp String\",\n \"scope\": [\"string.regexp\", \"string.regexp keyword.other\"],\n \"settings\": {\n \"foreground\": \"#5ca7e4\",\n },\n },\n {\n \"name\": \"Comma in functions\",\n \"scope\": \"meta.function punctuation.separator.comma\",\n \"settings\": {\n \"foreground\": \"#5f7e97\",\n },\n },\n {\n \"name\": \"Variable\",\n \"scope\": \"variable\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Keyword\",\n \"scope\": [\"punctuation.accessor\", \"keyword\"],\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Storage\",\n \"scope\": [\n \"storage\",\n \"meta.var.expr\",\n \"meta.class meta.method.declaration meta.var.expr storage.type.js\",\n \"storage.type.property.js\",\n \"storage.type.property.ts\",\n \"storage.type.property.tsx\",\n ],\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Storage type\",\n \"scope\": \"storage.type\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"Storage type\",\n \"scope\": \"storage.type.function.arrow.js\",\n \"settings\": {\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Class name\",\n \"scope\": [\"entity.name.class\", \"meta.class entity.name.type.class\"],\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"Inherited class\",\n \"scope\": \"entity.other.inherited-class\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Function name\",\n \"scope\": \"entity.name.function\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Meta Tag\",\n \"scope\": [\"punctuation.definition.tag\", \"meta.tag\"],\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"HTML Tag names\",\n \"scope\": [\n \"entity.name.tag\",\n \"meta.tag.other.html\",\n \"meta.tag.other.js\",\n \"meta.tag.other.tsx\",\n \"entity.name.tag.tsx\",\n \"entity.name.tag.js\",\n \"entity.name.tag\",\n \"meta.tag.js\",\n \"meta.tag.tsx\",\n \"meta.tag.html\",\n ],\n \"settings\": {\n \"foreground\": \"#caece6\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Tag attribute\",\n \"scope\": \"entity.other.attribute-name\",\n \"settings\": {\n \"fontStyle\": \"\",\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Entity Name Tag Custom\",\n \"scope\": \"entity.name.tag.custom\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Library (function & constant)\",\n \"scope\": [\"support.function\", \"support.constant\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Support Constant Property Value meta\",\n \"scope\": \"support.constant.meta.property-value\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Library class/type\",\n \"scope\": [\"support.type\", \"support.class\"],\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Support Variable DOM\",\n \"scope\": \"support.variable.dom\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Invalid\",\n \"scope\": \"invalid\",\n \"settings\": {\n \"background\": \"#ff2c83\",\n \"foreground\": \"#ffffff\",\n },\n },\n {\n \"name\": \"Invalid deprecated\",\n \"scope\": \"invalid.deprecated\",\n \"settings\": {\n \"foreground\": \"#ffffff\",\n \"background\": \"#d3423e\",\n },\n },\n {\n \"name\": \"Keyword Operator\",\n \"scope\": \"keyword.operator\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Keyword Operator Relational\",\n \"scope\": \"keyword.operator.relational\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Keyword Operator Assignment\",\n \"scope\": \"keyword.operator.assignment\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"Keyword Operator Arithmetic\",\n \"scope\": \"keyword.operator.arithmetic\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"Keyword Operator Bitwise\",\n \"scope\": \"keyword.operator.bitwise\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"Keyword Operator Increment\",\n \"scope\": \"keyword.operator.increment\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"Keyword Operator Ternary\",\n \"scope\": \"keyword.operator.ternary\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"Double-Slashed Comment\",\n \"scope\": \"comment.line.double-slash\",\n \"settings\": {\n \"foreground\": \"#637777\",\n },\n },\n {\n \"name\": \"Object\",\n \"scope\": \"object\",\n \"settings\": {\n \"foreground\": \"#cdebf7\",\n },\n },\n {\n \"name\": \"Null\",\n \"scope\": \"constant.language.null\",\n \"settings\": {\n \"foreground\": \"#ff5874\",\n },\n },\n {\n \"name\": \"Meta Brace\",\n \"scope\": \"meta.brace\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"Meta Delimiter Period\",\n \"scope\": \"meta.delimiter.period\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Punctuation Definition String\",\n \"scope\": \"punctuation.definition.string\",\n \"settings\": {\n \"foreground\": \"#d9f5dd\",\n },\n },\n {\n \"name\": \"Punctuation Definition String Markdown\",\n \"scope\": \"punctuation.definition.string.begin.markdown\",\n \"settings\": {\n \"foreground\": \"#ff5874\",\n },\n },\n {\n \"name\": \"Boolean\",\n \"scope\": \"constant.language.boolean\",\n \"settings\": {\n \"foreground\": \"#ff5874\",\n },\n },\n {\n \"name\": \"Object Comma\",\n \"scope\": \"object.comma\",\n \"settings\": {\n \"foreground\": \"#ffffff\",\n },\n },\n {\n \"name\": \"Variable Parameter Function\",\n \"scope\": \"variable.parameter.function\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Support Type Property Name & entity name tags\",\n \"scope\": [\n \"support.type.vendor.property-name\",\n \"support.constant.vendor.property-value\",\n \"support.type.property-name\",\n \"meta.property-list entity.name.tag\",\n ],\n \"settings\": {\n \"foreground\": \"#80CBC4\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Entity Name tag reference in stylesheets\",\n \"scope\": \"meta.property-list entity.name.tag.reference\",\n \"settings\": {\n \"foreground\": \"#57eaf1\",\n },\n },\n {\n \"name\": \"Constant Other Color RGB Value Punctuation Definition Constant\",\n \"scope\": \"constant.other.color.rgb-value punctuation.definition.constant\",\n \"settings\": {\n \"foreground\": \"#F78C6C\",\n },\n },\n {\n \"name\": \"Constant Other Color\",\n \"scope\": \"constant.other.color\",\n \"settings\": {\n \"foreground\": \"#FFEB95\",\n },\n },\n {\n \"name\": \"Keyword Other Unit\",\n \"scope\": \"keyword.other.unit\",\n \"settings\": {\n \"foreground\": \"#FFEB95\",\n },\n },\n {\n \"name\": \"Meta Selector\",\n \"scope\": \"meta.selector\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Entity Other Attribute Name Id\",\n \"scope\": \"entity.other.attribute-name.id\",\n \"settings\": {\n \"foreground\": \"#FAD430\",\n },\n },\n {\n \"name\": \"Meta Property Name\",\n \"scope\": \"meta.property-name\",\n \"settings\": {\n \"foreground\": \"#80CBC4\",\n },\n },\n {\n \"name\": \"Doctypes\",\n \"scope\": [\"entity.name.tag.doctype\", \"meta.tag.sgml.doctype\"],\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Punctuation Definition Parameters\",\n \"scope\": \"punctuation.definition.parameters\",\n \"settings\": {\n \"foreground\": \"#d9f5dd\",\n },\n },\n {\n \"name\": \"Keyword Control Operator\",\n \"scope\": \"keyword.control.operator\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Keyword Operator Logical\",\n \"scope\": \"keyword.operator.logical\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Variable Instances\",\n \"scope\": [\n \"variable.instance\",\n \"variable.other.instance\",\n \"variable.readwrite.instance\",\n \"variable.other.readwrite.instance\",\n \"variable.other.property\",\n ],\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Variable Property Other object property\",\n \"scope\": [\"variable.other.object.property\"],\n \"settings\": {\n \"foreground\": \"#faf39f\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Variable Property Other object\",\n \"scope\": [\"variable.other.object.js\"],\n \"settings\": {\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Entity Name Function\",\n \"scope\": [\"entity.name.function\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Keyword Operator Comparison, returns, imports, and Keyword Operator Ruby\",\n \"scope\": [\n \"keyword.control.conditional.js\",\n \"keyword.operator.comparison\",\n \"keyword.control.flow.js\",\n \"keyword.control.flow.ts\",\n \"keyword.control.flow.tsx\",\n \"keyword.control.ruby\",\n \"keyword.control.def.ruby\",\n \"keyword.control.loop.js\",\n \"keyword.control.loop.ts\",\n \"keyword.control.import.js\",\n \"keyword.control.import.ts\",\n \"keyword.control.import.tsx\",\n \"keyword.control.from.js\",\n \"keyword.control.from.ts\",\n \"keyword.control.from.tsx\",\n \"keyword.control.conditional.js\",\n \"keyword.control.conditional.ts\",\n \"keyword.control.switch.js\",\n \"keyword.control.switch.ts\",\n \"keyword.operator.instanceof.js\",\n \"keyword.operator.expression.instanceof.ts\",\n \"keyword.operator.expression.instanceof.tsx\",\n ],\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Support Constant, `new` keyword, Special Method Keyword, `debugger`, other keywords\",\n \"scope\": [\n \"support.constant\",\n \"keyword.other.special-method\",\n \"keyword.other.new\",\n \"keyword.other.debugger\",\n \"keyword.control\",\n ],\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Support Function\",\n \"scope\": \"support.function\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Invalid Broken\",\n \"scope\": \"invalid.broken\",\n \"settings\": {\n \"foreground\": \"#020e14\",\n \"background\": \"#F78C6C\",\n },\n },\n {\n \"name\": \"Invalid Unimplemented\",\n \"scope\": \"invalid.unimplemented\",\n \"settings\": {\n \"background\": \"#8BD649\",\n \"foreground\": \"#ffffff\",\n },\n },\n {\n \"name\": \"Invalid Illegal\",\n \"scope\": \"invalid.illegal\",\n \"settings\": {\n \"foreground\": \"#ffffff\",\n \"background\": \"#ec5f67\",\n },\n },\n {\n \"name\": \"Language Variable\",\n \"scope\": \"variable.language\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Support Variable Property\",\n \"scope\": \"support.variable.property\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Variable Function\",\n \"scope\": \"variable.function\",\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Variable Interpolation\",\n \"scope\": \"variable.interpolation\",\n \"settings\": {\n \"foreground\": \"#ec5f67\",\n },\n },\n {\n \"name\": \"Meta Function Call\",\n \"scope\": \"meta.function-call\",\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Punctuation Section Embedded\",\n \"scope\": \"punctuation.section.embedded\",\n \"settings\": {\n \"foreground\": \"#d3423e\",\n },\n },\n {\n \"name\": \"Punctuation Tweaks\",\n \"scope\": [\n \"punctuation.terminator.expression\",\n \"punctuation.definition.arguments\",\n \"punctuation.definition.array\",\n \"punctuation.section.array\",\n \"meta.array\",\n ],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"More Punctuation Tweaks\",\n \"scope\": [\n \"punctuation.definition.list.begin\",\n \"punctuation.definition.list.end\",\n \"punctuation.separator.arguments\",\n \"punctuation.definition.list\",\n ],\n \"settings\": {\n \"foreground\": \"#d9f5dd\",\n },\n },\n {\n \"name\": \"Template Strings\",\n \"scope\": \"string.template meta.template.expression\",\n \"settings\": {\n \"foreground\": \"#d3423e\",\n },\n },\n {\n \"name\": \"Backticks(``) in Template Strings\",\n \"scope\": \"string.template punctuation.definition.string\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"Italics\",\n \"scope\": \"italic\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"italic\",\n },\n },\n {\n \"name\": \"Bold\",\n \"scope\": \"bold\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n \"fontStyle\": \"bold\",\n },\n },\n {\n \"name\": \"Quote\",\n \"scope\": \"quote\",\n \"settings\": {\n \"foreground\": \"#697098\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Raw Code\",\n \"scope\": \"raw\",\n \"settings\": {\n \"foreground\": \"#80CBC4\",\n },\n },\n {\n \"name\": \"CoffeeScript Variable Assignment\",\n \"scope\": \"variable.assignment.coffee\",\n \"settings\": {\n \"foreground\": \"#31e1eb\",\n },\n },\n {\n \"name\": \"CoffeeScript Parameter Function\",\n \"scope\": \"variable.parameter.function.coffee\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"CoffeeScript Assignments\",\n \"scope\": \"variable.assignment.coffee\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"C# Readwrite Variables\",\n \"scope\": \"variable.other.readwrite.cs\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"C# Classes & Storage types\",\n \"scope\": [\"entity.name.type.class.cs\", \"storage.type.cs\"],\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"C# Namespaces\",\n \"scope\": \"entity.name.type.namespace.cs\",\n \"settings\": {\n \"foreground\": \"#B2CCD6\",\n },\n },\n {\n \"name\": \"C# Unquoted String Zone\",\n \"scope\": \"string.unquoted.preprocessor.message.cs\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"C# Region\",\n \"scope\": [\n \"punctuation.separator.hash.cs\",\n \"keyword.preprocessor.region.cs\",\n \"keyword.preprocessor.endregion.cs\",\n ],\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n \"fontStyle\": \"bold\",\n },\n },\n {\n \"name\": \"C# Other Variables\",\n \"scope\": \"variable.other.object.cs\",\n \"settings\": {\n \"foreground\": \"#B2CCD6\",\n },\n },\n {\n \"name\": \"C# Enum\",\n \"scope\": \"entity.name.type.enum.cs\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Dart String\",\n \"scope\": [\"string.interpolated.single.dart\", \"string.interpolated.double.dart\"],\n \"settings\": {\n \"foreground\": \"#FFCB8B\",\n },\n },\n {\n \"name\": \"Dart Class\",\n \"scope\": \"support.class.dart\",\n \"settings\": {\n \"foreground\": \"#FFCB8B\",\n },\n },\n {\n \"name\": \"Tag names in Stylesheets\",\n \"scope\": [\n \"entity.name.tag.css\",\n \"entity.name.tag.less\",\n \"entity.name.tag.custom.css\",\n \"support.constant.property-value.css\",\n ],\n \"settings\": {\n \"foreground\": \"#ff6363\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Wildcard(*) selector in Stylesheets\",\n \"scope\": [\n \"entity.name.tag.wildcard.css\",\n \"entity.name.tag.wildcard.less\",\n \"entity.name.tag.wildcard.scss\",\n \"entity.name.tag.wildcard.sass\",\n ],\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"CSS Keyword Other Unit\",\n \"scope\": \"keyword.other.unit.css\",\n \"settings\": {\n \"foreground\": \"#FFEB95\",\n },\n },\n {\n \"name\": \"Attribute Name for CSS\",\n \"scope\": [\n \"meta.attribute-selector.css entity.other.attribute-name.attribute\",\n \"variable.other.readwrite.js\",\n ],\n \"settings\": {\n \"foreground\": \"#F78C6C\",\n },\n },\n {\n \"name\": \"Elixir Classes\",\n \"scope\": [\n \"source.elixir support.type.elixir\",\n \"source.elixir meta.module.elixir entity.name.class.elixir\",\n ],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Elixir Functions\",\n \"scope\": \"source.elixir entity.name.function\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Elixir Constants\",\n \"scope\": [\n \"source.elixir constant.other.symbol.elixir\",\n \"source.elixir constant.other.keywords.elixir\",\n ],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Elixir String Punctuations\",\n \"scope\": \"source.elixir punctuation.definition.string\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Elixir\",\n \"scope\": [\n \"source.elixir variable.other.readwrite.module.elixir\",\n \"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\",\n ],\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Elixir Binary Punctuations\",\n \"scope\": \"source.elixir .punctuation.binary.elixir\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Closure Constant Keyword\",\n \"scope\": \"constant.keyword.clojure\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Go Function Calls\",\n \"scope\": \"source.go meta.function-call.go\",\n \"settings\": {\n \"foreground\": \"#DDDDDD\",\n },\n },\n {\n \"name\": \"Go Keywords\",\n \"scope\": [\n \"source.go keyword.package.go\",\n \"source.go keyword.import.go\",\n \"source.go keyword.function.go\",\n \"source.go keyword.type.go\",\n \"source.go keyword.struct.go\",\n \"source.go keyword.interface.go\",\n \"source.go keyword.const.go\",\n \"source.go keyword.var.go\",\n \"source.go keyword.map.go\",\n \"source.go keyword.channel.go\",\n \"source.go keyword.control.go\",\n ],\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"Go Constants e.g. nil, string format (%s, %d, etc.)\",\n \"scope\": [\"source.go constant.language.go\", \"source.go constant.other.placeholder.go\"],\n \"settings\": {\n \"foreground\": \"#ff5874\",\n },\n },\n {\n \"name\": \"C++ Functions\",\n \"scope\": [\"entity.name.function.preprocessor.cpp\", \"entity.scope.name.cpp\"],\n \"settings\": {\n \"foreground\": \"#7fdbcaff\",\n },\n },\n {\n \"name\": \"C++ Meta Namespace\",\n \"scope\": [\"meta.namespace-block.cpp\"],\n \"settings\": {\n \"foreground\": \"#e0dec6\",\n },\n },\n {\n \"name\": \"C++ Language Primitive Storage\",\n \"scope\": [\"storage.type.language.primitive.cpp\"],\n \"settings\": {\n \"foreground\": \"#ff5874\",\n },\n },\n {\n \"name\": \"C++ Preprocessor Macro\",\n \"scope\": [\"meta.preprocessor.macro.cpp\"],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"C++ Variable Parameter\",\n \"scope\": [\"variable.parameter\"],\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"Powershell Variables\",\n \"scope\": [\"variable.other.readwrite.powershell\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Powershell Function\",\n \"scope\": [\"support.function.powershell\"],\n \"settings\": {\n \"foreground\": \"#7fdbcaff\",\n },\n },\n {\n \"name\": \"ID Attribute Name in HTML\",\n \"scope\": \"entity.other.attribute-name.id.html\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"HTML Punctuation Definition Tag\",\n \"scope\": \"punctuation.definition.tag.html\",\n \"settings\": {\n \"foreground\": \"#6ae9f0\",\n },\n },\n {\n \"name\": \"HTML Doctype\",\n \"scope\": \"meta.tag.sgml.doctype.html\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"JavaScript Classes\",\n \"scope\": \"meta.class entity.name.type.class.js\",\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"JavaScript Method Declaration e.g. `constructor`\",\n \"scope\": \"meta.method.declaration storage.type.js\",\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"JavaScript Terminator\",\n \"scope\": \"terminator.js\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"JavaScript Meta Punctuation Definition\",\n \"scope\": \"meta.js punctuation.definition.js\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"Entity Names in Code Documentations\",\n \"scope\": [\"entity.name.type.instance.jsdoc\", \"entity.name.type.instance.phpdoc\"],\n \"settings\": {\n \"foreground\": \"#5f7e97\",\n },\n },\n {\n \"name\": \"Other Variables in Code Documentations\",\n \"scope\": [\"variable.other.jsdoc\", \"variable.other.phpdoc\"],\n \"settings\": {\n \"foreground\": \"#78ccf0\",\n },\n },\n {\n \"name\": \"JavaScript module imports and exports\",\n \"scope\": [\n \"variable.other.meta.import.js\",\n \"meta.import.js variable.other\",\n \"variable.other.meta.export.js\",\n \"meta.export.js variable.other\",\n ],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"JavaScript Variable Parameter Function\",\n \"scope\": \"variable.parameter.function.js\",\n \"settings\": {\n \"foreground\": \"#7986E7\",\n },\n },\n {\n \"name\": \"JavaScript[React] Variable Other Object\",\n \"scope\": [\n \"variable.other.object.js\",\n \"variable.other.object.jsx\",\n \"variable.object.property.js\",\n \"variable.object.property.jsx\",\n ],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"JavaScript Variables\",\n \"scope\": [\"variable.js\", \"variable.other.js\"],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"JavaScript Entity Name Type\",\n \"scope\": [\"entity.name.type.js\", \"entity.name.type.module.js\"],\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"JavaScript Support Classes\",\n \"scope\": \"support.class.js\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"JSON Property Names\",\n \"scope\": \"support.type.property-name.json\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"JSON Support Constants\",\n \"scope\": \"support.constant.json\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"JSON Property values (string)\",\n \"scope\": \"meta.structure.dictionary.value.json string.quoted.double\",\n \"settings\": {\n \"foreground\": \"#c789d6\",\n },\n },\n {\n \"name\": \"Strings in JSON values\",\n \"scope\": \"string.quoted.double.json punctuation.definition.string.json\",\n \"settings\": {\n \"foreground\": \"#80CBC4\",\n },\n },\n {\n \"name\": \"Specific JSON Property values like null\",\n \"scope\": \"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\",\n \"settings\": {\n \"foreground\": \"#ff5874\",\n },\n },\n {\n \"name\": \"JavaScript Other Variable\",\n \"scope\": \"variable.other.object.js\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Ruby Variables\",\n \"scope\": [\"variable.other.ruby\"],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"Ruby Class\",\n \"scope\": [\"entity.name.type.class.ruby\"],\n \"settings\": {\n \"foreground\": \"#ecc48d\",\n },\n },\n {\n \"name\": \"Ruby Hashkeys\",\n \"scope\": \"constant.language.symbol.hashkey.ruby\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"LESS Tag names\",\n \"scope\": \"entity.name.tag.less\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"LESS Keyword Other Unit\",\n \"scope\": \"keyword.other.unit.css\",\n \"settings\": {\n \"foreground\": \"#FFEB95\",\n },\n },\n {\n \"name\": \"Attribute Name for LESS\",\n \"scope\": \"meta.attribute-selector.less entity.other.attribute-name.attribute\",\n \"settings\": {\n \"foreground\": \"#F78C6C\",\n },\n },\n {\n \"name\": \"Markdown Headings\",\n \"scope\": [\n \"markup.heading.markdown\",\n \"markup.heading.setext.1.markdown\",\n \"markup.heading.setext.2.markdown\",\n ],\n \"settings\": {\n \"foreground\": \"#82b1ff\",\n },\n },\n {\n \"name\": \"Markdown Italics\",\n \"scope\": \"markup.italic.markdown\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n \"fontStyle\": \"italic\",\n },\n },\n {\n \"name\": \"Markdown Bold\",\n \"scope\": \"markup.bold.markdown\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n \"fontStyle\": \"bold\",\n },\n },\n {\n \"name\": \"Markdown Quote + others\",\n \"scope\": \"markup.quote.markdown\",\n \"settings\": {\n \"foreground\": \"#697098\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Markdown Raw Code + others\",\n \"scope\": \"markup.inline.raw.markdown\",\n \"settings\": {\n \"foreground\": \"#80CBC4\",\n },\n },\n {\n \"name\": \"Markdown Links\",\n \"scope\": [\"markup.underline.link.markdown\", \"markup.underline.link.image.markdown\"],\n \"settings\": {\n \"foreground\": \"#ff869a\",\n },\n },\n {\n \"name\": \"Markdown Link Title and Description\",\n \"scope\": [\"string.other.link.title.markdown\", \"string.other.link.description.markdown\"],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"Markdown Punctuation\",\n \"scope\": [\n \"punctuation.definition.string.markdown\",\n \"punctuation.definition.string.begin.markdown\",\n \"punctuation.definition.string.end.markdown\",\n \"meta.link.inline.markdown punctuation.definition.string\",\n ],\n \"settings\": {\n \"foreground\": \"#82b1ff\",\n },\n },\n {\n \"name\": \"Markdown MetaData Punctuation\",\n \"scope\": [\"punctuation.definition.metadata.markdown\"],\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"Markdown List Punctuation\",\n \"scope\": [\"beginning.punctuation.definition.list.markdown\"],\n \"settings\": {\n \"foreground\": \"#82b1ff\",\n },\n },\n {\n \"name\": \"Markdown Inline Raw String\",\n \"scope\": \"markup.inline.raw.string.markdown\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"PHP Variables\",\n \"scope\": \"variable.other.php\",\n \"settings\": {\n \"foreground\": \"#bec5d4\",\n },\n },\n {\n \"name\": \"Support Classes in PHP\",\n \"scope\": \"support.class.php\",\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"Punctuations in PHP function calls\",\n \"scope\": \"meta.function-call.php punctuation\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"PHP Global Variables\",\n \"scope\": \"variable.other.global.php\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Declaration Punctuation in PHP Global Variables\",\n \"scope\": \"variable.other.global.php punctuation.definition.variable\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Language Constants in Python\",\n \"scope\": \"constant.language.python\",\n \"settings\": {\n \"foreground\": \"#ff5874\",\n },\n },\n {\n \"name\": \"Python Function Parameter and Arguments\",\n \"scope\": [\"variable.parameter.function.python\", \"meta.function-call.arguments.python\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Python Function Call\",\n \"scope\": [\"meta.function-call.python\", \"meta.function-call.generic.python\"],\n \"settings\": {\n \"foreground\": \"#B2CCD6\",\n },\n },\n {\n \"name\": \"Punctuations in Python\",\n \"scope\": \"punctuation.python\",\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"Decorator Functions in Python\",\n \"scope\": \"entity.name.function.decorator.python\",\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Python Language Variable\",\n \"scope\": \"source.python variable.language.special\",\n \"settings\": {\n \"foreground\": \"#8EACE3\",\n },\n },\n {\n \"name\": \"Python import control keyword\",\n \"scope\": \"keyword.control\",\n \"settings\": {\n \"foreground\": \"#c792ea\",\n },\n },\n {\n \"name\": \"SCSS Variable\",\n \"scope\": [\n \"variable.scss\",\n \"variable.sass\",\n \"variable.parameter.url.scss\",\n \"variable.parameter.url.sass\",\n ],\n \"settings\": {\n \"foreground\": \"#c5e478\",\n },\n },\n {\n \"name\": \"Variables in SASS At-Rules\",\n \"scope\": [\"source.css.scss meta.at-rule variable\", \"source.css.sass meta.at-rule variable\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"Variables in SASS At-Rules\",\n \"scope\": [\"source.css.scss meta.at-rule variable\", \"source.css.sass meta.at-rule variable\"],\n \"settings\": {\n \"foreground\": \"#bec5d4\",\n },\n },\n {\n \"name\": \"Attribute Name for SASS\",\n \"scope\": [\n \"meta.attribute-selector.scss entity.other.attribute-name.attribute\",\n \"meta.attribute-selector.sass entity.other.attribute-name.attribute\",\n ],\n \"settings\": {\n \"foreground\": \"#F78C6C\",\n },\n },\n {\n \"name\": \"Tag names in SASS\",\n \"scope\": [\"entity.name.tag.scss\", \"entity.name.tag.sass\"],\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"SASS Keyword Other Unit\",\n \"scope\": [\"keyword.other.unit.scss\", \"keyword.other.unit.sass\"],\n \"settings\": {\n \"foreground\": \"#FFEB95\",\n },\n },\n {\n \"name\": \"TypeScript[React] Variables and Object Properties\",\n \"scope\": [\n \"variable.other.readwrite.alias.ts\",\n \"variable.other.readwrite.alias.tsx\",\n \"variable.other.readwrite.ts\",\n \"variable.other.readwrite.tsx\",\n \"variable.other.object.ts\",\n \"variable.other.object.tsx\",\n \"variable.object.property.ts\",\n \"variable.object.property.tsx\",\n \"variable.other.ts\",\n \"variable.other.tsx\",\n \"variable.tsx\",\n \"variable.ts\",\n ],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"TypeScript[React] Entity Name Types\",\n \"scope\": [\"entity.name.type.ts\", \"entity.name.type.tsx\"],\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"TypeScript[React] Node Classes\",\n \"scope\": [\"support.class.node.ts\", \"support.class.node.tsx\"],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"TypeScript[React] Entity Name Types as Parameters\",\n \"scope\": [\n \"meta.type.parameters.ts entity.name.type\",\n \"meta.type.parameters.tsx entity.name.type\",\n ],\n \"settings\": {\n \"foreground\": \"#5f7e97\",\n },\n },\n {\n \"name\": \"TypeScript[React] Import/Export Punctuations\",\n \"scope\": [\n \"meta.import.ts punctuation.definition.block\",\n \"meta.import.tsx punctuation.definition.block\",\n \"meta.export.ts punctuation.definition.block\",\n \"meta.export.tsx punctuation.definition.block\",\n ],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"TypeScript[React] Punctuation Decorators\",\n \"scope\": [\n \"meta.decorator punctuation.decorator.ts\",\n \"meta.decorator punctuation.decorator.tsx\",\n ],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"TypeScript[React] Punctuation Decorators\",\n \"scope\": \"meta.tag.js meta.jsx.children.tsx\",\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"YAML Entity Name Tags\",\n \"scope\": \"entity.name.tag.yaml\",\n \"settings\": {\n \"foreground\": \"#7fdbca\",\n },\n },\n {\n \"name\": \"JavaScript Variable Other ReadWrite\",\n \"scope\": [\"variable.other.readwrite.js\", \"variable.parameter\"],\n \"settings\": {\n \"foreground\": \"#d7dbe0\",\n },\n },\n {\n \"name\": \"Support Class Component\",\n \"scope\": [\"support.class.component.js\", \"support.class.component.tsx\"],\n \"settings\": {\n \"foreground\": \"#f78c6c\",\n \"fontStyle\": \"\",\n },\n },\n {\n \"name\": \"Text nested in React tags\",\n \"scope\": [\"meta.jsx.children\", \"meta.jsx.children.js\", \"meta.jsx.children.tsx\"],\n \"settings\": {\n \"foreground\": \"#d6deeb\",\n },\n },\n {\n \"name\": \"TypeScript Classes\",\n \"scope\": \"meta.class entity.name.type.class.tsx\",\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"TypeScript Entity Name Type\",\n \"scope\": [\"entity.name.type.tsx\", \"entity.name.type.module.tsx\"],\n \"settings\": {\n \"foreground\": \"#ffcb8b\",\n },\n },\n {\n \"name\": \"TypeScript Class Variable Keyword\",\n \"scope\": [\n \"meta.class.ts meta.var.expr.ts storage.type.ts\",\n \"meta.class.tsx meta.var.expr.tsx storage.type.tsx\",\n ],\n \"settings\": {\n \"foreground\": \"#C792EA\",\n },\n },\n {\n \"name\": \"TypeScript Method Declaration e.g. `constructor`\",\n \"scope\": [\n \"meta.method.declaration storage.type.ts\",\n \"meta.method.declaration storage.type.tsx\",\n ],\n \"settings\": {\n \"foreground\": \"#82AAFF\",\n },\n },\n {\n \"name\": \"normalize font style of certain components\",\n \"scope\": [\n \"meta.property-list.css meta.property-value.css variable.other.less\",\n \"meta.property-list.scss variable.scss\",\n \"meta.property-list.sass variable.sass\",\n \"meta.brace\",\n \"keyword.operator.operator\",\n \"keyword.operator.or.regexp\",\n \"keyword.operator.expression.in\",\n \"keyword.operator.relational\",\n \"keyword.operator.assignment\",\n \"keyword.operator.comparison\",\n \"keyword.operator.type\",\n \"keyword.operator\",\n \"keyword\",\n \"punctuation.definition.string\",\n \"punctuation\",\n \"variable.other.readwrite.js\",\n \"storage.type\",\n \"source.css\",\n \"string.quoted\",\n ],\n \"settings\": {\n \"fontStyle\": \"\",\n },\n },\n ],\n}\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { night_owl_dark_default as default };
|