mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
☠☕ Decaffeinate src/theme-package.coffee
This commit is contained in:
55
src/theme-package.js
Normal file
55
src/theme-package.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const path = require('path')
|
||||
const Package = require('./package')
|
||||
|
||||
module.exports =
|
||||
class ThemePackage extends Package {
|
||||
getType () {
|
||||
return 'theme'
|
||||
}
|
||||
|
||||
getStyleSheetPriority () {
|
||||
return 1
|
||||
}
|
||||
|
||||
enable () {
|
||||
this.config.unshiftAtKeyPath('core.themes', this.name)
|
||||
}
|
||||
|
||||
disable () {
|
||||
this.config.removeAtKeyPath('core.themes', this.name)
|
||||
}
|
||||
|
||||
preload () {
|
||||
this.loadTime = 0
|
||||
this.configSchemaRegisteredOnLoad = this.registerConfigSchemaFromMetadata()
|
||||
}
|
||||
|
||||
finishLoading () {
|
||||
this.path = path.join(this.packageManager.resourcePath, this.path)
|
||||
}
|
||||
|
||||
load () {
|
||||
this.loadTime = 0
|
||||
this.configSchemaRegisteredOnLoad = this.registerConfigSchemaFromMetadata()
|
||||
return this
|
||||
}
|
||||
|
||||
activate () {
|
||||
if (this.activationPromise == null) {
|
||||
this.activationPromise = new Promise((resolve, reject) => {
|
||||
this.resolveActivationPromise = resolve
|
||||
this.rejectActivationPromise = reject
|
||||
this.measure('activateTime', () => {
|
||||
try {
|
||||
this.loadStylesheets()
|
||||
this.activateNow()
|
||||
} catch (error) {
|
||||
this.handleError(`Failed to activate the ${this.name} theme`, error)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return this.activationPromise
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user