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']