Skip to content
GapStyle is a productivity-oriented and experience-driven designed color scheme.
TypeScript JavaScript Go CSS Vue Java Other
Branch: master
Clone or download

README.md

GapStyle

GapStyle Theme For IntelliJ & VSCode & XCode

GapStyle is a productivity-oriented designed color scheme with a list of supported languages. Each supported language is tailor made and carefully tuned with rationale.

You should feel comfortable if you use 'Darcular' or 'Monokai' theme previously.

Objectives

  • Optimize languages' color schemes to boost productivity on reading/writing code (Especially the language your are not familiar)
  • Quickly learn similar syntax with a universal designed color across different languages
  • Spot syntax error before IDE inspection

Actively Maintain Language

IDE Supported Language
IntelliJ Kotlin, Java, Swift, Scala, Javascript, Typescript, C++, Go, Python, Android Logcat, Android, PHP, HTML, XML, JSX, CSS/SCSS/SASS
VSCode Kotlin, Java, Swift, Scala, Javascript, Typescript, C++, Go, Python, PHP, HTML, XML, JSX, CSS/SCSS/SASS
XCode Swift, Objective C

Screenshots

IntelliJ VSCode
XCode

Learn More About GapStyle

GapStyle Specification

GapStyle is designed base on some key color of 'Darcula' and 'Monokai' theme.

GapStyle is a productivity-oriented and experience-driven designed color scheme with a list of supported languages. Each supported language is tailor made and carefully tuned with rationale.

The first draft of GapStyle was created on 2014 in PhpStorm 8. After that, Gap have spent 10,000+ hours of using GapStyle scheme and at least 500+ hours of A/B testing, tuning and stablizing throughout the years.

So, GapStyle is a unique and opinionated color scheme that has converged Gap's 5+ years of software development experience (learning, reading and writing on various programming languages) into productivity-oriented syntax hightlight GapStyle specification.

Recommended Font

Font Platform Ligature Description Action
Hack JBM Ligatured IntelliJ Hack font with JetBrains Mono ligature, built by Gap Download
Hack FC Ligatured IntelliJ Hack font with FIRA Code ligature, built by Gap Download
Hack IntelliJ Standard Hack font Download
Meslo LG DZ Xcode Solve Xcode no line-spacing settings Download

Color Palette

Syntax Theme Color Philosophy
Default Darcula Monokai's default pure white color is too high contrast
Keyword Monokai
String Monokai
Number Monokai
Class, Struct Monokai
Abstract Class Derived from Class always affinitive to Class. Should be distinguished from Class but not too eye-catching. To remain overall harmony, just add slightly green on
Interface, Protocol Derived from Abstract Class should be distinguished easily from Class/Abstract Class but also should keep 'claim' with them. Add more green on
Method Monokai
Parameter Darcula
Local variable Derived from Parameter always affinitive to Parameter. Should be distinguished from Parameter but not too eye-catching. To remain overall harmony, just substract some orange on
Annotation Darcula
Comment Darcula
Doc Darcula should be distinguished from Comment and String
Enum, Constant Custom should be distinguished easily from Parameter, Local variable, String, Number
Typealias, Generic Type Custom should be distinguished easily from Interface/Class/Abstract Class

Special Styling

Syntax Style Philosophy
Keyword Bold Bold to standout and outweight the importance
Singleton Bold preserve same color but also should be distinguished easily from non-singleton object
Global/Static variable Italic + Bold preserve same color but also should be distinguished easily from Parameter and Local variable
Smart cast (background color) should be distinguishable easily
Invalid Expression (underwaved line) Inherited from Darcula
Reassigned Variable underscored Inherited from Darcula

Special File Type

File Theme Philosophy
XML Darcula NOT to use HTML-like highlighting because IntelliJ use XML color scheme to highlight JSX's tags internally. Using Darcula original color can prevent from having too much Monokai's Keyword color
JSON Derived from JavaScript Property Key color should align with JavaScript Object
You can’t perform that action at this time.