fsUtils = require 'fs-utils' ### # Internal # ### module.exports = class Theme @stylesheets: null @load: (name) -> TextMateTheme = require 'text-mate-theme' AtomTheme = require 'atom-theme' if fsUtils.exists(name) path = name else path = fsUtils.resolve(config.themeDirPaths..., name, ['', '.tmTheme', '.css', 'less']) throw new Error("No theme exists named '#{name}'") unless path theme = if TextMateTheme.testPath(path) new TextMateTheme(path) else new AtomTheme(path) theme.load() theme constructor: (@path) -> @stylesheets = {} load: -> for stylesheetPath, stylesheetContent of @stylesheets applyStylesheet(stylesheetPath, stylesheetContent, 'userTheme') deactivate: -> for stylesheetPath, stylesheetContent of @stylesheets removeStylesheet(stylesheetPath)