diff --git a/spec/fixtures/packages/package-with-stylesheets/stylesheets/4.test-context.css b/spec/fixtures/packages/package-with-stylesheets/stylesheets/4.test-context.css new file mode 100644 index 000000000..2cf54c986 --- /dev/null +++ b/spec/fixtures/packages/package-with-stylesheets/stylesheets/4.test-context.css @@ -0,0 +1 @@ +a { color: red } diff --git a/spec/package-manager-spec.coffee b/spec/package-manager-spec.coffee index 2cacbfb1d..c79d36c18 100644 --- a/spec/package-manager-spec.coffee +++ b/spec/package-manager-spec.coffee @@ -298,6 +298,11 @@ describe "PackageManager", -> expect(atom.themes.stylesheetElementForId(three)).not.toBeNull() expect($('#jasmine-content').css('font-size')).toBe '3px' + it "assigns the stylesheet's context based on the filename", -> + atom.packages.activatePackage("package-with-stylesheets") + element = atom.styles.getStyleElements().find (element) -> element.context is 'test-context' + expect(element).toBeDefined() + describe "grammar loading", -> it "loads the package's grammars", -> waitsForPromise -> diff --git a/src/package.coffee b/src/package.coffee index c465a3cb8..79485da69 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -176,10 +176,15 @@ class Package activateStylesheets: -> return if @stylesheetsActivated - context = 'atom-text-editor' if @metadata.theme is 'syntax' + group = @getStylesheetType() @stylesheetDisposables = new CompositeDisposable for [sourcePath, source] in @stylesheets + if match = path.basename(sourcePath).match(/[^.]*\.([^.]*)\./) + context = match[1] + else if @metadata.theme is 'syntax' + context = 'atom-text-editor' + @stylesheetDisposables.add(atom.styles.addStyleSheet(source, {sourcePath, group, context})) @stylesheetsActivated = true