From d3fa24be57ad7d2b6f95f9d84a15a11c15685b32 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 26 Mar 2013 17:30:42 -0600 Subject: [PATCH] Remove scoped-properties when deactivating a TextMate package --- spec/app/atom-spec.coffee | 5 +++++ src/app/text-mate-package.coffee | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/spec/app/atom-spec.coffee b/spec/app/atom-spec.coffee index 78bddda05..8b32d3d79 100644 --- a/spec/app/atom-spec.coffee +++ b/spec/app/atom-spec.coffee @@ -236,6 +236,11 @@ describe "the `atom` global", -> atom.deactivatePackage('ruby.tmbundle') expect(syntax.selectGrammar("file.rb").name).toBe "Null Grammar" + it "removes the package's scoped properties", -> + atom.activatePackage('ruby.tmbundle', sync: true) + atom.deactivatePackage('ruby.tmbundle') + expect(syntax.getProperty(['.source.ruby'], 'editor.commentStart')).toBeUndefined() + describe ".getVersion(callback)", -> it "calls the callback with the current version number", -> versionHandler = jasmine.createSpy("versionHandler") diff --git a/src/app/text-mate-package.coffee b/src/app/text-mate-package.coffee index f9a2dfaea..dcaddeebc 100644 --- a/src/app/text-mate-package.coffee +++ b/src/app/text-mate-package.coffee @@ -33,11 +33,11 @@ class TextMatePackage extends Package activate: -> syntax.addGrammar(grammar) for grammar in @grammars for { selector, properties } in @scopedProperties - syntax.addProperties(selector, properties) + syntax.addProperties(@path, selector, properties) deactivate: -> syntax.removeGrammar(grammar) for grammar in @grammars - # we should also unregister properties, snippets, etc + syntax.removeProperties(@path) legalGrammarExtensions: ['plist', 'tmLanguage', 'tmlanguage']