diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c5ecee..0afb4a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,26 @@ Changelog --- +# 3.0.0 [Holiday Assets] + +**3 New Dark Themes!** + +- Celebrate Christmas with Chocola from the NekoPara Series! +_I lied about Shigure being the last addition from NekoPara._ + +- The 4th of July now just got even better, now that you can code with Essex from Azur Lane. +If you prefer a more canon experience, Essex's theme also has **secondary content** with the Eagle Union branding. + +- Even though I missed this year's Halloween, I've got something to look forward to in 2022. +Yotsuba, from The Quintessential Quintuplets, isn't 2spooky4me. + + +![v22 Girls](https://doki.assets.unthrottled.io/misc/v22_girls.png) + +#### Other Stuff + +- Moved Tohsaka Rin's wallpaper over to the right. + # 2.2.1 [Asset Render After Load] - Stickers & Wallpapers will now render after the IDE finishes loading all of the background tasks. See [#33](https://github.com/doki-theme/doki-theme-visualstudio/pull/33) for more details. diff --git a/buildSrc/assets/templates/DarkHeterochroma.vstheme.template b/buildSrc/assets/templates/DarkHeterochroma.vstheme.template new file mode 100644 index 0000000..0c30dca --- /dev/null +++ b/buildSrc/assets/templates/DarkHeterochroma.vstheme.template @@ -0,0 +1,2366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildSrc/assets/themes/azurLane/essex/dark/essex.dark.visualstudio.definition.json b/buildSrc/assets/themes/azurLane/essex/dark/essex.dark.visualstudio.definition.json new file mode 100644 index 0000000..4bc0175 --- /dev/null +++ b/buildSrc/assets/themes/azurLane/essex/dark/essex.dark.visualstudio.definition.json @@ -0,0 +1,13 @@ +{ + "id": "e55e70ea-454b-47ef-9270-d46390dd2769", + "overrides": {}, + "laf": {}, + "syntax": {}, + "colors": {}, + "backgrounds": { + "default": { + "position": "right", + "opacity": 0.1 + } + } +} \ No newline at end of file diff --git a/buildSrc/assets/themes/fate/rin/dark/rin.dark.visualstudio.definition.json b/buildSrc/assets/themes/fate/rin/dark/rin.dark.visualstudio.definition.json index eabe057..4f34ab8 100644 --- a/buildSrc/assets/themes/fate/rin/dark/rin.dark.visualstudio.definition.json +++ b/buildSrc/assets/themes/fate/rin/dark/rin.dark.visualstudio.definition.json @@ -4,5 +4,10 @@ "laf": {}, "syntax": {}, "colors": {}, - "backgrounds": {} + "backgrounds": { + "default": { + "position": "right", + "opacity": 0.07 + } + } } \ No newline at end of file diff --git a/buildSrc/assets/themes/nekoPara/chocola/xmas/chocola.xmas.visualstudio.definition.json b/buildSrc/assets/themes/nekoPara/chocola/xmas/chocola.xmas.visualstudio.definition.json new file mode 100644 index 0000000..e4600b8 --- /dev/null +++ b/buildSrc/assets/themes/nekoPara/chocola/xmas/chocola.xmas.visualstudio.definition.json @@ -0,0 +1,15 @@ +{ + "id": "6428e1ff-202c-4a43-afb3-9999ebe3b2ca", + "overrides": {}, + "laf": { + "extends": "dark-heterochroma" + }, + "syntax": {}, + "colors": {}, + "backgrounds": { + "default": { + "position": "center", + "opacity": 0.07 + } + } +} \ No newline at end of file diff --git a/buildSrc/assets/themes/quintuplets/yotsuba/dark/yotsuba.dark.visualstudio.definition.json b/buildSrc/assets/themes/quintuplets/yotsuba/dark/yotsuba.dark.visualstudio.definition.json new file mode 100644 index 0000000..1a92372 --- /dev/null +++ b/buildSrc/assets/themes/quintuplets/yotsuba/dark/yotsuba.dark.visualstudio.definition.json @@ -0,0 +1,15 @@ +{ + "id": "3b11c8f4-d030-4a7e-a46f-b22d3e430a1d", + "overrides": {}, + "laf": { + "extends": "dark-heterochroma,dark-contrast" + }, + "syntax": {}, + "colors": {}, + "backgrounds": { + "default": { + "position": "right", + "opacity": 0.11 + } + } +} \ No newline at end of file diff --git a/buildSrc/buildThemes.bat b/buildSrc/buildThemes.bat index 7f52f6b..3360973 100644 --- a/buildSrc/buildThemes.bat +++ b/buildSrc/buildThemes.bat @@ -11,7 +11,16 @@ @REM yarn buildThemes 83e94920-9ae2-4838-9b85-4c3fa22b67b8 @REM Maple Light -yarn buildThemes ea7a8b00-2d86-4e06-81a2-5c14a46264d5 +@REM yarn buildThemes ea7a8b00-2d86-4e06-81a2-5c14a46264d5 + +@REM Yotsuba +@REM yarn buildThemes 3b11c8f4-d030-4a7e-a46f-b22d3e430a1d + +@REM Essex +yarn buildThemes e55e70ea-454b-47ef-9270-d46390dd2769 + +@REM chocola xmas +@REM yarn buildThemes 6428e1ff-202c-4a43-afb3-9999ebe3b2ca @REM Jahy @REM yarn buildThemes 91d0931d-3e1d-4101-b923-278ce264f0f5 diff --git a/buildSrc/package.json b/buildSrc/package.json index 4b1eef6..8a898fc 100644 --- a/buildSrc/package.json +++ b/buildSrc/package.json @@ -13,7 +13,7 @@ "@types/lodash": "^4.14.155", "@types/xml2js": "^0.4.5", "copy-webpack-plugin": "^6.0.2", - "doki-build-source": "1.7.0", + "doki-build-source": "1.9.0", "jest": "^26.0.1", "rimraf": "^3.0.2", "ts-jest": "^26.1.0", diff --git a/buildSrc/src/BuildThemes.ts b/buildSrc/src/BuildThemes.ts index 67c0230..d2a90bd 100644 --- a/buildSrc/src/BuildThemes.ts +++ b/buildSrc/src/BuildThemes.ts @@ -1,13 +1,12 @@ import { BaseAppDokiThemeDefinition, + composeTemplateWithCombini, constructNamedColorTemplate, DokiThemeDefinitions, evaluateTemplates, fillInTemplateScript, MasterDokiThemeDefinition, resolvePaths, - resolveTemplate, - resolveTemplateWithCombini, StringDictionary, walkDir, } from "doki-build-source"; import omit from 'lodash/omit'; @@ -288,6 +287,10 @@ async function resolveVisualStudioThemeTemplate(xmlTemplates: StringDictionary, dokiTheme: { path: string; definition: MasterDokiThemeDefinition; stickers: { secondary?: { path: string; name: string; } | undefined; defaultSticker: { path: string; name: string; }; }; templateVariables: DokiThemeVisualStudio; theme: {}; appThemeDefinition: BaseAppDokiThemeDefinition; }): string { const childTemplateName = dokiTheme.appThemeDefinition.laf?.extends || (dokiTheme.definition.dark ? 'dark' : 'light'); - const childTemplate = xmlTemplates[childTemplateName]; - const resolvedXmlObject = resolveTemplateWithCombini( + + // hax to get around the initial child composing + // many parent themes. + const childTemplate = { + composeHax: true, + Themes: { + Theme: [ + { + $: { + BaseGUID: childTemplateName + } + } + ] + } + }; + const resolvedXmlObject = composeTemplateWithCombini( childTemplate, xmlTemplates, template => template, templateXml => { const baseNodeAttributes = templateXml.Themes.Theme[0].$; - const parentName = baseNodeAttributes.BaseGUID || + const parentName: string = baseNodeAttributes.BaseGUID || baseNodeAttributes.FallbackId; - return parentName.startsWith('{') ? undefined : parentName; + return parentName.startsWith('{') ? undefined : + parentName.split(',') + .map(parent => parent.trim() as string) + .filter(Boolean); }, smashXmlTemplatesTogether ) return xmlBuilder.buildObject(resolvedXmlObject); } - diff --git a/buildSrc/yarn.lock b/buildSrc/yarn.lock index 6232024..b296ac3 100644 --- a/buildSrc/yarn.lock +++ b/buildSrc/yarn.lock @@ -1873,10 +1873,10 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -doki-build-source@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/doki-build-source/-/doki-build-source-1.7.0.tgz#d90402b8f02e80d8b0376d86d48e57ba7be991e8" - integrity sha512-E2PCaT2lNAEZVHhl6cDRah9KqWf/M6S59YgfwHU7N3HBtDl6ld8U6Np9f5UUQPtquLb47UC2R+CvN2t8SKXRhw== +doki-build-source@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/doki-build-source/-/doki-build-source-1.8.0.tgz#30f82942eca97f4091697302e55ff5504a7bf42e" + integrity sha512-l7gvHdcptjruHPVe0KB5UgY9lTjtbxC8aqE2ds4+eD78OttjCgUrfJjAVeeY0tF2cp3vZ8+3eUB9EthbuwL3eQ== domain-browser@^1.1.1: version "1.2.0" diff --git a/doki-theme-visualstudio/ThemeManager.cs b/doki-theme-visualstudio/ThemeManager.cs index 649f03d..37bc182 100644 --- a/doki-theme-visualstudio/ThemeManager.cs +++ b/doki-theme-visualstudio/ThemeManager.cs @@ -95,7 +95,7 @@ public void GetCurrentTheme(Action themeConsumer) { private DokiTheme? GetCurrentDokiTheme() { var accentColor = VSColorTheme.GetThemedColor(EnvironmentColors.PanelHyperlinkColorKey); - var textEditorBackground = VSColorTheme.GetThemedColor(EnvironmentColors.EnvironmentBackgroundColorKey); + var textEditorBackground = VSColorTheme.GetThemedColor(EnvironmentColors.SystemWindowColorKey); var colorKey = accentColor.ToHexString() + textEditorBackground.ToHexString(); diff --git a/doki-theme-visualstudio/doki-theme-visualstudio.csproj b/doki-theme-visualstudio/doki-theme-visualstudio.csproj index 81234bd..5d1f061 100644 --- a/doki-theme-visualstudio/doki-theme-visualstudio.csproj +++ b/doki-theme-visualstudio/doki-theme-visualstudio.csproj @@ -72,6 +72,9 @@ Designer + + Designer + Designer @@ -210,6 +213,9 @@ Designer + + Designer + Designer @@ -240,6 +246,9 @@ Designer + + Designer + Designer diff --git a/doki-theme-visualstudio/source.extension.vsixmanifest b/doki-theme-visualstudio/source.extension.vsixmanifest index 6e54a49..a0dbbd1 100644 --- a/doki-theme-visualstudio/source.extension.vsixmanifest +++ b/doki-theme-visualstudio/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + The Doki Theme Code with your Waifu! https://github.com/doki-theme/doki-theme-visualstudio#the-doki-theme-visual-studio diff --git a/readmeAssets/albums/screenshot_album.md b/readmeAssets/albums/screenshot_album.md index 60b5a51..f4f7dae 100644 --- a/readmeAssets/albums/screenshot_album.md +++ b/readmeAssets/albums/screenshot_album.md @@ -6,11 +6,17 @@ Darling in the Franxx ![zero_two_dark_code](../screens/themes/zero_two_dark_code.png) ![zero_two_light_code](../screens/themes/zero_two_light_code.png) + +AzurLane +--- +![essex_dark_code](../screens/themes/essex_dark_code.png) + NekoPara --- ### Chocola ![chocola_dark_code](../screens/themes/chocola_dark_code.png) +![xmas_chocola_code](../screens/themes/xmas_chocola_code.png) ### Vanilla @@ -78,6 +84,11 @@ Quintessential Quintuplets ![nakano_miku_dark_code](../screens/themes/nakano_miku_dark_code.png) +### Nakano Yotsuba + +![nakano_yotsuba_dark_code](../screens/themes/nakano_yotsuba_dark_code.png) + + OreImo (My little sister cannot be this cute) --- diff --git a/readmeAssets/screens/themes/essex_dark_code.png b/readmeAssets/screens/themes/essex_dark_code.png new file mode 100644 index 0000000..210a1cf Binary files /dev/null and b/readmeAssets/screens/themes/essex_dark_code.png differ diff --git a/readmeAssets/screens/themes/nakano_yotsuba_dark_code.png b/readmeAssets/screens/themes/nakano_yotsuba_dark_code.png new file mode 100644 index 0000000..69cca32 Binary files /dev/null and b/readmeAssets/screens/themes/nakano_yotsuba_dark_code.png differ diff --git a/readmeAssets/screens/themes/xmas_chocola_code.png b/readmeAssets/screens/themes/xmas_chocola_code.png new file mode 100644 index 0000000..1bbcfc7 Binary files /dev/null and b/readmeAssets/screens/themes/xmas_chocola_code.png differ