Merge pull request #4753 from atom/mb-add-config-get-sources

Add Config::getSources
This commit is contained in:
Max Brunsfeld
2014-12-23 20:35:42 -08:00
2 changed files with 20 additions and 0 deletions

View File

@@ -335,6 +335,21 @@ describe "Config", ->
expect(atom.config.get('foo.bar.baz', scope: ['.source.coffee'])).toBe 10
describe ".getSources()", ->
it "returns an array of all of the config's source names", ->
expect(atom.config.getSources()).toEqual([])
atom.config.set("a.b", 1, scopeSelector: ".x1", source: "source-1")
atom.config.set("a.c", 1, scopeSelector: ".x1", source: "source-1")
atom.config.set("a.b", 2, scopeSelector: ".x2", source: "source-2")
atom.config.set("a.b", 1, scopeSelector: ".x3", source: "source-3")
expect(atom.config.getSources()).toEqual([
"source-1"
"source-2"
"source-3"
])
describe ".getSettings()", ->
it "returns all settings including defaults", ->
atom.config.setDefaults("foo", bar: baz: 10)

View File

@@ -605,6 +605,11 @@ class Config
else
@set(keyPath, _.valueForKeyPath(@defaultSettings, keyPath))
# Extended: Get an {Array} of all of the `source` {String}s with which
# settings have been added via {::set}.
getSources: ->
_.uniq(_.pluck(@scopedSettingsStore.propertySets, 'source')).sort()
# Deprecated: Restore the global setting at `keyPath` to its default value.
#
# Returns the new value.