function convert()

in vscToTm.js [5:34]


function convert(vscTheme) {
    const tmTheme = {
        name: vscTheme.name,
        settings: vscTheme.tokenColors
    }

    const defaultSettings = tmTheme.settings.find(setting => !setting.scope);

    if (!defaultSettings) {
        tmTheme.settings.unshift({ settings: {}});
    }

    const tmThemeDefaultSettings = tmTheme.settings[0].settings;
    const vscThemeColors = vscTheme.colors;

    const mapper = new SettingsMapper({tmThemeDefaultSettings, vscThemeColors});
    mapper.addSetting("editorCursor.foreground", "caret");
    mapper.addSetting("editor.selectionBackground", "selection");
    mapper.addSetting("editor.lineHighlightBackground", "lineHighlight");
    mapper.addSetting("editor.foreground", "foreground");
    mapper.addSetting("editor.background", "background");
    mapper.addSetting("editorWhitespace.foreground", "invisibles");
    for (i = 1; i < tmTheme.settings.length; i++) {
       const scope = tmTheme.settings[i].scope
       if (scope) {
           tmTheme.settings[i].scope = scope.toString()
       } 
    }
    return tmTheme
}