Skip to content

Instantly share code, notes, and snippets.

@r888800009
Forked from 2xAA/iterm-colors-to-vscode.js
Last active November 4, 2021 19:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save r888800009/a9fadcd5fab674e2dec40eb4aa2f2e82 to your computer and use it in GitHub Desktop.
Save r888800009/a9fadcd5fab674e2dec40eb4aa2f2e82 to your computer and use it in GitHub Desktop.
Convert iTerm2 "itermcolors" file to VSCode terminal color scheme
/* Generate colors using https://github.com/andreyvit/plist-to-json */
const col = [] // run your .itermcolors file through the above parser and replace the array with the output
function componentToHex(c) {
const hex = c.toString(16)
return hex.length === 1 ? `0${hex}` : hex
}
const mapping = {
'terminal.background':'Background Color',
'terminal.foreground':'Foreground Color',
'terminalCursor.background':'Cursor Text Color',
'terminalCursor.foreground':'Cursor Color',
'terminal.ansiBlack':'Ansi 0 Color',
'terminal.ansiBlue':'Ansi 4 Color',
'terminal.ansiBrightBlack':'Ansi 8 Color',
'terminal.ansiBrightBlue':'Ansi 12 Color',
'terminal.ansiBrightCyan':'Ansi 14 Color',
'terminal.ansiBrightGreen':'Ansi 10 Color',
'terminal.ansiBrightMagenta':'Ansi 13 Color',
'terminal.ansiBrightRed':'Ansi 9 Color',
'terminal.ansiBrightWhite':'Ansi 15 Color',
'terminal.ansiBrightYellow':'Ansi 11 Color',
'terminal.ansiCyan':'Ansi 6 Color',
'terminal.ansiGreen':'Ansi 2 Color',
'terminal.ansiMagenta':'Ansi 5 Color',
'terminal.ansiRed':'Ansi 1 Color',
'terminal.ansiWhite':'Ansi 7 Color',
'terminal.ansiYellow':'Ansi 3 Color',
'terminal.selectionBackground':'Selection Color',
}
console.log(JSON.stringify(Object.keys(mapping).reduce((obj, vsCodeKey) => {
const itermKey = mapping[vsCodeKey]
const red = componentToHex(Math.round(col[0][itermKey]['Red Component'] * 255))
const green = componentToHex(Math.round(col[0][itermKey]['Green Component'] * 255))
const blue = componentToHex(Math.round(col[0][itermKey]['Blue Component'] * 255))
obj[vsCodeKey] = `#${red}${green}${blue}`
return obj
}, {}), null, 2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment