code-theme-converter
Version:
Convert any vscode theme with ease!
180 lines (179 loc) • 7.21 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const vscode_1 = require("../util/vscode");
const sublime_1 = require("../types/sublime");
function createAdaptiveTheme({ colors }) {
const findEditorColorForField = vscode_1.findEditorColor(colors);
return {
extends: 'Adaptive.sublime-theme',
variables: {
font_face: sublime_1.SublimeUISettings.SYSTEM,
font_size_sm: 11,
font_size: 12,
font_size_lg: 13
},
rules: [
{
class: sublime_1.SublimeUIClass.title_bar,
fg: findEditorColorForField(['titleBar.activeForeground'])
},
{
class: sublime_1.SublimeUIClass.sidebar_container,
'layer0.tint': findEditorColorForField(['sideBar.background'])
},
{
class: sublime_1.SublimeUIClass.status_bar,
'layer0.tint': findEditorColorForField(['statusBar.background'])
},
{
class: sublime_1.SublimeUIClass.label_control,
parents: [{ class: sublime_1.SublimeUIClass.status_bar }],
fg: findEditorColorForField(['statusBar.foreground'])
},
{
class: sublime_1.SublimeUIClass.tree_row,
attributes: [sublime_1.SublimeUIAttributes.selectable, sublime_1.SublimeUIAttributes.hover],
'layer0.tint': findEditorColorForField([
'list.inactiveSelectionBackground'
]),
'layer0.opacity': 1.0
},
{
class: sublime_1.SublimeUIClass.tree_row,
attributes: [sublime_1.SublimeUIAttributes.selected],
'layer0.tint': findEditorColorForField([
'list.activeSelectionBackground'
]),
'layer0.opacity': 1.0
},
{
class: sublime_1.SublimeUIClass.sidebar_heading,
fg: findEditorColorForField(['sideBarSectionHeader.foreground'])
},
{
class: sublime_1.SublimeUIClass.sidebar_label,
fg: findEditorColorForField(['sideBar.foreground'])
},
{
class: sublime_1.SublimeUIClass.sidebar_label,
parents: [
{
class: sublime_1.SublimeUIClass.tree_row,
attributes: [sublime_1.SublimeUIAttributes.selected]
}
],
fg: findEditorColorForField(['list.activeSelectionForeground'])
},
{
class: sublime_1.SublimeUIClass.vcs_status_badge,
parents: [
{
class: sublime_1.SublimeUIClass.file_system_entry,
attributes: [sublime_1.SublimeUIAttributes.untracked]
}
],
'layer0.tint': findEditorColorForField([
'gitDecoration.untrackedResourceForeground'
])
},
{
class: sublime_1.SublimeUIClass.vcs_status_badge,
parents: [
{
class: sublime_1.SublimeUIClass.file_system_entry,
attributes: [sublime_1.SublimeUIAttributes.modified]
}
],
'layer0.tint': findEditorColorForField([
'gitDecoration.modifiedResourceForeground'
])
},
{
class: sublime_1.SublimeUIClass.vcs_status_badge,
parents: [
{
class: sublime_1.SublimeUIClass.file_system_entry,
attributes: [sublime_1.SublimeUIAttributes.missing]
}
],
'layer0.tint': findEditorColorForField([
'gitDecoration.deletedResourceForeground'
])
},
{
class: sublime_1.SublimeUIClass.vcs_status_badge,
parents: [
{
class: sublime_1.SublimeUIClass.file_system_entry,
attributes: [sublime_1.SublimeUIAttributes.staged]
}
],
'layer0.tint': findEditorColorForField([
'gitDecoration.addedResourceForeground'
])
},
{
class: sublime_1.SublimeUIClass.vcs_status_badge,
parents: [
{
class: sublime_1.SublimeUIClass.file_system_entry,
attributes: [sublime_1.SublimeUIAttributes.added]
}
],
'layer0.tint': findEditorColorForField([
'gitDecoration.addedResourceForeground'
])
},
{
class: sublime_1.SublimeUIClass.vcs_status_badge,
parents: [
{
class: sublime_1.SublimeUIClass.file_system_entry,
attributes: [sublime_1.SublimeUIAttributes.deleted]
}
],
'layer0.tint': findEditorColorForField([
'gitDecoration.deletedResourceForeground'
])
},
{
class: sublime_1.SublimeUIClass.sidebar_label,
parents: [
{
class: sublime_1.SublimeUIClass.file_system_entry,
attributes: [sublime_1.SublimeUIAttributes.ignored]
}
],
color: findEditorColorForField([
'gitDecoration.ignoredResourceForeground'
])
},
{
class: sublime_1.SublimeUIClass.tab_control,
attributes: [sublime_1.SublimeUIAttributes.selected],
tint_modifier: findEditorColorForField(['tab.activeBackground'])
},
{
class: sublime_1.SublimeUIClass.tab_control,
attributes: [sublime_1.SublimeUIAttributes.dirty],
settings: [sublime_1.SublimeUISettings.highlight_modified_tabs],
'layer2.tint': findEditorColorForField(['list.highlightForeground'])
},
{
class: sublime_1.SublimeUIClass.tab_label,
fg: findEditorColorForField(['sideBar.foreground'])
},
{
class: sublime_1.SublimeUIClass.tab_label,
parents: [
{
class: sublime_1.SublimeUIClass.tab_control,
attributes: [sublime_1.SublimeUIAttributes.selected]
}
],
fg: findEditorColorForField(['list.activeSelectionForeground'])
}
]
};
}
exports.createAdaptiveTheme = createAdaptiveTheme;