mirror of
https://github.com/atom/atom.git
synced 2026-01-24 14:28:14 -05:00
Merge pull request #9514 from atom/ks-disabled-keymaps-for-uninstalled-packages
Guard against not loaded packages when updating disabled keymaps
This commit is contained in:
@@ -433,6 +433,13 @@ describe "PackageManager", ->
|
||||
runs ->
|
||||
expect(atom.keymaps.findKeyBindings(keystrokes: 'ctrl-z', target: element1)).toHaveLength 0
|
||||
|
||||
describe "when setting core.packagesWithKeymapsDisabled", ->
|
||||
it "ignores package names in the array that aren't loaded", ->
|
||||
atom.packages.observePackagesWithKeymapsDisabled()
|
||||
|
||||
expect(-> atom.config.set("core.packagesWithKeymapsDisabled", ["package-does-not-exist"])).not.toThrow()
|
||||
expect(-> atom.config.set("core.packagesWithKeymapsDisabled", [])).not.toThrow()
|
||||
|
||||
describe "when the package's keymaps are disabled and re-enabled after it is activated", ->
|
||||
it "removes and re-adds the keymaps", ->
|
||||
element1 = createTestElement('test-1')
|
||||
|
||||
@@ -336,8 +336,10 @@ class PackageManager
|
||||
keymapsToEnable = _.difference(oldValue, newValue)
|
||||
keymapsToDisable = _.difference(newValue, oldValue)
|
||||
|
||||
@getLoadedPackage(packageName).deactivateKeymaps() for packageName in keymapsToDisable when not @isPackageDisabled(packageName)
|
||||
@getLoadedPackage(packageName).activateKeymaps() for packageName in keymapsToEnable when not @isPackageDisabled(packageName)
|
||||
for packageName in keymapsToDisable when not @isPackageDisabled(packageName)
|
||||
@getLoadedPackage(packageName)?.deactivateKeymaps()
|
||||
for packageName in keymapsToEnable when not @isPackageDisabled(packageName)
|
||||
@getLoadedPackage(packageName)?.activateKeymaps()
|
||||
null
|
||||
|
||||
loadPackages: ->
|
||||
|
||||
Reference in New Issue
Block a user