mirror of
https://github.com/atom/atom.git
synced 2026-01-24 06:18:03 -05:00
Add atom.getPackages so we can access package objects anywhere
This commit is contained in:
@@ -17,7 +17,7 @@ require.paths.unshift(require.resolve('fixtures/packages'))
|
||||
[bindingSetsToRestore, bindingSetsByFirstKeystrokeToRestore] = []
|
||||
|
||||
# Load TextMate bundles, which specs rely on (but not other packages)
|
||||
atom.loadPackages(atom.getAvailableTextMateBundles())
|
||||
atom.loadTextMatePackages()
|
||||
|
||||
beforeEach ->
|
||||
window.fixturesProject = new Project(require.resolve('fixtures'))
|
||||
|
||||
@@ -12,7 +12,23 @@ _.extend atom,
|
||||
|
||||
pendingBrowserProcessCallbacks: {}
|
||||
|
||||
getAvailablePackages: ->
|
||||
loadPackages: ->
|
||||
pack.load() for pack in @getPackages()
|
||||
|
||||
getPackages: ->
|
||||
@getPackageNames().map (name) -> Package.build(name)
|
||||
|
||||
loadTextMatePackages: ->
|
||||
pack.load() for pack in @getTextMatePackages()
|
||||
|
||||
getTextMatePackages: ->
|
||||
@getPackages().filter (pack) -> pack instanceof TextMatePackage
|
||||
|
||||
loadPackage: (name) ->
|
||||
Package.build(name).load()
|
||||
|
||||
getPackageNames: ->
|
||||
disabledPackages = config.get("core.disabledPackages") ? []
|
||||
allPackageNames = []
|
||||
for packageDirPath in config.packageDirPaths
|
||||
packageNames = fs.list(packageDirPath)
|
||||
@@ -20,17 +36,7 @@ _.extend atom,
|
||||
.map((packagePath) -> fs.base(packagePath))
|
||||
allPackageNames.push(packageNames...)
|
||||
_.unique(allPackageNames)
|
||||
|
||||
getAvailableTextMateBundles: ->
|
||||
@getAvailablePackages().filter (packageName) => TextMatePackage.testName(packageName)
|
||||
|
||||
loadPackages: (packageNames=@getAvailablePackages()) ->
|
||||
disabledPackages = config.get("core.disabledPackages") ? []
|
||||
for packageName in packageNames
|
||||
@loadPackage(packageName) unless _.contains(disabledPackages, packageName)
|
||||
|
||||
loadPackage: (name) ->
|
||||
Package.load(name)
|
||||
.filter (name) -> not _.contains(disabledPackages, name)
|
||||
|
||||
loadThemes: ->
|
||||
themeNames = config.get("core.themes") ? ['IR_Black']
|
||||
|
||||
@@ -2,15 +2,13 @@ fs = require 'fs'
|
||||
|
||||
module.exports =
|
||||
class Package
|
||||
@load: (name) ->
|
||||
@build: (name) ->
|
||||
AtomPackage = require 'atom-package'
|
||||
TextMatePackage = require 'text-mate-package'
|
||||
|
||||
if TextMatePackage.testName(name)
|
||||
new TextMatePackage(name).load()
|
||||
new TextMatePackage(name)
|
||||
else
|
||||
new AtomPackage(name).load()
|
||||
|
||||
new AtomPackage(name)
|
||||
|
||||
name: null
|
||||
path: null
|
||||
|
||||
Reference in New Issue
Block a user