ayu-theme / vscode-ayu

ayu theme for vscode
https://marketplace.visualstudio.com/items?itemName=teabyii.ayu
MIT License
570 stars 93 forks source link

Improve support for italics #63

Open apcamargo opened 5 years ago

apcamargo commented 5 years ago

There are many coding fonts such as IBM Plex Mono and Operator Mono that offer true and beautiful italics. It would be nice if the italics support improved.

Comparision between Ayu and the Material Theme:

ayu

material

saifahn commented 5 years ago

I have created a pull request, essentially copying over all of the italic definitions/scopes from the Material theme. I'm not sure if this is a feature everyone wants though. Have you looked into adding in custom scopes into your settings? You can add something like below:

"editor.tokenColorCustomizations": {
    "[Ayu Mirage]": {
        "textMateRules": [{
            "scope": [
                "keyword",
                "storage", 
                "keyword.control",
                "variable.language",
                "entity.name.method.js",
                "text.html.basic entity.other.attribute-name.html",
                "text.html.basic entity.other.attribute-name",
                "tag.decorator.js entity.name.tag.js",
                "tag.decorator.js punctuation.definition.tag.js",
                "source.js constant.other.object.key.js string.unquoted.label.js"
            ],
            "settings": {
                "fontStyle": "italic"
            }
        }]
    }
}

And that should give you italics in the same places as the Material theme. You can add and remove scopes as you wish, too.

alexmccabe commented 5 years ago

This will make the italics behave the same way as the Night Owl theme. Pop it in your user settings.

    "editor.tokenColorCustomizations": {
        "[Ayu Mirage VARIANT]": {
            "textMateRules": [
                {
                    "scope": [
                        "markup.changed",
                        "meta.diff.header.git",
                        "meta.diff.header.from-file",
                        "meta.diff.header.to-file",
                        "markup.deleted.diff",
                        "markup.inserted.diff",
                        "comment",
                        "punctuation.accessor",
                        "keyword",
                        "storage",
                        "meta.var.expr",
                        "meta.class meta.method.declaration meta.var.expr storage.type.js",
                        "storage.type.property.js",
                        "storage.type.property.ts",
                        "storage.type.property.tsx",
                        "entity.other.attribute-name",
                        "meta.delimiter.period",
                        "meta.selector",
                        "entity.name.tag.doctype",
                        "meta.tag.sgml.doctype",
                        "variable.other.object.property",
                        "keyword.operator.comparison",
                        "keyword.control.flow.js",
                        "keyword.control.flow.ts",
                        "keyword.control.flow.tsx",
                        "keyword.control.ruby",
                        "keyword.control.module.ruby",
                        "keyword.control.class.ruby",
                        "keyword.control.def.ruby",
                        "keyword.control.loop.js",
                        "keyword.control.loop.ts",
                        "keyword.control.import.js",
                        "keyword.control.import.ts",
                        "keyword.control.import.tsx",
                        "keyword.control.from.js",
                        "keyword.control.from.ts",
                        "keyword.control.from.tsx",
                        "italic",
                        "quote",
                        "source.elixir .punctuation.binary.elixir",
                        "source.go keyword.package.go",
                        "source.go keyword.import.go",
                        "source.go keyword.function.go",
                        "source.go keyword.type.go",
                        "source.go keyword.struct.go",
                        "source.go keyword.interface.go",
                        "source.go keyword.const.go",
                        "source.go keyword.var.go",
                        "source.go keyword.map.go",
                        "source.go keyword.channel.go",
                        "source.go keyword.control.go",
                        "meta.tag.sgml.doctype.html",
                        "markup.italic.markdown",
                        "markup.quote.markdown"
                    ],
                    "settings": {
                        "fontStyle": "italic"
                    }
                }
            ]
        }
    }