diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4284c47 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +node_modules +*.log +.vscode \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2498d2b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,14 @@ +# Change Log + +All notable changes to the "theme-nofun" extension will be documented in this file. + +Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. + +## [1.0.0] + +- Initial release + +### Added + +- Initial theme file +- Fine tuning for JS, Markdown and CSS \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..fc39236 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# theme-nofun + +Reduced cognitive burden syntax highlighting for VSCode. + +[Changelog](./CHANGELOG.md) + +## Motivation + +To each their own, but I find that syntax highlighting that lights up my code like a Christmas tree hinders my ability to parse the semantics. You spend more time tripping over the changing colours than naturally reading the prose. Undistracted the conscious mind brings the structure and meaning of the code to the foreground. Context switching between languages becomes less disorientating. + +Everything in moderation however, so while abstaining from colourising the bulk of the syntax we retain some gentle highlighting for picking out comments and string and number constants. Selections, highlights and find results are also conspicuously picked out. + +## References + +- [Syntax Off by Kyle Isom](http://kyleisom.net/blog/2012/10/17/syntax-off/) +- [A Case Against Syntax Highlighting by Linus Akesson](http://www.linusakesson.net/programming/syntaxhighlighting/) +- [Syntax Highlight Off by Robert Melton](https://www.robertmelton.com/2016/04/10/syntax-highlighting-off/) + +## Prior Art + +- [Nofrils Vim Colorscheme](https://github.com/robertmeta/nofrils) +- [Nothrill Atom Syntax Theme](https://atom.io/themes/nothrill-dark-syntax) +- [Minimal Colours VSCode Theme](https://marketplace.visualstudio.com/items?itemName=andradei.minimal-colors) \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..1f29a8d --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "theme-nofun", + "displayName": "nofun", + "description": "Reduced cognitive burden syntax highlighting for VSCode", + "version": "1.0.0", + "publisher": "jedrichards", + "engines": { + "vscode": "^1.10.0" + }, + "categories": [ + "Themes" + ], + "contributes": { + "themes": [ + { + "label": "nofun", + "uiTheme": "vs-dark", + "path": "./themes/nofun.tmTheme" + } + ] + } +} \ No newline at end of file diff --git a/themes/nofun.tmTheme b/themes/nofun.tmTheme new file mode 100644 index 0000000..954ba36 --- /dev/null +++ b/themes/nofun.tmTheme @@ -0,0 +1,416 @@ + + + + + name + nofun + settings + + + settings + + background + #1C1C1C + foreground + #FFFFFF + caret + #FFFFFF + invisibles + #333333 + guide + #444444 + lineHighlight + #444444 + selection + #444444 + rangeHighlight + #444444 + selectionHighlight + #444444 + hoverHighlight + #000000 + inactiveSelection + #444444 + wordHighlight + #666666 + wordHighlightStrong + #666666 + findMatchHighlight + #4800FF + currentFindMatchHighlight + #4800FF + findRangeHighlight + #FF0000 + referenceHighlight + #FFFFFF + activeLinkForeground + #FFFFFF + gotoDefinitionLinkForeground + #FFFFFF + + + + name + Comment + scope + comment + settings + + foreground + #AAAAAA + + + + name + String + scope + string + settings + + foreground + #82FF93 + + + + name + Number + scope + constant.numeric + settings + + foreground + #FF8AB9 + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #FFFFFF + + + + name + User-defined constant + scope + constant.character, constant.other + settings + + foreground + #FFFFFF + + + + name + Variable + scope + variable + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Keyword + scope + keyword + settings + + foreground + #FFFFFF + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Storage type + scope + storage.type + settings + + foreground + #FFFFFF + + + + name + Class name + scope + entity.name.class + settings + + foreground + #FFFFFF + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + foreground + #FFFFFF + + + + name + Function name + scope + entity.name.function + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Function argument + scope + variable.parameter + settings + + foreground + #FFFFFF + + + + name + Tag name + scope + entity.name.tag + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Library function + scope + support.function + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Library constant + scope + support.constant + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #FFFFFF + + + + name + Library variable + scope + support.other.variable + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Invalid + scope + invalid + settings + + background + #F92672 + fontStyle + + foreground + #F8F8F0 + + + + name + Invalid deprecated + scope + invalid.deprecated + settings + + background + #AE81FF + foreground + #F8F8F0 + + + + name + Markup Quote + scope + markup.quote + settings + + foreground + #FFFFFF + + + + name + Markup Styling + scope + markup.bold, markup.italic + settings + + foreground + #FFFFFF + + + + name + Markup Inline + scope + markup.inline.raw + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Markup Setext Header + scope + markup.heading.setext + settings + + fontStyle + + foreground + #FFFFFF + + + + name + Markdown link title + scope + string.other.link.title.markdown + settings + + foreground + #FFFFFF + + + + name + Markdown inline code + scope + markup.inline.raw.markdown + settings + + foreground + #AAAAAA + + + + name + Markdown code block + scope + markup.fenced_code.block.markdown + settings + + foreground + #AAAAAA + + + + name + Regexp js + scope + string.regexp.js, constant.other.character-class, meta.group.regexp, punctuation.definition.group.regexp, punctuation.definition.character-class.regexp, keyword.control.anchor.regexp, keyword.operator.quantifier.regexp, constant.character.escape.backslash.regexp, constant.character.escape.backslash.regexp, keyword.operator.or.regexp, keyword.operator.negation.regexp, constant.character.numeric.regexp + settings + + foreground + #82FF93 + + + + name + JS Doc + scope + storage.type.class.jsdoc, variable.other.jsdoc + settings + + foreground + #AAAAAA + + + + uuid + 96A92F4B-E068-4DC6-9635-F55E7D920420 + colorSpaceName + sRGB + semanticClass + theme.dark.nofun + +