One Light Theme with Italic Support for VSCode
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abby 10020ed878 更新 'CHANGELOG.md' 2 months ago
samples feat: project deprecated 2 months ago
themes re-publish 2 months ago
.editorconfig chore: code samples, update editor related files 6 months ago
.gitignore chore: code samples, update editor related files 6 months ago
.markdownlint.jsonc chore: code samples, update editor related files 6 months ago
.vscodeignore chore: code samples, update editor related files 6 months ago
CHANGELOG.md 更新 'CHANGELOG.md' 2 months ago
LICENSE re-publish 2 months ago
README.md re-publish 2 months ago
icon.png Initial release 1 year ago
icon.svg Initial release 1 year ago
package.json re-publish 2 months ago

README.md

One Light Italic2

slightly modifed of the following theme

One Light Italic

Project unmaintained.

I recommend the Yi Theme for you. It is the only true port of Atom’s One theme I’ve known. Most all of the other Atom one light themes use the .tmTheme color format or a direct json conversion of this format. (.tmTheme stands for TextMate theme, some editors like Sublime and VSCode have support for this legacy format.)

It looks like the Yi Theme stands out from all the other Atom themes (not only the light ones) cause

  • It’s a true port from Atom’s One theme based on the source code of Atom
  • It includes both light and dark themes
  • It covers not only the text syntax color, but also colors for the other part of the VSCode UI, like workbench.

It’s a pity that Yi Theme doesn’t include “Atom One” in its name and doesn’t appear in the search result of keyword like “atom one theme” in the marketplace.

For anyone like the italic syntax in this color theme, use following token color customization settings.

editor.tokenColorCustomizations

  "editor.tokenColorCustomizations": {
    "textMateRules": [
      { // from Atom One Dark
        "name": "js/ts italic",
        "scope":[
          // Why not attribute-name, .html, .pseudo-class.css
          "entity.other.attribute-name.js",
          "entity.other.attribute-name.ts",
          "entity.other.attribute-name.jsx",
          "entity.other.attribute-name.tsx",
          // "variable.parameter", // TODO: too generic
          "variable.language.super",
        ],
        "settings": {
          "fontStyle": "italic"
        }
      },
      { // from ejeldes.one-dark-italic-theme
        "name": "js ts this",
        "scope": [
          "var.this",
          "variable.language.this.js",
          "variable.language.this.ts",
          "variable.language.this.jsx",
          "variable.language.this.tsx",
        ],
        "settings": {
          "fontStyle": "italic"
        }
      },
      // {
      //   "name": "comment",
      //   "scope": "comment.line.double-slash,comment.block.documentation",
      //   "settings": {
      //     "fontStyle": "italic"
      //   }
      // },
      // },
      { // from laggardkernel.vscode-theme-onelight
        "name": "Italic",
        "scope": [
          "comment",
          "comment.block variable.parameter",
          "comment.block",
          "comment.block.documentation entity.name.type",
          "comment.block.documentation punctuation.definition",
          "comment.block.documentation variable",
          "comment.block.documentation",
          "constant.language",
          "entity.name.class",
          "entity.other.attribute-name",
          "keyword",
          "keyword.operator.expression",
          "keyword.operator.new",
          "keyword.other.documentation",
          "keyword.other.phpdoc",
          "markup.changed",
          "markup.deleted",
          "markup.inserted",
          "markup.italic",
          "markup.quote",
          "punctuation.definition.comment",
          "punctuation.definition.italic",
          "storage",
          "storage.type.class.jsdoc",
          "string.comment",
          "variable.language",
          //
          // "variable.parameter",
        ],
        "settings": {
          "fontStyle": "italic"
        }
      },
      { // From laggardkernel.vscode-theme-onelight
        "name": "No Italic",
        "scope": [
          "entity.name.tag",
          "keyword.operator",
          "keyword.other.unit",
          "keyword.other.special-method",
          "support.type.property-name",
        ],
        "settings": {
          "fontStyle": "" // empty for normal
        }
      }
    ]
  }

Besides, here’s also my custom terminal color definition. A modified version of base16 “One Light” and “Onedark”. Just put it here in case anyone wanna have a try.

terminal color customization

  "terminal.integrated.drawBoldTextInBrightColors": false,
  // One Half Light modified, based on https://glitchbone.github.io/vscode-base16-term/
  "workbench.colorCustomizations": {
    "[Yi Light]": {
      "terminal.foreground":          "#383a42",
      "terminal.background":          "#fafafa",
      // "terminal.selectionForeground": "#383a42",
      "terminal.selectionBackground": "#bfceff",
      "terminalCursor.foreground":    "#cc00be",
      "terminal.border":              "#657b83",
      "terminal.ansiBlack":           "#383a42",
      "terminal.ansiRed":             "#e45649",
      "terminal.ansiGreen":           "#50a14f",
      "terminal.ansiYellow":          "#c18401",
      "terminal.ansiBlue":            "#2f5af3",
      "terminal.ansiMagenta":         "#a626a4",
      "terminal.ansiCyan":            "#00b7eb",
      "terminal.ansiWhite":           "#fafafa",
      "terminal.ansiBrightBlack":     "#797979",
      "terminal.ansiBrightRed":       "#e06c75",
      "terminal.ansiBrightGreen":     "#98c379",
      "terminal.ansiBrightYellow":    "#e5c07b",
      "terminal.ansiBrightBlue":      "#4b72ff",
      "terminal.ansiBrightMagenta":   "#c678dd",
      "terminal.ansiBrightCyan":      "#00b7eb",
      "terminal.ansiBrightWhite":     "#fafafa",
    },
    "[Yi Dark]": {
      "terminal.foreground":          "#dcdfe4",
      "terminal.background":          "#282c34",
      // "terminal.selectionForeground": "#dcdfe4",
      "terminal.selectionBackground": "#454D95",
      "terminalCursor.foreground":    "#cc00be",
      "terminal.border":              "#555555",
      "terminal.ansiBlack":           "#282c34",
      "terminal.ansiRed":             "#e06c75",
      "terminal.ansiGreen":           "#98c379",
      "terminal.ansiYellow":          "#e5c07b",
      "terminal.ansiBlue":            "#61afef",
      "terminal.ansiMagenta":         "#c678dd",
      "terminal.ansiCyan":            "#56b6c2",
      "terminal.ansiWhite":           "#dcdfe4",
      "terminal.ansiBrightBlack":     "#5d677a",
      "terminal.ansiBrightRed":       "#e06c75",
      "terminal.ansiBrightGreen":     "#98c379",
      "terminal.ansiBrightYellow":    "#e5c07b",
      "terminal.ansiBrightBlue":      "#61afef",
      "terminal.ansiBrightMagenta":   "#c678dd",
      "terminal.ansiBrightCyan":      "#56b6c2",
      "terminal.ansiBrightWhite":     "#dcdfe4",
    },
  },


Atom one light theme with italic support for VSCode.

Github Repo

Althought this them defines light ansi colors for terminal, it’s designed to be used by TUI apps but not the shell itself.

"terminal.integrated.drawBoldTextInBrightColors": false,

Ref