TermColors
Import and export between multiple terminal colour scheme formats
Many templates are sourced from the Base16-Builder.
Colors are handled using Colr.
Installation
npm install termcolors
Terminal Usage
Missing colors will be automatically replaced with the default colors.
$ termcolors -i xresources -o json < ~/.Xresources > colors.json
JS API Usage
var fs = require('fs');
var termcolors = require('termcolors');
var xresources = fs.readFileSync('~/.Xresources', 'utf8');
var colors = termcolors.xresources.import(xresources);
var iterm = termcolors.iterm.export(colors);
fs.writeFile('~/config.itermcolors', iterm);
Supported Formats
Note: only a select few formats support importing.
Chrome Secure Shell
chromeshell
- Export
Gnome
gnome
- Export
Guake
guake
- Export
iTerm
iterm
- Import
- Export
JSON
json
- Import
- Export
Konsole
konsole
- Export
**Linux console
linux
- Export
MinTTY
mintty
- Export
Putty
putty
- Export
Simple Terminal
st
- Export
Terminal.app
terminalapp
- Import (experimental)
- Export
Terminator
terminator
- Export
Termite
termite
- Import
- Export
Textmate / Sublime Text
textmate
- Export
XFCE4 Terminal
xfce
- Export
Xresources
xresources
- Import
- Export
DIY Export
Templates use doT.js.
Check the templates
folder for some examples.
Usage:
termcolors.export(template, [transformer])
- template (string)
- transformer (function)
The transformer is an optional function that is passed the colors input into the template and can transform them for use in the template.
This is useful so that you don't have to use the tinycolor
Example Without Converter:
var template = 'body { background {{=c.background.hexString()}}; }'
var cssTemplate = termcolors.export(template);
Example With Converter:
var template = 'body { background: {{=c.background}}; }'
var toHex = function (colors) {
return {
background: colors.background.hexString();
}
};
var cssTemplate = termcolors.export(template, toHex);
Example With Lodash Mapping:
var _ = require('lodash');
var template = 'body { background: {{=c.background}}; }'
var toHex = _.partialRight(_.mapValues, function (color) {
return color.hexString();
});
var cssTemplate = termcolors.export(template, toHex);