zrgn.github.io/_sass/_solarized.scss

152 lines
3.8 KiB
SCSS

/*
A SCSS style-sheet for Pygments using the Solarized color-scheme
Information on Solarized is at http://ethanschoonover.com/solarized
Two mixins, solarized-dark and solarized-light are provided for convenience
and if you wish to use your own primary and secondary colors, you may call the
solarized mixin and provide parameters for the primary and secondary values.
The CSS class names are derived from the CSS classes that Pygments uses when
you generate a CSS file based on a style. E.g. pygmentize -S vim -f html
An explanation of the Pygments token types is at http://pygments.org/docs/tokens/
*/
$solarized-yellow: #b58900;
$solarized-orange: #cb4b16;
$solarized-red: #dc322f;
$solarized-magenta: #d33682;
$solarized-violet: #6c71c4;
$solarized-blue: #268bd2;
$solarized-cyan: #2aa198;
$solarized-green: #859900;
$solarized-base03: #002b36;
$solarized-base02: #073642;
$solarized-base01: #586e75;
$solarized-base00: #657b83;
$solarized-base0: #839496;
$solarized-base1: #93a1a1;
$solarized-base2: #eee8d5;
$solarized-base3: #fdf6e3;
$solarized-dark-primary: $solarized-base0;
$solarized-dark-secondary: $solarized-base01;
$solarized-dark-bg: $solarized-base03;
$solarized-light-primary: $solarized-base00;
$solarized-light-secondary: $solarized-base1;
$solarized-light-bg: $solarized-base3;
@mixin solarized($solarized-primary, $solarized-secondary) {
// Cyan
.m, // Literal.Number
.s, // Literal.String
.mf, // Literal.Number.Float
.mh, // Literal.Number.Hex
.mi, // Literal.Number.Integer
.mo, // Literal.Number.Oct
.sc, // Literal.String.Char
.s2, // Literal.String.Double
.si, // Literal.String.Interpol
.sx, // Literal.String.Other
.s1, // Literal.String.Single
.ss, // Literal.String.Symbol
.il, // Literal.Number.Integer.Long
.gd // Generic.Deleted
{ color: $solarized-cyan; }
// Green
.k, // Keyword
.o, // Operator
.ow, // Operator.Word
.cp, // Comment.Preproc
.cs, // Comment.Special
.gi, // Generic.Inserted
.kn, // Keyword.Namespace
.kp // Keyword.Pseudo
{ color: $solarized-green; }
// Orange
.x, // Other
.gh, // Generic.Heading
.gu, // Generic.Subheading
.kc, // Keyword.Constant
.no, // Name.Constant
.ni, // Name.Entity
.ne, // Name.Exception
.se // Literal.String.Escape
{ color: $solarized-orange; }
// Blue
.kd, // Keyword.Declaration
.kr, // Keyword.Reserved
.nc, // Name.Class
.nd, // Name.Decorator
.nf, // Name.Function
.nt, // Name.Tag
.nv, // Name.Variable
.bp, // Name.Builtin.Pseudo
.vc, // Name.Variable.Class
.vg, // Name.Variable.Global
.vi // Name.Variable.Instance
{ color: $solarized-blue; }
// Red
.gr, // Generic.Error
.kt, // Keyword.Type
.sr, // Literal.String.Regex
.err // Error
{ color: $solarized-red; }
// Yellow
.nb // Name.Builtin
{ color: $solarized-yellow; }
// Comments
.c, // Comment
.cm, // Comment.Multiline
.c1, // Comment.Single
.sb // Literal.String.Backtick
{ color: $solarized-secondary; }
// Default
.g, // Generic
.l, // Literal
.n, // Name
.p, // Punctuation
.w, // Text.Whitespace
.go, // Generic.Output
.gp, // Generic.Prompt
.gt, // Generic.Traceback
.na, // Name.Attribute
.nl, // Name.Label
.nn, // Name.Namespace
.nx, // Name.Other
.py, // Name.Property
.ld, // Literal.Date
.sd // Literal.String.Doc
{ color: $solarized-primary; }
.ge // Generic.Emph
{ color: $solarized-primary; font-style: italic; }
.gs // Generic.Strong
{ color: $solarized-primary; font-weight: bold; }
}
.solarized-dark {
@include solarized($solarized-dark-primary, $solarized-dark-secondary);
background-color: $solarized-dark-bg;
color: $solarized-dark-primary;
}
.solarized-light {
@include solarized($solarized-light-primary, $solarized-light-secondary);
background-color: $solarized-light-bg;
color: $solarized-light-primary;
}