feat: Initial commit

This commit is contained in:
2026-06-11 19:54:37 +02:00
commit 48e4e9b36c
10 changed files with 616 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
]
}
]
}
+4
View File
@@ -0,0 +1,4 @@
.vscode/**
.vscode-test/**
.gitignore
vsc-extension-quickstart.md
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Laika Schmidt
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+14
View File
@@ -0,0 +1,14 @@
# vscode-theme-lesbian-dark
_A (dark) theme for Visual Studio Code, inspired by lesbian pride flags._
Inspired by Charlie Gerard's [Pride VSCode themes](https://github.com/charliegerard/pride-vscode-themes)!
## Preview
<a href="./images/lesbian-dark-demo.png"><img src="./images/lesbian-dark-demo.png"/></a>
## License & Author*ess
This theme was written by Laika Schmidt (_laika_) and licensed under the [MIT-License](./LICENSE.md).
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

+42
View File
@@ -0,0 +1,42 @@
{
"name": "vscode-theme-lesbian-dark",
"displayName": "Lesbian theme (dark)",
"description": "A (dark) theme for Visual Studio Code, inspired by lesbian pride flags.",
"version": "0.0.1",
"engines": {
"vscode": "^1.57.0"
},
"icon": "icon.png",
"repository": {
"type": "git",
"url": "https://git.pawly.dev/laika/vscode-lesbian-theme"
},
"homepage": "https://git.pawly.dev/laika/vscode-lesbian-theme",
"author": {
"name": "Laika Schmidt"
},
"publisher": "laika",
"categories": [
"Themes"
],
"keywords": [
"pride",
"vscode",
"lesbian",
"lesbisch",
"wlw",
"sapphic",
"lgbtq",
"lsbtiq"
],
"license": "MIT",
"contributes": {
"themes": [
{
"label": "Lesbian (Dark)",
"uiTheme": "vs-dark",
"path": "./themes/lesbian-color-theme.json"
}
]
}
}
+490
View File
@@ -0,0 +1,490 @@
{
"colors": {
"activityBar.activeBorder": "#D162A4",
"activityBar.background": "#171717",
"activityBar.foreground": "#D162A4",
"activityBar.inactiveForeground": "#d162a543",
"activityBarBadge.background": "#A30262",
"activityBarBadge.foreground": "#FFFFFF",
"button.background": "#A30262",
"button.foreground": "#FFFFFF",
"diffEditor.insertedLineBackground": "#48d8903e",
"diffEditor.removedLineBackground": "#d52e003e",
"editor.background": "#171717",
"editor.foreground": "#ffffff",
"editorLineNumber.foreground": "#ffffffc1",
"gitDecoration.addedResourceForeground": "#48d890",
"gitDecoration.conflictingResourceForeground": "#D52D00",
"gitDecoration.deletedResourceForeground": "#D52D00",
"gitDecoration.modifiedResourceForeground": "#D162A4",
"gitDecoration.renamedResourceForeground": "#FFFFFF",
"gitDecoration.untrackedResourceForeground": "#D52D00",
"list.errorForeground": "#D52D00",
"list.warningForeground": "#EF7627",
"sideBarTitle.foreground": "#ffffff",
"statusBar.background": "#A30262",
"statusBar.debuggingBackground": "#D162A4",
"statusBar.foreground": "#FFFFFF",
"statusBar.noFolderBackground": "#A30262",
"statusBar.noFolderForeground": "#B55690",
"textBlockQuote.border": "#A30262",
"textCodeBlock.background": "#242526",
"textLink.activeForeground": "#EF7627",
"textLink.foreground": "#FF9A56",
},
"name": "Lesbian (Dark)",
"tokenColors": [
{
"name": "Comment",
"scope": [
"comment",
"punctuation.definition.comment"
],
"settings": {
"fontStyle": "italic",
"foreground": "#FFFFFF50"
}
},
{
"name": "Variables",
"scope": [
"variable",
"string constant.other.placeholder"
],
"settings": {
"fontStyle": "italic",
"foreground": "#FFFFFF"
}
},
{
"name": "Colors",
"scope": [
"constant.other.color"
],
"settings": {
"foreground": "#ffffff"
}
},
{
"name": "Invalid",
"scope": [
"invalid",
"invalid.illegal"
],
"settings": {
"foreground": "#F30943"
}
},
{
"name": "Keyword, Storage",
"scope": [
"keyword",
"storage.type",
"storage.modifier"
],
"settings": {
"foreground": "#FF9A56"
}
},
{
"name": "Operator, Misc",
"scope": [
"keyword.control",
"constant.other.color",
"keyword.other.template",
"keyword.other.substitution",
"punctuation.separator.inheritance.php",
],
"settings": {
"foreground": "#FF9A56"
}
},
{
"name": "Tags",
"scope": [
"meta.tag",
"punctuation.definition.tag",
"punctuation.definition.tag.html",
"punctuation.definition.tag.begin.html",
"punctuation.definition.tag.end.html",
"punctuation.section.embedded",
"meta.tag.sgml",
"markup.deleted.git_gutter",
"entity.name.tag",
],
"settings": {
"foreground": "#B55690"
}
},
{
"name": "Function, Special Method",
"scope": [
"entity.name.function",
"meta.function-call",
"variable.function",
"support.function",
"keyword.other.special-method"
],
"settings": {
"foreground": "#ea8bc5"
}
},
{
"name": "Self Defined Function",
"scope": [
"variable.function",
"entity.name.function"
],
"settings": {
"fontStyle": "italic",
"foreground": "#ea8bc5"
}
},
{
"name": "Block Level Variables",
"scope": [
"meta.block variable.other",
],
"settings": {
"foreground": "#ffffff"
}
},
{
"name": "Number, Constant, Function Argument, Tag Attribute, Embedded",
"scope": [
"constant.numeric",
"constant.language",
"support.constant",
"constant.character",
"constant.escape",
"variable.parameter",
"keyword.other.unit",
"keyword.other"
],
"settings": {
"fontStyle": "italic",
"foreground": "#ff3567"
}
},
{
"name": "String, Symbols, Inherited Class, Markup Heading",
"scope": [
"string",
"constant.other.symbol",
"constant.other.key",
"entity.other.inherited-class",
"markup.heading",
"markup.inserted.git_gutter",
"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js"
],
"settings": {
"fontStyle": "italic",
"foreground": "#FF9A56"
}
},
{
"name": "Class, Support",
"scope": [
"entity.name",
"support.type",
"support.class",
"support.other.namespace.use.php",
"meta.use.php",
"support.other.namespace.php",
"markup.changed.git_gutter",
"support.type.sys-types"
],
"settings": {
"foreground": "#EA8BC5"
}
},
{
"name": "CSS Class and Support",
"scope": [
"source.css support.type.property-name",
"source.sass support.type.property-name",
"source.scss support.type.property-name",
"source.less support.type.property-name",
"source.stylus support.type.property-name",
"source.postcss support.type.property-name"
],
"settings": {
"foreground": "#fbac78"
}
},
{
"name": "Language methods",
"scope": [
"variable.language"
],
"settings": {
"foreground": "#ff3567"
}
},
{
"name": "CSS Attributes, Classes and Tags",
"scope": [
"source.csss entity.name.tag",
"source.sass keyword.control",
"source.css meta.selector.css"
],
"settings": {
"fontStyle": "italic",
"foreground": "#ffffff"
}
},
{
"name": "HTML derivative",
"scope": [
"entity.other.attribute-name.class",
"entity.other.attribute-name",
"text.html.derivative"
],
"settings": {
"foreground": "#ffffff"
}
},
{
"name": "Regular Expressions",
"scope": [
"string.regexp"
],
"settings": {
"foreground": "#d42c00"
}
},
{
"name": "Escape Characters",
"scope": [
"constant.character.escape"
],
"settings": {
"foreground": "#F30943"
}
},
{
"name": "URL",
"scope": [
"*url*",
"*link*",
"*uri*"
],
"settings": {
"fontStyle": "italic underline"
}
},
{
"name": "JSON Braces",
"scope": [
"support.type.property-name.json"
],
"settings": {
"fontStyle": "italic"
}
},
{
"name": "JSON Key - Level 0",
"scope": [
"source.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#fc39ae"
}
},
{
"name": "JSON Key - Level 1",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#e478ba"
}
},
{
"name": "JSON Key - Level 2",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#f17bc2"
}
},
{
"name": "JSON Key - Level 3",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#ffffff"
}
},
{
"name": "JSON Key - Level 4",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#FF9A56"
}
},
{
"name": "JSON Key - Level 5",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#EF7627"
}
},
{
"name": "JSON Key - Level 6",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#f64615"
}
},
{
"name": "JSON Key - Level 7",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#F30943"
}
},
{
"name": "JSON Key - Level 8",
"scope": [
"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
],
"settings": {
"foreground": "#bb4562"
}
},
{
"name": "Markdown - Plain",
"scope": [
"text.html.markdown",
"punctuation.definition.list_item.markdown"
],
"settings": {
"foreground": "#ffffff"
}
},
{
"name": "Markdown - Markup Raw Inline",
"scope": [
"text.html.markdown markup.inline.raw.markdown"
],
"settings": {
"foreground": "#C792EA"
}
},
{
"name": "Markdown - Markup Raw Inline Punctuation",
"scope": [
"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"
],
"settings": {
"foreground": "#65737E"
}
},
{
"name": "Markdown - Heading",
"scope": [
"markdown.heading",
"markup.heading | markup.heading entity.name",
"markup.heading.markdown punctuation.definition.heading.markdown"
],
"settings": {
"foreground": "#D52D00"
}
},
{
"name": "Markup - Italic",
"scope": [
"markup.italic"
],
"settings": {
"fontStyle": "italic",
"foreground": "#E4ACCF"
}
},
{
"name": "Markup - Bold",
"scope": [
"markup.bold",
"markup.bold string"
],
"settings": {
"fontStyle": "bold",
"foreground": "#d472ad"
}
},
{
"name": "Markup - Bold-Italic",
"scope": [
"markup.bold markup.italic",
"markup.italic markup.bold",
"markup.quote markup.bold",
"markup.bold markup.italic string",
"markup.italic markup.bold string",
"markup.quote markup.bold string"
],
"settings": {
"fontStyle": "italic bold",
"foreground": "#ba5391"
}
},
{
"name": "Markup - Underline",
"scope": [
"markup.underline"
],
"settings": {
"fontStyle": "underline",
"foreground": "#F30943"
}
},
{
"name": "Markup - Quote",
"scope": [
"markup.quote"
],
"settings": {
"fontStyle": "italic"
}
},
{
"name": "Markdown - Link",
"scope": [
"string.other.link.title.markdown"
],
"settings": {
"fontStyle": "italic",
"foreground": "#ffffff"
}
},
{
"name": "Markdown - Link Description",
"scope": [
"string.other.link.description.title.markdown"
],
"settings": {
"foreground": "#FF9A56"
}
},
{
"name": "Markdown - Link Anchor",
"scope": [
"constant.other.reference.link.markdown"
],
"settings": {
"foreground": "#F30943"
}
},
],
"type": "dark"
}
+28
View File
@@ -0,0 +1,28 @@
# Welcome to your VS Code Extension
## What's in the folder
* This folder contains all of the files necessary for your color theme extension.
* `package.json` - this is the manifest file that defines the location of the theme file and specifies the base theme of the theme.
* `themes/lesbian-color-theme.json` - the color theme definition file.
## Get up and running straight away
* Press `F5` to open a new window with your extension loaded.
* Open `File > Preferences > Color Themes` and pick your color theme.
* Open a file that has a language associated. The languages' configured grammar will tokenize the text and assign 'scopes' to the tokens. To examine these scopes, invoke the `Developer: Inspect Editor Tokens and Scopes` command from the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) .
## Make changes
* Changes to the theme file are automatically applied to the Extension Development Host window.
## Adopt your theme to Visual Studio Code
* The token colorization is done based on standard TextMate themes. Colors are matched against one or more scopes.
To learn more about scopes and how they're used, check out the [color theme](https://code.visualstudio.com/api/extension-guides/color-theme) documentation.
## Install your extension
* To start using your extension with Visual Studio Code copy it into the `<user home>/.vscode/extensions` folder and restart Code.
* To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension.
Binary file not shown.