From 7dcb12ada20a3689da88d12698587efb53d0f354 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 19 Dec 2012 19:24:44 -0700 Subject: [PATCH 01/38] RootView talks about packages and packageModules, not extensions Now you call `rootView.activatePackage`, etc --- spec/app/atom-spec.coffee | 8 +- spec/app/root-view-spec.coffee | 73 +++++++++---------- .../index.coffee | 0 src/app/atom.coffee | 6 +- src/app/root-view.coffee | 44 +++++------ .../spec/command-panel-spec.coffee | 6 +- .../spec/event-palette-spec.coffee | 2 +- .../spec/fuzzy-finder-spec.coffee | 2 +- .../spec/markdown-preview-spec.coffee | 2 +- .../spec/outline-view-spec.coffee | 2 +- src/packages/tabs/spec/tabs-spec.coffee | 2 +- .../tree-view/spec/tree-view-spec.coffee | 12 +-- 12 files changed, 77 insertions(+), 82 deletions(-) rename spec/fixtures/packages/{package-with-extension => package-with-module}/index.coffee (100%) diff --git a/spec/app/atom-spec.coffee b/spec/app/atom-spec.coffee index 501a0fa07..e40224d61 100644 --- a/spec/app/atom-spec.coffee +++ b/spec/app/atom-spec.coffee @@ -6,9 +6,9 @@ describe "the `atom` global", -> beforeEach -> rootView = new RootView - extension = require "package-with-extension" + extension = require "package-with-module" it "requires and activates the package's main module if it exists", -> - spyOn(rootView, 'activateExtension').andCallThrough() - atom.loadPackage("package-with-extension") - expect(rootView.activateExtension).toHaveBeenCalledWith(extension) + spyOn(rootView, 'activatePackage').andCallThrough() + atom.loadPackage("package-with-module") + expect(rootView.activatePackage).toHaveBeenCalledWith(extension) diff --git a/spec/app/root-view-spec.coffee b/spec/app/root-view-spec.coffee index cd2fe8588..7136578f7 100644 --- a/spec/app/root-view-spec.coffee +++ b/spec/app/root-view-spec.coffee @@ -125,24 +125,24 @@ describe "RootView", -> expect(rootView.getTitle()).toBe 'untitled' describe ".serialize()", -> - it "absorbs exceptions that are thrown by extension serialize methods", -> + it "absorbs exceptions that are thrown by the package module's serialize methods", -> spyOn(console, 'error') - rootView.activateExtension( + rootView.activatePackage( name: "bad-egg" activate: -> serialize: -> throw new Error("I'm broken") ) - rootView.activateExtension( + rootView.activatePackage( name: "good-egg" activate: -> serialize: -> "I still get called" ) data = rootView.serialize() - expect(data.extensionStates['good-egg']).toBe "I still get called" - expect(data.extensionStates['bad-egg']).toBeUndefined() + expect(data.packageStates['good-egg']).toBe "I still get called" + expect(data.packageStates['bad-egg']).toBeUndefined() expect(console.error).toHaveBeenCalled() describe "focus", -> @@ -393,54 +393,49 @@ describe "RootView", -> rootView.focusNextPane() expect(view1.focus).toHaveBeenCalled() - describe "extensions", -> - extension = null + describe "packages", -> + packageModule = null beforeEach -> - extension = - name: 'extension' + packageModule = + name: 'package' deactivate: -> activate: jasmine.createSpy("activate") serialize: -> "it worked" - describe ".activateExtension(extension)", -> - it "calls activate on the extension", -> - rootView.activateExtension(extension) - expect(extension.activate).toHaveBeenCalledWith(rootView, undefined, undefined) + describe ".activatePackage(packageModule)", -> + it "calls activate on the package module", -> + rootView.activatePackage(packageModule) + expect(packageModule.activate).toHaveBeenCalledWith(rootView, undefined) - it "calls activate on the extension with its previous state", -> - rootView.activateExtension(extension) - extension.activate.reset() + it "calls activate on the package module with its previous state", -> + rootView.activatePackage(packageModule) + packageModule.activate.reset() newRootView = RootView.deserialize(rootView.serialize()) - newRootView.activateExtension(extension) - expect(extension.activate).toHaveBeenCalledWith(newRootView, "it worked", undefined) + newRootView.activatePackage(packageModule) + expect(packageModule.activate).toHaveBeenCalledWith(newRootView, "it worked") newRootView.remove() - it "calls activate on the extension with the config data", -> - config = {} - rootView.activateExtension(extension, config) - expect(extension.activate).toHaveBeenCalledWith(rootView, undefined, config) + it "throws an exception if the package module has no 'name' property", -> + expect(-> rootView.activatePackage({ activate: -> })).toThrow() - it "throws an exception if the extension has no 'name' property", -> - expect(-> rootView.activateExtension({ activate: -> })).toThrow() + describe ".deactivatePackage(packageModule)", -> + it "deactivates and removes the package module from the package module map", -> + rootView.activatePackage(packageModule) + expect(rootView.packageModules[packageModule.name]).toBeTruthy() + spyOn(packageModule, "deactivate").andCallThrough() + rootView.deactivatePackage(packageModule) + expect(packageModule.deactivate).toHaveBeenCalled() + expect(rootView.packageModules[packageModule.name]).toBeFalsy() - describe ".deactivateExtension(extension)", -> - it "deactivates and removes the extension from the extension list", -> - rootView.activateExtension(extension) - expect(rootView.extensions[extension.name]).toBeTruthy() - spyOn(extension, "deactivate").andCallThrough() - rootView.deactivateExtension(extension) - expect(extension.deactivate).toHaveBeenCalled() - expect(rootView.extensions[extension.name]).toBeFalsy() - - it "is called when the rootView is deactivated to deactivate all extensions", -> - rootView.activateExtension(extension) - spyOn(rootView, "deactivateExtension").andCallThrough() - spyOn(extension, "deactivate").andCallThrough() + it "is called when the rootView is deactivated to deactivate all packages", -> + rootView.activatePackage(packageModule) + spyOn(rootView, "deactivatePackage").andCallThrough() + spyOn(packageModule, "deactivate").andCallThrough() rootView.deactivate() - expect(rootView.deactivateExtension).toHaveBeenCalled() - expect(extension.deactivate).toHaveBeenCalled() + expect(rootView.deactivatePackage).toHaveBeenCalled() + expect(packageModule.deactivate).toHaveBeenCalled() describe "keymap wiring", -> commandHandler = null diff --git a/spec/fixtures/packages/package-with-extension/index.coffee b/spec/fixtures/packages/package-with-module/index.coffee similarity index 100% rename from spec/fixtures/packages/package-with-extension/index.coffee rename to spec/fixtures/packages/package-with-module/index.coffee diff --git a/src/app/atom.coffee b/src/app/atom.coffee index fb8a559c1..c6a97a2b2 100644 --- a/src/app/atom.coffee +++ b/src/app/atom.coffee @@ -14,9 +14,9 @@ _.extend atom, packagePath = require.resolve(name, verifyExistence: false) throw new Error("No package found named '#{name}'") unless packagePath packagePath = fs.directory(packagePath) - extension = require(packagePath) - extension.name = name - rootView.activateExtension(extension) + packageModule = require(packagePath) + packageModule.name = name + rootView.activatePackage(packageModule) extensionKeymapPath = require.resolve(fs.join(name, "src/keymap"), verifyExistence: false) require extensionKeymapPath if fs.exists(extensionKeymapPath) catch e diff --git a/src/app/root-view.coffee b/src/app/root-view.coffee index 957ec6713..2a7b51ab7 100644 --- a/src/app/root-view.coffee +++ b/src/app/root-view.coffee @@ -24,19 +24,19 @@ class RootView extends View @div id: 'vertical', outlet: 'vertical', => @div id: 'panes', outlet: 'panes' - @deserialize: ({ projectPath, panesViewState, extensionStates }) -> - rootView = new RootView(projectPath, extensionStates: extensionStates, suppressOpen: true) + @deserialize: ({ projectPath, panesViewState, packageStates }) -> + rootView = new RootView(projectPath, packageStates: packageStates, suppressOpen: true) rootView.setRootPane(rootView.deserializeView(panesViewState)) if panesViewState rootView - extensions: null - extensionStates: null + packageModules: null + packageStates: null title: null - initialize: (pathToOpen, { @extensionStates, suppressOpen } = {}) -> + initialize: (pathToOpen, { @packageStates, suppressOpen } = {}) -> window.rootView = this - @extensionStates ?= {} - @extensions = {} + @packageStates ?= {} + @packageModules = {} @project = new Project(pathToOpen) config.load() @@ -53,7 +53,7 @@ class RootView extends View serialize: -> projectPath: @project?.getPath() panesViewState: @panes.children().view()?.serialize() - extensionStates: @serializeExtensions() + packageStates: @serializePackages() handleEvents: -> @on 'toggle-dev-tools', => atom.toggleDevTools() @@ -95,14 +95,14 @@ class RootView extends View afterAttach: (onDom) -> @focus() if onDom - serializeExtensions: -> - extensionStates = {} - for name, extension of @extensions + serializePackages: -> + packageStates = {} + for name, packageModule of @packageModules try - extensionStates[name] = extension.serialize?() + packageStates[name] = packageModule.serialize?() catch e - console?.error("Exception serializing '#{name}' extension\n", e.stack) - extensionStates + console?.error("Exception serializing '#{name}' package's module\n", e.stack) + packageStates deserializeView: (viewState) -> switch viewState.viewClass @@ -111,18 +111,18 @@ class RootView extends View when 'PaneColumn' then PaneColumn.deserialize(viewState, this) when 'Editor' then Editor.deserialize(viewState, this) - activateExtension: (extension, config) -> - throw new Error("Trying to activate an extension with no name attribute") unless extension.name? - @extensions[extension.name] = extension - extension.activate(this, @extensionStates[extension.name], config) + activatePackage: (packageModule) -> + throw new Error("Trying to activate a package module with no name attribute") unless packageModule.name? + @packageModules[packageModule.name] = packageModule + packageModule.activate(this, @packageStates[packageModule.name]) - deactivateExtension: (extension) -> - extension.deactivate?() - delete @extensions[extension.name] + deactivatePackage: (packageModule) -> + packageModule.deactivate?() + delete @packageModules[packageModule.name] deactivate: -> atom.setRootViewStateForPath(@project.getPath(), @serialize()) - @deactivateExtension(extension) for name, extension of @extensions + @deactivatePackage(packageModule) for name, packageModule of @packageModules @remove() open: (path, options = {}) -> diff --git a/src/packages/command-panel/spec/command-panel-spec.coffee b/src/packages/command-panel/spec/command-panel-spec.coffee index 653642a1d..8beaed7ad 100644 --- a/src/packages/command-panel/spec/command-panel-spec.coffee +++ b/src/packages/command-panel/spec/command-panel-spec.coffee @@ -36,7 +36,7 @@ describe "CommandPanel", -> rootView.deactivate() rootView2.attachToDom() - commandPanel = rootView2.activateExtension(CommandPanel) + commandPanel = rootView2.activatePackage(CommandPanel) expect(rootView2.find('.command-panel')).toExist() expect(commandPanel.miniEditor.getText()).toBe 'abc' expect(commandPanel.miniEditor.isFocused).toBeTruthy() @@ -49,7 +49,7 @@ describe "CommandPanel", -> rootView3 = RootView.deserialize(rootView2.serialize()) rootView2.deactivate() rootView3.attachToDom() - commandPanel = rootView3.activateExtension(CommandPanel) + commandPanel = rootView3.activatePackage(CommandPanel) expect(commandPanel.miniEditor.isFocused).toBeFalsy() rootView3.deactivate() @@ -71,7 +71,7 @@ describe "CommandPanel", -> rootView.deactivate() rootView2.attachToDom() - commandPanel = rootView2.activateExtension(CommandPanel) + commandPanel = rootView2.activatePackage(CommandPanel) expect(commandPanel.history.length).toBe(2) expect(commandPanel.history[0]).toBe('/test2') expect(commandPanel.history[1]).toBe('/test3') diff --git a/src/packages/event-palette/spec/event-palette-spec.coffee b/src/packages/event-palette/spec/event-palette-spec.coffee index dbb419215..53e8448ee 100644 --- a/src/packages/event-palette/spec/event-palette-spec.coffee +++ b/src/packages/event-palette/spec/event-palette-spec.coffee @@ -8,7 +8,7 @@ describe "EventPalette", -> beforeEach -> rootView = new RootView(require.resolve('fixtures/sample.js')) - rootView.activateExtension(EventPalette) + atom.loadPackage("event-palette") palette = EventPalette.instance rootView.attachToDom().focus() rootView.trigger 'event-palette:toggle' diff --git a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee index 95b97828c..aca8c5153 100644 --- a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee +++ b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee @@ -9,7 +9,7 @@ describe 'FuzzyFinder', -> beforeEach -> rootView = new RootView(require.resolve('fixtures/sample.js')) rootView.enableKeymap() - rootView.activateExtension(FuzzyFinder) + atom.loadPackage("fuzzy-finder") finder = FuzzyFinder.instance afterEach -> diff --git a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee index 994e03884..55a364261 100644 --- a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee +++ b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee @@ -7,7 +7,7 @@ describe "MarkdownPreview", -> beforeEach -> rootView = new RootView(require.resolve('fixtures/markdown')) - rootView.activateExtension(MarkdownPreview) + atom.loadPackage("markdown-preview") markdownPreview = MarkdownPreview.instance rootView.attachToDom() diff --git a/src/packages/outline-view/spec/outline-view-spec.coffee b/src/packages/outline-view/spec/outline-view-spec.coffee index e133e86c5..e74981663 100644 --- a/src/packages/outline-view/spec/outline-view-spec.coffee +++ b/src/packages/outline-view/spec/outline-view-spec.coffee @@ -7,7 +7,7 @@ describe "OutlineView", -> beforeEach -> rootView = new RootView(require.resolve('fixtures')) - rootView.activateExtension(OutlineView) + atom.loadPackage("outline-view") outlineView = OutlineView.instance rootView.attachToDom() setArraySpy = spyOn(outlineView, 'setArray').andCallThrough() diff --git a/src/packages/tabs/spec/tabs-spec.coffee b/src/packages/tabs/spec/tabs-spec.coffee index 4df375f29..c002ba04d 100644 --- a/src/packages/tabs/spec/tabs-spec.coffee +++ b/src/packages/tabs/spec/tabs-spec.coffee @@ -11,7 +11,7 @@ describe "Tabs", -> rootView = new RootView(require.resolve('fixtures/sample.js')) rootView.open('sample.txt') rootView.simulateDomAttachment() - rootView.activateExtension(Tabs) + atom.loadPackage("tabs") editor = rootView.getActiveEditor() tabs = rootView.find('.tabs').view() diff --git a/src/packages/tree-view/spec/tree-view-spec.coffee b/src/packages/tree-view/spec/tree-view-spec.coffee index 3826508f4..6dce97b10 100644 --- a/src/packages/tree-view/spec/tree-view-spec.coffee +++ b/src/packages/tree-view/spec/tree-view-spec.coffee @@ -13,7 +13,7 @@ describe "TreeView", -> rootView = new RootView(require.resolve('fixtures/tree-view')) project = rootView.project - rootView.activateExtension(TreeView) + atom.loadPackage("tree-view") treeView = rootView.find(".tree-view").view() treeView.root = treeView.find('> li:first').view() sampleJs = treeView.find('.file:contains(tree-view.js)') @@ -51,7 +51,7 @@ describe "TreeView", -> rootView.deactivate() rootView = new RootView - rootView.activateExtension(TreeView) + rootView.activatePackage(TreeView) treeView = rootView.find(".tree-view").view() it "does not create a root node", -> @@ -74,7 +74,7 @@ describe "TreeView", -> describe "when the prototypes deactivate method is called", -> it "calls the deactivate on tree view instance", -> spyOn(treeView, "deactivate").andCallThrough() - rootView.deactivateExtension(TreeView) + rootView.deactivatePackage(TreeView) expect(treeView.deactivate).toHaveBeenCalled() describe "serialization", -> @@ -89,7 +89,7 @@ describe "TreeView", -> newRootView = RootView.deserialize(rootView.serialize()) rootView.deactivate() # Deactivates previous TreeView - newRootView.activateExtension(TreeView) + newRootView.activatePackage(TreeView) newTreeView = newRootView.find(".tree-view").view() @@ -106,7 +106,7 @@ describe "TreeView", -> rootView.deactivate() # Deactivates previous TreeView newRootView.attachToDom() - newRootView.activateExtension(TreeView) + newRootView.activatePackage(TreeView) newTreeView = newRootView.find(".tree-view").view() expect(newTreeView).toMatchSelector ':focus' @@ -589,7 +589,7 @@ describe "TreeView", -> rootView = new RootView(rootDirPath) project = rootView.project - rootView.activateExtension(TreeView) + rootView.activatePackage(TreeView) treeView = rootView.find(".tree-view").view() dirView = treeView.root.entries.find('.directory:contains(test-dir)').view() dirView.expand() From 972d3e5536249b6542726cf7e13d9e2dc3b2e51b Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 20 Dec 2012 10:33:38 -0800 Subject: [PATCH 02/38] :lipstick: --- src/app/config.coffee | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/app/config.coffee b/src/app/config.coffee index f55987d46..d5e9be32a 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -33,16 +33,16 @@ class Config @setDefaults "editor", require('editor').configDefaults getAvailablePackages: -> - availablePackages = - fs.list(bundledPackagesDirPath) - .concat(fs.list(userPackagesDirPath)).map (path) -> fs.base(path) - _.unique(availablePackages) + atomPackages = fs.list(bundledPackagesDirPath) + userPackages = fs.list(userPackagesDirPath) + allPackageNames = atomPackages.concat(userPackages).map (path) -> fs.base(path) + _.unique(allPackageNames) loadPackages: -> disabledPackages = config.get("core.disabledPackages") ? [] for packageName in @getAvailablePackages() - unless _.contains disabledPackages, packageName - atom.loadPackage(packageName) + continue if _.contains disabledPackages, packageName + atom.loadPackage(packageName) get: (keyPath) -> keys = @keysForKeyPath(keyPath) From cd3f481fa8a284cc14e25a2c8d980143566bb205 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 20 Dec 2012 16:18:56 -0800 Subject: [PATCH 03/38] Remove unneeded console.log --- spec/stdlib/child-process-spec.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/stdlib/child-process-spec.coffee b/spec/stdlib/child-process-spec.coffee index 985d814b4..175793aa1 100644 --- a/spec/stdlib/child-process-spec.coffee +++ b/spec/stdlib/child-process-spec.coffee @@ -121,7 +121,7 @@ describe 'Child Processes', -> cmd = "for i in {1..20000}; do echo $RANDOM; done" options = stdout: (data) -> output.push(data) - stderr: (data) -> console.log data.length + stderr: (data) -> ChildProcess.exec(cmd, options) From 5ea9a4d3652b1c9ab1f47a1b7ad3f28667680930 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 20 Dec 2012 16:25:08 -0800 Subject: [PATCH 04/38] Load TextMate Bundles from `packages` directories --- spec/spec-helper.coffee | 5 +++++ src/app/atom.coffee | 20 ++++++++++++-------- src/app/config.coffee | 16 +++++++++++++--- src/app/text-mate-bundle.coffee | 12 ++---------- src/app/window.coffee | 1 - 5 files changed, 32 insertions(+), 22 deletions(-) diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index beb71d295..ac65c24f0 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -19,6 +19,11 @@ requireStylesheet "jasmine.css" require.paths.unshift(require.resolve('fixtures/packages')) +# Temporary solution to load textmate bundles for specs +window.config = new Config() +config.assignDefaults() +config.loadPackages(config.getAvailableTextMateBundles()) + beforeEach -> window.fixturesProject = new Project(require.resolve('fixtures')) window.resetTimeouts() diff --git a/src/app/atom.coffee b/src/app/atom.coffee index c6a97a2b2..f0881d9a4 100644 --- a/src/app/atom.coffee +++ b/src/app/atom.coffee @@ -1,3 +1,4 @@ +TextMateBundle = require("text-mate-bundle") fs = require 'fs' _ = require 'underscore' @@ -11,14 +12,17 @@ _.extend atom, loadPackage: (name) -> try - packagePath = require.resolve(name, verifyExistence: false) - throw new Error("No package found named '#{name}'") unless packagePath - packagePath = fs.directory(packagePath) - packageModule = require(packagePath) - packageModule.name = name - rootView.activatePackage(packageModule) - extensionKeymapPath = require.resolve(fs.join(name, "src/keymap"), verifyExistence: false) - require extensionKeymapPath if fs.exists(extensionKeymapPath) + if /\.tmbundle$/.test name + TextMateBundle.load(name) + else + packagePath = require.resolve(name, verifyExistence: false) + throw new Error("No package found named '#{name}'") unless packagePath + packagePath = fs.directory(packagePath) + packageModule = require(packagePath) + packageModule.name = name + rootView.activatePackage(packageModule) + extensionKeymapPath = require.resolve(fs.join(name, "src/keymap"), verifyExistence: false) + require extensionKeymapPath if fs.exists(extensionKeymapPath) catch e console.error "Failed to load package named '#{name}'", e.stack diff --git a/src/app/config.coffee b/src/app/config.coffee index d5e9be32a..2627cd90e 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -19,7 +19,8 @@ class Config @settings = {} @loadUserConfig() @assignDefaults() - @loadPackages() + @loadPackages(@getAvailableTextMateBundles()) + @loadPackages(@getAvailableAtomPackages()) @requireUserInitScript() loadUserConfig: -> @@ -38,9 +39,15 @@ class Config allPackageNames = atomPackages.concat(userPackages).map (path) -> fs.base(path) _.unique(allPackageNames) - loadPackages: -> + getAvailableTextMateBundles: -> + @getAvailablePackages().filter (packageName) => @isTextMateBundle(packageName) + + getAvailableAtomPackages: -> + @getAvailablePackages().filter (packageName) => not @isTextMateBundle(packageName) + + loadPackages: (packageNames) -> disabledPackages = config.get("core.disabledPackages") ? [] - for packageName in @getAvailablePackages() + for packageName in packageNames continue if _.contains disabledPackages, packageName atom.loadPackage(packageName) @@ -106,4 +113,7 @@ class Config catch error console.error "Failed to load `#{userInitScriptPath}`", error.stack, error + isTextMateBundle: (packageName) -> + /\.tmbundle$/.test(packageName) + _.extend Config.prototype, EventEmitter diff --git a/src/app/text-mate-bundle.coffee b/src/app/text-mate-bundle.coffee index af463c5e2..aa1fca794 100644 --- a/src/app/text-mate-bundle.coffee +++ b/src/app/text-mate-bundle.coffee @@ -10,18 +10,10 @@ class TextMateBundle @grammarsByFileType: {} @grammarsByScopeName: {} @preferencesByScopeSelector: {} - @bundles: [] @grammars: [] - @loadAll: -> - localBundlePath = fs.join(config.configDirPath, "bundles") - localBundles = fs.list(localBundlePath) if fs.exists(localBundlePath) - - for bundlePath in localBundles ? [] - @registerBundle(new TextMateBundle(bundlePath)) - - @registerBundle: (bundle)-> - @bundles.push(bundle) + @load: (name)-> + bundle = new TextMateBundle(require.resolve(name)) for scopeSelector, preferences of bundle.getPreferencesByScopeSelector() if @preferencesByScopeSelector[scopeSelector]? diff --git a/src/app/window.coffee b/src/app/window.coffee index 16c55e5d4..ea6158f05 100644 --- a/src/app/window.coffee +++ b/src/app/window.coffee @@ -25,7 +25,6 @@ windowAdditions = # in all environments: spec, benchmark, and application startup: -> @config = new Config - TextMateBundle.loadAll() TextMateTheme.loadAll() @setUpKeymap() @pasteboard = new Pasteboard From f0d97a436b384cd79e886e3d9e81d8940ebc9a66 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 20 Dec 2012 16:46:37 -0800 Subject: [PATCH 05/38] Move ~/.atom/bundles to ~/.atom/packages on `rake install` --- .atom/bundles/Readme.md | 1 - .atom/packages/Readme.md | 0 Rakefile | 14 +++++++------- 3 files changed, 7 insertions(+), 8 deletions(-) delete mode 100644 .atom/bundles/Readme.md create mode 100644 .atom/packages/Readme.md diff --git a/.atom/bundles/Readme.md b/.atom/bundles/Readme.md deleted file mode 100644 index 8f53fde96..000000000 --- a/.atom/bundles/Readme.md +++ /dev/null @@ -1 +0,0 @@ -Put TextMate bundles in this directory diff --git a/.atom/packages/Readme.md b/.atom/packages/Readme.md new file mode 100644 index 000000000..e69de29bb diff --git a/Rakefile b/Rakefile index 5ccb96db0..4c78ff14d 100644 --- a/Rakefile +++ b/Rakefile @@ -60,6 +60,11 @@ end desc "Creates .atom file if non exists" task "create-dot-atom" do + if File.exists?(DOT_ATOM_PATH) and File.exists?(File.join(DOT_ATOM_PATH, "bundles")) + `mv #{File.join(DOT_ATOM_PATH, "bundles")} #{File.join(DOT_ATOM_PATH, "packages")}` + $stderr.puts "WARNING: ~/.atom/bundles was moved to ~/.atom/packages" + end + dot_atom_template_path = ATOM_SRC_PATH + "/.atom" replace_dot_atom = false next if File.exists?(DOT_ATOM_PATH) @@ -67,12 +72,7 @@ task "create-dot-atom" do `rm -rf "#{DOT_ATOM_PATH}"` `mkdir "#{DOT_ATOM_PATH}"` `cp "#{dot_atom_template_path}/atom.coffee" "#{DOT_ATOM_PATH}"` - `cp "#{dot_atom_template_path}/bundles" "#{DOT_ATOM_PATH}"` - - for path in Dir.entries(dot_atom_template_path) - next if ["..", ".", "atom.coffee", "bundles"].include? path - `ln -s "#{dot_atom_template_path}/#{path}" "#{DOT_ATOM_PATH}"` - end + `cp "#{dot_atom_template_path}/packages" "#{DOT_ATOM_PATH}"` end desc "Clone default bundles into .atom directory" @@ -93,7 +93,7 @@ task "clone-default-bundles" => "create-dot-atom" do for bundle_url, sha in bundles bundle_dir = bundle_url[/([^\/]+?)(\.git)?$/, 1] - dest_path = File.join(DOT_ATOM_PATH, "bundles", bundle_dir) + dest_path = File.join(DOT_ATOM_PATH, "packages", bundle_dir) if File.exists? dest_path `cd #{dest_path} && git fetch --quiet` else From 0515274e2f2151101bed8ee297e4c846bac93ce2 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 20 Dec 2012 17:01:12 -0800 Subject: [PATCH 06/38] TextMate bundles end in .tmbundle or _tmbundle --- src/app/config.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/config.coffee b/src/app/config.coffee index 2627cd90e..363f9b371 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -114,6 +114,6 @@ class Config console.error "Failed to load `#{userInitScriptPath}`", error.stack, error isTextMateBundle: (packageName) -> - /\.tmbundle$/.test(packageName) + /(\.|_)tmbundle$/.test(packageName) _.extend Config.prototype, EventEmitter From dd8597cc9c580aadc3ae1a5d34c29bdc4cea2a2f Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 20 Dec 2012 21:30:37 -0700 Subject: [PATCH 07/38] Set `config` defaults in its constructor --- src/app/config.coffee | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/config.coffee b/src/app/config.coffee index 363f9b371..ac18ca51b 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -15,10 +15,13 @@ class Config configDirPath: configDirPath settings: null - load: -> + constructor: -> @settings = {} + @setDefaults "core", require('root-view').configDefaults + @setDefaults "editor", require('editor').configDefaults + + load: -> @loadUserConfig() - @assignDefaults() @loadPackages(@getAvailableTextMateBundles()) @loadPackages(@getAvailableAtomPackages()) @requireUserInitScript() From c7605b8aa61b8db0819a032df8eb552fa0314f60 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 20 Dec 2012 21:32:33 -0700 Subject: [PATCH 08/38] Move `loadPackages` to `atom` global. Handle '-tmbundle' in regex. This simplifies the loading of TextMate bundles in the spec and benchmark helpers. Since `loadBundle` was already implemented on `atom`, it made sense to move this logic here. Config is now more focused on its core job of handling configuration, not loading bundles. --- benchmark/benchmark-helper.coffee | 6 ++++-- spec/spec-helper.coffee | 9 +++------ src/app/atom.coffee | 21 ++++++++++++++++++++- src/app/config.coffee | 30 ++---------------------------- 4 files changed, 29 insertions(+), 37 deletions(-) diff --git a/benchmark/benchmark-helper.coffee b/benchmark/benchmark-helper.coffee index fea602b9b..663ebd344 100644 --- a/benchmark/benchmark-helper.coffee +++ b/benchmark/benchmark-helper.coffee @@ -11,12 +11,14 @@ TextMateTheme = require 'text-mate-theme' require 'window' requireStylesheet "jasmine.css" +# Load TextMate bundles, which specs rely on (but not other packages) +atom.loadPackages(atom.getAvailableTextMateBundles()) + beforeEach -> - # don't load user configuration + # reset config after each benchmark; don't load or save from/to `config.json` window.config = new Config() spyOn(config, 'load') spyOn(config, 'save') - config.assignDefaults() keymap = new Keymap keymap.bindDefaultKeys() diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index ac65c24f0..38bdcea79 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -19,20 +19,17 @@ requireStylesheet "jasmine.css" require.paths.unshift(require.resolve('fixtures/packages')) -# Temporary solution to load textmate bundles for specs -window.config = new Config() -config.assignDefaults() -config.loadPackages(config.getAvailableTextMateBundles()) +# Load TextMate bundles, which specs rely on (but not other packages) +atom.loadPackages(atom.getAvailableTextMateBundles()) beforeEach -> window.fixturesProject = new Project(require.resolve('fixtures')) window.resetTimeouts() - # don't load or save user configuration + # reset config after each spec; don't load or save from/to `config.json` window.config = new Config() spyOn(config, 'load') spyOn(config, 'save') - config.assignDefaults() config.set "editor.fontSize", 16 # make editor display updates synchronous diff --git a/src/app/atom.coffee b/src/app/atom.coffee index f0881d9a4..f37f81c8f 100644 --- a/src/app/atom.coffee +++ b/src/app/atom.coffee @@ -10,9 +10,26 @@ _.extend atom, pendingBrowserProcessCallbacks: {} + getAvailablePackages: -> + allPackageNames = [] + for packageDirPath in config.packageDirPaths + packageNames = fs.list(packageDirPath).map (packagePath) -> fs.base(packagePath) + allPackageNames.push(packageNames...) + _.unique(allPackageNames) + + getAvailableTextMateBundles: -> + @getAvailablePackages().filter (packageName) => @isTextMateBundle(packageName) + + loadPackages: (packageNames=@getAvailablePackages()) -> + disabledPackages = config.get("core.disabledPackages") ? [] + + console.log packageNames + for packageName in packageNames + @loadPackage(packageName) unless _.contains(disabledPackages, packageName) + loadPackage: (name) -> try - if /\.tmbundle$/.test name + if @isTextMateBundle(name) TextMateBundle.load(name) else packagePath = require.resolve(name, verifyExistence: false) @@ -90,3 +107,5 @@ _.extend atom, [messageId, callbackIndex] = data.shift() @pendingBrowserProcessCallbacks[messageId]?[callbackIndex]?(data...) + isTextMateBundle: (packageName) -> + /(\.|_|-)tmbundle$/.test(packageName) diff --git a/src/app/config.coffee b/src/app/config.coffee index ac18ca51b..c70c37a06 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -13,6 +13,7 @@ require.paths.unshift userPackagesDirPath module.exports = class Config configDirPath: configDirPath + packageDirPaths: [userPackagesDirPath, bundledPackagesDirPath] settings: null constructor: -> @@ -22,38 +23,14 @@ class Config load: -> @loadUserConfig() - @loadPackages(@getAvailableTextMateBundles()) - @loadPackages(@getAvailableAtomPackages()) @requireUserInitScript() + atom.loadPackages() loadUserConfig: -> if fs.exists(configJsonPath) userConfig = JSON.parse(fs.read(configJsonPath)) _.extend(@settings, userConfig) - assignDefaults: -> - @settings ?= {} - @setDefaults "core", require('root-view').configDefaults - @setDefaults "editor", require('editor').configDefaults - - getAvailablePackages: -> - atomPackages = fs.list(bundledPackagesDirPath) - userPackages = fs.list(userPackagesDirPath) - allPackageNames = atomPackages.concat(userPackages).map (path) -> fs.base(path) - _.unique(allPackageNames) - - getAvailableTextMateBundles: -> - @getAvailablePackages().filter (packageName) => @isTextMateBundle(packageName) - - getAvailableAtomPackages: -> - @getAvailablePackages().filter (packageName) => not @isTextMateBundle(packageName) - - loadPackages: (packageNames) -> - disabledPackages = config.get("core.disabledPackages") ? [] - for packageName in packageNames - continue if _.contains disabledPackages, packageName - atom.loadPackage(packageName) - get: (keyPath) -> keys = @keysForKeyPath(keyPath) value = @settings @@ -116,7 +93,4 @@ class Config catch error console.error "Failed to load `#{userInitScriptPath}`", error.stack, error - isTextMateBundle: (packageName) -> - /(\.|_)tmbundle$/.test(packageName) - _.extend Config.prototype, EventEmitter From 56f19cd01a65dfa615371da40bcd536854f2abf2 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 20 Dec 2012 21:39:52 -0700 Subject: [PATCH 09/38] Kill console.log --- src/app/atom.coffee | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/app/atom.coffee b/src/app/atom.coffee index f37f81c8f..bee54e049 100644 --- a/src/app/atom.coffee +++ b/src/app/atom.coffee @@ -22,8 +22,6 @@ _.extend atom, loadPackages: (packageNames=@getAvailablePackages()) -> disabledPackages = config.get("core.disabledPackages") ? [] - - console.log packageNames for packageName in packageNames @loadPackage(packageName) unless _.contains(disabledPackages, packageName) From 0ca144002666e69ff15962cca0e71cc75bfedfb9 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 20 Dec 2012 21:40:08 -0700 Subject: [PATCH 10/38] Oops. Don't overwrite user config w/ defaults before its loaded --- src/app/config.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/config.coffee b/src/app/config.coffee index c70c37a06..c437cf010 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -17,9 +17,9 @@ class Config settings: null constructor: -> - @settings = {} - @setDefaults "core", require('root-view').configDefaults - @setDefaults "editor", require('editor').configDefaults + @settings = + core: require('root-view').configDefaults + editor: require('editor').configDefaults load: -> @loadUserConfig() From 356702c2f343dfade4a2b303ec9df4c0f99185de Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 20 Dec 2012 22:13:12 -0700 Subject: [PATCH 11/38] Clone defaults in config constructor so they aren't mutated. This fixes failures caused pollution of state between specs --- src/app/config.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/config.coffee b/src/app/config.coffee index c437cf010..54033c4b2 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -18,8 +18,8 @@ class Config constructor: -> @settings = - core: require('root-view').configDefaults - editor: require('editor').configDefaults + core: _.clone(require('root-view').configDefaults) + editor: _.clone(require('editor').configDefaults) load: -> @loadUserConfig() From 9b6c310239a8929bdda1f6ce723d7ab0cc7ea4fc Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 21 Dec 2012 18:20:01 -0700 Subject: [PATCH 12/38] Implement scoped `config` settings You can pass a scope stack when calling `config.get`, which will prefer settings under the most specific matching scope selector for the given scope stack. --- spec/app/config-spec.coffee | 37 +++++++++++------ src/app/config.coffee | 79 +++++++++++++++++++++++++++++++------ 2 files changed, 92 insertions(+), 24 deletions(-) diff --git a/spec/app/config-spec.coffee b/spec/app/config-spec.coffee index 63dfac4ae..b153cc960 100644 --- a/spec/app/config-spec.coffee +++ b/spec/app/config-spec.coffee @@ -1,19 +1,32 @@ describe "Config", -> - describe ".get(keyPath) and .set(keyPath, value)", -> - it "allows a key path's value to be read and written", -> - expect(config.set("foo.bar.baz", 42)).toBe 42 - expect(config.get("foo.bar.baz")).toBe 42 - expect(config.get("bogus.key.path")).toBeUndefined() + describe ".get([scope], keyPath) and .set([scope], keyPath, value)", -> + describe "when called without a scope argument", -> + it "allows a key path's value to be read and written", -> + expect(config.set("foo.bar.baz", 42)).toBe 42 + expect(config.get("foo.bar.baz")).toBe 42 + expect(config.get("bogus.key.path")).toBeUndefined() - it "updates observers and saves when a key path is set", -> - observeHandler = jasmine.createSpy "observeHandler" - config.observe "foo.bar.baz", observeHandler - observeHandler.reset() + it "updates observers and saves when a key path is set", -> + observeHandler = jasmine.createSpy "observeHandler" + config.observe "foo.bar.baz", observeHandler + observeHandler.reset() - config.set("foo.bar.baz", 42) + config.set("foo.bar.baz", 42) - expect(config.save).toHaveBeenCalled() - expect(observeHandler).toHaveBeenCalledWith 42 + expect(config.save).toHaveBeenCalled() + expect(observeHandler).toHaveBeenCalledWith 42 + + describe "when called with a scope argument", -> + it "returns the config value for the most specific selector", -> + expect(config.set(".source.coffee .string.quoted.double.coffee", "foo.bar.baz", 42)).toBe 42 + config.set(".source .string.quoted.double", "foo.bar.baz", 22) + config.set(".source", "foo.bar.baz", 11) + config.set("foo.bar.baz", 1) + + expect(config.get([".source.coffee", ".string.quoted.double.coffee"], "foo.bar.baz")).toBe 42 + expect(config.get([".source.js", ".string.quoted.double.js"], "foo.bar.baz")).toBe 22 + expect(config.get([".source.js", ".variable.assignment.js"], "foo.bar.baz")).toBe 11 + expect(config.get([".text"], "foo.bar.baz")).toBe 1 describe ".setDefaults(keyPath, defaults)", -> it "assigns any previously-unassigned keys to the object at the key path", -> diff --git a/src/app/config.coffee b/src/app/config.coffee index 54033c4b2..ce2a22b5d 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -1,6 +1,9 @@ fs = require 'fs' _ = require 'underscore' EventEmitter = require 'event-emitter' +{$$} = require 'space-pen' +jQuery = require 'jquery' +Specificity = require 'specificity' configDirPath = fs.absolute("~/.atom") configJsonPath = fs.join(configDirPath, "config.json") @@ -31,15 +34,33 @@ class Config userConfig = JSON.parse(fs.read(configJsonPath)) _.extend(@settings, userConfig) - get: (keyPath) -> + get: (args...) -> + scopeStack = args.shift() if args.length > 1 + keyPath = args.shift() keys = @keysForKeyPath(keyPath) - value = @settings - for key in keys - break unless value = value[key] - value - set: (keyPath, value) -> + settingsToSearch = [] + settingsToSearch.push(@settingsForScopeChain(scopeStack)...) if scopeStack + settingsToSearch.push(@settings) + + for settings in settingsToSearch + value = settings + for key in keys + value = value[key] + break unless value? + return value if value? + undefined + + set: (args...) -> + scope = args.shift() if args.length > 2 + keyPath = args.shift() + value = args.shift() + keys = @keysForKeyPath(keyPath) + if scope + keys.unshift(scope) + keys.unshift('scopes') + hash = @settings while keys.length > 1 key = keys.shift() @@ -60,12 +81,6 @@ class Config _.defaults hash, defaults @update() - keysForKeyPath: (keyPath) -> - if typeof keyPath is 'string' - keyPath.split(".") - else - new Array(keyPath...) - observe: (keyPath, callback) -> value = @get(keyPath) previousValue = _.clone(value) @@ -87,6 +102,46 @@ class Config save: -> fs.write(configJsonPath, JSON.stringify(@settings, undefined, 2) + "\n") + keysForKeyPath: (keyPath) -> + if typeof keyPath is 'string' + keyPath.split(".") + else + new Array(keyPath...) + + settingsForScopeChain: (scopeStack) -> + return [] unless @settings.scopes? + + matchingScopeSelectors = [] + node = @buildDomNodeFromScopeChain(scopeStack) + while node + scopeSelectorsForNode = [] + for scopeSelector of @settings.scopes + if jQuery.find.matchesSelector(node, scopeSelector) + scopeSelectorsForNode.push(scopeSelector) + scopeSelectorsForNode.sort (a, b) -> Specificity(b) - Specificity(a) + matchingScopeSelectors.push(scopeSelectorsForNode...) + node = node.parentNode + + matchingScopeSelectors.map (scopeSelector) => @settings.scopes[scopeSelector] + + buildDomNodeFromScopeChain: (scopeStack) -> + scopeStack = new Array(scopeStack...) + element = $$ -> + elementsForRemainingScopes = => + classString = scopeStack.shift() + classes = classString.replace(/^\./, '').replace(/\./g, ' ') + if scopeStack.length + @div class: classes, elementsForRemainingScopes + else + @div class: classes + elementsForRemainingScopes() + + deepestChild = element.find(":not(:has(*))") + if deepestChild.length + deepestChild[0] + else + element[0] + requireUserInitScript: -> try require userInitScriptPath if fs.exists(userInitScriptPath) From 6e5f9b9a27fd77b233c8bb2adc7d6880a778f55f Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 21 Dec 2012 18:20:28 -0700 Subject: [PATCH 13/38] Kill unused require --- src/app/keymap.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/keymap.coffee b/src/app/keymap.coffee index 04ec03b8a..21710495a 100644 --- a/src/app/keymap.coffee +++ b/src/app/keymap.coffee @@ -3,7 +3,6 @@ _ = require 'underscore' fs = require 'fs' BindingSet = require 'binding-set' -Specificity = require 'specificity' module.exports = class Keymap From aaac5a86596b079a28d374b6f529144c366ee0d3 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 21 Dec 2012 18:24:06 -0700 Subject: [PATCH 14/38] :lipstick: --- spec/app/config-spec.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/app/config-spec.coffee b/spec/app/config-spec.coffee index b153cc960..b684b0023 100644 --- a/spec/app/config-spec.coffee +++ b/spec/app/config-spec.coffee @@ -1,5 +1,5 @@ describe "Config", -> - describe ".get([scope], keyPath) and .set([scope], keyPath, value)", -> + describe ".get([scopeSelector], keyPath) and .set([scopeDescriptor], keyPath, value)", -> describe "when called without a scope argument", -> it "allows a key path's value to be read and written", -> expect(config.set("foo.bar.baz", 42)).toBe 42 @@ -17,7 +17,7 @@ describe "Config", -> expect(observeHandler).toHaveBeenCalledWith 42 describe "when called with a scope argument", -> - it "returns the config value for the most specific selector", -> + it "returns the config value for the most specific scope selector that matches the given scope descriptor", -> expect(config.set(".source.coffee .string.quoted.double.coffee", "foo.bar.baz", 42)).toBe 42 config.set(".source .string.quoted.double", "foo.bar.baz", 22) config.set(".source", "foo.bar.baz", 11) From 886995364f614541405bb06aabbacb179f677a66 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Sun, 23 Dec 2012 12:50:58 -0700 Subject: [PATCH 15/38] Start on `syntax` global. Use it to replace scoped `config` settings. We'll store all syntax-related global state in the `syntax` global. For now, this means that all scoped properties will be stored here, as well as all grammars. --- spec/app/config-spec.coffee | 37 +++++-------- spec/app/syntax-spec.coffee | 12 +++++ src/app/config.coffee | 72 ++----------------------- src/app/syntax.coffee | 59 ++++++++++++++++++++ src/app/window.coffee | 2 + src/stdlib/underscore-extensions.coffee | 7 +++ 6 files changed, 97 insertions(+), 92 deletions(-) create mode 100644 spec/app/syntax-spec.coffee create mode 100644 src/app/syntax.coffee diff --git a/spec/app/config-spec.coffee b/spec/app/config-spec.coffee index b684b0023..63dfac4ae 100644 --- a/spec/app/config-spec.coffee +++ b/spec/app/config-spec.coffee @@ -1,32 +1,19 @@ describe "Config", -> - describe ".get([scopeSelector], keyPath) and .set([scopeDescriptor], keyPath, value)", -> - describe "when called without a scope argument", -> - it "allows a key path's value to be read and written", -> - expect(config.set("foo.bar.baz", 42)).toBe 42 - expect(config.get("foo.bar.baz")).toBe 42 - expect(config.get("bogus.key.path")).toBeUndefined() + describe ".get(keyPath) and .set(keyPath, value)", -> + it "allows a key path's value to be read and written", -> + expect(config.set("foo.bar.baz", 42)).toBe 42 + expect(config.get("foo.bar.baz")).toBe 42 + expect(config.get("bogus.key.path")).toBeUndefined() - it "updates observers and saves when a key path is set", -> - observeHandler = jasmine.createSpy "observeHandler" - config.observe "foo.bar.baz", observeHandler - observeHandler.reset() + it "updates observers and saves when a key path is set", -> + observeHandler = jasmine.createSpy "observeHandler" + config.observe "foo.bar.baz", observeHandler + observeHandler.reset() - config.set("foo.bar.baz", 42) + config.set("foo.bar.baz", 42) - expect(config.save).toHaveBeenCalled() - expect(observeHandler).toHaveBeenCalledWith 42 - - describe "when called with a scope argument", -> - it "returns the config value for the most specific scope selector that matches the given scope descriptor", -> - expect(config.set(".source.coffee .string.quoted.double.coffee", "foo.bar.baz", 42)).toBe 42 - config.set(".source .string.quoted.double", "foo.bar.baz", 22) - config.set(".source", "foo.bar.baz", 11) - config.set("foo.bar.baz", 1) - - expect(config.get([".source.coffee", ".string.quoted.double.coffee"], "foo.bar.baz")).toBe 42 - expect(config.get([".source.js", ".string.quoted.double.js"], "foo.bar.baz")).toBe 22 - expect(config.get([".source.js", ".variable.assignment.js"], "foo.bar.baz")).toBe 11 - expect(config.get([".text"], "foo.bar.baz")).toBe 1 + expect(config.save).toHaveBeenCalled() + expect(observeHandler).toHaveBeenCalledWith 42 describe ".setDefaults(keyPath, defaults)", -> it "assigns any previously-unassigned keys to the object at the key path", -> diff --git a/spec/app/syntax-spec.coffee b/spec/app/syntax-spec.coffee new file mode 100644 index 000000000..722d6db91 --- /dev/null +++ b/spec/app/syntax-spec.coffee @@ -0,0 +1,12 @@ +describe "the `syntax` global", -> + describe ".getProperty(scopeDescriptor)", -> + it "returns the property with the most specific scope selector", -> + syntax.addProperties(".source.coffee .string.quoted.double.coffee", foo: bar: baz: 42) + syntax.addProperties(".source .string.quoted.double", foo: bar: baz: 22) + syntax.addProperties(".source", foo: bar: baz: 11) + syntax.addProperties(foo: bar: baz: 1) + + expect(syntax.getProperty([".source.coffee", ".string.quoted.double.coffee"], "foo.bar.baz")).toBe 42 + expect(syntax.getProperty([".source.js", ".string.quoted.double.js"], "foo.bar.baz")).toBe 22 + expect(syntax.getProperty([".source.js", ".variable.assignment.js"], "foo.bar.baz")).toBe 11 + expect(syntax.getProperty([".text"], "foo.bar.baz")).toBe 1 diff --git a/src/app/config.coffee b/src/app/config.coffee index ce2a22b5d..2a1f8dc27 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -34,33 +34,11 @@ class Config userConfig = JSON.parse(fs.read(configJsonPath)) _.extend(@settings, userConfig) - get: (args...) -> - scopeStack = args.shift() if args.length > 1 - keyPath = args.shift() - keys = @keysForKeyPath(keyPath) - - settingsToSearch = [] - settingsToSearch.push(@settingsForScopeChain(scopeStack)...) if scopeStack - settingsToSearch.push(@settings) - - for settings in settingsToSearch - value = settings - for key in keys - value = value[key] - break unless value? - return value if value? - undefined - - set: (args...) -> - scope = args.shift() if args.length > 2 - keyPath = args.shift() - value = args.shift() - - keys = @keysForKeyPath(keyPath) - if scope - keys.unshift(scope) - keys.unshift('scopes') + get: (keyPath) -> + _.valueForKeyPath(@settings, keyPath) + set: (keyPath, value) -> + keys = keyPath.split('.') hash = @settings while keys.length > 1 key = keys.shift() @@ -72,7 +50,7 @@ class Config value setDefaults: (keyPath, defaults) -> - keys = @keysForKeyPath(keyPath) + keys = keyPath.split('.') hash = @settings for key in keys hash[key] ?= {} @@ -102,46 +80,6 @@ class Config save: -> fs.write(configJsonPath, JSON.stringify(@settings, undefined, 2) + "\n") - keysForKeyPath: (keyPath) -> - if typeof keyPath is 'string' - keyPath.split(".") - else - new Array(keyPath...) - - settingsForScopeChain: (scopeStack) -> - return [] unless @settings.scopes? - - matchingScopeSelectors = [] - node = @buildDomNodeFromScopeChain(scopeStack) - while node - scopeSelectorsForNode = [] - for scopeSelector of @settings.scopes - if jQuery.find.matchesSelector(node, scopeSelector) - scopeSelectorsForNode.push(scopeSelector) - scopeSelectorsForNode.sort (a, b) -> Specificity(b) - Specificity(a) - matchingScopeSelectors.push(scopeSelectorsForNode...) - node = node.parentNode - - matchingScopeSelectors.map (scopeSelector) => @settings.scopes[scopeSelector] - - buildDomNodeFromScopeChain: (scopeStack) -> - scopeStack = new Array(scopeStack...) - element = $$ -> - elementsForRemainingScopes = => - classString = scopeStack.shift() - classes = classString.replace(/^\./, '').replace(/\./g, ' ') - if scopeStack.length - @div class: classes, elementsForRemainingScopes - else - @div class: classes - elementsForRemainingScopes() - - deepestChild = element.find(":not(:has(*))") - if deepestChild.length - deepestChild[0] - else - element[0] - requireUserInitScript: -> try require userInitScriptPath if fs.exists(userInitScriptPath) diff --git a/src/app/syntax.coffee b/src/app/syntax.coffee new file mode 100644 index 000000000..bccf22e3c --- /dev/null +++ b/src/app/syntax.coffee @@ -0,0 +1,59 @@ +_ = require 'underscore' +jQuery = require 'jquery' +Specificity = require 'specificity' +{$$} = require 'space-pen' + +module.exports = +class Syntax + constructor: -> + @globalProperties = {} + @propertiesBySelector = {} + + addProperties: (args...) -> + scopeSelector = args.shift() if args.length > 1 + properties = args.shift() + + if scopeSelector + @propertiesBySelector[scopeSelector] ?= {} + _.extend(@propertiesBySelector[scopeSelector], properties) + else + _.extend(@globalProperties, properties) + + getProperty: (scope, keyPath) -> + for object in @propertiesForScope(scope) + value = _.valueForKeyPath(object, keyPath) + return value if value? + undefined + + propertiesForScope: (scope) -> + matchingSelectors = [] + element = @buildScopeElement(scope) + while element + matchingSelectors.push(@matchingSelectorsForElement(element)...) + element = element.parentNode + properties = matchingSelectors.map (selector) => @propertiesBySelector[selector] + properties.concat([@globalProperties]) + + matchingSelectorsForElement: (element) -> + matchingSelectors = [] + for selector of @propertiesBySelector + matchingSelectors.push(selector) if jQuery.find.matchesSelector(element, selector) + matchingSelectors.sort (a, b) -> Specificity(b) - Specificity(a) + + buildScopeElement: (scope) -> + scope = new Array(scope...) + element = $$ -> + elementsForRemainingScopes = => + classString = scope.shift() + classes = classString.replace(/^\./, '').replace(/\./g, ' ') + if scope.length + @div class: classes, elementsForRemainingScopes + else + @div class: classes + elementsForRemainingScopes() + + deepestChild = element.find(":not(:has(*))") + if deepestChild.length + deepestChild[0] + else + element[0] diff --git a/src/app/window.coffee b/src/app/window.coffee index ea6158f05..ed0490d29 100644 --- a/src/app/window.coffee +++ b/src/app/window.coffee @@ -9,6 +9,7 @@ _ = require 'underscore' $ = require 'jquery' {CoffeeScript} = require 'coffee-script' Config = require 'config' +Syntax = require 'syntax' RootView = require 'root-view' Pasteboard = require 'pasteboard' require 'jquery-extensions' @@ -25,6 +26,7 @@ windowAdditions = # in all environments: spec, benchmark, and application startup: -> @config = new Config + @syntax = new Syntax TextMateTheme.loadAll() @setUpKeymap() @pasteboard = new Pasteboard diff --git a/src/stdlib/underscore-extensions.coffee b/src/stdlib/underscore-extensions.coffee index c1e6252a6..32c8b7909 100644 --- a/src/stdlib/underscore-extensions.coffee +++ b/src/stdlib/underscore-extensions.coffee @@ -85,3 +85,10 @@ _.mixin endsWith: (string, suffix) -> string.indexOf(suffix, string.length - suffix.length) isnt -1 + + valueForKeyPath: (object, keyPath) -> + keys = keyPath.split('.') + for key in keys + object = object[key] + return unless object? + object From f76bab512f8094e157cf283d8d689f57b2af74ee Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Sun, 23 Dec 2012 13:19:20 -0700 Subject: [PATCH 16/38] Most recently added scoped properties win in case of a specificity tie This makes the scoped property system mimic the behavior of CSS. When there is a tie, the scoped properties loaded later in the cascade win. I also optimize the scanning of all the properties, checking only those sets of properties that have a value for the desired key path, to reduce the need to match a ton of scope selectors. --- spec/app/syntax-spec.coffee | 7 ++++++ src/app/syntax.coffee | 46 ++++++++++++++++++++++--------------- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/spec/app/syntax-spec.coffee b/spec/app/syntax-spec.coffee index 722d6db91..c3117fb46 100644 --- a/spec/app/syntax-spec.coffee +++ b/spec/app/syntax-spec.coffee @@ -10,3 +10,10 @@ describe "the `syntax` global", -> expect(syntax.getProperty([".source.js", ".string.quoted.double.js"], "foo.bar.baz")).toBe 22 expect(syntax.getProperty([".source.js", ".variable.assignment.js"], "foo.bar.baz")).toBe 11 expect(syntax.getProperty([".text"], "foo.bar.baz")).toBe 1 + + it "favors the most recently added properties in the event of a specificity tie", -> + syntax.addProperties(".source.coffee .string.quoted.single", foo: bar: baz: 42) + syntax.addProperties(".source.coffee .string.quoted.double", foo: bar: baz: 22) + + expect(syntax.getProperty([".source.coffee", ".string.quoted.single"], "foo.bar.baz")).toBe 42 + expect(syntax.getProperty([".source.coffee", ".string.quoted.single.double"], "foo.bar.baz")).toBe 22 diff --git a/src/app/syntax.coffee b/src/app/syntax.coffee index bccf22e3c..f54b3f3da 100644 --- a/src/app/syntax.coffee +++ b/src/app/syntax.coffee @@ -7,38 +7,48 @@ module.exports = class Syntax constructor: -> @globalProperties = {} + @scopedPropertiesIndex = 0 + @scopedProperties = [] @propertiesBySelector = {} addProperties: (args...) -> - scopeSelector = args.shift() if args.length > 1 + selector = args.shift() if args.length > 1 properties = args.shift() - if scopeSelector - @propertiesBySelector[scopeSelector] ?= {} - _.extend(@propertiesBySelector[scopeSelector], properties) + if selector + @scopedProperties.unshift( + selector: selector, + properties: properties, + specificity: Specificity(selector), + index: @scopedPropertiesIndex++ + ) else _.extend(@globalProperties, properties) getProperty: (scope, keyPath) -> - for object in @propertiesForScope(scope) + for object in @propertiesForScope(scope, keyPath) value = _.valueForKeyPath(object, keyPath) return value if value? undefined - propertiesForScope: (scope) -> - matchingSelectors = [] - element = @buildScopeElement(scope) - while element - matchingSelectors.push(@matchingSelectorsForElement(element)...) - element = element.parentNode - properties = matchingSelectors.map (selector) => @propertiesBySelector[selector] - properties.concat([@globalProperties]) + propertiesForScope: (scope, keyPath) -> + matchingProperties = [] + candidates = @scopedProperties.filter ({properties}) -> _.valueForKeyPath(properties, keyPath)? + if candidates.length + element = @buildScopeElement(scope) + while element + matchingProperties.push(@matchingPropertiesForElement(element, candidates)...) + element = element.parentNode + matchingProperties.concat([@globalProperties]) - matchingSelectorsForElement: (element) -> - matchingSelectors = [] - for selector of @propertiesBySelector - matchingSelectors.push(selector) if jQuery.find.matchesSelector(element, selector) - matchingSelectors.sort (a, b) -> Specificity(b) - Specificity(a) + matchingPropertiesForElement: (element, candidates) -> + matchingScopedProperties = candidates.filter ({selector}) -> jQuery.find.matchesSelector(element, selector) + matchingScopedProperties.sort (a, b) -> + if a.specificity == b.specificity + b.index - a.index + else + b.specificity - a.specificity + _.pluck matchingScopedProperties, 'properties' buildScopeElement: (scope) -> scope = new Array(scope...) From 515feca7a6d765958228faf309f14ac85b752916 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Sun, 23 Dec 2012 15:01:56 -0600 Subject: [PATCH 17/38] Kill scoped config settings docs. This behavior is moved to `syntax`. We can explain scoped properties --- docs/configuring-and-extending.md | 52 ------------------------------- 1 file changed, 52 deletions(-) diff --git a/docs/configuring-and-extending.md b/docs/configuring-and-extending.md index 8423c6fd7..d9083d78e 100644 --- a/docs/configuring-and-extending.md +++ b/docs/configuring-and-extending.md @@ -78,58 +78,6 @@ ConfigObserver = require 'config-observer' _.extend MyClass.prototype, ConfigObserver ``` -## Scoped Config Settings (Not Yet Implemented) - -Users and extension authors can provide language-specific behavior by employing -*scoped configuration keys*. By associating key values with a specific scope, -you can make Atom behave differently in different contexts. For example, if you -want Atom to auto-indent pasted text in some languages but not others, you can -give the `autoIndentPastedText` key a different value under a scope selector: - -```coffeescript -# in config.cson -editor: - autoIndentPastedText: true -scopes: - ".source.coffee": - editor: - autoIndentPastedText: false -``` - -Scope selectors are placed under the `scope` key at the top-level of the -configuration file. The values you specify for keys under a selector will -override global values in that specific scope. Any basic CSS 3 selector is -permitted, but you should leave out element names to make your keys accessible -outside the view layer. - -### Reading Scoped Config Settings - -Use the `config.inScope` method to the read keys with the most specific selector -match: - -```coffeescript -scope = [".source.coffee", ".meta.class.instance.constructor"] -config.inScope(scope).get "editor.lineComment" -``` - -Pass `.inScope` an array of scope descriptors, which describes a specific -element. This is frequently useful when you get the nested scopes for a position -in the buffer based on its syntax. You can also pass an actual DOM element -to use its nesting within the DOM as fodder for the scope selectors (†). - -```coffeescript -config.inScope(fuzzyFinder.miniEditor).get("editor.fontSize") -``` - -`observeConfig` can take a scope as its first argument: - -``` -@observeConfig scope, "editor.autoIndentPastedText", -> # ... -``` - -†: Matching DOM elements fits cleanly into this scheme, but I can't think of a - use for it currently. Let's keep it in the back of our minds though. - # Themes (Not Yet Implemented) ## Selecting A Theme From a1d28a9f74dfa6da0e4e473ab1d33c3a0b988d55 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Sun, 23 Dec 2012 15:36:06 -0600 Subject: [PATCH 18/38] WIP: Start on `Package` class w/ TextMate- & Atom-specific subclasses The `load` method on the superclass will provide a general template for loading the package's resource. Each subclass will be responsible for loading resources in a manner appropriate for the package type. There's some initial progress on loading TextMate settings as scoped properties, translating the TextMate scope selectors to CSS-style atom selectors. --- src/app/atom-package.coffee | 17 ++++++++++++++ src/app/atom.coffee | 22 ++++-------------- src/app/package.coffee | 21 +++++++++++++++++ src/app/text-mate-package.coffee | 40 ++++++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+), 18 deletions(-) create mode 100644 src/app/atom-package.coffee create mode 100644 src/app/package.coffee create mode 100644 src/app/text-mate-package.coffee diff --git a/src/app/atom-package.coffee b/src/app/atom-package.coffee new file mode 100644 index 000000000..11d322461 --- /dev/null +++ b/src/app/atom-package.coffee @@ -0,0 +1,17 @@ +Package = require 'package' +fs = require 'fs' + +module.exports = +class AtomPackage extends Package + constructor: -> + super + @module = require(@path) + @module.name = @name + + load: -> + try + rootView.activatePackage(@module) + extensionKeymapPath = require.resolve(fs.join(@name, "src/keymap"), verifyExistence: false) + require extensionKeymapPath if fs.exists(extensionKeymapPath) + catch e + console.error "Failed to load package named '#{name}'", e.stack diff --git a/src/app/atom.coffee b/src/app/atom.coffee index bee54e049..4e1ae3904 100644 --- a/src/app/atom.coffee +++ b/src/app/atom.coffee @@ -1,6 +1,8 @@ TextMateBundle = require("text-mate-bundle") fs = require 'fs' _ = require 'underscore' +Package = require 'package' +TextMatePackage = require 'text-mate-package' messageIdCounter = 1 originalSendMessageToBrowserProcess = atom.sendMessageToBrowserProcess @@ -18,7 +20,7 @@ _.extend atom, _.unique(allPackageNames) getAvailableTextMateBundles: -> - @getAvailablePackages().filter (packageName) => @isTextMateBundle(packageName) + @getAvailablePackages().filter (packageName) => TextMatePackage.testName(packageName) loadPackages: (packageNames=@getAvailablePackages()) -> disabledPackages = config.get("core.disabledPackages") ? [] @@ -26,20 +28,7 @@ _.extend atom, @loadPackage(packageName) unless _.contains(disabledPackages, packageName) loadPackage: (name) -> - try - if @isTextMateBundle(name) - TextMateBundle.load(name) - else - packagePath = require.resolve(name, verifyExistence: false) - throw new Error("No package found named '#{name}'") unless packagePath - packagePath = fs.directory(packagePath) - packageModule = require(packagePath) - packageModule.name = name - rootView.activatePackage(packageModule) - extensionKeymapPath = require.resolve(fs.join(name, "src/keymap"), verifyExistence: false) - require extensionKeymapPath if fs.exists(extensionKeymapPath) - catch e - console.error "Failed to load package named '#{name}'", e.stack + Package.forName(name).load() open: (args...) -> @sendMessageToBrowserProcess('open', args) @@ -104,6 +93,3 @@ _.extend atom, if name is 'reply' [messageId, callbackIndex] = data.shift() @pendingBrowserProcessCallbacks[messageId]?[callbackIndex]?(data...) - - isTextMateBundle: (packageName) -> - /(\.|_|-)tmbundle$/.test(packageName) diff --git a/src/app/package.coffee b/src/app/package.coffee new file mode 100644 index 000000000..793fcb86a --- /dev/null +++ b/src/app/package.coffee @@ -0,0 +1,21 @@ +fs = require 'fs' + +module.exports = +class Package + @forName: (name) -> + AtomPackage = require 'atom-package' + TextMatePackage = require 'text-mate-package' + + if TextMatePackage.testName(name) + new TextMatePackage(name) + else + new AtomPackage(name) + + constructor: (@name) -> + @path = require.resolve(@name, verifyExistence: false) + throw new Error("No package found named '#{@name}'") unless @path + @path = fs.directory(@path) unless fs.isDirectory(@path) + + load: -> + # WIP: Going to load scoped properties into `syntax` global here + @getScopedProperties() diff --git a/src/app/text-mate-package.coffee b/src/app/text-mate-package.coffee new file mode 100644 index 000000000..2479640e2 --- /dev/null +++ b/src/app/text-mate-package.coffee @@ -0,0 +1,40 @@ +Package = require 'package' +TextMateBundle = require 'text-mate-bundle' +fs = require 'fs' +plist = require 'plist' + +module.exports = +class TextMatePackage extends Package + @testName: (packageName) -> + /(\.|_|-)tmbundle$/.test(packageName) + + @translateScopeSelector: (scopeSelector) -> + scopeSelector.split(', ').map((commaFragment) -> + commaFragment.split(' ').map((spaceFragment) -> + spaceFragment.split('.').map((dotFragment) -> + '.' + dotFragment + ).join('') + ).join(' ') + ).join(', ') + + load: -> + TextMateBundle.load(@name) + super + + constructor: -> + super + @preferencesPath = fs.join(@path, "Preferences") + @syntaxesPath = fs.join(@path, "Syntaxes") + + getScopedProperties: -> + scopedProperties = [] + if fs.exists(@preferencesPath) + for preferencePath in fs.list(@preferencesPath) + plist.parseString fs.read(preferencePath), (e, data) -> + if e + console.warn "Failed to parse preference at path '#{preferencePath}'", e.stack + else + { scope, settings } = data[0] + selector = TextMatePackage.translateScopeSelector(scope) + scopedProperties.push({selector: selector, properties: settings}) + scopedProperties From bae9ae6d59458afa451d44ae79bcc8692113dfdc Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Wed, 26 Dec 2012 14:37:13 -0800 Subject: [PATCH 19/38] Fuzzy finder ignores core.ignoredNames as well as fuzzy-finder.ignoredNames --- src/packages/fuzzy-finder/src/fuzzy-finder.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/packages/fuzzy-finder/src/fuzzy-finder.coffee b/src/packages/fuzzy-finder/src/fuzzy-finder.coffee index 00495de46..51c21166a 100644 --- a/src/packages/fuzzy-finder/src/fuzzy-finder.coffee +++ b/src/packages/fuzzy-finder/src/fuzzy-finder.coffee @@ -59,7 +59,8 @@ class FuzzyFinder extends SelectList else @setLoading("Indexing...") @rootView.project.getFilePaths().done (paths) => - ignoredNames = config.get("fuzzy-finder.ignoredNames") + ignoredNames = config.get("fuzzyFinder.ignoredNames") or [] + ignoredNames = ignoredNames.concat(config.get("core.ignoredNames") or []) @projectPaths = paths if ignoredNames @projectPaths = @projectPaths.filter (path) -> From e5e5c497e1b7720c8226345f303d4c7f12608d2b Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Wed, 26 Dec 2012 14:38:25 -0800 Subject: [PATCH 20/38] Load themes from ~/.atom/themes --- .atom/themes/IR_Black.tmTheme | 810 +++++++++++++++++++++++++++++++++ Rakefile | 20 +- script/copy-files-to-bundle | 2 +- src/app/atom.coffee | 4 +- src/app/config.coffee | 2 + src/app/text-mate-theme.coffee | 23 +- src/app/window.coffee | 1 - 7 files changed, 841 insertions(+), 21 deletions(-) create mode 100644 .atom/themes/IR_Black.tmTheme diff --git a/.atom/themes/IR_Black.tmTheme b/.atom/themes/IR_Black.tmTheme new file mode 100644 index 000000000..cbc18d0b9 --- /dev/null +++ b/.atom/themes/IR_Black.tmTheme @@ -0,0 +1,810 @@ + + + + + name + IR_Black + settings + + + settings + + background + #000000 + caret + #FFFFFF + foreground + #EDEDED + invisibles + #CAE2FB3D + lineHighlight + #FFFFFF24 + selection + #333333 + + + + name + Comment + scope + comment + settings + + fontStyle + + foreground + #7C7C7C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #FFD2A7 + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #96CBFE + + + + name + Keyword.control + scope + keyword.control + settings + + fontStyle + + foreground + #96CBFE + + + + name + Keyword.Operator + scope + keyword.operator + settings + + foreground + #EDEDED + + + + name + Class + scope + entity.name.type + settings + + fontStyle + underline + foreground + #FFFFB6 + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #FFFFB6 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #CFCB90 + + + + name + Storage.modifier + scope + storage.modifier + settings + + fontStyle + + foreground + #96CBFE + + + + name + Constant + scope + constant + settings + + fontStyle + + foreground + #99CC99 + + + + name + String + scope + string + settings + + fontStyle + bold + foreground + #A8FF60 + + + + name + Number + scope + constant.numeric + settings + + fontStyle + bold + foreground + #FF73FD + + + + name + Punctuation + scope + punctuation + settings + + fontStyle + + + + + name + Variable + scope + variable + settings + + fontStyle + + foreground + #C6C5FE + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic underline + foreground + #FD5FF1 + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #FD5FF1 + + + + name + ----------------------------------- + settings + + + + name + ♦ Embedded Source (Bright) + scope + text source + settings + + background + #B1B3BA08 + fontStyle + + + + + name + ♦ Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #9B5C2E + + + + name + ♦ String embedded-variable + scope + source string source + settings + + fontStyle + + foreground + #EDEDED + + + + name + ♦ String punctuation + scope + source string source punctuation.section.embedded + settings + + fontStyle + + foreground + #00A0A0 + + + + name + ♦ String constant + scope + string constant + settings + + fontStyle + + foreground + #00A0A0 + + + + name + ♦ String.regexp + scope + string.regexp + settings + + foreground + #E9C062 + + + + name + ♦ String.regexp.«special» + scope + string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + fontStyle + + foreground + #FF8000 + + + + name + ♦ String.regexp.group + scope + string.regexp.group + settings + + background + #FFFFFF0F + fontStyle + + foreground + #C6A24F + + + + name + ♦ String.regexp.character-class + scope + string.regexp.character-class + settings + + fontStyle + + foreground + #B18A3D + + + + name + ♦ String variable + scope + string variable + settings + + fontStyle + + foreground + #8A9A95 + + + + name + ♦ Support.function + scope + support.function + settings + + fontStyle + + foreground + #DAD085 + + + + name + ♦ Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #FFD2A7 + + + + name + c C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + c C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + fontStyle + + foreground + #AFC4DB + + + + name + j Cast + scope + meta.cast + settings + + fontStyle + italic + foreground + #676767 + + + + name + ✘ Doctype/XML Processing + scope + meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string + settings + + foreground + #494949 + + + + name + ✘ Meta.tag.«all» + scope + meta.tag, meta.tag entity + settings + + fontStyle + bold + foreground + #96CBFE + + + + name + ✘ Meta.tag.inline + scope + source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity + settings + + fontStyle + + foreground + #96CBFE + + + + name + ✘ Meta.tag.attribute-name + scope + entity.other.attribute-name + settings + + fontStyle + + foreground + #FFD7B1 + + + + name + ✘ Namespaces + scope + entity.name.tag.namespace, entity.other.attribute-name.namespace + settings + + fontStyle + + foreground + #E18964 + + + + name + § css tag-name + scope + meta.selector.css entity.name.tag + settings + + fontStyle + underline + foreground + #96CBFE + + + + name + § css:pseudo-class + scope + meta.selector.css entity.other.attribute-name.tag.pseudo-class + settings + + fontStyle + + foreground + #8F9D6A + + + + name + § css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + fontStyle + + foreground + #8B98AB + + + + name + § css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + fontStyle + + foreground + #62B1FE + + + + name + § css property-name: + scope + support.type.property-name.css + settings + + foreground + #EDEDED + + + + name + § css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + fontStyle + + foreground + #F9EE98 + + + + name + § css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #8693A5 + + + + name + § css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + fontStyle + + foreground + #87C38A + + + + name + § css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #8F9D6A + + + + name + ⎇ diff.header + scope + meta.diff, meta.diff.header + settings + + background + #0E2231 + fontStyle + italic + foreground + #F8F8F8 + + + + name + ⎇ diff.deleted + scope + markup.deleted + settings + + background + #420E09 + foreground + #F8F8F8 + + + + name + ⎇ diff.changed + scope + markup.changed + settings + + background + #4A410D + foreground + #F8F8F8 + + + + name + ⎇ diff.inserted + scope + markup.inserted + settings + + background + #253B22 + foreground + #F8F8F8 + + + + name + -------------------------------- + settings + + + + name + Markup: Italic + scope + markup.italic + settings + + fontStyle + italic + foreground + #E9C062 + + + + name + Markup: Bold + scope + markup.bold + settings + + fontStyle + bold + foreground + #E9C062 + + + + name + Markup: Underline + scope + markup.underline + settings + + fontStyle + underline + foreground + #E18964 + + + + name + Markup: Quote + scope + markup.quote + settings + + background + #FEE09C12 + fontStyle + italic + foreground + #E1D4B9 + + + + name + Markup: Heading + scope + markup.heading, markup.heading entity + settings + + background + #632D04 + fontStyle + + foreground + #FEDCC5 + + + + name + Markup: List + scope + markup.list + settings + + foreground + #E1D4B9 + + + + name + Markup: Raw + scope + markup.raw + settings + + background + #B1B3BA08 + fontStyle + + foreground + #578BB3 + + + + name + Markup: Comment + scope + markup comment + settings + + fontStyle + italic + foreground + #F67B37 + + + + name + Markup: Separator + scope + meta.separator + settings + + background + #242424 + foreground + #60A633 + + + + name + Log Entry + scope + meta.line.entry.logfile, meta.line.exit.logfile + settings + + background + #EEEEEE29 + + + + name + Log Entry Error + scope + meta.line.error.logfile + settings + + background + #751012 + + + + uuid + D039AEA9-9DD2-4237-A963-E84494B0B3FB + + diff --git a/Rakefile b/Rakefile index 4c78ff14d..2dd0680d3 100644 --- a/Rakefile +++ b/Rakefile @@ -60,11 +60,26 @@ end desc "Creates .atom file if non exists" task "create-dot-atom" do + # Migration: If there is still a bundle path, rename it to packages + if File.exists?(DOT_ATOM_PATH) and File.exists?(File.join(DOT_ATOM_PATH, "bundles")) + if File.join(DOT_ATOM_PATH, "packages") + `rm #{File.join(DOT_ATOM_PATH, "bundles")}` + $stderr.puts "WARNING: removed ~/.atom/bundles" + else + `mv #{File.join(DOT_ATOM_PATH, "bundles")} #{File.join(DOT_ATOM_PATH, "packages")}` + $stderr.puts "WARNING: ~/.atom/bundles was moved to ~/.atom/packages" + end + end + + # Migration: If there is no theme directory, create if File.exists?(DOT_ATOM_PATH) and File.exists?(File.join(DOT_ATOM_PATH, "bundles")) `mv #{File.join(DOT_ATOM_PATH, "bundles")} #{File.join(DOT_ATOM_PATH, "packages")}` $stderr.puts "WARNING: ~/.atom/bundles was moved to ~/.atom/packages" end + # Migration: remove files that are no longer needed + `rm -rf #{File.join(DOT_ATOM_PATH, 'default-config.coffee')}` + dot_atom_template_path = ATOM_SRC_PATH + "/.atom" replace_dot_atom = false next if File.exists?(DOT_ATOM_PATH) @@ -73,6 +88,7 @@ task "create-dot-atom" do `mkdir "#{DOT_ATOM_PATH}"` `cp "#{dot_atom_template_path}/atom.coffee" "#{DOT_ATOM_PATH}"` `cp "#{dot_atom_template_path}/packages" "#{DOT_ATOM_PATH}"` + `cp -r "#{dot_atom_template_path}/themes" "#{DOT_ATOM_PATH}"` end desc "Clone default bundles into .atom directory" @@ -107,6 +123,8 @@ end desc "Clean build Atom via `xcodebuild`" task :clean do output = `xcodebuild clean` + `rm -rf #{application_path()}` + `rm -rf #{BUILD_DIR}` end desc "Run Atom" @@ -132,7 +150,7 @@ task :benchmark do end task :nof do - system %{find . -name *spec.coffee | grep -v atom-build | xargs sed -E -i "" "s/f+(it|describe) +(['\\"])/\\1 \\2/g"} + system %{find . -name *spec.coffee | grep -v #{BUILD_DIR} | xargs sed -E -i "" "s/f+(it|describe) +(['\\"])/\\1 \\2/g"} end task :tags do diff --git a/script/copy-files-to-bundle b/script/copy-files-to-bundle index f850405a7..659c87e04 100755 --- a/script/copy-files-to-bundle +++ b/script/copy-files-to-bundle @@ -29,4 +29,4 @@ for COFFEE_FILE in $COFFEE_FILES; do done; # Copy non-coffee files into bundle -rsync --archive --recursive --exclude="src/**/*.coffee" src static vendor spec benchmark themes "$RESOUCES_PATH" +rsync --archive --recursive --exclude="src/**/*.coffee" src static vendor spec benchmark "$RESOUCES_PATH" diff --git a/src/app/atom.coffee b/src/app/atom.coffee index 4e1ae3904..82a406bd7 100644 --- a/src/app/atom.coffee +++ b/src/app/atom.coffee @@ -15,7 +15,9 @@ _.extend atom, getAvailablePackages: -> allPackageNames = [] for packageDirPath in config.packageDirPaths - packageNames = fs.list(packageDirPath).map (packagePath) -> fs.base(packagePath) + packageNames = fs.list(packageDirPath) + .filter((packagePath) -> fs.isDirectory(packagePath)) + .map((packagePath) -> fs.base(packagePath)) allPackageNames.push(packageNames...) _.unique(allPackageNames) diff --git a/src/app/config.coffee b/src/app/config.coffee index 2a1f8dc27..854cc40a5 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -9,6 +9,7 @@ configDirPath = fs.absolute("~/.atom") configJsonPath = fs.join(configDirPath, "config.json") userInitScriptPath = fs.join(configDirPath, "atom.coffee") bundledPackagesDirPath = fs.join(resourcePath, "src/packages") +userThemesDirPath = fs.join(configDirPath, "themes") userPackagesDirPath = fs.join(configDirPath, "packages") require.paths.unshift userPackagesDirPath @@ -16,6 +17,7 @@ require.paths.unshift userPackagesDirPath module.exports = class Config configDirPath: configDirPath + themeDirPath: userThemesDirPath packageDirPaths: [userPackagesDirPath, bundledPackagesDirPath] settings: null diff --git a/src/app/text-mate-theme.coffee b/src/app/text-mate-theme.coffee index 70f0602e2..77ff38f96 100644 --- a/src/app/text-mate-theme.coffee +++ b/src/app/text-mate-theme.coffee @@ -4,31 +4,20 @@ plist = require 'plist' module.exports = class TextMateTheme - @themesByName: {} + @load: (name) -> + regex = new RegExp("#{_.escapeRegExp(name)}\.(tmTheme|plist)$", "i") + path = _.find fs.list(config.themeDirPath), (path) -> regex.test(path) + return null unless path - @loadAll: -> - for themePath in fs.list(require.resolve("themes")) - @registerTheme(TextMateTheme.load(themePath)) - - @load: (path) -> - plistString = fs.read(require.resolve(path)) + plistString = fs.read(path) theme = null plist.parseString plistString, (err, data) -> throw new Error("Error loading theme at '#{path}': #{err}") if err theme = new TextMateTheme(data[0]) theme - @registerTheme: (theme) -> - @themesByName[theme.name] = theme - - @getNames: -> - _.keys(@themesByName) - - @getTheme: (name) -> - @themesByName[name] - @activate: (name) -> - if theme = @getTheme(name) + if theme = @load(name) theme.activate() else throw new Error("No theme with name '#{name}'") diff --git a/src/app/window.coffee b/src/app/window.coffee index ed0490d29..4b6d7047d 100644 --- a/src/app/window.coffee +++ b/src/app/window.coffee @@ -27,7 +27,6 @@ windowAdditions = startup: -> @config = new Config @syntax = new Syntax - TextMateTheme.loadAll() @setUpKeymap() @pasteboard = new Pasteboard From d2e76b48c399f3a4f46278ea4266cadddc728004 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Wed, 26 Dec 2012 15:25:22 -0800 Subject: [PATCH 21/38] Remove `themes` directory --- themes/All Hallow's Eve.tmTheme | 277 ---- themes/Amy.tmTheme | 557 ------- themes/Blackboard.tmTheme | 350 ----- themes/Brilliance Black.tmTheme | 2619 ------------------------------- themes/Brilliance Dull.tmTheme | 2243 -------------------------- themes/Cobalt.tmTheme | 559 ------- themes/Dawn.tmTheme | 437 ------ themes/Espresso Libre.tmTheme | 402 ----- themes/IDLE.tmTheme | 235 --- themes/IR_Black.tmTheme | 810 ---------- themes/LAZY.tmTheme | 291 ---- themes/Mac Classic.tmTheme | 450 ------ themes/MagicWB (Amiga).tmTheme | 376 ----- themes/Pastels on Dark.tmTheme | 701 --------- themes/Slush & Poppies.tmTheme | 336 ---- themes/Solarized (dark).tmTheme | 2051 ------------------------ themes/SpaceCadet.tmTheme | 212 --- themes/Sunburst.tmTheme | 665 -------- themes/Twilight.tmTheme | 514 ------ themes/Zenburnesque.tmTheme | 343 ---- themes/iPlastic.tmTheme | 286 ---- 21 files changed, 14714 deletions(-) delete mode 100644 themes/All Hallow's Eve.tmTheme delete mode 100644 themes/Amy.tmTheme delete mode 100644 themes/Blackboard.tmTheme delete mode 100644 themes/Brilliance Black.tmTheme delete mode 100644 themes/Brilliance Dull.tmTheme delete mode 100644 themes/Cobalt.tmTheme delete mode 100644 themes/Dawn.tmTheme delete mode 100644 themes/Espresso Libre.tmTheme delete mode 100644 themes/IDLE.tmTheme delete mode 100644 themes/IR_Black.tmTheme delete mode 100644 themes/LAZY.tmTheme delete mode 100644 themes/Mac Classic.tmTheme delete mode 100644 themes/MagicWB (Amiga).tmTheme delete mode 100644 themes/Pastels on Dark.tmTheme delete mode 100644 themes/Slush & Poppies.tmTheme delete mode 100644 themes/Solarized (dark).tmTheme delete mode 100644 themes/SpaceCadet.tmTheme delete mode 100644 themes/Sunburst.tmTheme delete mode 100644 themes/Twilight.tmTheme delete mode 100644 themes/Zenburnesque.tmTheme delete mode 100644 themes/iPlastic.tmTheme diff --git a/themes/All Hallow's Eve.tmTheme b/themes/All Hallow's Eve.tmTheme deleted file mode 100644 index 47a679784..000000000 --- a/themes/All Hallow's Eve.tmTheme +++ /dev/null @@ -1,277 +0,0 @@ - - - - - author - David Heinemeier Hansson - name - All Hallow's Eve - settings - - - settings - - background - #000000 - caret - #FFFFFF - foreground - #FFFFFF - invisibles - #404040 - lineHighlight - #333300 - selection - #73597EE0 - - - - name - Text base - scope - text - settings - - background - #434242 - foreground - #FFFFFF - - - - name - Source base - scope - source - settings - - background - #000000 - foreground - #FFFFFF - - - - name - Comment - scope - comment - settings - - foreground - #9933CC - - - - name - Constant - scope - constant - settings - - foreground - #3387CC - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #CC7833 - - - - name - Pre-processor Line - scope - meta.preprocessor.c - settings - - fontStyle - - foreground - #D0D0FF - - - - name - Pre-processor Directive - scope - keyword.control.import - settings - - fontStyle - - - - - name - Function name - scope - entity.name.function - settings - - fontStyle - - - - - name - Function argument - scope - variable.parameter - settings - - fontStyle - italic - - - - name - Block comment - scope - source comment.block - settings - - background - #9B9B9B - foreground - #FFFFFF - - - - name - String - scope - string - settings - - foreground - #66CC33 - - - - name - String escapes - scope - string constant.character.escape - settings - - foreground - #AAAAAA - - - - name - String (executed) - scope - string.interpolated - settings - - background - #CCCC33 - foreground - #000000 - - - - name - Regular expression - scope - string.regexp - settings - - foreground - #CCCC33 - - - - name - String (literal) - scope - string.literal - settings - - foreground - #CCCC33 - - - - name - String escapes (executed) - scope - string.interpolated constant.character.escape - settings - - foreground - #555555 - - - - name - Type name - scope - entity.name.type - settings - - fontStyle - underline - - - - name - Class inheritance - scope - entity.other.inherited-class - settings - - fontStyle - italic underline - - - - name - Tag name - scope - entity.name.tag - settings - - fontStyle - underline - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - fontStyle - - - - - name - Support function - scope - support.function - settings - - fontStyle - - foreground - #C83730 - - - - uuid - 37F22BDC-B2F4-11D9-850C-000A95A89C98 - - diff --git a/themes/Amy.tmTheme b/themes/Amy.tmTheme deleted file mode 100644 index b3258c468..000000000 --- a/themes/Amy.tmTheme +++ /dev/null @@ -1,557 +0,0 @@ - - - - - name - Amy - author - William D. Neumann - settings - - - settings - - background - #200020 - caret - #7070FF - foreground - #D0D0FF - invisibles - #BFBFBF - lineHighlight - #80000040 - selection - #80000080 - - - - name - Comment - scope - comment.block - settings - - background - #200020 - fontStyle - italic - foreground - #404080 - - - - name - String - scope - string - settings - - foreground - #999999 - - - - name - Built-in constant - scope - constant.language - settings - - foreground - #707090 - - - - name - Integer - scope - constant.numeric - settings - - foreground - #7090B0 - - - - name - Int32 constant - scope - constant.numeric.integer.int32 - settings - - fontStyle - bold - - - - name - Int64 constant - scope - constant.numeric.integer.int64 - settings - - fontStyle - italic - - - - name - Nativeint constant - scope - constant.numeric.integer.nativeint - settings - - fontStyle - bold italic - - - - name - Floating-point constant - scope - constant.numeric.floating-point.ocaml - settings - - fontStyle - underline - - - - name - Character constant - scope - constant.character - settings - - fontStyle - - foreground - #666666 - - - - name - Boolean constant - scope - constant.language.boolean - settings - - foreground - #8080A0 - - - - name - Built-in constant - scope - constant.language - settings - - - - name - User-defined constant - scope - constant.other - settings - - - - name - Variable - scope - variable.language, variable.other - settings - - fontStyle - - foreground - #008080 - - - - name - Keyword - scope - keyword - settings - - foreground - #A080FF - - - - name - Keyword operator - scope - keyword.operator - settings - - foreground - #A0A0FF - - - - name - Keyword decorator - scope - keyword.other.decorator - settings - - foreground - #D0D0FF - - - - name - Floating-point infix operator - scope - keyword.operator.infix.floating-point.ocaml - settings - - fontStyle - underline - - - - name - Floating-point prefix operator - scope - keyword.operator.prefix.floating-point.ocaml - settings - - fontStyle - underline - - - - name - Compiler directives - scope - keyword.other.directive - settings - - fontStyle - - foreground - #C080C0 - - - - name - Line-number directives - scope - keyword.other.directive.line-number - settings - - fontStyle - underline - foreground - #C080C0 - - - - name - Control keyword - scope - keyword.control - settings - - foreground - #80A0FF - - - - name - Storage - scope - storage - settings - - foreground - #B0FFF0 - - - - name - Variants - scope - entity.name.type.variant - settings - - foreground - #60B0FF - - - - name - Polymorphic variants - scope - storage.type.variant.polymorphic, entity.name.type.variant.polymorphic - settings - - fontStyle - italic - foreground - #60B0FF - - - - name - Module definitions - scope - entity.name.type.module - settings - - foreground - #B000B0 - - - - name - Module type definitions - scope - entity.name.type.module-type.ocaml - settings - - fontStyle - underline - foreground - #B000B0 - - - - name - Support modules - scope - support.other - settings - - foreground - #A00050 - - - - name - Class name - scope - entity.name.type.class - settings - - foreground - #70E080 - - - - name - Class type - scope - entity.name.type.class-type - settings - - fontStyle - - foreground - #70E0A0 - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - - - name - Function name - scope - entity.name.function - settings - - foreground - #50A0A0 - - - - name - Function argument - scope - variable.parameter - settings - - foreground - #80B0B0 - - - - name - Token definition (ocamlyacc) - scope - entity.name.type.token - settings - - fontStyle - - foreground - #3080A0 - - - - name - Token reference (ocamlyacc) - scope - entity.name.type.token.reference - settings - - fontStyle - - foreground - #3CB0D0 - - - - name - Non-terminal definition (ocamlyacc) - scope - entity.name.function.non-terminal - settings - - foreground - #90E0E0 - - - - name - Non-terminal reference (ocamlyacc) - scope - entity.name.function.non-terminal.reference - settings - - foreground - #C0F0F0 - - - - name - Tag name - scope - entity.name.tag - settings - - foreground - #009090 - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - - - name - Library function - settings - - background - #200020 - - - - name - Library constant - scope - support.constant - settings - - background - #200020 - - - - name - Library class/type - scope - support.type, support.class - settings - - - - name - Library variable - scope - support.other.variable - settings - - - - name - Invalid - illegal - scope - invalid.illegal - settings - - background - #FFFF00 - fontStyle - bold - foreground - #400080 - - - - name - Invalid - depricated - scope - invalid.deprecated - settings - - background - #CC66FF - foreground - #200020 - - - - name - Camlp4 code - scope - source.camlp4.embedded - settings - - background - #40008054 - - - - name - Camlp4 temp (parser) - scope - source.camlp4.embedded.parser.ocaml - settings - - fontStyle - - - - - name - Punctuation - scope - punctuation - settings - - foreground - #805080 - - - - uuid - 3C01FADD-7592-49DD-B7A5-1B82CA4E57B5 - - diff --git a/themes/Blackboard.tmTheme b/themes/Blackboard.tmTheme deleted file mode 100644 index 18bb72e33..000000000 --- a/themes/Blackboard.tmTheme +++ /dev/null @@ -1,350 +0,0 @@ - - - - - name - Blackboard - author - Domenico Carbotta - settings - - - settings - - background - #0C1021 - caret - #FFFFFFA6 - foreground - #F8F8F8 - invisibles - #FFFFFF40 - lineHighlight - #FFFFFF0F - selection - #253B76 - - - - name - Comment - scope - comment - settings - - fontStyle - - foreground - #AEAEAE - - - - name - Constant - scope - constant - settings - - fontStyle - - foreground - #D8FA3C - - - - name - Entity - scope - entity - settings - - fontStyle - - foreground - #FF6400 - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #FBDE2D - - - - name - Storage - scope - storage - settings - - fontStyle - - foreground - #FBDE2D - - - - name - String - scope - string, meta.verbatim - settings - - fontStyle - - foreground - #61CE3C - - - - name - Support - scope - support - settings - - fontStyle - - foreground - #8DA6CE - - - - name - Variable - scope - variable - settings - - fontStyle - - - - - name - Invalid – Deprecated - scope - invalid.deprecated - settings - - fontStyle - italic - foreground - #AB2A1D - - - - name - Invalid – Illegal - scope - invalid.illegal - settings - - background - #9D1E15 - foreground - #F8F8F8 - - - - name - Superclass - scope - entity.other.inherited-class - settings - - fontStyle - italic - foreground - #FF6400 - - - - name - String interpolation - scope - string constant.other.placeholder - settings - - fontStyle - - foreground - #FF6400 - - - - name - meta.function-call.py - scope - meta.function-call.py - settings - - fontStyle - - foreground - #BECDE6 - - - - name - meta.tag - scope - meta.tag, meta.tag entity - settings - - foreground - #7F90AA - - - - name - entity.name.section - scope - entity.name.section - settings - - fontStyle - - foreground - #FFFFFF - - - - name - OCaml variant - scope - keyword.type.variant - settings - - foreground - #D5E0F3 - - - - name - OCaml operator - scope - source.ocaml keyword.operator.symbol - settings - - foreground - #F8F8F8 - - - - name - OCaml infix operator - scope - source.ocaml keyword.operator.symbol.infix - settings - - fontStyle - - foreground - #8DA6CE - - - - name - OCaml prefix operator - scope - source.ocaml keyword.operator.symbol.prefix - settings - - fontStyle - - foreground - #8DA6CE - - - - name - OCaml f-p infix operator - scope - source.ocaml keyword.operator.symbol.infix.floating-point - settings - - fontStyle - underline - - - - name - OCaml f-p prefix operator - scope - source.ocaml keyword.operator.symbol.prefix.floating-point - settings - - fontStyle - underline - - - - name - OCaml f-p constant - scope - source.ocaml constant.numeric.floating-point - settings - - fontStyle - underline - - - - name - LaTeX environment - scope - text.tex.latex meta.function.environment - settings - - background - #FFFFFF08 - - - - name - LaTeX environment (nested) - scope - text.tex.latex meta.function.environment meta.function.environment - settings - - background - #7A96FA08 - - - - name - Latex support - scope - text.tex.latex support.function - settings - - fontStyle - - foreground - #FBDE2D - - - - name - PList unquoted string - scope - source.plist string.unquoted, source.plist keyword.operator - settings - - foreground - #FFFFFF - - - - uuid - A2C6BAA7-90D0-4147-BBF5-96B0CD92D109 - - diff --git a/themes/Brilliance Black.tmTheme b/themes/Brilliance Black.tmTheme deleted file mode 100644 index 560c825ba..000000000 --- a/themes/Brilliance Black.tmTheme +++ /dev/null @@ -1,2619 +0,0 @@ - - - - - author - Thomas Aylott - comment - Thomas Aylott ㊷ subtleGradient.com - name - Brilliance Black - settings - - - settings - - background - #0D0D0DFA - caret - #3333FF - foreground - #EEEEEE - invisibles - #CCCCCC1A - lineHighlight - #00008033 - selection - #0010B499 - - - - name - Thomas Aylott ㊷ - scope - meta.thomas_aylott - settings - - background - #FFFFFF - fontStyle - bold - foreground - #000000 - - - - name - subtleGradient.com - scope - meta.subtlegradient - settings - - background - #FFFFFF - fontStyle - underline - foreground - #555555 - - - - name - ~ String - scope - string -meta.tag -meta.doctype -string.regexp -string.literal -string.interpolated -string.quoted.literal -string.unquoted, variable.parameter.misc.css, text string source string, string.unquoted string, string.regexp string, string.interpolated string, meta.tag source string - settings - - background - #803D0033 - foreground - #FFFC80 - - - - name - ~ String Punctuation - scope - punctuation.definition.string -meta.tag - settings - - foreground - #803D00 - - - - name - ~ String Punctuation II - scope - string.regexp punctuation.definition.string, string.quoted.literal punctuation.definition.string, string.quoted.double.ruby.mod punctuation.definition.string - settings - - foreground - #FFF80033 - - - - name - ~ String Literal - scope - string.quoted.literal, string.quoted.double.ruby.mod - settings - - background - #43800033 - foreground - #FFF800 - - - - name - ~ String Unquoted - scope - string.unquoted -string.unquoted.embedded, string.quoted.double.multiline, meta.scope.heredoc - settings - - foreground - #FFBC80 - - - - name - ~ String Interpolated - scope - string.interpolated - settings - - background - #1A1A1A - foreground - #FFFC80 - - - - name - ~ String RegEx - scope - string.regexp - settings - - background - #43800033 - foreground - #FFF800 - - - - name - ~ String RegEx Group 1 - scope - string.regexp.group - settings - - background - #43800033 - - - - name - ~ String RegEx Group 2 - scope - string.regexp.group string.regexp.group - settings - - background - #43800033 - foreground - #FFFFFF66 - - - - name - ~ String RegEx Group 3 - scope - string.regexp.group string.regexp.group string.regexp.group - settings - - background - #43800033 - foreground - #FFFFFF66 - - - - name - ~ String RegEx Group 4 - scope - string.regexp.group string.regexp.group string.regexp.group string.regexp.group - settings - - background - #43800033 - foreground - #FFFFFF66 - - - - name - ~ String RegEx Character-Class - scope - string.regexp.character-class - settings - - background - #43800033 - foreground - #86FF00 - - - - name - ~ String RegEx Arbitrary-Repitition - scope - string.regexp.arbitrary-repitition - settings - - background - #43800033 - foreground - #00FFF8 - - - - name - ~ String RegEx Definition Keyword - scope - string.regexp punctuation.definition.string keyword.other - settings - - fontStyle - - foreground - #803D00 - - - - name - ~ Meta Group Assertion Regexp - scope - meta.group.assertion.regexp - settings - - background - #0086FF33 - - - - name - ~ Meta Assertion - scope - meta.assertion, meta.group.assertion keyword.control.group.regexp, meta.group.assertion punctuation.definition.group - settings - - foreground - #0086FF - - - - name - ~ Number - scope - constant.numeric - settings - - foreground - #C6FF00 - - - - name - ~ Character constant - scope - constant.character - settings - - foreground - #86FF00 - - - - name - ~ Built-in constant - scope - constant.language, keyword.other.unit, constant.other.java, constant.other.unit - settings - - foreground - #07FF00 - - - - name - ~ Built-in constant+ - scope - constant.language.pseudo-variable - settings - - background - #04800033 - foreground - #07FF00 - - - - name - ~ User-defined constant - scope - constant.other, constant.block - settings - - foreground - #00FF79 - - - - name - ~ Library constant - scope - support.constant, constant.name - settings - - foreground - #00FFF8 - - - - name - ————————————————— - settings - - - - name - √ pre-defined variable - scope - variable.other.readwrite.global.pre-defined, variable.language - settings - - background - #00807C33 - foreground - #00FF79 - - - - name - √ Constant Variable - scope - variable.other.constant - settings - - foreground - #00FFF8 - - - - name - √ Library variable - scope - support.variable - settings - - background - #00807C33 - foreground - #00FFF8 - - - - name - √ global Variable - scope - variable.other.readwrite.global - settings - - background - #00438033 - foreground - #00807C - - - - name - √ Variable - scope - variable.other, variable.js, punctuation.separator.variable - settings - - foreground - #31A6FF - - - - name - √ class Variable - scope - variable.other.readwrite.class - settings - - background - #0008FF33 - foreground - #0086FF - - - - name - √ instance Variable - scope - variable.other.readwrite.instance - settings - - foreground - #406180 - - - - name - √ Normal Variables - scope - variable.other.php, variable.other.normal - settings - - foreground - #406180 - - - - name - √ Variable Punctuation - scope - punctuation.definition, punctuation.separator.variable - settings - - foreground - #00000080 - - - - name - ————————————————— - settings - - - - name - ¢ Storage - scope - storage -storage.modifier - settings - - foreground - #7E0080 - - - - name - ¢ Entity Name Preprocessor - scope - other.preprocessor, entity.name.preprocessor - settings - - background - #803D0033 - - - - name - ~ variable.language.this.js.prototype - scope - variable.language.this.js - settings - - foreground - #666666 - - - - name - ¢ Storage Modifier - scope - storage.modifier - settings - - foreground - #803D00 - - - - name - ¢ Class name - scope - entity.name.class, entity.name.type.class, entity.name.type.module - settings - - foreground - #FF0000 - - - - name - ¢ Class - scope - meta.class -meta.class.instance, declaration.class, meta.definition.class, declaration.module - settings - - background - #FF000033 - foreground - #870000 - - - - name - ¢ Library class/type - scope - support.type, support.class - settings - - background - #87000033 - foreground - #FF0000 - - - - name - ¢ Instance - scope - entity.name.instance, entity.name.type.instance - settings - - foreground - #FF3D44 - - - - name - ¢ Instance.constructor - scope - meta.class.instance.constructor - settings - - background - #831E5133 - - - - name - ¢ Inherited class - scope - entity.other.inherited-class, entity.name.module - settings - - background - #80000433 - foreground - #FF0086 - - - - name - ¢ Class Method - scope - meta.definition.method - settings - - foreground - #FF0086 - - - - name - ¢ Function Declaration - scope - meta.function, meta.property.function, declaration.function - settings - - - - name - ¢ Function Declaration Name - scope - entity.name.function, entity.name.preprocessor - settings - - foreground - #FF0086 - - - - name - ¢ Function Declaration Parameters - scope - variable.parameter.function - settings - - foreground - #9799FF - - - - name - ¢ Function Declaration Parameters - scope - variable.parameter -variable.parameter.misc.css, meta.definition.method meta.definition.param-list, meta.function.method.with-arguments variable.parameter.function - settings - - foreground - #9799FF - - - - name - ¢ Function Declaration Parameters Punctuation - scope - punctuation.definition.parameters, variable.parameter.function punctuation.separator.object - settings - - foreground - #800004 - - - - name - ™ Function Call - scope - keyword.other.special-method, meta.function-call entity.name.function -(meta.function-call meta.function), support.function - variable - settings - - foreground - #782EC1 - - - - name - ™ Library Function Call - scope - meta.function-call support.function - variable - settings - - fontStyle - - foreground - #9D3EFF - - - - name - ™ Library Function Name - scope - support.function - settings - - background - #603F8033 - foreground - #603F80 - - - - name - ™ Function Call Arguments Punctuation - scope - punctuation.section.function, meta.brace.curly.function, meta.function-call punctuation.section.scope.ruby, meta.function-call punctuation.separator.object - settings - - fontStyle - - foreground - #BC80FF - - - - name - ™ Function Punctuation - scope - meta.group.braces.round punctuation.section.scope, -meta.group.braces.round meta.delimiter.object.comma, -meta.group.braces.curly.function meta.delimiter.object.comma, -meta.brace.round - settings - - fontStyle - bold - foreground - #BC80FF - - - - name - ™ Function Call Without Arguments - scope - meta.function-call.method.without-arguments, meta.function-call.method.without-arguments entity.name.function - settings - - foreground - #A88FC0 - - - - name - ————————————————— - settings - - - - name - ™ Keyword Control - scope - keyword.control - settings - - foreground - #F800FF - - - - name - ™ Keyword - scope - keyword - settings - - - - name - ™ Keyword other - scope - keyword.other - settings - - foreground - #7900FF - - - - name - ™ Regex Keyword - scope - source.regexp keyword.operator - settings - - - - name - ™ Keyword Operator - scope - keyword.operator, declaration.function.operator, meta.preprocessor.c.include, punctuation.separator.operator - settings - - foreground - #0000CE - - - - name - ™ Keyword Operator Assignment - scope - keyword.operator.assignment - settings - - background - #00009A33 - foreground - #0000CE - - - - name - ™ Keyword Operator Arithmetic - scope - keyword.operator.arithmetic - settings - - foreground - #2136CE - - - - name - ™ Keyword Operator Logical - scope - keyword.operator.logical - settings - - background - #00009A33 - foreground - #3759FF - - - - name - ™ Keyword Operator Comparison - scope - keyword.operator.comparison - settings - - foreground - #7C88FF - - - - name - meta.class.instance.constructor keyword.operator.new - scope - meta.class.instance.constructor keyword.operator.new - settings - - foreground - #800043 - - - - name - ————————————————— - settings - - - - name - ✘ HTML - settings - - - - name - ✘ Tag Doctype - scope - meta.doctype, meta.tag.sgml-declaration.doctype, meta.tag.sgml.doctype - settings - - background - #333333 - foreground - #CCCCCC - - - - name - ✘ Tag - scope - meta.tag - settings - - foreground - #333333 - - - - name - ✘ Tag Structure - scope - meta.tag.structure, meta.tag.segment - settings - - background - #333333BF - foreground - #666666 - - - - name - ✘ Tag Block - scope - meta.tag.block, meta.tag.xml, meta.tag.key - settings - - background - #4C4C4C33 - foreground - #4C4C4C - - - - name - ✘ Tag Inline - scope - meta.tag.inline - settings - - background - #803D0033 - foreground - #FF7900 - - - - name - meta.tag.inline source - scope - meta.tag.inline source - settings - - background - #803D0033 - - - - name - ✘ Tag Other - scope - meta.tag.other, entity.name.tag.style, entity.name.tag.script, meta.tag.block.script, source.js.embedded punctuation.definition.tag.html, source.css.embedded punctuation.definition.tag.html - settings - - background - #80000433 - foreground - #FF0007 - - - - name - ✘ Tag Form - scope - meta.tag.form, meta.tag.block.form - settings - - background - #00438033 - foreground - #0086FF - - - - name - ✘ Tag Meta - scope - meta.tag.meta - settings - - background - #3C008033 - foreground - #F800FF - - - - name - ✘ Tag Block Head - scope - meta.section.html.head - settings - - background - #121212 - - - - name - ✘ Tag Block Form - scope - meta.section.html.form - settings - - background - #0043801A - - - - name - ✘ XML Tag - scope - meta.tag.xml - settings - - foreground - #666666 - - - - name - ✘ Tag name - scope - entity.name.tag - settings - - foreground - #FFFFFF4D - - - - name - ✘ Tag attribute - scope - entity.other.attribute-name, meta.tag punctuation.definition.string - settings - - foreground - #FFFFFF33 - - - - name - ✘ Tag value - scope - meta.tag string -source -punctuation, text source text meta.tag string -punctuation - settings - - foreground - #FFFFFF66 - - - - name - ————————————————— - settings - - - - name - text meta.paragraph - scope - text meta.paragraph - settings - - foreground - #999999 - - - - name - M markup - scope - markup markup -(markup meta.paragraph.list) - settings - - background - #33333333 - foreground - #FFF800 - - - - name - M HR - scope - markup.hr - settings - - background - #FFFFFF - foreground - #000000 - - - - name - M heading - scope - markup.heading - settings - - fontStyle - - foreground - #FFFFFF - - - - name - M bold - scope - markup.bold - settings - - fontStyle - bold - foreground - #95D4FF80 - - - - name - M italic - scope - markup.italic - settings - - fontStyle - italic - - - - name - M strike - settings - - - - name - M add - settings - - - - name - M del - settings - - - - name - M underline - scope - markup.underline - settings - - fontStyle - underline - - - - name - M reference - scope - meta.reference, markup.underline.link - settings - - fontStyle - - foreground - #0086FF - - - - name - M reference name - scope - entity.name.reference - settings - - background - #00438033 - foreground - #00FFF8 - - - - name - M underline link - scope - meta.reference.list markup.underline.link, text.html.textile markup.underline.link - settings - - fontStyle - underline - foreground - #00FFF8 - - - - name - M raw block - scope - markup.raw.block - settings - - background - #80808040 - - - - name - M quote block - scope - markup.quote - settings - - background - #FFFFFF1A - - - - name - M list - scope - markup.list meta.paragraph - settings - - fontStyle - - foreground - #FFFFFF - - - - name - ————————————————— - settings - - - - name - Markdown - scope - text.html.markdown - settings - - background - #FFFFFF - foreground - #000000 - - - - name - text.html.markdown meta.paragraph - scope - text.html.markdown meta.paragraph - settings - - foreground - #000000 - - - - name - text.html.markdown markup.list meta.paragraph - scope - text.html.markdown markup.list meta.paragraph - settings - - foreground - #555555 - - - - name - text.html.markdown markup.heading - scope - text.html.markdown markup.heading - settings - - fontStyle - bold - foreground - #000000 - - - - name - text.html.markdown string - scope - text.html.markdown string - settings - - foreground - #8A5420 - - - - name - ————————————————— - settings - - - - name - § CSS - scope - source.css - settings - - - - name - § Selector - scope - meta.selector - settings - - foreground - #666666 - - - - name - Property Value Parens - scope - source.css meta.scope.property-list meta.property-value punctuation.definition.arguments, -source.css meta.scope.property-list meta.property-value punctuation.separator.arguments - settings - - fontStyle - - foreground - #006680 - - - - name - § Pseudo-Element - scope - entity.other.attribute-name.pseudo-element - settings - - foreground - #4F00FF - - - - name - § Pseudo-Class - scope - entity.other.attribute-name.pseudo-class, entity.other.attribute-name.tag.pseudo-class - settings - - foreground - #7900FF - - - - name - § Class - scope - meta.selector entity.other.attribute-name.class - settings - - foreground - #F800FF - - - - name - § ID - scope - meta.selector entity.other.attribute-name.id - settings - - foreground - #FF0086 - - - - name - § Tag - scope - meta.selector entity.name.tag - settings - - fontStyle - - foreground - #FF0007 - - - - name - § Tag Wildcard - scope - entity.name.tag.wildcard, entity.other.attribute-name.universal - settings - - fontStyle - bold - foreground - #FF7900 - - - - name - § Attribute - scope - source.css entity.other.attribute-name.attribute - settings - - foreground - #C25A00 - - - - name - § Attribute-Match - scope - source.css meta.attribute-selector keyword.operator.comparison - settings - - foreground - #673000 - - - - name - § meta.scope.property-list - scope - meta.scope.property-list - settings - - fontStyle - bold - foreground - #333333 - - - - name - § meta.property-name - scope - meta.property-name - settings - - fontStyle - - foreground - #999999 - - - - name - § support.type.property-name - scope - support.type.property-name - settings - - background - #0D0D0D - fontStyle - - foreground - #FFFFFF - - - - name - § meta.property-value - scope - meta.property-value - settings - - background - #19191980 - fontStyle - - foreground - #999999 - - - - name - ————————————————— - settings - - - - name - LaTeX - scope - text.latex - settings - - - - name - L Markup Raw - scope - text.latex markup.raw - settings - - background - #000000 - - - - name - L support.function - scope - text.latex support.function -support.function.textit -support.function.emph - settings - - foreground - #BC80FF - - - - name - L support.function.section - scope - text.latex support.function.section - settings - - foreground - #FFFFFFBF - - - - name - L entity.name.section - scope - text.latex entity.name.section -meta.group -keyword.operator.braces - settings - - background - #FFFFFF - fontStyle - - foreground - #000000 - - - - name - L constant.language.general - scope - text.latex constant.language.general - settings - - - - name - L keyword.operator.delimiter - scope - text.latex keyword.operator.delimiter - settings - - background - #00000080 - - - - name - L keyword.operator.brackets - scope - text.latex keyword.operator.brackets - settings - - foreground - #999999 - - - - name - L keyword.operator.braces - scope - text.latex keyword.operator.braces - settings - - fontStyle - - foreground - #666666 - - - - name - L meta.footnote - scope - meta.footnote - settings - - background - #00008033 - foreground - #0008FF4D - - - - name - L meta.label.reference - scope - text.latex meta.label.reference - settings - - background - #FFFFFF0D - fontStyle - - - - - name - L keyword.control.ref - scope - text.latex keyword.control.ref - settings - - background - #260001 - foreground - #FF0007 - - - - name - L variable.parameter.label.reference - scope - text.latex variable.parameter.label.reference - settings - - background - #400002 - foreground - #FFBC80 - - - - name - L keyword.control.cite - scope - text.latex keyword.control.cite - settings - - background - #260014 - foreground - #FF0086 - - - - name - L variable.parameter.cite - scope - variable.parameter.cite - settings - - background - #400022 - foreground - #FFBFE1 - - - - name - L variable.parameter.label - scope - text.latex variable.parameter.label - settings - - foreground - #FFFFFF80 - - - - name - L markup - scope - meta.function markup - settings - - foreground - #CDCDCD - - - - name - L meta.group.braces - scope - text.latex meta.group.braces - settings - - foreground - #33333333 - - - - name - L meta.environment.list - scope - text.latex meta.environment.list - settings - - background - #00000080 - fontStyle - - foreground - #33333333 - - - - name - L meta.environment.list 2 - scope - text.latex meta.environment.list meta.environment.list - settings - - background - #00000080 - foreground - #33333333 - - - - name - L meta.environment.list 3 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list - settings - - background - #000000 - foreground - #33333333 - - - - name - L meta.environment.list 4 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list - settings - - foreground - #33333333 - - - - name - L meta.environment.list 5 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list - settings - - foreground - #33333333 - - - - name - L meta.environment.list 6 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list - settings - - foreground - #33333333 - - - - name - L meta.end-document - scope - text.latex meta.end-document, text.latex meta.begin-document, meta.end-document.latex support.function, meta.end-document.latex variable.parameter, meta.begin-document.latex support.function, meta.begin-document.latex variable.parameter - settings - - background - #CCCCCC - foreground - #000000 - - - - name - ————————————————— - settings - - - - name - meta.brace.erb.return-value - scope - meta.brace.erb.return-value - settings - - background - #00805533 - foreground - #00FFAA - - - - name - source.ruby.rails.embedded.return-value.one-line - scope - source.ruby.rails.embedded.return-value.one-line - settings - - background - #8080801A - - - - name - meta.brace.erb - scope - punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html - settings - - background - #00FFF81A - foreground - #00FFF8 - - - - name - source.ruby.rails.embedded.one-line - scope - source.ruby.rails.embedded.one-line - settings - - background - #00FFF81A - - - - name - String Embedded Source - scope - source string source punctuation.section.embedded - settings - - foreground - #406180 - - - - name - source.js.embedded - scope - source.js.embedded - settings - - background - #0D0D0D - - - - name - ◊ Source - scope - source - settings - - fontStyle - - - - - name - ◊ meta.brace.erb - scope - meta.brace.erb - settings - - background - #000000 - - - - name - ◊ Source String Source - scope - source string source - settings - - background - #33333380 - foreground - #FFFFFF - - - - name - ◊ Source String Interpolated Source - scope - source string.interpolated source - settings - - background - #00000099 - foreground - #999999 - - - - name - ◊ Source Embeded Source - scope - source source, source.java.embedded - settings - - background - #3333331A - - - - name - ◊ Text - scope - text -text.xml.strict - settings - - foreground - #FFFFFF - - - - name - ◊ Text Source - scope - text source, meta.scope.django.template - settings - - background - #000000 - foreground - #CCCCCC - - - - name - ◊ Text Source Text String - settings - - - - name - ◊ Text String Source - scope - text string source - settings - - foreground - #999999 - - - - name - ◊ Text Source String Source - settings - - - - name - ◊ Text String Source String Source - scope - text string source string source - settings - - - - name - ————————————————— - settings - - - - name - Invalid - scope - invalid -invalid.SOMETHING - settings - - background - #FF0007 - fontStyle - bold - foreground - #330004 - - - - name - Invalid Value - scope - invalid.SOMETHING - settings - - fontStyle - underline - foreground - #FF3600 - - - - name - Syntax - scope - meta.syntax - settings - - foreground - #333333 - - - - name - comment - scope - comment -comment.line - settings - - background - #33333333 - foreground - #4C4C4C - - - - name - comment.line - scope - comment.line - settings - - fontStyle - italic - foreground - #4C4C4C - - - - name - Comment Punctuation - scope - comment punctuation - settings - - - - name - ✘ HTML Comment - scope - text comment.block -source - settings - - fontStyle - italic - - - - name - ————————————————— - settings - - - - name - D Diff Add - scope - markup.inserted - settings - - background - #00401E - foreground - #40FF9A - - - - name - D Diff Delete - scope - markup.deleted - settings - - background - #400022 - foreground - #FF40A3 - - - - name - D Diff Changed - scope - markup.changed - settings - - background - #803D00 - foreground - #FFFF55 - - - - name - text.subversion-commit meta.scope.changed-files - scope - text.subversion-commit meta.scope.changed-files, text.subversion-commit meta.scope.changed-files.svn meta.diff.separator - settings - - background - #000000 - foreground - #FFFFFF - - - - name - text.subversion-commit - scope - text.subversion-commit - settings - - background - #FFFFFF - foreground - #000000 - - - - name - ————————————————— - settings - - - - name - meta.delimiter - scope - punctuation.terminator, meta.delimiter, punctuation.separator.method - settings - - background - #FFFFFF03 - fontStyle - bold - foreground - #7F7F7F - - - - name - meta.delimiter.statement.js - scope - punctuation.terminator.statement, meta.delimiter.statement.js - settings - - background - #00000080 - - - - name - meta.delimiter.object.js - scope - meta.delimiter.object.js - settings - - background - #00000040 - - - - name - Bold String Quotes - scope - string.quoted.single.brace, string.quoted.double.brace - settings - - fontStyle - bold - foreground - #803D00 - - - - name - ————————————————— - settings - - - - name - ß Blog Post / Email Message - scope - text.blog, text.mail - settings - - background - #DCDCDC - foreground - #333333 - - - - name - ß Post Content - scope - text.blog text, text.mail text - settings - - background - #000000 - foreground - #CCCCCC - - - - name - ß Post Header Keys - scope - meta.header.blog keyword.other, meta.header.mail keyword.other - settings - - background - #00FFF81A - fontStyle - - foreground - #06403E - - - - name - ß Post Header Values - scope - meta.header.blog string.unquoted.blog, meta.header.mail string.unquoted - settings - - background - #FFFF551A - foreground - #803D00 - - - - name - ————————————————— - settings - - - - name - OCAML - settings - - - - name - entity.name.type.module - scope - source.ocaml entity.name.type.module - settings - - foreground - #FF0000 - - - - name - support.other.module - scope - source.ocaml support.other.module - settings - - background - #83000033 - foreground - #FF0000 - - - - name - entity.name.type.variant - scope - entity.name.type.variant - settings - - foreground - #00FFF8 - - - - name - entity.name.tag, meta.record.definition - scope - source.ocaml entity.name.tag, source.ocaml meta.record.definition - settings - - foreground - #00FF79 - - - - name - ———————— PUNCTUATION ———————— - settings - - - - name - punctuation.separator.parameters - scope - punctuation.separator.parameters - settings - - fontStyle - bold - foreground - #FFFFFF - - - - name - meta.brace.pipe - scope - meta.brace.pipe - settings - - background - #33333333 - fontStyle - - foreground - #4C4C4C - - - - name - Misc Punctuation - scope - meta.brace.erb, source.ruby.embedded.source.brace, punctuation.section.dictionary, punctuation.terminator.dictionary, punctuation.separator.object, punctuation.separator.statement, punctuation.separator.key-value.css - settings - - fontStyle - bold - foreground - #666666 - - - - name - Curly Punctuation - scope - punctuation.section.scope.curly, punctuation.section.scope - settings - - fontStyle - bold - foreground - #999999 - - - - name - Object Punctuation - scope - punctuation.separator.objects, -meta.group.braces.curly meta.delimiter.object.comma, -punctuation.separator.key-value -meta.tag, -source.ocaml punctuation.separator.match-definition - - settings - - fontStyle - bold - foreground - #0C823B - - - - name - Function Punctuation - scope - punctuation.separator.parameters.function.js,punctuation.definition.function, punctuation.separator.function-return, punctuation.separator.function-definition, punctuation.definition.arguments, punctuation.separator.arguments - settings - - foreground - #800043 - - - - name - Array Punctuation - scope - meta.group.braces.square punctuation.section.scope, meta.group.braces.square meta.delimiter.object.comma, meta.brace.square, punctuation.separator.array, punctuation.section.array, punctuation.definition.array, punctuation.definition.constant.range - settings - - background - #803D001A - fontStyle - bold - foreground - #7F5E40 - - - - name - Array, Range - scope - meta.structure.array -punctuation.definition.array, meta.definition.range -punctuation.definition.constant.range - settings - - background - #803D001A - - - - name - meta.brace.curly meta.group - scope - meta.brace.curly meta.group.css - settings - - background - #00000080 - fontStyle - - - - - name - º meta.source.embedded - scope - meta.source.embedded, entity.other.django.tagbraces - settings - - background - #00000080 - foreground - #666666 - - - - name - º meta.group.braces.round JS - scope - source.js meta.group.braces.round, meta.scope.heredoc - settings - - - - name - º Even - scope - source.ruby meta.even-tab, source.ruby meta.even-tab.group2, source.ruby meta.even-tab.group4, source.ruby meta.even-tab.group6, source.ruby meta.even-tab.group8, source.ruby meta.even-tab.group10, source.ruby meta.even-tab.group12 - - settings - - background - #00000080 - - - - name - º meta.block.slate - scope - meta.block.slate - settings - - foreground - #666666 - - - - name - º meta.block.content.slate - scope - meta.block.content.slate - settings - - foreground - #CCCCCC - - - - name - Function Group1 - scope - meta.function meta.group.braces.curly.function -(meta.group meta.group), meta.function meta.odd-tab.group1 - settings - - - - name - Group1 - scope - meta.odd-tab.group1, meta.group.braces, meta.block.slate, text.xml.strict meta.tag, meta.paren-group, meta.section - settings - - background - #0A0A0A - - - - name - Group2 - scope - meta.even-tab.group2, meta.group.braces meta.group.braces, meta.block.slate meta.block.slate, text.xml.strict meta.tag meta.tag, meta.group.braces meta.group.braces, meta.paren-group meta.paren-group, meta.section meta.section - settings - - background - #0E0E0E - - - - name - Group3 - scope - meta.odd-tab.group3, meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section - settings - - background - #111111 - - - - name - Group4 - scope - meta.even-tab.group4, meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section - settings - - background - #151515 - - - - name - Group5 - scope - meta.odd-tab.group5, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section - settings - - background - #191919 - - - - name - Group6 - scope - meta.even-tab.group6, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section - settings - - background - #1C1C1C - - - - name - Group7 - scope - meta.odd-tab.group7, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section meta.section - settings - - background - #1F1F1F - - - - name - Group8 - scope - meta.even-tab.group8, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section meta.section meta.section - settings - - background - #212121 - - - - name - Group9 - scope - meta.odd-tab.group9, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section meta.section meta.section meta.section - settings - - background - #242424 - - - - name - Group10 - scope - meta.even-tab.group10 - settings - - background - #1F1F1F - - - - name - Group11 - scope - meta.odd-tab.group11 - settings - - background - #151515 - - - - name - ———————— END ———————— - settings - - - - name - IE6 - scope - meta.property.vendor.microsoft.trident.4, -meta.property.vendor.microsoft.trident.4 support.type.property-name, -meta.property.vendor.microsoft.trident.4 punctuation.terminator.rule - settings - - fontStyle - - foreground - #1B95E2 - - - - name - IE7 - scope - meta.property.vendor.microsoft.trident.5, -meta.property.vendor.microsoft.trident.5 support.type.property-name, -meta.property.vendor.microsoft.trident.5 punctuation.separator.key-value, -meta.property.vendor.microsoft.trident.5 punctuation.terminator.rule - settings - - fontStyle - - foreground - #F5C034 - - - - uuid - 24847CB3-23BC-4BF9-861B-E39661A6DA71 - - diff --git a/themes/Brilliance Dull.tmTheme b/themes/Brilliance Dull.tmTheme deleted file mode 100644 index 39f90ae22..000000000 --- a/themes/Brilliance Dull.tmTheme +++ /dev/null @@ -1,2243 +0,0 @@ - - - - - author - Thomas Aylott - comment - by Thomas Aylott subtleGradient.com - name - Brilliance Dull - settings - - - settings - - background - #050505FA - caret - #7979B7 - foreground - #CDCDCD - invisibles - #CDCDCD1A - lineHighlight - #0000801A - selection - #2E2EE64D - - - - name - Thomas Aylott ㊷ - scope - meta.thomas_aylott - settings - - background - #FFFFFF - fontStyle - bold - foreground - #000000 - - - - name - subtleGradient.com - scope - meta.subtlegradient - settings - - background - #FFFFFF - fontStyle - underline - foreground - #555555 - - - - name - —————————————————— - scope - meta.subtlegradient - settings - - background - #FFFFFF - foreground - #E6E6E6 - - - - name - ~ String - scope - string -meta.tag -meta.doctype -string.regexp -string.literal -string.interpolated -string.quoted.literal -string.unquoted, variable.parameter.misc.css, text string source string, string.unquoted string, string.regexp string - settings - - background - #803D0033 - foreground - #D2D1AB - - - - name - ~ String Punctuation - scope - punctuation.definition.string -meta.tag - settings - - foreground - #533F2C - - - - name - ~ String Punctuation II - scope - string.regexp punctuation.definition.string, string.quoted.literal punctuation.definition.string, string.quoted.double.ruby.mod punctuation.definition.string - settings - - foreground - #FFF80033 - - - - name - ~ String Literal - scope - string.quoted.literal, string.quoted.double.ruby.mod - settings - - background - #43800033 - foreground - #A6A458 - - - - name - ~ String Unquoted - scope - string.unquoted -string.unquoted.embedded, string.quoted.double.multiline, meta.scope.heredoc - settings - - foreground - #D2BEAB - - - - name - ~ String Interpolated - scope - string.interpolated - settings - - background - #1A1A1A - foreground - #D2D1AB - - - - name - ~ String RegEx - scope - string.regexp - settings - - background - #43800033 - foreground - #A6A458 - - - - name - ~ String RegEx Group 1 - scope - string.regexp.group - settings - - background - #43800033 - - - - name - ~ String RegEx Group 2 - scope - string.regexp.group string.regexp.group - settings - - background - #43800033 - foreground - #FFFFFF66 - - - - name - ~ String RegEx Group 3 - scope - string.regexp.group string.regexp.group string.regexp.group - settings - - background - #43800033 - foreground - #FFFFFF66 - - - - name - ~ String RegEx Group 4 - scope - string.regexp.group string.regexp.group string.regexp.group string.regexp.group - settings - - background - #43800033 - foreground - #FFFFFF66 - - - - name - ~ String RegEx Character-Class - scope - string.regexp.character-class - settings - - background - #43800033 - foreground - #80A659 - - - - name - ~ String RegEx Arbitrary-Repitition - scope - string.regexp.arbitrary-repitition - settings - - background - #43800033 - foreground - #56A5A4 - - - - name - source.regexp keyword - scope - source.regexp keyword.operator - settings - - foreground - #A75980 - - - - name - ~ String RegEx Comment - scope - string.regexp comment - settings - - fontStyle - italic - foreground - #FFFFFF - - - - name - ~ Meta Group Assertion Regexp - scope - meta.group.assertion.regexp - settings - - background - #0086FF33 - - - - name - ~ Meta Assertion - scope - meta.assertion, meta.group.assertion keyword.control.group.regexp - settings - - foreground - #5780A6 - - - - name - ~ Number - scope - constant.numeric - settings - - foreground - #95A658 - - - - name - ~ Character constant - scope - constant.character - settings - - foreground - #80A659 - - - - name - ~ Built-in constant - scope - constant.language, keyword.other.unit, constant.other.java, constant.other.unit - settings - - foreground - #59A559 - - - - name - ~ Built-in constant+ - scope - constant.language.pseudo-variable - settings - - background - #04800033 - foreground - #59A559 - - - - name - ~ User-defined constant - scope - constant.other, constant.block - settings - - foreground - #57A57D - - - - name - ~ Library constant - scope - support.constant, constant.name - settings - - foreground - #56A5A4 - - - - name - ————————————————— - settings - - - - name - √ pre-defined variable - scope - variable.language, variable.other.readwrite.global.pre-defined - settings - - foreground - #5E6B6B - - - - name - √ Constant Variable - scope - variable.other.constant - settings - - foreground - #56A5A4 - - - - name - √ Library variable - scope - support.variable - settings - - background - #00807C33 - foreground - #56A5A4 - - - - name - √ global Variable - scope - variable.other.readwrite.global - settings - - background - #00438033 - foreground - #2B5252 - - - - name - √ Variable - scope - variable.other, variable.js - settings - - foreground - #5780A6 - - - - name - √ class Variable - scope - variable.other.readwrite.class - settings - - background - #0007FF33 - foreground - #5780A6 - - - - name - √ instance Variable - scope - variable.other.readwrite.instance - settings - - foreground - #555F69 - - - - name - √ Normal Variables - scope - variable.other.php, variable.other.normal - settings - - foreground - #555F69 - - - - name - √ Variable Punctuation - scope - punctuation.definition -punctuation.definition.comment, punctuation.separator.variable - settings - - foreground - #00000080 - - - - name - ————————————————— - settings - - - - name - ¢ Storage - scope - storage -storage.modifier - settings - - foreground - #A77D58 - - - - name - ¢ Entity Name Preprocessor - scope - other.preprocessor, entity.name.preprocessor - settings - - background - #803D0033 - - - - name - ~ variable.language.this.js.prototype - scope - variable.language.this.js - settings - - foreground - #666666 - - - - name - ¢ Storage Modifier - scope - storage.modifier - settings - - foreground - #533F2C - - - - name - ¢ Class name - scope - entity.name.class, entity.name.type.class, entity.name.type.module - settings - - foreground - #A7595A - - - - name - ¢ Class - scope - meta.class -meta.class.instance, declaration.class, meta.definition.class, declaration.module - settings - - background - #29161780 - foreground - #532D2D - - - - name - ¢ Library class/type - scope - support.type, support.class - settings - - background - #80000433 - foreground - #A7595A - - - - name - ¢ Instance - scope - entity.name.instance - settings - - foreground - #A7595A - - - - name - ¢ Instance.constructor - scope - meta.class.instance.constructor - settings - - background - #80004333 - - - - name - ¢ Inherited class - scope - entity.other.inherited-class, entity.name.module - settings - - background - #80000433 - foreground - #A75980 - - - - name - ¢ Class Method - scope - object.property.function, meta.definition.method - settings - - foreground - #A75980 - - - - name - ¢ Function - scope - meta.function -(meta.tell-block), meta.property.function, declaration.function - settings - - background - #80004333 - foreground - #532D40 - - - - name - ¢ Function name - scope - entity.name.function, entity.name.preprocessor - settings - - foreground - #A75980 - - - - name - ————————————————— - settings - - - - name - ™ Keyword - scope - keyword - settings - - foreground - #A459A5 - - - - name - ™ Keyword.control - scope - keyword.control - settings - - background - #3C008033 - foreground - #A459A5 - - - - name - ™ Special Function - scope - keyword.other.special-method, meta.function-call entity.name.function -(meta.function-call meta.function), support.function - variable - settings - - foreground - #8D809D - - - - name - ™ Library function - scope - support.function - variable - settings - - foreground - #634683 - - - - name - ™ Keyword.operator - scope - keyword.operator, declaration.function.operator, meta.preprocessor.c.include - settings - - fontStyle - bold - foreground - #7979B7 - - - - name - ™ keyword.operator.comparison - scope - keyword.operator.comparison - settings - - fontStyle - - foreground - #9899C8 - - - - name - ™ Function argument - scope - variable.parameter -variable.parameter.misc.css, meta.definition.method meta.definition.param-list, meta.function.method.with-arguments variable.parameter.function - settings - - background - #3C008033 - foreground - #ABACD2 - - - - name - ————————————————— - settings - - - - name - ✘ HTML - settings - - - - name - ✘ Tag Doctype - scope - meta.doctype, meta.tag.sgml-declaration.doctype, meta.tag.sgml.doctype - settings - - background - #333333 - foreground - #CDCDCD - - - - name - ✘ Tag - scope - meta.tag - settings - - foreground - #333333 - - - - name - ✘ Tag Structure - scope - meta.tag.structure, meta.tag.segment - settings - - background - #333333BF - foreground - #666666 - - - - name - ✘ Tag Block - scope - meta.tag.block, meta.tag.xml, meta.tag.key - settings - - background - #4C4C4C33 - foreground - #4C4C4C - - - - name - ✘ Tag Inline - scope - meta.tag.inline - settings - - background - #803D0033 - foreground - #A77D58 - - - - name - meta.tag.inline source - scope - meta.tag.inline source - settings - - background - #803D0033 - - - - name - ✘ Tag Other - scope - meta.tag.other, entity.name.tag.style, source entity.other.attribute-name -text.html.basic.embedded , entity.name.tag.script, meta.tag.block.script - settings - - background - #80000433 - foreground - #A7595A - - - - name - ✘ Tag Form - scope - meta.tag.form, meta.tag.block.form - settings - - background - #00438033 - foreground - #5780A6 - - - - name - ✘ Tag Meta - scope - meta.tag.meta - settings - - background - #3C008033 - foreground - #A459A5 - - - - name - ✘ Tag Block Head - scope - meta.section.html.head - settings - - background - #121212 - - - - name - ✘ Tag Block Form - scope - meta.section.html.form - settings - - background - #0043801A - - - - name - ✘ XML Tag - scope - meta.tag.xml - settings - - foreground - #666666 - - - - name - ✘ Tag name - scope - entity.name.tag - settings - - foreground - #FFFFFF4D - - - - name - ✘ Tag attribute - scope - entity.other.attribute-name, meta.tag punctuation.definition.string - settings - - foreground - #FFFFFF33 - - - - name - ✘ Tag value - scope - meta.tag string -source -punctuation, text source text meta.tag string -punctuation - settings - - foreground - #FFFFFF66 - - - - name - ————————————————— - settings - - - - name - M markdown - settings - - - - name - M markup - scope - markup markup -(markup meta.paragraph.list) - settings - - background - #33333333 - foreground - #A6A458 - - - - name - M HR - scope - markup.hr - settings - - background - #FFFFFF - foreground - #000000 - - - - name - M heading - scope - markup.heading - settings - - background - #33333380 - foreground - #666666 - - - - name - M bold - scope - markup.bold - settings - - fontStyle - bold - - - - name - M italic - scope - markup.italic - settings - - fontStyle - italic - - - - name - M strike - settings - - - - name - M add - settings - - - - name - M del - settings - - - - name - M underline - scope - markup.underline - settings - - fontStyle - underline - - - - name - M reference - scope - meta.reference, markup.underline.link - settings - - fontStyle - - foreground - #5780A6 - - - - name - M reference name - scope - entity.name.reference - settings - - background - #00438033 - foreground - #56A5A4 - - - - name - M underline link - scope - meta.reference.list markup.underline.link, text.html.textile markup.underline.link - settings - - fontStyle - underline - foreground - #56A5A4 - - - - name - M raw block - scope - markup.raw.block - settings - - background - #000000 - foreground - #999999 - - - - name - M quote block - scope - markup.quote - settings - - background - #FFFFFF1A - - - - name - ————————————————— - settings - - - - name - § CSS - scope - source.css - settings - - - - name - § Selector - scope - meta.selector - settings - - background - #00000080 - foreground - #666666 - - - - name - § Attribute-Match - scope - meta.attribute-match.css - settings - - background - #00048033 - foreground - #575AA6 - - - - name - § Pseudo-Class - scope - entity.other.attribute-name.pseudo-class, entity.other.attribute-name.tag.pseudo-class - settings - - foreground - #7C58A5 - - - - name - § Class - scope - meta.selector entity.other.attribute-name.class - settings - - foreground - #A459A5 - - - - name - § ID - scope - meta.selector entity.other.attribute-name.id - settings - - foreground - #A75980 - - - - name - § Tag - scope - meta.selector entity.name.tag - settings - - fontStyle - - foreground - #A7595A - - - - name - § Tag Wildcard - scope - entity.name.tag.wildcard, entity.other.attribute-name.universal - settings - - fontStyle - bold - foreground - #A77D58 - - - - name - § meta.scope.property-list - scope - meta.scope.property-list - settings - - fontStyle - bold - foreground - #333333 - - - - name - § meta.property-name - scope - meta.property-name - settings - - fontStyle - - foreground - #999999 - - - - name - § support.type.property-name - scope - support.type.property-name - settings - - background - #000000 - fontStyle - - foreground - #FFFFFF - - - - name - § meta.property-value - scope - meta.property-value - settings - - background - #0D0D0D - fontStyle - - foreground - #999999 - - - - name - ————————————————— - settings - - - - name - LaTeX - scope - text.latex - settings - - - - name - L Markup Raw - scope - text.latex markup.raw - settings - - background - #000000 - - - - name - L support.function - scope - text.latex support.function -support.function.textit -support.function.emph - settings - - foreground - #BDABD1 - - - - name - L support.function.section - scope - text.latex support.function.section - settings - - foreground - #FFFFFFBF - - - - name - L entity.name.section - scope - text.latex entity.name.section -meta.group -keyword.operator.braces - settings - - background - #FFFFFF - fontStyle - - foreground - #000000 - - - - name - L constant.language.general - scope - text.latex constant.language.general - settings - - - - name - L keyword.operator.delimiter - scope - text.latex keyword.operator.delimiter - settings - - background - #00000080 - - - - name - L keyword.operator.brackets - scope - text.latex keyword.operator.brackets - settings - - foreground - #999999 - - - - name - L keyword.operator.braces - scope - text.latex keyword.operator.braces - settings - - fontStyle - - foreground - #666666 - - - - name - L meta.footnote - scope - meta.footnote - settings - - background - #00048033 - foreground - #0008FF4D - - - - name - L meta.label.reference - scope - text.latex meta.label.reference - settings - - background - #FFFFFF0D - fontStyle - - - - - name - L keyword.control.ref - scope - text.latex keyword.control.ref - settings - - background - #180D0C - foreground - #A7595A - - - - name - L variable.parameter.label.reference - scope - text.latex variable.parameter.label.reference - settings - - background - #291616 - foreground - #D2BEAB - - - - name - L keyword.control.cite - scope - text.latex keyword.control.cite - settings - - background - #180D12 - foreground - #A75980 - - - - name - L variable.parameter.cite - scope - variable.parameter.cite - settings - - background - #29161F - foreground - #E8D5DE - - - - name - L variable.parameter.label - scope - text.latex variable.parameter.label - settings - - foreground - #FFFFFF80 - - - - name - L meta.group.braces - scope - text.latex meta.group.braces - settings - - foreground - #33333333 - - - - name - L meta.environment.list - scope - text.latex meta.environment.list - settings - - background - #00000080 - fontStyle - - foreground - #33333333 - - - - name - L meta.environment.list 2 - scope - text.latex meta.environment.list meta.environment.list - settings - - background - #00000080 - foreground - #33333333 - - - - name - L meta.environment.list 3 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list - settings - - background - #000000 - foreground - #33333333 - - - - name - L meta.environment.list 4 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list - settings - - foreground - #33333333 - - - - name - L meta.environment.list 5 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list - settings - - foreground - #33333333 - - - - name - L meta.environment.list 6 - scope - text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list - settings - - foreground - #33333333 - - - - name - L meta.end-document - scope - text.latex meta.end-document, text.latex meta.begin-document, meta.end-document.latex support.function, meta.end-document.latex variable.parameter, meta.begin-document.latex support.function, meta.begin-document.latex variable.parameter - settings - - background - #CDCDCD - foreground - #000000 - - - - name - ————————————————— - settings - - - - name - meta.brace.erb.return-value - scope - meta.brace.erb.return-value - settings - - background - #45815D33 - foreground - #596B61 - - - - name - source.ruby.rails.embedded.return-value.one-line - scope - source.ruby.rails.embedded.return-value.one-line - settings - - background - #66666633 - - - - name - meta.brace.erb - scope - punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html - settings - - background - #00FFF81A - foreground - #56A5A4 - - - - name - source.ruby.rails.embedded.one-line - scope - source.ruby.rails.embedded.one-line - settings - - background - #00FFF81A - - - - name - String Embedded Source - scope - source string source punctuation.section.embedded - settings - - foreground - #555F69 - - - - name - ◊ Source - scope - source - settings - - background - #000000 - fontStyle - - - - - name - ◊ meta.brace.erb - scope - meta.brace.erb - settings - - background - #000000 - - - - name - ◊ Source String Source - scope - source string source - settings - - background - #33333380 - foreground - #FFFFFF - - - - name - ◊ Source String Interpolated Source - scope - source string.interpolated source - settings - - background - #00000099 - foreground - #999999 - - - - name - ◊ Source Embeded Source - scope - source.java.embedded - settings - - background - #3333331A - - - - name - ◊ Text - scope - text -text.xml.strict - settings - - foreground - #FFFFFF - - - - name - ◊ Text Source - scope - text source, meta.scope.django.template - settings - - background - #000000 - foreground - #CCCCCC - - - - name - ◊ Text Source Text String - settings - - - - name - ◊ Text String Source - scope - text string source - settings - - foreground - #999999 - - - - name - ◊ Text Source String Source - settings - - - - name - ◊ Text String Source String Source - scope - text string source string source - settings - - - - name - ————————————————— - settings - - - - name - Syntax - scope - meta.syntax - settings - - foreground - #333333 - - - - name - Invalid - scope - invalid - settings - - background - #A7595A - fontStyle - bold - foreground - #211211 - - - - name - Comment - scope - 0comment - settings - - background - #0000FF1A - fontStyle - italic - foreground - #8F8FC3 - - - - name - Comment Punctuation - scope - comment punctuation - settings - - fontStyle - bold - foreground - #0000FF1A - - - - name - comment - scope - comment - settings - - foreground - #333333 - - - - name - Comment Punctuation - scope - comment punctuation - settings - - background - #8080800D - fontStyle - bold italic - foreground - #262626 - - - - name - ✘ HTML Comment - scope - text comment.block -source - settings - - fontStyle - italic - - - - name - ————————————————— - settings - - - - name - D Diff Add - scope - markup.inserted - settings - - background - #15281F - foreground - #81BB9E - - - - name - D Diff Delete - scope - markup.deleted - settings - - background - #400021 - foreground - #BC839F - - - - name - D Diff Changed - scope - markup.changed - settings - - background - #533F2C - foreground - #C3C38F - - - - name - text.subversion-commit meta.scope.changed-files - scope - text.subversion-commit meta.scope.changed-files, text.subversion-commit meta.scope.changed-files.svn meta.diff.separator - settings - - background - #000000 - foreground - #FFFFFF - - - - name - text.subversion-commit - scope - text.subversion-commit - settings - - background - #FFFFFF - foreground - #000000 - - - - name - ————————————————— - settings - - - - name - meta.delimiter - scope - punctuation.terminator, meta.delimiter, punctuation.separator.method - settings - - background - #FFFFFF03 - fontStyle - bold - foreground - #FFFFFF - - - - name - meta.delimiter.statement.js - scope - punctuation.terminator.statement, meta.delimiter.statement.js - settings - - background - #000000BF - - - - name - meta.delimiter.object.js - scope - meta.delimiter.object.js - settings - - background - #00000040 - - - - name - Bold String Quotes - scope - string.quoted.single.brace, string.quoted.double.brace - settings - - fontStyle - bold - foreground - #533F2C - - - - name - ————————————————— - settings - - - - name - meta.headers.blog - scope - text.blog -(text.blog text) - settings - - background - #FFFFFF - - - - name - meta.headers.blog - scope - meta.headers.blog - settings - - background - #FFFFFF - foreground - #666666 - - - - name - meta.headers.blog keyword.other.blog - scope - meta.headers.blog keyword.other.blog - settings - - background - #00FFF81A - fontStyle - - foreground - #192B2A - - - - name - meta.headers.blog string.unquoted.blog - scope - meta.headers.blog string.unquoted.blog - settings - - background - #FFFF551A - foreground - #533F2C - - - - name - ————————————————— - settings - - - - name - meta.brace.pipe - scope - meta.brace.pipe - settings - - background - #33333333 - fontStyle - - foreground - #4C4C4C - - - - name - Misc Punctuation - scope - meta.brace.erb, source.ruby.embedded.source.brace, punctuation.section.dictionary, punctuation.terminator.dictionary, punctuation.separator.object - settings - - fontStyle - bold - foreground - #4C4C4C - - - - name - Curly Punctuation - scope - meta.group.braces.curly punctuation.section.scope, meta.brace.curly - settings - - fontStyle - bold - foreground - #FFFFFF - - - - name - Object Punctuation - scope - punctuation.separator.objects, meta.group.braces.curly meta.delimiter.object.comma, punctuation.separator.key-value -meta.tag - settings - - fontStyle - bold - foreground - #345743 - - - - name - Array Punctuation - scope - meta.group.braces.square punctuation.section.scope, meta.group.braces.square meta.delimiter.object.comma, meta.brace.square, punctuation.separator.array, punctuation.section.array - settings - - background - #803D001A - fontStyle - bold - foreground - #695F55 - - - - name - meta.brace.curly meta.group - scope - meta.brace.curly meta.group - settings - - background - #00000080 - fontStyle - - foreground - #CDCDCD - - - - name - Function Punctuation - scope - meta.group.braces.round punctuation.section.scope, meta.group.braces.round meta.delimiter.object.comma, meta.brace.round - settings - - fontStyle - bold - foreground - #532D40 - - - - name - meta.brace.curly.function - scope - punctuation.section.function, meta.brace.curly.function, meta.function-call punctuation.section.scope.ruby - settings - - background - #3C008033 - fontStyle - - foreground - #ABACD2 - - - - name - º meta.source.embedded - scope - meta.source.embedded, entity.other.django.tagbraces - settings - - background - #00000080 - foreground - #666666 - - - - name - º meta.group.braces.round JS - scope - source.js meta.group.braces.round, meta.scope.heredoc - settings - - - - name - º meta.group.braces 1 - scope - meta.odd-tab.group1, meta.group.braces, meta.block.slate, text.xml.strict meta.tag, meta.tell-block meta.tell-block - settings - - background - #0A0A0A - - - - name - º meta.group.braces 2 - scope - meta.even-tab.group2, meta.group.braces meta.group.braces, meta.block.slate meta.block.slate, text.xml.strict meta.tag meta.tag, meta.group.braces meta.group.braces, meta.tell-block meta.tell-block - settings - - background - #0E0E0E - - - - name - º meta.group.braces 3 - scope - meta.odd-tab.group3, meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block - settings - - background - #111111 - - - - name - º meta.group.braces 4 - scope - meta.even-tab.group4, meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block - settings - - background - #151515 - - - - name - º meta.group.braces 5 - scope - meta.odd-tab.group5, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block - settings - - background - #191919 - - - - name - º meta.group.braces 6 - scope - meta.even-tab.group6, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block - settings - - background - #1C1C1C - - - - name - º meta.group.braces 7 - scope - meta.odd-tab.group7, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block - settings - - background - #1F1F1F - - - - name - º meta.group.braces 8 - scope - meta.even-tab.group8, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block - settings - - background - #212121 - - - - name - º meta.group.braces 9 - scope - meta.odd-tab.group11, meta.odd-tab.group10, meta.odd-tab.group9, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block - settings - - background - #242424 - - - - name - º meta.block.slate - scope - meta.block.slate - settings - - foreground - #666666 - - - - name - º meta.block.content.slate - scope - meta.block.content.slate - settings - - foreground - #CDCDCD - - - - name - ————————————————— - settings - - - - uuid - 4535004C-927A-401A-A6D5-1C9AC89E24C6 - - diff --git a/themes/Cobalt.tmTheme b/themes/Cobalt.tmTheme deleted file mode 100644 index 3c685f253..000000000 --- a/themes/Cobalt.tmTheme +++ /dev/null @@ -1,559 +0,0 @@ - - - - - author - Jacob Rus - comment - Created by Jacob Rus. Based on ‘Slate’ by Wilson Miner - name - Cobalt - settings - - - settings - - background - #002240 - caret - #FFFFFF - foreground - #FFFFFF - invisibles - #FFFFFF26 - lineHighlight - #00000059 - selection - #B36539BF - - - - name - Punctuation - scope - punctuation - (punctuation.definition.string | punctuation.definition.comment) - settings - - fontStyle - - foreground - #E1EFFF - - - - name - Constant - scope - constant - settings - - fontStyle - - foreground - #FF628C - - - - name - Entity - scope - entity - settings - - fontStyle - - foreground - #FFDD00 - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #FF9D00 - - - - name - Storage - scope - storage - settings - - fontStyle - - foreground - #FFEE80 - - - - name - String - scope - string -string.unquoted.old-plist -string.unquoted.heredoc, string.unquoted.heredoc string - settings - - fontStyle - - foreground - #3AD900 - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #0088FF - - - - name - Support - scope - support - settings - - fontStyle - - foreground - #80FFBB - - - - name - Variable - scope - variable - settings - - fontStyle - - foreground - #CCCCCC - - - - name - Lang Variable - scope - variable.language - settings - - fontStyle - - foreground - #FF80E1 - - - - name - Function Call - scope - meta.function-call - settings - - foreground - #FFEE80 - - - - name - Invalid - scope - invalid - settings - - background - #800F00 - foreground - #F8F8F8 - - - - name - Embedded Source - scope - text source, string.unquoted.heredoc, source source - settings - - background - #223545 - fontStyle - - foreground - #FFFFFF - - - - name - Entity inherited-class - scope - entity.other.inherited-class - settings - - fontStyle - italic - foreground - #80FCFF - - - - name - String embedded-source - scope - string.quoted source - settings - - fontStyle - - foreground - #9EFF80 - - - - name - String constant - scope - string constant - settings - - foreground - #80FF82 - - - - name - String.regexp - scope - string.regexp - settings - - foreground - #80FFC2 - - - - name - String variable - scope - string variable - settings - - foreground - #EDEF7D - - - - name - Support.function - scope - support.function - settings - - fontStyle - - foreground - #FFB054 - - - - name - Support.constant - scope - support.constant - settings - - fontStyle - - foreground - #EB939A - - - - name - Exception - scope - support.type.exception - settings - - foreground - #FF1E00 - - - - name - C/C++ Preprocessor Line - scope - meta.preprocessor.c - settings - - foreground - #8996A8 - - - - name - C/C++ Preprocessor Directive - scope - meta.preprocessor.c keyword - settings - - foreground - #AFC4DB - - - - name - Doctype/XML Processing - scope - meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string - settings - - foreground - #73817D - - - - name - Meta.tag.A - scope - meta.tag, meta.tag entity - settings - - foreground - #9EFFFF - - - - name - css tag-name - scope - meta.selector.css entity.name.tag - settings - - foreground - #9EFFFF - - - - name - css#id - scope - meta.selector.css entity.other.attribute-name.id - settings - - foreground - #FFB454 - - - - name - css.class - scope - meta.selector.css entity.other.attribute-name.class - settings - - foreground - #5FE461 - - - - name - css property-name: - scope - support.type.property-name.css - settings - - foreground - #9DF39F - - - - name - css property-value; - scope - meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css - settings - - foreground - #F6F080 - - - - name - css @at-rule - scope - meta.preprocessor.at-rule keyword.control.at-rule - settings - - foreground - #F6AA11 - - - - name - css additional-constants - scope - meta.property-value support.constant.named-color.css, meta.property-value constant - settings - - foreground - #EDF080 - - - - name - css constructor.argument - scope - meta.constructor.argument.css - settings - - foreground - #EB939A - - - - name - diff.header - scope - meta.diff, meta.diff.header - settings - - background - #000E1A - fontStyle - - foreground - #F8F8F8 - - - - name - diff.deleted - scope - markup.deleted - settings - - background - #4C0900 - foreground - #F8F8F8 - - - - name - diff.changed - scope - markup.changed - settings - - background - #806F00 - foreground - #F8F8F8 - - - - name - diff.inserted - scope - markup.inserted - settings - - background - #154F00 - foreground - #F8F8F8 - - - - name - Raw Markup - scope - markup.raw - settings - - background - #8FDDF630 - - - - name - Block Quote - scope - markup.quote - settings - - background - #004480 - - - - name - List - scope - markup.list - settings - - background - #130D26 - - - - name - Bold Markup - scope - markup.bold - settings - - fontStyle - bold - foreground - #C1AFFF - - - - name - Italic Markup - scope - markup.italic - settings - - fontStyle - italic - foreground - #B8FFD9 - - - - name - Heading Markup - scope - markup.heading - settings - - background - #001221 - fontStyle - bold - foreground - #C8E4FD - - - - uuid - 06CD1FB2-A00A-4F8C-97B2-60E131980454 - - diff --git a/themes/Dawn.tmTheme b/themes/Dawn.tmTheme deleted file mode 100644 index 12cff9b6e..000000000 --- a/themes/Dawn.tmTheme +++ /dev/null @@ -1,437 +0,0 @@ - - - - - author - David Powers - comment - Dawn - name - Dawn - settings - - - settings - - background - #F9F9F9 - caret - #000000 - foreground - #080808 - invisibles - #4B4B7E80 - lineHighlight - #2463B41F - selection - #275FFF4D - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #5A525F - - - - name - Constant - scope - constant - settings - - fontStyle - bold - foreground - #811F24 - - - - name - Entity - scope - entity - settings - - fontStyle - - foreground - #BF4F24 - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #794938 - - - - name - Storage - scope - storage - settings - - fontStyle - italic - foreground - #A71D5D - - - - name - String - scope - string | punctuation.definition.string - settings - - fontStyle - - foreground - #0B6125 - - - - name - Support - scope - support - settings - - fontStyle - - foreground - #691C97 - - - - name - Variable - scope - variable - settings - - fontStyle - - foreground - #234A97 - - - - name - Punctuation.separator - scope - punctuation.separator - settings - - foreground - #794938 - - - - name - Invalid – Deprecated - scope - invalid.deprecated - settings - - fontStyle - bold italic underline - foreground - #B52A1D - - - - name - Invalid – Illegal - scope - invalid.illegal - settings - - background - #B52A1D - fontStyle - italic underline - foreground - #F8F8F8 - - - - name - String embedded-source - scope - string source - settings - - background - #6F8BBA26 - fontStyle - - foreground - #080808 - - - - name - String constant - scope - string constant - settings - - fontStyle - bold - foreground - #696969 - - - - name - String variable - scope - string variable - settings - - fontStyle - - foreground - #234A97 - - - - name - String.regexp - scope - string.regexp - settings - - fontStyle - - foreground - #CF5628 - - - - name - String.regexp.«special» - scope - string.regexp.character-class, string.regexp constant.character.escaped, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition - settings - - fontStyle - bold italic - foreground - #CF5628 - - - - name - String.regexp constant.character.escape - scope - string.regexp constant.character.escape - settings - - fontStyle - bold - foreground - #811F24 - - - - name - Embedded Source - scope - text source - settings - - background - #6F8BBA26 - - - - name - Support.function - scope - support.function - settings - - fontStyle - - foreground - #693A17 - - - - name - Support.constant - scope - support.constant - settings - - fontStyle - - foreground - #B4371F - - - - name - Support.variable - scope - support.variable - settings - - foreground - #234A97 - - - - name - Markup.list - scope - markup.list - settings - - foreground - #693A17 - - - - name - Markup.heading - scope - markup.heading | markup.heading entity.name - settings - - fontStyle - bold - foreground - #19356D - - - - name - Markup.quote - scope - markup.quote - settings - - background - #BBBBBB30 - fontStyle - italic - foreground - #0B6125 - - - - name - Markup.italic - scope - markup.italic - settings - - fontStyle - italic - foreground - #080808 - - - - name - Markup.bold - scope - markup.bold - settings - - fontStyle - bold - foreground - #080808 - - - - name - Markup.underline - scope - markup.underline - settings - - fontStyle - underline - foreground - #080808 - - - - name - Markup.link - scope - markup.link - settings - - fontStyle - italic underline - foreground - #234A97 - - - - name - Markup.raw - scope - markup.raw - settings - - background - #BBBBBB30 - fontStyle - - foreground - #234A97 - - - - name - Markup.deleted - scope - markup.deleted - settings - - foreground - #59140E - - - - name - Meta.separator - scope - meta.separator - settings - - background - #DCDCDC - fontStyle - bold - foreground - #19356D - - - - uuid - E7E82498-F9EA-49A6-A0D8-12327EA46B01 - - diff --git a/themes/Espresso Libre.tmTheme b/themes/Espresso Libre.tmTheme deleted file mode 100644 index 2ccae6448..000000000 --- a/themes/Espresso Libre.tmTheme +++ /dev/null @@ -1,402 +0,0 @@ - - - - - author - Chris Thomas - name - Espresso Libre - settings - - - settings - - background - #2A211C - caret - #889AFF - foreground - #BDAE9D - invisibles - #BFBFBF - lineHighlight - #3A312C - selection - #C3DCFF - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #0066FF - - - - name - Keyword - scope - keyword, storage - settings - - fontStyle - bold - foreground - #43A8ED - - - - name - Number - scope - constant.numeric - settings - - fontStyle - - foreground - #44AA43 - - - - name - User-defined constant - scope - constant - settings - - fontStyle - bold - foreground - #C5656B - - - - name - Built-in constant - scope - constant.language - settings - - fontStyle - bold - foreground - #585CF6 - - - - name - Variable - scope - variable.language, variable.other - settings - - fontStyle - - foreground - #318495 - - - - name - String - scope - string - settings - - fontStyle - - foreground - #049B0A - - - - name - String interpolation - scope - constant.character.escape, string source - settings - - fontStyle - - foreground - #2FE420 - - - - name - Preprocessor line - scope - meta.preprocessor - settings - - fontStyle - - foreground - #1A921C - - - - name - Preprocessor directive - scope - keyword.control.import - settings - - fontStyle - bold - foreground - #9AFF87 - - - - name - Function name - scope - entity.name.function, keyword.other.name-of-parameter.objc - settings - - fontStyle - bold - foreground - #FF9358 - - - - name - Type name - scope - entity.name.type - settings - - fontStyle - underline - - - - name - Inherited class name - scope - entity.other.inherited-class - settings - - fontStyle - italic - - - - name - Function parameter - scope - variable.parameter - settings - - fontStyle - italic - - - - name - Function argument and result types - scope - storage.type.method - settings - - fontStyle - - foreground - #8B8E9C - - - - name - Section - scope - meta.section entity.name.section, declaration.section entity.name.section - settings - - fontStyle - italic - - - - name - Library function - scope - support.function - settings - - fontStyle - bold - foreground - #7290D9 - - - - name - Library object - scope - support.class, support.type - settings - - fontStyle - bold - foreground - #6D79DE - - - - name - Library constant - scope - support.constant - settings - - fontStyle - bold - foreground - #00AF0E - - - - name - Library variable - scope - support.variable - settings - - fontStyle - bold - foreground - #2F5FE0 - - - - name - JS: Operator - scope - keyword.operator.js - settings - - foreground - #687687 - - - - name - Invalid - scope - invalid - settings - - background - #990000 - foreground - #FFFFFF - - - - name - Invalid trailing whitespace - scope - invalid.deprecated.trailing-whitespace - settings - - background - #FFD0D0 - - - - name - Embedded source - scope - text source, string.unquoted - settings - - background - #F5AA7730 - - - - name - Markup XML declaration - scope - meta.tag.preprocessor.xml - settings - - fontStyle - - foreground - #8F7E65 - - - - name - Markup DOCTYPE - scope - meta.tag.sgml.doctype - settings - - fontStyle - - foreground - #888888 - - - - name - Markup DTD - scope - string.quoted.docinfo.doctype.DTD - settings - - fontStyle - italic - - - - name - Markup tag - scope - meta.tag, declaration.tag - settings - - fontStyle - - foreground - #43A8ED - - - - name - Markup name of tag - scope - entity.name.tag - settings - - fontStyle - bold - - - - name - Markup tag attribute - scope - entity.other.attribute-name - settings - - fontStyle - italic - - - - uuid - 6B90703E-4E4B-43C8-9D32-921BEDF6D725 - - diff --git a/themes/IDLE.tmTheme b/themes/IDLE.tmTheme deleted file mode 100644 index 704296f5c..000000000 --- a/themes/IDLE.tmTheme +++ /dev/null @@ -1,235 +0,0 @@ - - - - - author - Domenico Carbotta - name - IDLE - settings - - - settings - - background - #FFFFFF - caret - #000000 - foreground - #000000 - invisibles - #BFBFBF - lineHighlight - #00000012 - selection - #BAD6FD - - - - name - Comment - scope - comment - settings - - foreground - #919191 - - - - name - String - scope - string - settings - - foreground - #00A33F - - - - name - Number - scope - constant.numeric - settings - - - - name - Built-in constant - scope - constant.language - settings - - foreground - #A535AE - - - - name - User-defined constant - scope - constant.character, constant.other - settings - - - - name - Variable - scope - variable.language, variable.other - settings - - - - name - Keyword - scope - keyword - settings - - foreground - #FF5600 - - - - name - Storage - scope - storage - settings - - foreground - #FF5600 - - - - name - Type name - scope - entity.name.type - settings - - foreground - #21439C - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - - - name - Function name - scope - entity.name.function - settings - - foreground - #21439C - - - - name - Function argument - scope - variable.parameter - settings - - - - name - Tag name - scope - entity.name.tag - settings - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - - - name - Library function - scope - support.function - settings - - foreground - #A535AE - - - - name - Library constant - scope - support.constant - settings - - foreground - #A535AE - - - - name - Library class/type - scope - support.type, support.class - settings - - foreground - #A535AE - - - - name - Library variable - scope - support.variable - settings - - foreground - #A535AE - - - - name - Invalid - scope - invalid - settings - - background - #990000 - foreground - #FFFFFF - - - - name - String interpolation - scope - constant.other.placeholder.py - settings - - fontStyle - - foreground - #990000 - - - - uuid - DDC0CBE1-442B-4CB5-80E4-26E4CFB3A277 - - diff --git a/themes/IR_Black.tmTheme b/themes/IR_Black.tmTheme deleted file mode 100644 index cbc18d0b9..000000000 --- a/themes/IR_Black.tmTheme +++ /dev/null @@ -1,810 +0,0 @@ - - - - - name - IR_Black - settings - - - settings - - background - #000000 - caret - #FFFFFF - foreground - #EDEDED - invisibles - #CAE2FB3D - lineHighlight - #FFFFFF24 - selection - #333333 - - - - name - Comment - scope - comment - settings - - fontStyle - - foreground - #7C7C7C - - - - name - Entity - scope - entity - settings - - fontStyle - - foreground - #FFD2A7 - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #96CBFE - - - - name - Keyword.control - scope - keyword.control - settings - - fontStyle - - foreground - #96CBFE - - - - name - Keyword.Operator - scope - keyword.operator - settings - - foreground - #EDEDED - - - - name - Class - scope - entity.name.type - settings - - fontStyle - underline - foreground - #FFFFB6 - - - - name - Support - scope - support - settings - - fontStyle - - foreground - #FFFFB6 - - - - name - Storage - scope - storage - settings - - fontStyle - - foreground - #CFCB90 - - - - name - Storage.modifier - scope - storage.modifier - settings - - fontStyle - - foreground - #96CBFE - - - - name - Constant - scope - constant - settings - - fontStyle - - foreground - #99CC99 - - - - name - String - scope - string - settings - - fontStyle - bold - foreground - #A8FF60 - - - - name - Number - scope - constant.numeric - settings - - fontStyle - bold - foreground - #FF73FD - - - - name - Punctuation - scope - punctuation - settings - - fontStyle - - - - - name - Variable - scope - variable - settings - - fontStyle - - foreground - #C6C5FE - - - - name - Invalid – Deprecated - scope - invalid.deprecated - settings - - fontStyle - italic underline - foreground - #FD5FF1 - - - - name - Invalid – Illegal - scope - invalid.illegal - settings - - background - #562D56BF - foreground - #FD5FF1 - - - - name - ----------------------------------- - settings - - - - name - ♦ Embedded Source (Bright) - scope - text source - settings - - background - #B1B3BA08 - fontStyle - - - - - name - ♦ Entity inherited-class - scope - entity.other.inherited-class - settings - - fontStyle - italic - foreground - #9B5C2E - - - - name - ♦ String embedded-variable - scope - source string source - settings - - fontStyle - - foreground - #EDEDED - - - - name - ♦ String punctuation - scope - source string source punctuation.section.embedded - settings - - fontStyle - - foreground - #00A0A0 - - - - name - ♦ String constant - scope - string constant - settings - - fontStyle - - foreground - #00A0A0 - - - - name - ♦ String.regexp - scope - string.regexp - settings - - foreground - #E9C062 - - - - name - ♦ String.regexp.«special» - scope - string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition - settings - - fontStyle - - foreground - #FF8000 - - - - name - ♦ String.regexp.group - scope - string.regexp.group - settings - - background - #FFFFFF0F - fontStyle - - foreground - #C6A24F - - - - name - ♦ String.regexp.character-class - scope - string.regexp.character-class - settings - - fontStyle - - foreground - #B18A3D - - - - name - ♦ String variable - scope - string variable - settings - - fontStyle - - foreground - #8A9A95 - - - - name - ♦ Support.function - scope - support.function - settings - - fontStyle - - foreground - #DAD085 - - - - name - ♦ Support.constant - scope - support.constant - settings - - fontStyle - - foreground - #FFD2A7 - - - - name - c C/C++ Preprocessor Line - scope - meta.preprocessor.c - settings - - foreground - #8996A8 - - - - name - c C/C++ Preprocessor Directive - scope - meta.preprocessor.c keyword - settings - - fontStyle - - foreground - #AFC4DB - - - - name - j Cast - scope - meta.cast - settings - - fontStyle - italic - foreground - #676767 - - - - name - ✘ Doctype/XML Processing - scope - meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string - settings - - foreground - #494949 - - - - name - ✘ Meta.tag.«all» - scope - meta.tag, meta.tag entity - settings - - fontStyle - bold - foreground - #96CBFE - - - - name - ✘ Meta.tag.inline - scope - source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity - settings - - fontStyle - - foreground - #96CBFE - - - - name - ✘ Meta.tag.attribute-name - scope - entity.other.attribute-name - settings - - fontStyle - - foreground - #FFD7B1 - - - - name - ✘ Namespaces - scope - entity.name.tag.namespace, entity.other.attribute-name.namespace - settings - - fontStyle - - foreground - #E18964 - - - - name - § css tag-name - scope - meta.selector.css entity.name.tag - settings - - fontStyle - underline - foreground - #96CBFE - - - - name - § css:pseudo-class - scope - meta.selector.css entity.other.attribute-name.tag.pseudo-class - settings - - fontStyle - - foreground - #8F9D6A - - - - name - § css#id - scope - meta.selector.css entity.other.attribute-name.id - settings - - fontStyle - - foreground - #8B98AB - - - - name - § css.class - scope - meta.selector.css entity.other.attribute-name.class - settings - - fontStyle - - foreground - #62B1FE - - - - name - § css property-name: - scope - support.type.property-name.css - settings - - foreground - #EDEDED - - - - name - § css property-value; - scope - meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css - settings - - fontStyle - - foreground - #F9EE98 - - - - name - § css @at-rule - scope - meta.preprocessor.at-rule keyword.control.at-rule - settings - - foreground - #8693A5 - - - - name - § css additional-constants - scope - meta.property-value support.constant.named-color.css, meta.property-value constant - settings - - fontStyle - - foreground - #87C38A - - - - name - § css constructor.argument - scope - meta.constructor.argument.css - settings - - foreground - #8F9D6A - - - - name - ⎇ diff.header - scope - meta.diff, meta.diff.header - settings - - background - #0E2231 - fontStyle - italic - foreground - #F8F8F8 - - - - name - ⎇ diff.deleted - scope - markup.deleted - settings - - background - #420E09 - foreground - #F8F8F8 - - - - name - ⎇ diff.changed - scope - markup.changed - settings - - background - #4A410D - foreground - #F8F8F8 - - - - name - ⎇ diff.inserted - scope - markup.inserted - settings - - background - #253B22 - foreground - #F8F8F8 - - - - name - -------------------------------- - settings - - - - name - Markup: Italic - scope - markup.italic - settings - - fontStyle - italic - foreground - #E9C062 - - - - name - Markup: Bold - scope - markup.bold - settings - - fontStyle - bold - foreground - #E9C062 - - - - name - Markup: Underline - scope - markup.underline - settings - - fontStyle - underline - foreground - #E18964 - - - - name - Markup: Quote - scope - markup.quote - settings - - background - #FEE09C12 - fontStyle - italic - foreground - #E1D4B9 - - - - name - Markup: Heading - scope - markup.heading, markup.heading entity - settings - - background - #632D04 - fontStyle - - foreground - #FEDCC5 - - - - name - Markup: List - scope - markup.list - settings - - foreground - #E1D4B9 - - - - name - Markup: Raw - scope - markup.raw - settings - - background - #B1B3BA08 - fontStyle - - foreground - #578BB3 - - - - name - Markup: Comment - scope - markup comment - settings - - fontStyle - italic - foreground - #F67B37 - - - - name - Markup: Separator - scope - meta.separator - settings - - background - #242424 - foreground - #60A633 - - - - name - Log Entry - scope - meta.line.entry.logfile, meta.line.exit.logfile - settings - - background - #EEEEEE29 - - - - name - Log Entry Error - scope - meta.line.error.logfile - settings - - background - #751012 - - - - uuid - D039AEA9-9DD2-4237-A963-E84494B0B3FB - - diff --git a/themes/LAZY.tmTheme b/themes/LAZY.tmTheme deleted file mode 100644 index 09ff51116..000000000 --- a/themes/LAZY.tmTheme +++ /dev/null @@ -1,291 +0,0 @@ - - - - - author - Domenico Carbotta - name - LAZY - settings - - - settings - - background - #FFFFFF - caret - #7C7C7C - foreground - #000000 - invisibles - #B6B6B6 - lineHighlight - #EFFCA68F - selection - #E3FC8D - - - - name - Comment - scope - comment - settings - - fontStyle - - foreground - #8C868F - - - - name - Constant - scope - constant - settings - - fontStyle - - foreground - #3B5BB5 - - - - name - Entity - scope - entity - settings - - fontStyle - - foreground - #3B5BB5 - - - - name - Latex Entity - scope - text.tex.latex entity - settings - - fontStyle - - foreground - #D62A28 - - - - name - Keyword - scope - keyword, storage - settings - - fontStyle - - foreground - #FF7800 - - - - name - String - scope - string, meta.verbatim - settings - - fontStyle - - foreground - #409B1C - - - - name - Support - scope - support - settings - - fontStyle - - foreground - #3B5BB5 - - - - name - Variable - scope - variable - settings - - fontStyle - - - - - name - Invalid – Deprecated - scope - invalid.deprecated - settings - - fontStyle - italic - foreground - #990000 - - - - name - Invalid – Illegal - scope - invalid.illegal - settings - - background - #9D1E15 - foreground - #F8F8F8 - - - - name - Superclass - scope - entity.other.inherited-class - settings - - fontStyle - italic - foreground - #3B5BB5 - - - - name - String interpolation - scope - string constant.other.placeholder - settings - - fontStyle - - foreground - #671EBB - - - - name - meta.function-call.py - scope - meta.function-call.py - settings - - fontStyle - - foreground - #3E4558 - - - - name - meta.tag - scope - meta.tag, meta.tag entity - settings - - foreground - #3A4A64 - - - - name - OCaml variant - scope - keyword.type.variant - settings - - fontStyle - - foreground - #7F90AA - - - - name - OCaml operator - scope - source.ocaml keyword.operator - settings - - foreground - #000000 - - - - name - OCaml infix operator - scope - source.ocaml keyword.operator.symbol.infix - settings - - fontStyle - - foreground - #3B5BB5 - - - - name - OCaml prefix operator - scope - source.ocaml keyword.operator.symbol.prefix - settings - - foreground - #3B5BB5 - - - - name - OCaml infix f-p operator - scope - source.ocaml keyword.operator.symbol.infix.floating-point - settings - - fontStyle - underline - - - - name - OCaml prefix f-p operator - scope - source.ocaml keyword.operator.symbol.prefix.floating-point - settings - - fontStyle - underline - - - - name - OCaml f-p constant - scope - source.ocaml constant.numeric.floating-point - settings - - fontStyle - underline - - - - uuid - A1E55FCB-3CD2-4811-9E73-D9B87419443A - - diff --git a/themes/Mac Classic.tmTheme b/themes/Mac Classic.tmTheme deleted file mode 100644 index 4b789dfea..000000000 --- a/themes/Mac Classic.tmTheme +++ /dev/null @@ -1,450 +0,0 @@ - - - - - author - Chris Thomas - name - Mac Classic - settings - - - settings - - background - #FFFFFF - caret - #000000 - foreground - #000000 - invisibles - #BFBFBF - lineHighlight - #00000012 - selection - #4D97FF54 - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #0066FF - - - - name - Keyword - scope - keyword, storage - settings - - fontStyle - bold - foreground - #0000FF - - - - name - Number - scope - constant.numeric - settings - - fontStyle - - foreground - #0000CD - - - - name - User-defined constant - scope - constant - settings - - fontStyle - bold - foreground - #C5060B - - - - name - Built-in constant - scope - constant.language - settings - - fontStyle - bold - foreground - #585CF6 - - - - name - Variable - scope - variable.language, variable.other - settings - - fontStyle - - foreground - #318495 - - - - name - String - scope - string - settings - - fontStyle - - foreground - #036A07 - - - - name - String interpolation - scope - constant.character.escape, string source - settings - - fontStyle - - foreground - #26B31A - - - - name - Preprocessor line - scope - meta.preprocessor - settings - - fontStyle - - foreground - #1A921C - - - - name - Preprocessor directive - scope - keyword.control.import - settings - - fontStyle - bold - foreground - #0C450D - - - - name - Function name - scope - entity.name.function, support.function.any-method - settings - - fontStyle - bold - foreground - #0000A2 - - - - name - Type name - scope - entity.name.type - settings - - fontStyle - underline - - - - name - Inherited class name - scope - entity.other.inherited-class - settings - - fontStyle - italic - - - - name - Function parameter - scope - variable.parameter - settings - - fontStyle - italic - - - - name - Function argument and result types - scope - storage.type.method - settings - - fontStyle - - foreground - #70727E - - - - name - Section - scope - meta.section entity.name.section, declaration.section entity.name.section - settings - - fontStyle - italic - - - - name - Library function - scope - support.function - settings - - fontStyle - bold - foreground - #3C4C72 - - - - name - Library object - scope - support.class, support.type - settings - - fontStyle - bold - foreground - #6D79DE - - - - name - Library constant - scope - support.constant - settings - - fontStyle - bold - foreground - #06960E - - - - name - Library variable - scope - support.variable - settings - - fontStyle - bold - foreground - #21439C - - - - name - JS: Operator - scope - keyword.operator.js - settings - - foreground - #687687 - - - - name - Invalid - scope - invalid - settings - - background - #990000 - foreground - #FFFFFF - - - - name - Invalid trailing whitespace - scope - invalid.deprecated.trailing-whitespace - settings - - background - #FFD0D0 - - - - name - Embedded source - scope - text source, string.unquoted - settings - - background - #0000000D - - - - name - Embedded embedded source - scope - text source string.unquoted, text source text source - settings - - background - #0000000F - - - - name - Markup XML declaration - scope - meta.tag.preprocessor.xml - settings - - fontStyle - - foreground - #68685B - - - - name - Markup DOCTYPE - scope - meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.sgml.doctype string, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string - settings - - fontStyle - - foreground - #888888 - - - - name - Markup DTD - scope - string.quoted.docinfo.doctype.DTD - settings - - fontStyle - italic - - - - name - Markup tag - scope - meta.tag, declaration.tag - settings - - fontStyle - - foreground - #1C02FF - - - - name - Markup name of tag - scope - entity.name.tag - settings - - fontStyle - bold - - - - name - Markup tag attribute - scope - entity.other.attribute-name - settings - - fontStyle - italic - - - - name - Markup: Heading - scope - markup.heading - settings - - fontStyle - bold - foreground - #0C07FF - - - - name - Markup: Quote - scope - markup.quote - settings - - fontStyle - italic - foreground - #000000 - - - - name - Markup: List - scope - markup.list - settings - - foreground - #B90690 - - - - uuid - 71D40D9D-AE48-11D9-920A-000D93589AF6 - - diff --git a/themes/MagicWB (Amiga).tmTheme b/themes/MagicWB (Amiga).tmTheme deleted file mode 100644 index 7897886b1..000000000 --- a/themes/MagicWB (Amiga).tmTheme +++ /dev/null @@ -1,376 +0,0 @@ - - - - - author - Allan Odgaard - comment - Inspired by the original 8 MagicWB colors from Martin Huttenloher - name - MagicWB (Amiga) - settings - - - settings - - background - #969696 - caret - #FFFFFF - foreground - #000000 - invisibles - #FF38FF - lineHighlight - #00000012 - selection - #B1B1B1 - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #8D2E75 - - - - name - String - scope - string - settings - - background - #FF000033 - fontStyle - - foreground - #FFFFFF - - - - name - Number - scope - constant.numeric - settings - - foreground - #FFFFFF - - - - name - Constant: Built-in - scope - constant.language - settings - - fontStyle - bold - foreground - #FFA995 - - - - name - Constant: User-defined - scope - constant.character, constant.other - settings - - background - #0000FF33 - fontStyle - - foreground - #FFA995 - - - - name - Variable - scope - variable.language, variable.other - settings - - foreground - #FFA995 - - - - name - Keyword - scope - keyword - settings - - fontStyle - bold - - - - name - Storage - scope - storage - settings - - fontStyle - bold - foreground - #3A68A3 - - - - name - Type Name - scope - entity.name.type - settings - - fontStyle - underline - - - - name - Inherited Class - scope - entity.other.inherited-class - settings - - fontStyle - italic - - - - name - Function Name - scope - entity.name.function - settings - - fontStyle - - foreground - #FFA995 - - - - name - Function Argument - scope - variable.parameter - settings - - fontStyle - italic - - - - name - Entity Name - scope - entity.name - settings - - fontStyle - bold - foreground - #0000FF - - - - name - Tag Attribute - scope - entity.other.attribute-name - settings - - fontStyle - italic - foreground - #3A68A3 - - - - name - Library Function - scope - support.function - settings - - foreground - #E5B3FF - - - - name - Objective-C Method Call - scope - support.function.any-method - settings - - fontStyle - - foreground - #000000 - - - - name - Objective-C Method Call - : - scope - support.function.any-method - punctuation - settings - - fontStyle - italic - - - - name - Library Constant - scope - support.constant - settings - - foreground - #FFFFFF - - - - name - Library Class/Type - scope - support.type, support.class - settings - - foreground - #FFA995 - - - - name - Library Variable - scope - support.variable - settings - - foreground - #3A68A3 - - - - name - Invalid - scope - invalid - settings - - background - #797979 - foreground - #FFFFFF - - - - name - Include <system> - scope - string.quoted.other.lt-gt.include - settings - - background - #969696 - fontStyle - italic - foreground - #FFA995 - - - - name - Include "user" - scope - string.quoted.double.include - settings - - background - #969696 - foreground - #FFA995 - - - - name - Markup: List Item - scope - markup.list - settings - - foreground - #4D4E60 - - - - name - Markup: Raw - scope - markup.raw - settings - - background - #0000FF - foreground - #FFFFFF - - - - name - Markup: Quote (Email) - scope - markup.quote - settings - - foreground - #00F0C9 - - - - name - Markup: Quote Double (Email) - scope - markup.quote markup.quote - settings - - fontStyle - - foreground - #4C457E - - - - name - Embedded Source - scope - text.html source - settings - - background - #8A9ECB - - - - uuid - B0A18BAA-6220-481C-9914-F6D3E51B5410 - - diff --git a/themes/Pastels on Dark.tmTheme b/themes/Pastels on Dark.tmTheme deleted file mode 100644 index e3928606e..000000000 --- a/themes/Pastels on Dark.tmTheme +++ /dev/null @@ -1,701 +0,0 @@ - - - - - author - Mats Persson - name - Pastels on Dark - settings - - - settings - - background - #211E1E - caret - #FFFFFF - foreground - #DADADA - invisibles - #4F4D4D - lineHighlight - #353030 - selection - #73597E80 - - - - name - Comments - scope - comment - settings - - fontStyle - - foreground - #555555 - - - - name - Comments Block - scope - comment.block - settings - - fontStyle - - foreground - #555555 - - - - name - Strings - scope - string - settings - - foreground - #AD9361 - - - - name - Numbers - scope - constant.numeric - settings - - fontStyle - - foreground - #CCCCCC - - - - name - Keywords - scope - keyword - settings - - fontStyle - - foreground - #A1A1FF - - - - name - Preprocessor Line - scope - meta.preprocessor - settings - - fontStyle - - foreground - #2F006E - - - - name - Preprocessor Directive - scope - keyword.control.import - settings - - fontStyle - bold - - - - name - Functions - scope - support.function - settings - - fontStyle - - foreground - #A1A1FF - - - - name - Function result - scope - declaration.function function-result - settings - - foreground - #0000FF - - - - name - Function name - scope - declaration.function function-name - settings - - fontStyle - bold - - - - name - Function argument name - scope - declaration.function argument-name - settings - - fontStyle - bold - - - - name - Function argument type - scope - declaration.function function-arg-type - settings - - foreground - #0000FF - - - - name - Function argument variable - scope - declaration.function function-argument - settings - - fontStyle - italic - - - - name - Class name - scope - declaration.class class-name - settings - - fontStyle - underline - - - - name - Class inheritance - scope - declaration.class class-inheritance - settings - - fontStyle - italic underline - - - - name - Invalid - scope - invalid - settings - - background - #FF0000 - fontStyle - bold - foreground - #FFF9F9 - - - - name - Invalid Trailing Whitespace - scope - invalid.deprecated.trailing-whitespace - settings - - background - #FFD0D0 - - - - name - Section - scope - declaration.section section-name - settings - - fontStyle - italic - - - - name - Interpolation - scope - string.interpolation - settings - - foreground - #C10006 - - - - name - Regular Expressions - scope - string.regexp - settings - - fontStyle - - foreground - #666666 - - - - name - Variables - scope - variable - settings - - foreground - #C1C144 - - - - name - Constants - scope - constant - settings - - foreground - #6782D3 - - - - name - Character Constants - scope - constant.character - settings - - fontStyle - - foreground - #AFA472 - - - - name - Language Constants - scope - constant.language - settings - - fontStyle - bold - foreground - #DE8E30 - - - - name - Embedded Code - scope - embedded - settings - - fontStyle - underline - - - - name - Tag name - scope - keyword.markup.element-name - settings - - fontStyle - - foreground - #858EF4 - - - - name - Attribute name - scope - keyword.markup.attribute-name - settings - - fontStyle - - foreground - #9B456F - - - - name - Attribute with Value - scope - meta.attribute-with-value - settings - - fontStyle - - foreground - #9B456F - - - - name - Exceptions - scope - keyword.exception - settings - - fontStyle - bold - foreground - #C82255 - - - - name - Operators - scope - keyword.operator - settings - - fontStyle - - foreground - #47B8D6 - - - - name - Control Structures - scope - keyword.control - settings - - fontStyle - bold - foreground - #6969FA - - - - name - HTML: DocInfo XML - scope - meta.tag.preprocessor.xml - settings - - foreground - #68685B - - - - name - HTML: DocType - scope - meta.tag.sgml.doctype - settings - - foreground - #888888 - - - - name - HTML: DocInfo DTD - scope - string.quoted.docinfo.doctype.DTD - settings - - fontStyle - italic - - - - name - HTML: ServerSide Includes - scope - comment.other.server-side-include.xhtml, comment.other.server-side-include.html - settings - - foreground - #909090 - - - - name - HTML: Tag - scope - text.html declaration.tag, text.html meta.tag, text.html entity.name.tag.xhtml - settings - - foreground - #858EF4 - - - - name - HTML: attribute="" - scope - keyword.markup.attribute-name - settings - - foreground - #9B456F - - - - name - PHP: PHPdocs - scope - keyword.other.phpdoc.php - settings - - foreground - #777777 - - - - name - PHP: Include() & Require() - scope - keyword.other.include.php - settings - - foreground - #C82255 - - - - name - PHP: Constants Core Predefined - scope - support.constant.core.php - settings - - fontStyle - bold - foreground - #DE8E20 - - - - name - PHP: Constants Standard Predefined - scope - support.constant.std.php - settings - - fontStyle - bold - foreground - #DE8E10 - - - - name - PHP: Variables Globals - scope - variable.other.global.php - settings - - foreground - #B72E1D - - - - name - PHP: Variables Safer Globals - scope - variable.other.global.safer.php - settings - - foreground - #00FF00 - - - - name - PHP: Strings Single-Quoted - scope - string.quoted.single.php - settings - - foreground - #BFA36D - - - - name - PHP: Keywords Storage - scope - keyword.storage.php - settings - - foreground - #6969FA - - - - name - PHP: Strings Double-Quoted - scope - string.quoted.double.php - settings - - foreground - #AD9361 - - - - name - CSS: Selectors #ID - scope - entity.other.attribute-name.id.css - settings - - foreground - #EC9E00 - - - - name - CSS: Selectors <Elements> - scope - entity.name.tag.css - settings - - fontStyle - bold - foreground - #B8CD06 - - - - name - CSS: Selectors .ClassName - scope - entity.other.attribute-name.class.css - settings - - foreground - #EDCA06 - - - - name - CSS: Selectors :PseudoClass - scope - entity.other.attribute-name.pseudo-class.css - settings - - foreground - #2E759C - - - - name - CSS: Invalid Comma - scope - invalid.bad-comma.css - settings - - background - #FF0000 - foreground - #FFFFFF - - - - name - CSS: Property Value - scope - support.constant.property-value.css - settings - - foreground - #9B2E4D - - - - name - CSS: Property Keyword - scope - support.type.property-name.css - settings - - foreground - #E1C96B - - - - name - CSS: Property Colours - scope - constant.other.rgb-value.css - settings - - foreground - #666633 - - - - name - CSS: Font Names - scope - support.constant.font-name.css - settings - - foreground - #666633 - - - - name - TMLangDef: Keys - scope - support.constant.tm-language-def, support.constant.name.tm-language-def - settings - - foreground - #7171F3 - - - - name - CSS: Units - scope - keyword.other.unit.css - settings - - foreground - #6969FA - - - - uuid - 343011CC-B7DF-11D9-B5C6-000D93C8BE28 - - diff --git a/themes/Slush & Poppies.tmTheme b/themes/Slush & Poppies.tmTheme deleted file mode 100644 index 02ecbcbe2..000000000 --- a/themes/Slush & Poppies.tmTheme +++ /dev/null @@ -1,336 +0,0 @@ - - - - - author - William D. Neumann - name - Slush & Poppies - settings - - - settings - - background - #F1F1F1 - caret - #000000 - foreground - #000000 - invisibles - #BFBFBF - lineHighlight - #00000026 - selection - #B0B0FF - - - - name - Comment - scope - comment - settings - - fontStyle - - foreground - #406040 - - - - name - String - scope - string - settings - - foreground - #C03030 - - - - name - Number - scope - constant.numeric - settings - - foreground - #0080A0 - - - - name - OCaml floating-point constants - scope - source.ocaml constant.numeric.floating-point - settings - - fontStyle - underline - - - - name - Character constants - scope - constant.character - settings - - foreground - #800000 - - - - name - Built-in constant - scope - constant.language - settings - - - - name - User-defined constant - scope - constant.character, constant.other - settings - - - - name - Variable - scope - variable.parameter, variable.other - settings - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #2060A0 - - - - name - Operators - scope - keyword.operator - settings - - fontStyle - - foreground - #2060A0 - - - - name - OCaml prefix f-p operators - scope - source.ocaml keyword.operator.symbol.prefix.floating-point - settings - - fontStyle - underline - - - - name - OCaml infix f-p operators - scope - source.ocaml keyword.operator.symbol.infix.floating-point - settings - - fontStyle - underline - - - - name - Module Keyword - scope - entity.name.module, support.other.module - settings - - fontStyle - - foreground - #0080FF - - - - name - Storage types - scope - storage.type - settings - - foreground - #A08000 - - - - name - Storage - scope - storage - settings - - foreground - #008080 - - - - name - Variant types - scope - entity.name.class.variant - settings - - foreground - #C08060 - - - - name - Directives - scope - keyword.other.directive - settings - - fontStyle - bold - - - - name - Line-number directives - scope - source.ocaml keyword.other.directive.line-number - settings - - fontStyle - - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - - - name - Function name - scope - entity.name.function - settings - - fontStyle - - foreground - #800000 - - - - name - Type name - scope - storage.type.user-defined - settings - - foreground - #800080 - - - - name - Class type name - scope - entity.name.type.class.type - settings - - foreground - #8000C0 - - - - name - Function argument - scope - variable.parameter - settings - - - - name - Tag name - scope - entity.name.tag - settings - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - - - name - Library function - scope - support.function - settings - - - - name - Library constant - scope - support.constant - settings - - - - name - Library class/type - scope - support.type, support.class - settings - - - - name - Library variable - scope - support.variable - settings - - - - name - Invalid - scope - invalid - settings - - - - uuid - D68685B8-1CFE-4C10-99C4-E21CBC892376 - - diff --git a/themes/Solarized (dark).tmTheme b/themes/Solarized (dark).tmTheme deleted file mode 100644 index 3a280b185..000000000 --- a/themes/Solarized (dark).tmTheme +++ /dev/null @@ -1,2051 +0,0 @@ - - - - - name - Solarized (dark) - settings - - - settings - - background - #002B36 - caret - #819090 - foreground - #839496 - invisibles - #073642 - lineHighlight - #073642 - selection - #073642 - - - - name - Comment - scope - comment - settings - - fontStyle - - foreground - #586E75 - - - - name - String - scope - string - settings - - foreground - #2AA198 - - - - name - StringNumber - scope - string - settings - - foreground - #586E75 - - - - name - Regexp - scope - string.regexp - settings - - foreground - #D30102 - - - - name - Number - scope - constant.numeric - settings - - foreground - #D33682 - - - - name - Variable - scope - variable.language, variable.other - settings - - foreground - #268BD2 - - - - name - Keyword - scope - keyword - settings - - foreground - #859900 - - - - name - Storage - scope - storage - settings - - fontStyle - - foreground - #738A05 - - - - name - Class name - scope - entity.name.class, entity.name.type.class - settings - - foreground - #268BD2 - - - - name - Function name - scope - entity.name.function - settings - - foreground - #268BD2 - - - - name - Variable start - scope - punctuation.definition.variable - settings - - foreground - #859900 - - - - name - Embedded code markers - scope - punctuation.section.embedded.begin, punctuation.section.embedded.end - settings - - foreground - #D30102 - - - - name - Built-in constant - scope - constant.language, meta.preprocessor - settings - - foreground - #B58900 - - - - name - Support.construct - scope - support.function.construct, keyword.other.new - settings - - foreground - #D30102 - - - - name - User-defined constant - scope - constant.character, constant.other - settings - - foreground - #CB4B16 - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - - - name - Function argument - scope - variable.parameter - settings - - - - name - Tag name - scope - entity.name.tag - settings - - fontStyle - bold - foreground - #268BD2 - - - - name - Tag start/end - scope - punctuation.definition.tag.html, punctuation.definition.tag.begin, punctuation.definition.tag.end - settings - - foreground - #586E75 - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - foreground - #93A1A1 - - - - name - Library function - scope - support.function - settings - - foreground - #268BD2 - - - - name - Continuation - scope - punctuation.separator.continuation - settings - - foreground - #D30102 - - - - name - Library constant - scope - support.constant - settings - - - - name - Library class/type - scope - support.type, support.class - settings - - foreground - #859900 - - - - name - Library Exception - scope - support.type.exception - settings - - foreground - #CB4B16 - - - - name - Special - scope - keyword.other.special-method - settings - - foreground - #CB4B16 - - - - name - Library variable - scope - support.other.variable - settings - - - - name - Invalid - scope - invalid - settings - - - - name - Quoted String - scope - string.quoted.double, string.quoted.single - settings - - foreground - #269186 - - - - name - Quotes - scope - punctuation.definition.string.begin, punctuation.definition.string.end - settings - - foreground - #C60000 - - - - name - CSS: Property - scope - entity.name.tag.css, support.type.property-name.css, meta.property-name.css - settings - - fontStyle - - foreground - #A57800 - - - - name - CSS: @font-face - scope - source.css - settings - - foreground - #D01F1E - - - - name - CSS: Selector - scope - meta.selector.css - settings - - fontStyle - - foreground - #536871 - - - - name - CSS: {} - scope - punctuation.section.property-list.css - settings - - foreground - #5A74CF - - - - name - CSS: Numeric Value - scope - meta.property-value.css constant.numeric.css, keyword.other.unit.css,constant.other.color.rgb-value.css - settings - - fontStyle - - foreground - #269186 - - - - name - CSS: Value - scope - meta.property-value.css - settings - - fontStyle - - foreground - #269186 - - - - name - CSS: !Important - scope - keyword.other.important.css - settings - - foreground - #D01F1E - - - - name - CSS: Standard Value - scope - support.constant.color - settings - - foreground - #269186 - - - - name - CSS: Tag - scope - entity.name.tag.css - settings - - foreground - #738A13 - - - - name - CSS: : , - scope - punctuation.separator.key-value.css, punctuation.terminator.rule.css - settings - - fontStyle - - foreground - #536871 - - - - name - CSS .class - scope - entity.other.attribute-name.class.css - settings - - fontStyle - - foreground - #268BD2 - - - - name - CSS :pseudo - scope - entity.other.attribute-name.pseudo-element.css, entity.other.attribute-name.pseudo-class.css - settings - - fontStyle - - foreground - #BD3800 - - - - name - CSS: #id - scope - entity.other.attribute-name.id.css - settings - - fontStyle - - foreground - #268BD2 - - - - name - JS: Function Name - scope - meta.function.js, entity.name.function.js, support.function.dom.js - settings - - foreground - #A57800 - - - - name - JS: Source - scope - text.html.basic source.js.embedded.html - settings - - fontStyle - - foreground - #A57800 - - - - name - JS: Function - scope - storage.type.function.js - settings - - foreground - #268BD2 - - - - name - JS: Numeric Constant - scope - constant.numeric.js - settings - - foreground - #269186 - - - - name - JS: [] - scope - meta.brace.square.js - settings - - foreground - #268BD2 - - - - name - JS: Storage Type - scope - storage.type.js - settings - - foreground - #268BD2 - - - - name - () - scope - meta.brace.round, punctuation.definition.parameters.begin.js, punctuation.definition.parameters.end.js - settings - - foreground - #93A1A1 - - - - name - {} - scope - meta.brace.curly.js - settings - - foreground - #268BD2 - - - - name - HTML: Doctype - scope - entity.name.tag.doctype.html, meta.tag.sgml.html, string.quoted.double.doctype.identifiers-and-DTDs.html - settings - - fontStyle - italic - foreground - #899090 - - - - name - HTML: Comment Block - scope - comment.block.html - settings - - fontStyle - italic - foreground - #839496 - - - - name - HTML: Script - scope - entity.name.tag.script.html - settings - - fontStyle - italic - - - - name - HTML: Style - scope - source.css.embedded.html string.quoted.double.html - settings - - fontStyle - - foreground - #269186 - - - - name - HTML: Text - scope - text.html.ruby - settings - - fontStyle - bold - foreground - #BD3800 - - - - name - HTML: = - scope - text.html.basic meta.tag.other.html, text.html.basic meta.tag.any.html, text.html.basic meta.tag.block.any, text.html.basic meta.tag.inline.any, text.html.basic meta.tag.structure.any.html, text.html.basic source.js.embedded.html, punctuation.separator.key-value.html - settings - - fontStyle - - foreground - #708284 - - - - name - HTML: something= - scope - text.html.basic entity.other.attribute-name.html - settings - - foreground - #708284 - - - - name - HTML: " - scope - text.html.basic meta.tag.structure.any.html punctuation.definition.string.begin.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html - settings - - fontStyle - - foreground - #269186 - - - - name - HTML: <tag> - scope - entity.name.tag.block.any.html - settings - - fontStyle - bold - foreground - #268BD2 - - - - name - HTML: style - scope - source.css.embedded.html entity.name.tag.style.html - settings - - fontStyle - italic - - - - name - HTML: <style> - scope - entity.name.tag.style.html - settings - - fontStyle - - - - - name - HTML: {} - scope - text.html.basic punctuation.section.property-list.css - settings - - fontStyle - - - - - name - HTML: Embeddable - scope - source.css.embedded.html, comment.block.html - settings - - fontStyle - italic - foreground - #819090 - - - - name - Ruby: Variable definition - scope - punctuation.definition.variable.ruby - settings - - fontStyle - - foreground - #268BD2 - - - - name - Ruby: Function Name - scope - meta.function.method.with-arguments.ruby - settings - - foreground - #708284 - - - - name - Ruby: Variable - scope - variable.language.ruby - settings - - foreground - #469186 - - - - name - Ruby: Function - scope - entity.name.function.ruby - settings - - foreground - #268BD2 - - - - name - Ruby: Keyword Control - scope - keyword.control.ruby, keyword.control.def.ruby - settings - - fontStyle - bold - foreground - #738A05 - - - - name - Ruby: Class - scope - keyword.control.class.ruby, meta.class.ruby - settings - - foreground - #748B00 - - - - name - Ruby: Class Name - scope - entity.name.type.class.ruby - settings - - fontStyle - - foreground - #A57800 - - - - name - Ruby: Keyword - scope - keyword.control.ruby - settings - - fontStyle - - foreground - #748B00 - - - - name - Ruby: Support Class - scope - support.class.ruby - settings - - fontStyle - - foreground - #A57800 - - - - name - Ruby: Special Method - scope - keyword.other.special-method.ruby - settings - - foreground - #748B00 - - - - name - Ruby: Constant - scope - constant.language.ruby, constant.numeric.ruby - settings - - foreground - #269186 - - - - name - Ruby: Constant Other - scope - variable.other.constant.ruby - settings - - fontStyle - - foreground - #A57800 - - - - name - Ruby: :symbol - scope - constant.other.symbol.ruby - settings - - fontStyle - - foreground - #269186 - - - - name - Ruby: Punctuation Section '' - scope - punctuation.section.embedded.ruby, punctuation.definition.string.begin.ruby, punctuation.definition.string.end.ruby - settings - - foreground - #D01F1E - - - - name - Ruby: Special Method - scope - keyword.other.special-method.ruby - settings - - foreground - #BD3800 - - - - name - PHP: Include - scope - keyword.control.import.include.php - settings - - foreground - #BD3800 - - - - name - Ruby: erb = - scope - text.html.ruby meta.tag.inline.any.html - settings - - fontStyle - - foreground - #819090 - - - - name - Ruby: erb "" - scope - text.html.ruby punctuation.definition.string.begin, text.html.ruby punctuation.definition.string.end - settings - - fontStyle - - foreground - #269186 - - - - name - PHP: Quoted Single - scope - punctuation.definition.string.begin, punctuation.definition.string.end - settings - - foreground - #839496 - - - - name - PHP: Class Names - scope - support.class.php - settings - - foreground - #839496 - - - - name - PHP: [] - scope - keyword.operator.index-start.php, keyword.operator.index-end.php - settings - - foreground - #D31E1E - - - - name - PHP: Array - scope - meta.array.php - settings - - foreground - #536871 - - - - name - PHP: Array() - scope - meta.array.php support.function.construct.php, meta.array.empty.php support.function.construct.php - settings - - fontStyle - - foreground - #A57800 - - - - name - PHP: Array Construct - scope - support.function.construct.php - settings - - foreground - #A57800 - - - - name - PHP: Array Begin - scope - punctuation.definition.array.begin, punctuation.definition.array.end - settings - - foreground - #D31E1E - - - - name - PHP: Numeric Constant - scope - constant.numeric.php - settings - - foreground - #269186 - - - - name - PHP: New - scope - keyword.other.new.php - settings - - foreground - #CB4B16 - - - - name - PHP: :: - scope - keyword.operator.class - settings - - fontStyle - - foreground - #839496 - - - - name - PHP: Other Property - scope - variable.other.property.php - settings - - foreground - #899090 - - - - name - PHP: Class - scope - storage.modifier.extends.php, storage.type.class.php, keyword.operator.class.php - settings - - foreground - #A57800 - - - - name - PHP: Class Function - settings - - - - name - PHP: Semicolon - scope - punctuation.terminator.expression.php - settings - - foreground - #839496 - - - - name - PHP: Inherited Class - scope - meta.other.inherited-class.php - settings - - fontStyle - - foreground - #536871 - - - - name - PHP: Storage Type - scope - storage.type.php - settings - - foreground - #748B00 - - - - name - PHP: Function - scope - entity.name.function.php - settings - - foreground - #899090 - - - - name - PHP: Function Construct - scope - support.function.construct.php - settings - - foreground - #748B00 - - - - name - PHP: Function Call - scope - entity.name.type.class.php, meta.function-call.php, meta.function-call.static.php, meta.function-call.object.php - settings - - foreground - #839496 - - - - name - PHP: Comment - scope - keyword.other.phpdoc - settings - - fontStyle - - foreground - #899090 - - - - name - PHP: Source Emebedded - scope - source.php.embedded.block.html - settings - - foreground - #BD3613 - - - - name - PHP: Storage Type Function - scope - storage.type.function.php - settings - - foreground - #BD3800 - - - - name - C: constant - scope - constant.numeric.c - settings - - fontStyle - - foreground - #269186 - - - - name - C: Meta Preprocessor - scope - meta.preprocessor.c.include, meta.preprocessor.macro.c - settings - - fontStyle - - foreground - #BB3700 - - - - name - C: Keyword - scope - keyword.control.import.define.c, keyword.control.import.include.c - settings - - fontStyle - - foreground - #BB3700 - - - - name - C: Function Preprocessor - scope - entity.name.function.preprocessor.c - settings - - fontStyle - - foreground - #BB3700 - - - - name - C: include <something.c> - scope - meta.preprocessor.c.include string.quoted.other.lt-gt.include.c, meta.preprocessor.c.include punctuation.definition.string.begin.c, meta.preprocessor.c.include punctuation.definition.string.end.c - settings - - fontStyle - - foreground - #269186 - - - - name - C: Function - scope - support.function.C99.c, support.function.any-method.c, entity.name.function.c - settings - - fontStyle - - foreground - #536871 - - - - name - C: " - scope - punctuation.definition.string.begin.c, punctuation.definition.string.end.c - settings - - fontStyle - - foreground - #269186 - - - - name - C: Storage Type - scope - storage.type.c - settings - - fontStyle - - foreground - #A57800 - - - - name - diff: header - scope - meta.diff, meta.diff.header - settings - - background - #A57706 - fontStyle - italic - foreground - #E0EDDD - - - - name - diff: deleted - scope - markup.deleted - settings - - background - #EAE3CA - fontStyle - - foreground - #D3201F - - - - name - diff: changed - scope - markup.changed - settings - - background - #EAE3CA - fontStyle - - foreground - #BF3904 - - - - name - diff: inserted - scope - markup.inserted - settings - - background - #EAE3CA - foreground - #219186 - - - - name - Markdown: Linebreak - scope - text.html.markdown meta.dummy.line-break - settings - - background - #A57706 - foreground - #E0EDDD - - - - name - Markdown: Raw - scope - text.html.markdown markup.raw.inline - settings - - foreground - #269186 - - - - name - reST raw - scope - text.restructuredtext markup.raw - settings - - foreground - #269186 - - - - name - Other: Removal - scope - other.package.exclude, other.remove - settings - - fontStyle - - foreground - #D3201F - - - - name - Other: Add - scope - other.add - settings - - foreground - #269186 - - - - name - Tex: {} - scope - punctuation.section.group.tex , punctuation.definition.arguments.begin.latex, punctuation.definition.arguments.end.latex, punctuation.definition.arguments.latex - settings - - fontStyle - - foreground - #B81D1C - - - - name - Tex: {text} - scope - meta.group.braces.tex - settings - - fontStyle - - foreground - #A57705 - - - - name - Tex: Other Math - scope - string.other.math.tex - settings - - fontStyle - - foreground - #A57705 - - - - name - Tex: {var} - scope - variable.parameter.function.latex - settings - - fontStyle - - foreground - #BD3800 - - - - name - Tex: Math \\ - scope - punctuation.definition.constant.math.tex - settings - - fontStyle - - foreground - #D01F1E - - - - name - Tex: Constant Math - scope - text.tex.latex constant.other.math.tex, constant.other.general.math.tex, constant.other.general.math.tex, constant.character.math.tex - settings - - fontStyle - - foreground - #269186 - - - - name - Tex: Other Math String - scope - string.other.math.tex - settings - - fontStyle - - foreground - #A57800 - - - - name - Tex: $ - scope - punctuation.definition.string.begin.tex, punctuation.definition.string.end.tex - settings - - fontStyle - - foreground - #D3201F - - - - name - Tex: \label - scope - keyword.control.label.latex, text.tex.latex constant.other.general.math.tex - settings - - fontStyle - - foreground - #269186 - - - - name - Tex: \label { } - scope - variable.parameter.definition.label.latex - settings - - fontStyle - - foreground - #D01F1E - - - - name - Tex: Function - scope - support.function.be.latex - settings - - fontStyle - - foreground - #748B00 - - - - name - Tex: Support Function Section - scope - support.function.section.latex - settings - - fontStyle - - foreground - #BD3800 - - - - name - Tex: Support Function - scope - support.function.general.tex - settings - - fontStyle - - foreground - #269186 - - - - name - Tex: Comment - scope - punctuation.definition.comment.tex, comment.line.percentage.tex - settings - - fontStyle - italic - - - - name - Tex: Reference Label - scope - keyword.control.ref.latex - settings - - fontStyle - - foreground - #269186 - - - - name - Python: storage - scope - storage.type.class.python, storage.type.function.python, storage.modifier.global.python - settings - - fontStyle - - foreground - #748B00 - - - - name - Python: import - scope - keyword.control.import.python, keyword.control.import.from.python - settings - - foreground - #BD3800 - - - - name - Python: Support.exception - scope - support.type.exception.python - settings - - foreground - #A57800 - - - - name - Shell: builtin - scope - support.function.builtin.shell - settings - - foreground - #748B00 - - - - name - Shell: variable - scope - variable.other.normal.shell - settings - - foreground - #BD3800 - - - - name - Shell: DOT_FILES - scope - source.shell - settings - - fontStyle - - foreground - #268BD2 - - - - name - Shell: meta scope in loop - scope - meta.scope.for-in-loop.shell, variable.other.loop.shell - settings - - fontStyle - - foreground - #536871 - - - - name - Shell: "" - scope - punctuation.definition.string.end.shell, punctuation.definition.string.begin.shell - settings - - fontStyle - - foreground - #748B00 - - - - name - Shell: Meta Block - scope - meta.scope.case-block.shell, meta.scope.case-body.shell - settings - - fontStyle - - foreground - #536871 - - - - name - Shell: [] - scope - punctuation.definition.logical-expression.shell - settings - - fontStyle - - foreground - #CD1E1D - - - - name - Shell: Comment - scope - comment.line.number-sign.shell - settings - - fontStyle - italic - - - - name - Java: import - scope - keyword.other.import.java - settings - - fontStyle - - foreground - #BD3800 - - - - name - Java: meta-import - scope - storage.modifier.import.java - settings - - fontStyle - - foreground - #586E75 - - - - name - Java: Class - scope - meta.class.java storage.modifier.java - settings - - fontStyle - - foreground - #A57800 - - - - name - Java: /* comment */ - scope - source.java comment.block - settings - - fontStyle - - foreground - #536871 - - - - name - Java: /* @param */ - scope - comment.block meta.documentation.tag.param.javadoc keyword.other.documentation.param.javadoc - settings - - fontStyle - - foreground - #536871 - - - - name - Perl: variables - scope - punctuation.definition.variable.perl, variable.other.readwrite.global.perl, variable.other.predefined.perl, keyword.operator.comparison.perl - settings - - foreground - #B58900 - - - - name - Perl: functions - scope - support.function.perl - settings - - foreground - #859900 - - - - name - Perl: comments - scope - comment.line.number-sign.perl - settings - - fontStyle - italic - foreground - #586E75 - - - - name - Perl: quotes - scope - punctuation.definition.string.begin.perl, punctuation.definition.string.end.perl - settings - - foreground - #2AA198 - - - - name - Perl: \char - scope - constant.character.escape.perl - settings - - foreground - #DC322F - - - - - name - Markdown: Headings - scope - markup.heading.markdown, markup.heading.1.markdown, markup.heading.2.markdown - settings - - foreground - #268BD2 - - - - name - Markdown: Bold - scope - markup.bold.markdown - settings - - fontStyle - bold - foreground - #839496 - - - - name - Markdown: Italic - scope - markup.italic.markdown - settings - - fontStyle - italic - foreground - #839496 - - - - name - Markdown: Punctuation for Bold, Italic, and Inline Block - scope - punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.raw.markdown - settings - - foreground - #D3201F - - - - name - Markdown: Bulleted List - scope - markup.list.unnumbered.markdown - settings - - foreground - #B58900 - - - - name - Markdown: Numbered List - scope - markup.list.numbered.markdown - settings - - foreground - #859900 - - - - name - Markdown: Block and Inline Block - scope - markup.raw.block.markdown, markup.raw.inline.markdown - settings - - foreground - #2AA198 - - - - name - Markdown: Quote Block and Punctuation - scope - markup.quote.markdown, punctuation.definition.blockquote.markdown - settings - - foreground - #6C71C4 - - - - name - Markdown: Seperator - scope - meta.separator.markdown - settings - - foreground - #D33682 - - - - name - Markdown: Link and Reference URL - scope - meta.image.inline.markdown, markup.underline.link.markdown - settings - - fontStyle - italic - foreground - #586E75 - - - - name - Markdown: Link Title, Image Description - scope - string.other.link.title.markdown, string.other.link.description.markdown - settings - - foreground - #93A1A1 - - - - name - Markdown: Angle Brakets on Link and Image - scope - punctuation.definition.link.markdown - settings - - foreground - #586E75 - - - - name - Markdown: Parens on Link and Image - scope - punctuation.definition.metadata.markdown - settings - - foreground - #586E75 - - - - name - Markdown: Square Brakets on Link, Image, and Reference - scope - punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.constant.markdown - settings - - foreground - #586E75 - - - - - uuid - A4299D9B-1DE5-4BC4-87F6-A757E71B1597 - - diff --git a/themes/SpaceCadet.tmTheme b/themes/SpaceCadet.tmTheme deleted file mode 100644 index 156f43dee..000000000 --- a/themes/SpaceCadet.tmTheme +++ /dev/null @@ -1,212 +0,0 @@ - - - - - author - Alex Ross - comment - Created by Alex Ross - name - SpaceCadet - settings - - - settings - - background - #0D0D0D - caret - #7F005D - foreground - #DDE6CF - invisibles - #BFBFBF - lineHighlight - #00000012 - selection - #40002F - - - - name - Comment - scope - comment - settings - - foreground - #473C45 - - - - name - String - scope - string - settings - - foreground - #805978 - - - - name - Constant - scope - constant - settings - - foreground - #A8885A - - - - name - Variable - scope - variable.parameter, variable.other - settings - - foreground - #596380 - - - - name - Keyword - scope - keyword - keyword.operator, keyword.operator.logical - settings - - foreground - #728059 - - - - name - Storage - scope - storage - settings - - foreground - #9EBF60 - - - - name - Entity - scope - entity - settings - - foreground - #6078BF - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - fontStyle - italic - - - - name - Support - scope - support - settings - - foreground - #8A4B66 - - - - name - Exception - scope - support.type.exception - settings - - foreground - #893062 - - - - name - Tag name - scope - entity.name.tag - settings - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - - - name - Library constant - scope - support.constant - settings - - - - name - Library class/type - scope - support.type, support.class - settings - - - - name - Library variable - scope - support.other.variable - settings - - - - name - Invalid - scope - invalid - settings - - background - #5F0047 - - - - name - - Meta - settings - - - - name - function.section - scope - meta.function.section - settings - - background - #371D28 - - - - uuid - 2C24E84F-F9FE-4C2E-92D2-F52198BA7E41 - - diff --git a/themes/Sunburst.tmTheme b/themes/Sunburst.tmTheme deleted file mode 100644 index 694c2c8c4..000000000 --- a/themes/Sunburst.tmTheme +++ /dev/null @@ -1,665 +0,0 @@ - - - - - author - Stanley Rost - comment - (π) Soryu, 2005 - name - Sunburst - settings - - - settings - - background - #000000 - caret - #A7A7A7 - foreground - #F8F8F8 - invisibles - #CAE2FB3D - lineHighlight - #FFFFFF1A - selection - #DDF0FF33 - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #AEAEAE - - - - name - Constant - scope - constant - settings - - foreground - #3387CC - - - - name - Entity - scope - entity - settings - - fontStyle - - foreground - #89BDFF - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #E28964 - - - - name - Storage - scope - storage - settings - - fontStyle - - foreground - #99CF50 - - - - name - String - scope - string - settings - - fontStyle - - foreground - #65B042 - - - - name - Support - scope - support - settings - - fontStyle - - foreground - #9B859D - - - - name - Variable - scope - variable - settings - - foreground - #3E87E3 - - - - name - Invalid – Deprecated - scope - invalid.deprecated - settings - - fontStyle - italic underline - foreground - #FD5FF1 - - - - name - Invalid – Illegal - scope - invalid.illegal - settings - - background - #562D56BF - foreground - #FD5FF1 - - - - name - ----------------------------------- - settings - - - - name - ♦ Embedded Source (Bright) - scope - text source - settings - - background - #B1B3BA08 - - - - name - ♦ Entity inherited-class - scope - entity.other.inherited-class - settings - - fontStyle - italic - foreground - #9B5C2E - - - - name - ♦ String embedded-source - scope - string.quoted source - settings - - fontStyle - - foreground - #DAEFA3 - - - - name - ♦ String constant - scope - string constant - settings - - foreground - #DDF2A4 - - - - name - ♦ String.regexp - scope - string.regexp - settings - - foreground - #E9C062 - - - - name - ♦ String.regexp.«special» - scope - string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition - settings - - foreground - #CF7D34 - - - - name - ♦ String variable - scope - string variable - settings - - foreground - #8A9A95 - - - - name - ♦ Support.function - scope - support.function - settings - - fontStyle - - foreground - #DAD085 - - - - name - ♦ Support.constant - scope - support.constant - settings - - fontStyle - - foreground - #CF6A4C - - - - name - c C/C++ Preprocessor Line - scope - meta.preprocessor.c - settings - - foreground - #8996A8 - - - - name - c C/C++ Preprocessor Directive - scope - meta.preprocessor.c keyword - settings - - foreground - #AFC4DB - - - - name - j Entity Name Type - scope - entity.name.type - settings - - fontStyle - underline - - - - name - j Cast - scope - meta.cast - settings - - fontStyle - italic - foreground - #676767 - - - - name - ✘ Doctype/XML Processing - scope - meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string - settings - - foreground - #494949 - - - - name - ✘ Meta.tag.«all» - scope - meta.tag, meta.tag entity - settings - - foreground - #89BDFF - - - - name - ✘ Meta.tag.inline - scope - source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity - settings - - foreground - #E0C589 - - - - name - ✘ Namespaces - scope - entity.name.tag.namespace, entity.other.attribute-name.namespace - settings - - foreground - #E18964 - - - - name - § css tag-name - scope - meta.selector.css entity.name.tag - settings - - foreground - #CDA869 - - - - name - § css:pseudo-class - scope - meta.selector.css entity.other.attribute-name.tag.pseudo-class - settings - - foreground - #8F9D6A - - - - name - § css#id - scope - meta.selector.css entity.other.attribute-name.id - settings - - foreground - #8B98AB - - - - name - § css.class - scope - meta.selector.css entity.other.attribute-name.class - settings - - foreground - #9B703F - - - - name - § css property-name: - scope - support.type.property-name.css - settings - - foreground - #C5AF75 - - - - name - § css property-value; - scope - meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css - settings - - foreground - #F9EE98 - - - - name - § css @at-rule - scope - meta.preprocessor.at-rule keyword.control.at-rule - settings - - foreground - #8693A5 - - - - name - § css additional-constants - scope - meta.property-value support.constant.named-color.css, meta.property-value constant - settings - - foreground - #DD7B3B - - - - name - § css constructor.argument - scope - meta.constructor.argument.css - settings - - foreground - #8F9D6A - - - - name - ⎇ diff.header - scope - meta.diff, meta.diff.header - settings - - background - #0E2231 - fontStyle - italic - foreground - #F8F8F8 - - - - name - ⎇ diff.deleted - scope - markup.deleted - settings - - background - #420E09 - foreground - #F8F8F8 - - - - name - ⎇ diff.changed - scope - markup.changed - settings - - background - #4A410D - foreground - #F8F8F8 - - - - name - ⎇ diff.inserted - scope - markup.inserted - settings - - background - #253B22 - foreground - #F8F8F8 - - - - name - -------------------------------- - settings - - - - name - Markup: Italic - scope - markup.italic - settings - - fontStyle - italic - foreground - #E9C062 - - - - name - Markup: Bold - scope - markup.bold - settings - - fontStyle - bold - foreground - #E9C062 - - - - name - Markup: Underline - scope - markup.underline - settings - - fontStyle - underline - foreground - #E18964 - - - - name - Markup: Quote - scope - markup.quote - settings - - background - #FEE09C12 - fontStyle - italic - foreground - #E1D4B9 - - - - name - Markup: Heading - scope - markup.heading, markup.heading entity - settings - - background - #632D04 - fontStyle - - foreground - #FEDCC5 - - - - name - Markup: List - scope - markup.list - settings - - foreground - #E1D4B9 - - - - name - Markup: Raw - scope - markup.raw - settings - - background - #B1B3BA08 - fontStyle - - foreground - #578BB3 - - - - name - Markup: Comment - scope - markup comment - settings - - fontStyle - italic - foreground - #F67B37 - - - - name - Markup: Separator - scope - meta.separator - settings - - background - #242424 - foreground - #60A633 - - - - name - Log Entry - scope - meta.line.entry.logfile, meta.line.exit.logfile - settings - - background - #EEEEEE29 - - - - name - Log Entry Error - scope - meta.line.error.logfile - settings - - background - #751012 - - - - uuid - C8C58F9A-35FE-44A4-9BC2-2F3C343DC81D - - diff --git a/themes/Twilight.tmTheme b/themes/Twilight.tmTheme deleted file mode 100644 index a83f7ecbb..000000000 --- a/themes/Twilight.tmTheme +++ /dev/null @@ -1,514 +0,0 @@ - - - - - author - Michael Sheets - name - Twilight - settings - - - settings - - background - #141414 - caret - #A7A7A7 - foreground - #F8F8F8 - invisibles - #FFFFFF40 - lineHighlight - #FFFFFF08 - selection - #DDF0FF33 - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #5F5A60 - - - - name - Constant - scope - constant - settings - - foreground - #CF6A4C - - - - name - Entity - scope - entity - settings - - fontStyle - - foreground - #9B703F - - - - name - Keyword - scope - keyword - settings - - fontStyle - - foreground - #CDA869 - - - - name - Storage - scope - storage - settings - - fontStyle - - foreground - #F9EE98 - - - - name - String - scope - string - settings - - fontStyle - - foreground - #8F9D6A - - - - name - Support - scope - support - settings - - fontStyle - - foreground - #9B859D - - - - name - Variable - scope - variable - settings - - foreground - #7587A6 - - - - name - Invalid – Deprecated - scope - invalid.deprecated - settings - - fontStyle - italic underline - foreground - #D2A8A1 - - - - name - Invalid – Illegal - scope - invalid.illegal - settings - - background - #562D56BF - foreground - #F8F8F8 - - - - name - ----------------------------------- - settings - - - - name - ♦ Embedded Source - scope - text source - settings - - background - #B0B3BA14 - - - - name - ♦ Embedded Source (Bright) - scope - text.html.ruby source - settings - - background - #B1B3BA21 - - - - name - ♦ Entity inherited-class - scope - entity.other.inherited-class - settings - - fontStyle - italic - foreground - #9B5C2E - - - - name - ♦ String embedded-source - scope - string source - settings - - fontStyle - - foreground - #DAEFA3 - - - - name - ♦ String constant - scope - string constant - settings - - foreground - #DDF2A4 - - - - name - ♦ String.regexp - scope - string.regexp - settings - - fontStyle - - foreground - #E9C062 - - - - name - ♦ String.regexp.«special» - scope - string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition - settings - - foreground - #CF7D34 - - - - name - ♦ String variable - scope - string variable - settings - - foreground - #8A9A95 - - - - name - ♦ Support.function - scope - support.function - settings - - fontStyle - - foreground - #DAD085 - - - - name - ♦ Support.constant - scope - support.constant - settings - - fontStyle - - foreground - #CF6A4C - - - - name - c C/C++ Preprocessor Line - scope - meta.preprocessor.c - settings - - foreground - #8996A8 - - - - name - c C/C++ Preprocessor Directive - scope - meta.preprocessor.c keyword - settings - - foreground - #AFC4DB - - - - name - ✘ Doctype/XML Processing - scope - meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.sgml.doctype string, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string - settings - - foreground - #494949 - - - - name - ✘ Meta.tag.«all» - scope - declaration.tag, declaration.tag entity, meta.tag, meta.tag entity - settings - - foreground - #AC885B - - - - name - ✘ Meta.tag.inline - scope - declaration.tag.inline, declaration.tag.inline entity, source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity - settings - - foreground - #E0C589 - - - - name - § css tag-name - scope - meta.selector.css entity.name.tag - settings - - foreground - #CDA869 - - - - name - § css:pseudo-class - scope - meta.selector.css entity.other.attribute-name.tag.pseudo-class - settings - - foreground - #8F9D6A - - - - name - § css#id - scope - meta.selector.css entity.other.attribute-name.id - settings - - foreground - #8B98AB - - - - name - § css.class - scope - meta.selector.css entity.other.attribute-name.class - settings - - foreground - #9B703F - - - - name - § css property-name: - scope - support.type.property-name.css - settings - - foreground - #C5AF75 - - - - name - § css property-value; - scope - meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css - settings - - foreground - #F9EE98 - - - - name - § css @at-rule - scope - meta.preprocessor.at-rule keyword.control.at-rule - settings - - foreground - #8693A5 - - - - name - § css additional-constants - scope - meta.property-value support.constant.named-color.css, meta.property-value constant - settings - - foreground - #CA7840 - - - - name - § css constructor.argument - scope - meta.constructor.argument.css - settings - - foreground - #8F9D6A - - - - name - ⎇ diff.header - scope - meta.diff, meta.diff.header, meta.separator - settings - - background - #0E2231 - fontStyle - italic - foreground - #F8F8F8 - - - - name - ⎇ diff.deleted - scope - markup.deleted - settings - - background - #420E09 - foreground - #F8F8F8 - - - - name - ⎇ diff.changed - scope - markup.changed - settings - - background - #4A410D - foreground - #F8F8F8 - - - - name - ⎇ diff.inserted - scope - markup.inserted - settings - - background - #253B22 - foreground - #F8F8F8 - - - - name - Markup: List - scope - markup.list - settings - - foreground - #F9EE98 - - - - name - Markup: Heading - scope - markup.heading - settings - - foreground - #CF6A4C - - - - uuid - 766026CB-703D-4610-B070-8DE07D967C5F - - diff --git a/themes/Zenburnesque.tmTheme b/themes/Zenburnesque.tmTheme deleted file mode 100644 index 8631f9867..000000000 --- a/themes/Zenburnesque.tmTheme +++ /dev/null @@ -1,343 +0,0 @@ - - - - - author - William D. Neumann - name - Zenburnesque - settings - - - settings - - background - #404040 - caret - #FFFF66 - foreground - #DEDEDE - invisibles - #A8A8A8 - lineHighlight - #A0804026 - selection - #A0A0C0 - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #709070 - - - - name - Directive - scope - keyword.other.directive - settings - - fontStyle - bold - - - - name - Line-number directives - scope - keyword.other.directive.line-number - settings - - fontStyle - underline - - - - name - Characters - scope - constant.character - settings - - foreground - #FF8080 - - - - name - String - scope - string - settings - - foreground - #FF2020 - - - - name - Number - scope - constant.numeric - settings - - foreground - #22C0FF - - - - name - Floating-point numbers - scope - constant.numeric.floating-point - settings - - fontStyle - underline - - - - name - Built-in constant - scope - constant.language - settings - - - - name - User-defined constant - scope - constant.character, constant.other - settings - - - - name - Variable - scope - variable.parameter, variable.other - settings - - - - name - Language Keyword - scope - keyword - settings - - foreground - #FFFFA0 - - - - name - Module Keyword - scope - entity.name.module, support.other.module - settings - - fontStyle - bold - foreground - #FF8000 - - - - name - Operators - scope - keyword.operator - settings - - foreground - #FFFFA0 - - - - name - Floating-point infix operators - scope - source.ocaml keyword.operator.symbol.infix.floating-point - settings - - fontStyle - underline - - - - name - Floating-point prefix operators - scope - source.ocaml keyword.operator.symbol.prefix.floating-point - settings - - fontStyle - underline - - - - name - Storage Types - scope - storage.type - settings - - foreground - #6080FF - - - - name - Variant Types - scope - entity.name.class.variant - settings - - foreground - #4080A0 - - - - name - Storage - scope - storage - settings - - - - name - Type name - scope - entity.name.type - settings - - foreground - #F09040 - - - - name - Inherited class - scope - entity.other.inherited-class - settings - - - - name - Function name - scope - entity.name.function - settings - - fontStyle - bold - foreground - #FFCC66 - - - - name - Type name - scope - storage.type.user-defined - settings - - foreground - #FFE000 - - - - name - Class type name - scope - entity.name.type.class.type - settings - - foreground - #F4A020 - - - - name - Function argument - scope - variable.parameter - settings - - fontStyle - - - - - name - Tag name - scope - entity.name.tag - settings - - - - name - Tag attribute - scope - entity.other.attribute-name - settings - - - - name - Library function - scope - support.function - settings - - - - name - Library constant - scope - support.constant - settings - - - - name - Library class/type - scope - support.type, support.class - settings - - - - name - Library variable - scope - support.variable - settings - - - - name - Invalid - scope - invalid - settings - - - - uuid - 8D4988B9-ADD8-436F-B388-BC1360F8504B - - diff --git a/themes/iPlastic.tmTheme b/themes/iPlastic.tmTheme deleted file mode 100644 index 7253df6a7..000000000 --- a/themes/iPlastic.tmTheme +++ /dev/null @@ -1,286 +0,0 @@ - - - - - author - Jeroen van der Ham - name - iPlastic - settings - - - settings - - background - #EEEEEEEB - caret - #000000 - foreground - #000000 - invisibles - #B3B3B3F4 - lineHighlight - #0000001A - selection - #BAD6FD - - - - name - String - scope - string - settings - - foreground - #009933 - - - - name - Number - scope - constant.numeric - settings - - foreground - #0066FF - - - - name - Regular expression - scope - string.regexp - settings - - foreground - #FF0080 - - - - name - Keyword - scope - keyword - settings - - foreground - #0000FF - - - - name - Identifier - scope - constant.language - settings - - foreground - #9700CC - - - - name - Exception - scope - support.class.exception - settings - - foreground - #990000 - - - - name - Function name - scope - entity.name.function - settings - - foreground - #FF8000 - - - - name - Type name - scope - entity.name.type - settings - - fontStyle - bold underline - - - - name - Arguments - scope - variable.parameter - settings - - fontStyle - italic - - - - name - Comment - scope - comment - settings - - fontStyle - italic - foreground - #0066FF - - - - name - Invalid - scope - invalid - settings - - background - #E71A114D - foreground - #FF0000 - - - - name - Trailing whitespace - scope - invalid.deprecated.trailing-whitespace - settings - - background - #E71A1100 - - - - name - Embedded source - scope - text source - settings - - background - #FAFAFAFC - foreground - #000000 - - - - name - Tag - scope - meta.tag, declaration.tag - settings - - foreground - #0033CC - - - - name - Constant - scope - constant, support.constant - settings - - foreground - #6782D3 - - - - name - Support - scope - support - settings - - fontStyle - bold - foreground - #3333FF - - - - name - Storage - scope - storage - settings - - fontStyle - bold - - - - name - Section name - scope - entity.name.section - settings - - fontStyle - bold underline - - - - name - Frame title - scope - entity.name.function.frame - settings - - fontStyle - bold - foreground - #000000 - - - - name - XML Declaration - scope - meta.tag.preprocessor.xml - settings - - foreground - #333333 - - - - name - Tag Attribute - scope - entity.other.attribute-name - settings - - fontStyle - italic - foreground - #3366CC - - - - name - Tag Name - scope - entity.name.tag - settings - - fontStyle - bold - - - - uuid - 4FCFA210-B247-11D9-9D00-000D93347A42 - - From b08422bc6b622a9e09a675a8685c6bcd1c58dfba Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Wed, 26 Dec 2012 16:57:48 -0800 Subject: [PATCH 22/38] TextMateTheme@load will load absolute paths --- spec/app/text-mate-theme-spec.coffee | 20 +- spec/fixtures/test.tmTheme | 514 +++++++++++++++++++++++++++ src/app/text-mate-theme.coffee | 7 +- 3 files changed, 525 insertions(+), 16 deletions(-) create mode 100644 spec/fixtures/test.tmTheme diff --git a/spec/app/text-mate-theme-spec.coffee b/spec/app/text-mate-theme-spec.coffee index d040a30df..48d28b47d 100644 --- a/spec/app/text-mate-theme-spec.coffee +++ b/spec/app/text-mate-theme-spec.coffee @@ -3,26 +3,16 @@ plist = require 'plist' TextMateTheme = require 'text-mate-theme' describe "TextMateTheme", -> - theme = null - beforeEach -> - theme = TextMateTheme.getTheme('Twilight') + [theme, themePath] = [] - describe "@getNames()", -> - it "returns an array of available theme names", -> - names = TextMateTheme.getNames() - expect(names).toContain("Twilight") - expect(names).toContain("Blackboard") + beforeEach -> + themePath = require.resolve(fs.join('fixtures', 'test.tmTheme')) + theme = TextMateTheme.load(themePath) describe "@activate(name)", -> - it "activates a theme by name", -> - spyOn theme, 'activate' - TextMateTheme.activate('Twilight') - expect(theme.activate).toHaveBeenCalled() - - describe ".activate()", -> it "applies the theme's stylesheet to the current window", -> spyOn window, 'applyStylesheet' - theme.activate() + TextMateTheme.activate(themePath) expect(window.applyStylesheet).toHaveBeenCalledWith(theme.name, theme.getStylesheet()) describe ".getRulesets()", -> diff --git a/spec/fixtures/test.tmTheme b/spec/fixtures/test.tmTheme new file mode 100644 index 000000000..a83f7ecbb --- /dev/null +++ b/spec/fixtures/test.tmTheme @@ -0,0 +1,514 @@ + + + + + author + Michael Sheets + name + Twilight + settings + + + settings + + background + #141414 + caret + #A7A7A7 + foreground + #F8F8F8 + invisibles + #FFFFFF40 + lineHighlight + #FFFFFF08 + selection + #DDF0FF33 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #5F5A60 + + + + name + Constant + scope + constant + settings + + foreground + #CF6A4C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #9B703F + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #CDA869 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #F9EE98 + + + + name + String + scope + string + settings + + fontStyle + + foreground + #8F9D6A + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #9B859D + + + + name + Variable + scope + variable + settings + + foreground + #7587A6 + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic underline + foreground + #D2A8A1 + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #F8F8F8 + + + + name + ----------------------------------- + settings + + + + name + ♦ Embedded Source + scope + text source + settings + + background + #B0B3BA14 + + + + name + ♦ Embedded Source (Bright) + scope + text.html.ruby source + settings + + background + #B1B3BA21 + + + + name + ♦ Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #9B5C2E + + + + name + ♦ String embedded-source + scope + string source + settings + + fontStyle + + foreground + #DAEFA3 + + + + name + ♦ String constant + scope + string constant + settings + + foreground + #DDF2A4 + + + + name + ♦ String.regexp + scope + string.regexp + settings + + fontStyle + + foreground + #E9C062 + + + + name + ♦ String.regexp.«special» + scope + string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + foreground + #CF7D34 + + + + name + ♦ String variable + scope + string variable + settings + + foreground + #8A9A95 + + + + name + ♦ Support.function + scope + support.function + settings + + fontStyle + + foreground + #DAD085 + + + + name + ♦ Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #CF6A4C + + + + name + c C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + c C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + foreground + #AFC4DB + + + + name + ✘ Doctype/XML Processing + scope + meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.sgml.doctype string, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string + settings + + foreground + #494949 + + + + name + ✘ Meta.tag.«all» + scope + declaration.tag, declaration.tag entity, meta.tag, meta.tag entity + settings + + foreground + #AC885B + + + + name + ✘ Meta.tag.inline + scope + declaration.tag.inline, declaration.tag.inline entity, source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity + settings + + foreground + #E0C589 + + + + name + § css tag-name + scope + meta.selector.css entity.name.tag + settings + + foreground + #CDA869 + + + + name + § css:pseudo-class + scope + meta.selector.css entity.other.attribute-name.tag.pseudo-class + settings + + foreground + #8F9D6A + + + + name + § css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + foreground + #8B98AB + + + + name + § css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + foreground + #9B703F + + + + name + § css property-name: + scope + support.type.property-name.css + settings + + foreground + #C5AF75 + + + + name + § css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + foreground + #F9EE98 + + + + name + § css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #8693A5 + + + + name + § css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + foreground + #CA7840 + + + + name + § css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #8F9D6A + + + + name + ⎇ diff.header + scope + meta.diff, meta.diff.header, meta.separator + settings + + background + #0E2231 + fontStyle + italic + foreground + #F8F8F8 + + + + name + ⎇ diff.deleted + scope + markup.deleted + settings + + background + #420E09 + foreground + #F8F8F8 + + + + name + ⎇ diff.changed + scope + markup.changed + settings + + background + #4A410D + foreground + #F8F8F8 + + + + name + ⎇ diff.inserted + scope + markup.inserted + settings + + background + #253B22 + foreground + #F8F8F8 + + + + name + Markup: List + scope + markup.list + settings + + foreground + #F9EE98 + + + + name + Markup: Heading + scope + markup.heading + settings + + foreground + #CF6A4C + + + + uuid + 766026CB-703D-4610-B070-8DE07D967C5F + + diff --git a/src/app/text-mate-theme.coffee b/src/app/text-mate-theme.coffee index 77ff38f96..d0c28fb85 100644 --- a/src/app/text-mate-theme.coffee +++ b/src/app/text-mate-theme.coffee @@ -6,7 +6,12 @@ module.exports = class TextMateTheme @load: (name) -> regex = new RegExp("#{_.escapeRegExp(name)}\.(tmTheme|plist)$", "i") - path = _.find fs.list(config.themeDirPath), (path) -> regex.test(path) + + if fs.exists(name) + path = name + else + path = _.find fs.list(config.themeDirPath), (path) -> regex.test(path) + return null unless path plistString = fs.read(path) From 5eb16d830445f958d5597c378d8378b27cc3326b Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Wed, 26 Dec 2012 17:35:19 -0800 Subject: [PATCH 23/38] Add `window.removeStylesheet` --- spec/app/language-mode-spec.coffee | 6 +++--- spec/app/window-spec.coffee | 10 ++++++++++ spec/fixtures/css.css | 1 + src/app/window.coffee | 7 ++++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/spec/app/language-mode-spec.coffee b/spec/app/language-mode-spec.coffee index e7bdc7ea9..340f4865c 100644 --- a/spec/app/language-mode-spec.coffee +++ b/spec/app/language-mode-spec.coffee @@ -262,19 +262,19 @@ describe "LanguageMode", -> expect(buffer.lineForRow(0)).toBe "/*body {" expect(buffer.lineForRow(1)).toBe " font-size: 1234px;*/" expect(buffer.lineForRow(2)).toBe " width: 110%;" - expect(buffer.lineForRow(3)).toBe "}" + expect(buffer.lineForRow(3)).toBe " font-weight: bold !important;" languageMode.toggleLineCommentsForBufferRows(2, 2) expect(buffer.lineForRow(0)).toBe "/*body {" expect(buffer.lineForRow(1)).toBe " font-size: 1234px;*/" expect(buffer.lineForRow(2)).toBe "/* width: 110%;*/" - expect(buffer.lineForRow(3)).toBe "}" + expect(buffer.lineForRow(3)).toBe " font-weight: bold !important;" languageMode.toggleLineCommentsForBufferRows(0, 1) expect(buffer.lineForRow(0)).toBe "body {" expect(buffer.lineForRow(1)).toBe " font-size: 1234px;" expect(buffer.lineForRow(2)).toBe "/* width: 110%;*/" - expect(buffer.lineForRow(3)).toBe "}" + expect(buffer.lineForRow(3)).toBe " font-weight: bold !important;" it "uncomments lines with leading whitespace", -> buffer.replaceLines(2, 2, " /*width: 110%;*/") diff --git a/spec/app/window-spec.coffee b/spec/app/window-spec.coffee index 05e582d34..9cd9103b2 100644 --- a/spec/app/window-spec.coffee +++ b/spec/app/window-spec.coffee @@ -48,6 +48,16 @@ describe "Window", -> requireStylesheet('atom.css') expect($('head style').length).toBe lengthBefore + 1 + describe ".disableStyleSheet(path)", -> + it "removes styling applied by given stylesheet path", -> + cssPath = require.resolve(fs.join("fixtures", "css.css")) + + expect($(document.body).css('font-weight')).not.toBe("bold") + requireStylesheet(cssPath) + expect($(document.body).css('font-weight')).toBe("bold") + removeStylesheet(cssPath) + expect($(document.body).css('font-weight')).not.toBe("bold") + describe "before the window is unloaded", -> it "saves the serialized state of the root view to the atom object so it can be rehydrated after reload", -> expect(atom.getRootViewStateForPath(window.rootView.project.getPath())).toBeUndefined() diff --git a/spec/fixtures/css.css b/spec/fixtures/css.css index 52b8f56c6..d5ae97e68 100644 --- a/spec/fixtures/css.css +++ b/spec/fixtures/css.css @@ -1,4 +1,5 @@ body { font-size: 1234px; width: 110%; + font-weight: bold !important; } diff --git a/src/app/window.coffee b/src/app/window.coffee index 4b6d7047d..5eccba916 100644 --- a/src/app/window.coffee +++ b/src/app/window.coffee @@ -65,9 +65,14 @@ windowAdditions = requireStylesheet: (path) -> unless fullPath = require.resolve(path) - throw new Error("requireStylesheet could not find a file at path '#{path}'") + throw new Error("Could not find a file at path '#{path}'") window.applyStylesheet(fullPath, fs.read(fullPath)) + removeStylesheet: (path) -> + unless fullPath = require.resolve(path) + throw new Error("Could not find a file at path '#{path}'") + $("head style[id='#{fullPath}']").remove() + applyStylesheet: (id, text) -> unless $("head style[id='#{id}']").length $('head').append "" From d509507b0c2a551b4c3b8e611d66da3e003776ed Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 27 Dec 2012 11:12:40 -0800 Subject: [PATCH 24/38] TextMateTheme extend Theme --- spec/app/text-mate-theme-spec.coffee | 9 +++--- src/app/text-mate-theme.coffee | 34 +++----------------- src/app/theme.coffee | 46 ++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 33 deletions(-) create mode 100644 src/app/theme.coffee diff --git a/spec/app/text-mate-theme-spec.coffee b/spec/app/text-mate-theme-spec.coffee index 48d28b47d..b879ec7d0 100644 --- a/spec/app/text-mate-theme-spec.coffee +++ b/spec/app/text-mate-theme-spec.coffee @@ -1,19 +1,20 @@ fs = require 'fs' plist = require 'plist' TextMateTheme = require 'text-mate-theme' +Theme = require 'theme' describe "TextMateTheme", -> [theme, themePath] = [] beforeEach -> themePath = require.resolve(fs.join('fixtures', 'test.tmTheme')) - theme = TextMateTheme.load(themePath) + theme = Theme.load(themePath) - describe "@activate(name)", -> + describe "@load(name)", -> it "applies the theme's stylesheet to the current window", -> spyOn window, 'applyStylesheet' - TextMateTheme.activate(themePath) - expect(window.applyStylesheet).toHaveBeenCalledWith(theme.name, theme.getStylesheet()) + Theme.load(themePath) + expect(window.applyStylesheet).toHaveBeenCalledWith(themePath, theme.getStylesheet()) describe ".getRulesets()", -> rulesets = null diff --git a/src/app/text-mate-theme.coffee b/src/app/text-mate-theme.coffee index d0c28fb85..b8b60b33b 100644 --- a/src/app/text-mate-theme.coffee +++ b/src/app/text-mate-theme.coffee @@ -1,41 +1,17 @@ _ = require 'underscore' fs = require 'fs' -plist = require 'plist' + +Theme = require 'Theme' module.exports = -class TextMateTheme - @load: (name) -> - regex = new RegExp("#{_.escapeRegExp(name)}\.(tmTheme|plist)$", "i") - - if fs.exists(name) - path = name - else - path = _.find fs.list(config.themeDirPath), (path) -> regex.test(path) - - return null unless path - - plistString = fs.read(path) - theme = null - plist.parseString plistString, (err, data) -> - throw new Error("Error loading theme at '#{path}': #{err}") if err - theme = new TextMateTheme(data[0]) - theme - - @activate: (name) -> - if theme = @load(name) - theme.activate() - else - throw new Error("No theme with name '#{name}'") - - constructor: ({@name, settings}) -> +class TextMateTheme extends Theme + constructor: (@path, {settings}) -> + super @rulesets = [] globalSettings = settings[0] @buildGlobalSettingsRulesets(settings[0]) @buildScopeSelectorRulesets(settings[1..]) - activate: -> - applyStylesheet(@name, @getStylesheet()) - getStylesheet: -> lines = [] for {selector, properties} in @getRulesets() diff --git a/src/app/theme.coffee b/src/app/theme.coffee new file mode 100644 index 000000000..1849b518c --- /dev/null +++ b/src/app/theme.coffee @@ -0,0 +1,46 @@ +fs = require("fs") +plist = require 'plist' +_ = require 'underscore' + +module.exports = +class Theme + @load: (name) -> + if fs.exists(name) + path = name + else + regex = new RegExp("#{_.escapeRegExp(name)}(\.[^.]*)?$", "i") + path = _.find fs.list(config.themeDirPath), (path) -> regex.test(path) + + return null unless path + + if @isTextMateTheme(path) + theme = @loadTextMateTheme(path) + else + throw new Error("I only know how to load textmate themes!") + + if theme + theme.activate() + else + throw new Error("Cannot activate theme named '#{name}'") + + theme + + @loadTextMateTheme: (path) -> + TextMateTheme = require("text-mate-theme") + plistString = fs.read(path) + theme = null + plist.parseString plistString, (err, data) -> + throw new Error("Error loading theme at '#{path}': #{err}") if err + theme = new TextMateTheme(path, data[0]) + theme + + @isTextMateTheme: (path) -> + /\.(tmTheme|plist)$/.test(path) + + constructor: (@path) -> + + activate: -> + applyStylesheet(@path, @getStylesheet()) + + getStylesheet: -> + fs.read(@path) \ No newline at end of file From 0d946078c9d87c19dc13841f0f57836b7e37dd38 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 27 Dec 2012 14:31:13 -0800 Subject: [PATCH 25/38] Atom Themes can be loaded --- docs/configuring-and-extending.md | 2 +- spec/app/theme-spec.coffee | 17 +++++++++++++++++ spec/fixtures/test-atom-theme/first.css | 5 +++++ spec/fixtures/test-atom-theme/last.css | 5 +++++ spec/fixtures/test-atom-theme/package.json | 3 +++ spec/fixtures/test-atom-theme/second.css | 5 +++++ src/app/root-view.coffee | 4 ++-- src/app/text-mate-theme.coffee | 5 +++-- src/app/theme.coffee | 20 ++++++++++++++++---- 9 files changed, 57 insertions(+), 9 deletions(-) create mode 100644 spec/app/theme-spec.coffee create mode 100644 spec/fixtures/test-atom-theme/first.css create mode 100644 spec/fixtures/test-atom-theme/last.css create mode 100644 spec/fixtures/test-atom-theme/package.json create mode 100644 spec/fixtures/test-atom-theme/second.css diff --git a/docs/configuring-and-extending.md b/docs/configuring-and-extending.md index d9083d78e..033618650 100644 --- a/docs/configuring-and-extending.md +++ b/docs/configuring-and-extending.md @@ -110,7 +110,7 @@ folder, which can contain multiple stylesheets along with an optional package.json: ```json { - "stylesheets": ["core", "editor", "tree-view"] + "stylesheets": ["core.css", "editor.less", "tree-view.css"] } ``` diff --git a/spec/app/theme-spec.coffee b/spec/app/theme-spec.coffee new file mode 100644 index 000000000..5a64fa22a --- /dev/null +++ b/spec/app/theme-spec.coffee @@ -0,0 +1,17 @@ +$ = require 'jquery' +fs = require 'fs' +Theme = require 'theme' + +describe "Theme", -> + describe "@load(name)", -> + it "Loads and applies css from package.json in the correct order", -> + themePath = require.resolve(fs.join('fixtures', 'test-atom-theme')) + + expect($(document.body).css("padding-top")).not.toBe("101px") + expect($(document.body).css("padding-right")).not.toBe("102px") + expect($(document.body).css("padding-bottom")).not.toBe("103px") + theme = Theme.load(themePath) + expect($(document.body).css("padding-top")).toBe("101px") + expect($(document.body).css("padding-right")).toBe("102px") + expect($(document.body).css("padding-bottom")).toBe("103px") + theme.deactivate() diff --git a/spec/fixtures/test-atom-theme/first.css b/spec/fixtures/test-atom-theme/first.css new file mode 100644 index 000000000..65f387e95 --- /dev/null +++ b/spec/fixtures/test-atom-theme/first.css @@ -0,0 +1,5 @@ +body { + padding-top: 101px; + padding-right: 101px; + padding-bottom: 101px; +} \ No newline at end of file diff --git a/spec/fixtures/test-atom-theme/last.css b/spec/fixtures/test-atom-theme/last.css new file mode 100644 index 000000000..df4661420 --- /dev/null +++ b/spec/fixtures/test-atom-theme/last.css @@ -0,0 +1,5 @@ +body { +/* padding-top: 103px; + padding-right: 103px;*/ + padding-bottom: 103px; +} \ No newline at end of file diff --git a/spec/fixtures/test-atom-theme/package.json b/spec/fixtures/test-atom-theme/package.json new file mode 100644 index 000000000..9add36774 --- /dev/null +++ b/spec/fixtures/test-atom-theme/package.json @@ -0,0 +1,3 @@ +{ + "stylesheets": ["first.css", "second.css", "last.css"] +} \ No newline at end of file diff --git a/spec/fixtures/test-atom-theme/second.css b/spec/fixtures/test-atom-theme/second.css new file mode 100644 index 000000000..c34cf946b --- /dev/null +++ b/spec/fixtures/test-atom-theme/second.css @@ -0,0 +1,5 @@ +body { +/* padding-top: 102px;*/ + padding-right: 102px; + padding-bottom: 102px; +} \ No newline at end of file diff --git a/src/app/root-view.coffee b/src/app/root-view.coffee index 2a7b51ab7..6967cd575 100644 --- a/src/app/root-view.coffee +++ b/src/app/root-view.coffee @@ -10,7 +10,7 @@ Project = require 'project' Pane = require 'pane' PaneColumn = require 'pane-column' PaneRow = require 'pane-row' -TextMateTheme = require 'text-mate-theme' +Theme = require 'theme' module.exports = class RootView extends View @@ -41,7 +41,7 @@ class RootView extends View config.load() - TextMateTheme.activate(config.get("core.theme") ? 'IR_Black') + Theme.load(config.get("core.theme") ? 'IR_Black') @handleEvents() diff --git a/src/app/text-mate-theme.coffee b/src/app/text-mate-theme.coffee index b8b60b33b..4fd21b42a 100644 --- a/src/app/text-mate-theme.coffee +++ b/src/app/text-mate-theme.coffee @@ -1,17 +1,18 @@ _ = require 'underscore' fs = require 'fs' - Theme = require 'Theme' module.exports = class TextMateTheme extends Theme constructor: (@path, {settings}) -> - super @rulesets = [] globalSettings = settings[0] @buildGlobalSettingsRulesets(settings[0]) @buildScopeSelectorRulesets(settings[1..]) + @stylesheets = {} + @stylesheets[@path] = @getStylesheet() + getStylesheet: -> lines = [] for {selector, properties} in @getRulesets() diff --git a/src/app/theme.coffee b/src/app/theme.coffee index 1849b518c..bf429892f 100644 --- a/src/app/theme.coffee +++ b/src/app/theme.coffee @@ -16,7 +16,7 @@ class Theme if @isTextMateTheme(path) theme = @loadTextMateTheme(path) else - throw new Error("I only know how to load textmate themes!") + theme = @loadAtomTheme(path) if theme theme.activate() @@ -34,13 +34,25 @@ class Theme theme = new TextMateTheme(path, data[0]) theme + @loadAtomTheme: (path) -> + new Theme(path) + @isTextMateTheme: (path) -> /\.(tmTheme|plist)$/.test(path) + @stylesheets: null + constructor: (@path) -> + json = fs.read(fs.join(path, "package.json")) + @stylesheets = {} + for stylesheetName in JSON.parse(json).stylesheets + stylesheetPath = fs.join(@path, stylesheetName) + @stylesheets[stylesheetPath] = fs.read(stylesheetPath) activate: -> - applyStylesheet(@path, @getStylesheet()) + for stylesheetPath, stylesheetContent of @stylesheets + applyStylesheet(stylesheetPath, stylesheetContent) - getStylesheet: -> - fs.read(@path) \ No newline at end of file + deactivate: -> + for stylesheetPath, stylesheetContent of @stylesheets + window.removeStylesheet(stylesheetPath) \ No newline at end of file From 82abbaa71c94d8686bc0d87360236229e46c9674 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 27 Dec 2012 15:25:16 -0800 Subject: [PATCH 26/38] Break AtomTheme out into its own file. --- spec/app/theme-spec.coffee | 12 +++++++++++- src/app/atom-theme.coffee | 11 +++++++++++ src/app/text-mate-theme.coffee | 3 +-- src/app/theme.coffee | 20 ++++++-------------- 4 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 src/app/atom-theme.coffee diff --git a/spec/app/theme-spec.coffee b/spec/app/theme-spec.coffee index 5a64fa22a..01da55c61 100644 --- a/spec/app/theme-spec.coffee +++ b/spec/app/theme-spec.coffee @@ -2,7 +2,16 @@ $ = require 'jquery' fs = require 'fs' Theme = require 'theme' -describe "Theme", -> +describe "TextMateTheme", -> + describe "@load(name)", -> + it "applies the theme's stylesheet to the current window", -> + themePath = require.resolve(fs.join('fixtures', 'test.tmTheme')) + spyOn window, 'applyStylesheet' + theme = Theme.load(themePath) + expect(window.applyStylesheet).toHaveBeenCalledWith(themePath, theme.getStylesheet()) + theme.deactivate() + +describe "AtomTheme", -> describe "@load(name)", -> it "Loads and applies css from package.json in the correct order", -> themePath = require.resolve(fs.join('fixtures', 'test-atom-theme')) @@ -14,4 +23,5 @@ describe "Theme", -> expect($(document.body).css("padding-top")).toBe("101px") expect($(document.body).css("padding-right")).toBe("102px") expect($(document.body).css("padding-bottom")).toBe("103px") + theme.deactivate() diff --git a/src/app/atom-theme.coffee b/src/app/atom-theme.coffee new file mode 100644 index 000000000..531bb34ec --- /dev/null +++ b/src/app/atom-theme.coffee @@ -0,0 +1,11 @@ +fs = require 'fs' +Theme = require 'theme' + +module.exports = +class AtomTheme extends Theme + constructor: (@path) -> + super + json = fs.read(fs.join(path, "package.json")) + for stylesheetName in JSON.parse(json).stylesheets + stylesheetPath = fs.join(@path, stylesheetName) + @stylesheets[stylesheetPath] = fs.read(stylesheetPath) diff --git a/src/app/text-mate-theme.coffee b/src/app/text-mate-theme.coffee index 4fd21b42a..5aafb7e3d 100644 --- a/src/app/text-mate-theme.coffee +++ b/src/app/text-mate-theme.coffee @@ -5,12 +5,11 @@ Theme = require 'Theme' module.exports = class TextMateTheme extends Theme constructor: (@path, {settings}) -> + super @rulesets = [] globalSettings = settings[0] @buildGlobalSettingsRulesets(settings[0]) @buildScopeSelectorRulesets(settings[1..]) - - @stylesheets = {} @stylesheets[@path] = @getStylesheet() getStylesheet: -> diff --git a/src/app/theme.coffee b/src/app/theme.coffee index bf429892f..d52f8f5e3 100644 --- a/src/app/theme.coffee +++ b/src/app/theme.coffee @@ -4,6 +4,8 @@ _ = require 'underscore' module.exports = class Theme + @stylesheets: null + @load: (name) -> if fs.exists(name) path = name @@ -11,18 +13,13 @@ class Theme regex = new RegExp("#{_.escapeRegExp(name)}(\.[^.]*)?$", "i") path = _.find fs.list(config.themeDirPath), (path) -> regex.test(path) - return null unless path - if @isTextMateTheme(path) theme = @loadTextMateTheme(path) else theme = @loadAtomTheme(path) - if theme - theme.activate() - else - throw new Error("Cannot activate theme named '#{name}'") - + throw new Error("Cannot activate theme named '#{name}' located at '#{path}'") unless theme + theme.activate() theme @loadTextMateTheme: (path) -> @@ -35,19 +32,14 @@ class Theme theme @loadAtomTheme: (path) -> - new Theme(path) + AtomTheme = require('atom-theme') + new AtomTheme(path) @isTextMateTheme: (path) -> /\.(tmTheme|plist)$/.test(path) - @stylesheets: null - constructor: (@path) -> - json = fs.read(fs.join(path, "package.json")) @stylesheets = {} - for stylesheetName in JSON.parse(json).stylesheets - stylesheetPath = fs.join(@path, stylesheetName) - @stylesheets[stylesheetPath] = fs.read(stylesheetPath) activate: -> for stylesheetPath, stylesheetContent of @stylesheets From 71267fd7fea347b54f76f93f7e7a96343c20d259 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 27 Dec 2012 15:51:21 -0800 Subject: [PATCH 27/38] Make required path lowercase --- src/app/text-mate-theme.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/text-mate-theme.coffee b/src/app/text-mate-theme.coffee index 5aafb7e3d..caae44298 100644 --- a/src/app/text-mate-theme.coffee +++ b/src/app/text-mate-theme.coffee @@ -1,6 +1,6 @@ _ = require 'underscore' fs = require 'fs' -Theme = require 'Theme' +Theme = require 'theme' module.exports = class TextMateTheme extends Theme From 4244e673af14843d34de38e5877c4c44e6bcdacd Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 27 Dec 2012 15:52:09 -0800 Subject: [PATCH 28/38] Load themes from Config.load --- src/app/config.coffee | 4 ++++ src/app/root-view.coffee | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/config.coffee b/src/app/config.coffee index 854cc40a5..cd307becd 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -4,6 +4,7 @@ EventEmitter = require 'event-emitter' {$$} = require 'space-pen' jQuery = require 'jquery' Specificity = require 'specificity' +Theme = require 'theme' configDirPath = fs.absolute("~/.atom") configJsonPath = fs.join(configDirPath, "config.json") @@ -31,6 +32,9 @@ class Config @requireUserInitScript() atom.loadPackages() + themeName = config.get("core.theme") ? 'IR_Black' + Theme.load(themeName) + loadUserConfig: -> if fs.exists(configJsonPath) userConfig = JSON.parse(fs.read(configJsonPath)) diff --git a/src/app/root-view.coffee b/src/app/root-view.coffee index 6967cd575..0448e3b9e 100644 --- a/src/app/root-view.coffee +++ b/src/app/root-view.coffee @@ -10,7 +10,6 @@ Project = require 'project' Pane = require 'pane' PaneColumn = require 'pane-column' PaneRow = require 'pane-row' -Theme = require 'theme' module.exports = class RootView extends View @@ -41,8 +40,6 @@ class RootView extends View config.load() - Theme.load(config.get("core.theme") ? 'IR_Black') - @handleEvents() if pathToOpen From 4a6d336763d0e5cb9d64c982aec14d2a72e84213 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 27 Dec 2012 16:09:31 -0800 Subject: [PATCH 29/38] Theme.load can take multiple theme names --- spec/app/text-mate-theme-spec.coffee | 9 ++-- spec/app/theme-spec.coffee | 53 +++++++++++++++++------- spec/fixtures/test-atom-theme/first.css | 4 +- spec/fixtures/test-atom-theme/last.css | 2 +- spec/fixtures/test-atom-theme/second.css | 2 +- src/app/config.coffee | 4 +- src/app/theme.coffee | 8 +++- 7 files changed, 53 insertions(+), 29 deletions(-) diff --git a/spec/app/text-mate-theme-spec.coffee b/spec/app/text-mate-theme-spec.coffee index b879ec7d0..0ea739f7e 100644 --- a/spec/app/text-mate-theme-spec.coffee +++ b/spec/app/text-mate-theme-spec.coffee @@ -8,13 +8,10 @@ describe "TextMateTheme", -> beforeEach -> themePath = require.resolve(fs.join('fixtures', 'test.tmTheme')) - theme = Theme.load(themePath) + [theme] = Theme.load(themePath) - describe "@load(name)", -> - it "applies the theme's stylesheet to the current window", -> - spyOn window, 'applyStylesheet' - Theme.load(themePath) - expect(window.applyStylesheet).toHaveBeenCalledWith(themePath, theme.getStylesheet()) + afterEach -> + theme.deactivate() describe ".getRulesets()", -> rulesets = null diff --git a/spec/app/theme-spec.coffee b/spec/app/theme-spec.coffee index 01da55c61..4c366db10 100644 --- a/spec/app/theme-spec.coffee +++ b/spec/app/theme-spec.coffee @@ -2,26 +2,47 @@ $ = require 'jquery' fs = require 'fs' Theme = require 'theme' -describe "TextMateTheme", -> - describe "@load(name)", -> +fdescribe "@load(name)", -> + themes = null + + beforeEach -> + $("#jasmine-content").append $("
") + + afterEach -> + theme.deactivate() for theme in themes + + describe "TextMateTheme", -> it "applies the theme's stylesheet to the current window", -> + expect($(".editor").css("background-color")).not.toBe("rgb(20, 20, 20)") + themePath = require.resolve(fs.join('fixtures', 'test.tmTheme')) - spyOn window, 'applyStylesheet' - theme = Theme.load(themePath) - expect(window.applyStylesheet).toHaveBeenCalledWith(themePath, theme.getStylesheet()) - theme.deactivate() + themes = Theme.load(themePath) + expect($(".editor").css("background-color")).toBe("rgb(20, 20, 20)") -describe "AtomTheme", -> - describe "@load(name)", -> + describe "AtomTheme", -> it "Loads and applies css from package.json in the correct order", -> + expect($(".editor").css("padding-top")).not.toBe("101px") + expect($(".editor").css("padding-right")).not.toBe("102px") + expect($(".editor").css("padding-bottom")).not.toBe("103px") + themePath = require.resolve(fs.join('fixtures', 'test-atom-theme')) + themes = Theme.load(themePath) + expect($(".editor").css("padding-top")).toBe("101px") + expect($(".editor").css("padding-right")).toBe("102px") + expect($(".editor").css("padding-bottom")).toBe("103px") - expect($(document.body).css("padding-top")).not.toBe("101px") - expect($(document.body).css("padding-right")).not.toBe("102px") - expect($(document.body).css("padding-bottom")).not.toBe("103px") - theme = Theme.load(themePath) - expect($(document.body).css("padding-top")).toBe("101px") - expect($(document.body).css("padding-right")).toBe("102px") - expect($(document.body).css("padding-bottom")).toBe("103px") + describe "when name is an array of themes", -> + it "loads all themes in order", -> + firstThemePath = require.resolve(fs.join('fixtures', 'test.tmTheme')) + secondThemePath = require.resolve(fs.join('fixtures', 'test-atom-theme')) - theme.deactivate() + expect($(".editor").css("padding-top")).not.toBe("101px") + expect($(".editor").css("padding-right")).not.toBe("102px") + expect($(".editor").css("padding-bottom")).not.toBe("103px") + expect($(".editor").css("color")).not.toBe("rgb(0, 255, 0)") + + themes = Theme.load([firstThemePath, secondThemePath]) + expect($(".editor").css("padding-top")).toBe("101px") + expect($(".editor").css("padding-right")).toBe("102px") + expect($(".editor").css("padding-bottom")).toBe("103px") + expect($(".editor").css("color")).toBe("rgb(255, 0, 0)") diff --git a/spec/fixtures/test-atom-theme/first.css b/spec/fixtures/test-atom-theme/first.css index 65f387e95..f9af1a345 100644 --- a/spec/fixtures/test-atom-theme/first.css +++ b/spec/fixtures/test-atom-theme/first.css @@ -1,5 +1,7 @@ -body { +.editor { padding-top: 101px; padding-right: 101px; padding-bottom: 101px; + + color: red; } \ No newline at end of file diff --git a/spec/fixtures/test-atom-theme/last.css b/spec/fixtures/test-atom-theme/last.css index df4661420..c0cface8c 100644 --- a/spec/fixtures/test-atom-theme/last.css +++ b/spec/fixtures/test-atom-theme/last.css @@ -1,4 +1,4 @@ -body { +.editor { /* padding-top: 103px; padding-right: 103px;*/ padding-bottom: 103px; diff --git a/spec/fixtures/test-atom-theme/second.css b/spec/fixtures/test-atom-theme/second.css index c34cf946b..3ddf03add 100644 --- a/spec/fixtures/test-atom-theme/second.css +++ b/spec/fixtures/test-atom-theme/second.css @@ -1,4 +1,4 @@ -body { +.editor { /* padding-top: 102px;*/ padding-right: 102px; padding-bottom: 102px; diff --git a/src/app/config.coffee b/src/app/config.coffee index cd307becd..9b10426dc 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -31,9 +31,7 @@ class Config @loadUserConfig() @requireUserInitScript() atom.loadPackages() - - themeName = config.get("core.theme") ? 'IR_Black' - Theme.load(themeName) + Theme.load(config.get("core.theme") ? 'IR_Black') loadUserConfig: -> if fs.exists(configJsonPath) diff --git a/src/app/theme.coffee b/src/app/theme.coffee index d52f8f5e3..59f7ae08a 100644 --- a/src/app/theme.coffee +++ b/src/app/theme.coffee @@ -6,7 +6,13 @@ module.exports = class Theme @stylesheets: null - @load: (name) -> + @load: (names) -> + if typeof(names) == "string" + [@loadTheme(names)] + else + names.map (name) => @loadTheme(name) + + @loadTheme: (name) -> if fs.exists(name) path = name else From 16c248dbe6216967e24854b7edcdf3139dbdffa0 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 24 Dec 2012 12:50:47 -0600 Subject: [PATCH 30/38] Deal w/ the fact that TextMate settings aren't *always* scoped --- src/app/text-mate-package.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/text-mate-package.coffee b/src/app/text-mate-package.coffee index 2479640e2..07203d3b2 100644 --- a/src/app/text-mate-package.coffee +++ b/src/app/text-mate-package.coffee @@ -35,6 +35,6 @@ class TextMatePackage extends Package console.warn "Failed to parse preference at path '#{preferencePath}'", e.stack else { scope, settings } = data[0] - selector = TextMatePackage.translateScopeSelector(scope) + selector = TextMatePackage.translateScopeSelector(scope) if scope? scopedProperties.push({selector: selector, properties: settings}) scopedProperties From ea322d58959f933df877e729bbc22a52d406444d Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 27 Dec 2012 20:17:53 -0600 Subject: [PATCH 31/38] Un-F --- spec/app/theme-spec.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/app/theme-spec.coffee b/spec/app/theme-spec.coffee index 4c366db10..5990aec2c 100644 --- a/spec/app/theme-spec.coffee +++ b/spec/app/theme-spec.coffee @@ -2,7 +2,7 @@ $ = require 'jquery' fs = require 'fs' Theme = require 'theme' -fdescribe "@load(name)", -> +describe "@load(name)", -> themes = null beforeEach -> From 9c7c2ab8009927d7c62c96cd17d3c585ee57389d Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 28 Dec 2012 13:27:45 -0600 Subject: [PATCH 32/38] Store TM bundle start/end comment strings in scoped properties Previously, we had a custom method on the `TextMateBundle` class for retrieving these variables from the bundle. Now we're using Atom's `syntax.getProperty` mechanism. The idea is to map TextMate concepts to their Atom equivalent, rather than building everything directly around TextMate. --- src/app/language-mode.coffee | 4 ++-- src/app/package.coffee | 4 ++-- src/app/syntax.coffee | 3 ++- src/app/text-mate-bundle.coffee | 6 ------ src/app/text-mate-package.coffee | 25 ++++++++++++++++++++----- src/stdlib/underscore-extensions.coffee | 6 ++++++ 6 files changed, 32 insertions(+), 16 deletions(-) diff --git a/src/app/language-mode.coffee b/src/app/language-mode.coffee index 1305f9191..eb5db0e60 100644 --- a/src/app/language-mode.coffee +++ b/src/app/language-mode.coffee @@ -67,14 +67,14 @@ class LanguageMode toggleLineCommentsForBufferRows: (start, end) -> scopes = @editSession.scopesForBufferPosition([start, 0]) - return unless commentStartString = TextMateBundle.lineCommentStartStringForScope(scopes[0]) + return unless commentStartString = syntax.getProperty(scopes, "editor.commentStart") buffer = @editSession.buffer commentStartRegexString = _.escapeRegExp(commentStartString).replace(/(\s+)$/, '($1)?') commentStartRegex = new OnigRegExp("^(\\s*)(#{commentStartRegexString})") shouldUncomment = commentStartRegex.test(buffer.lineForRow(start)) - if commentEndString = TextMateBundle.lineCommentEndStringForScope(scopes[0]) + if commentEndString = syntax.getProperty(scopes, "editor.commentEnd") if shouldUncomment commentEndRegexString = _.escapeRegExp(commentEndString).replace(/^(\s+)/, '($1)?') commentEndRegex = new OnigRegExp("(#{commentEndRegexString})(\\s*)$") diff --git a/src/app/package.coffee b/src/app/package.coffee index 793fcb86a..88fcf7ef1 100644 --- a/src/app/package.coffee +++ b/src/app/package.coffee @@ -17,5 +17,5 @@ class Package @path = fs.directory(@path) unless fs.isDirectory(@path) load: -> - # WIP: Going to load scoped properties into `syntax` global here - @getScopedProperties() + for { selector, properties } in @getScopedProperties() + syntax.addProperties(selector, properties) diff --git a/src/app/syntax.coffee b/src/app/syntax.coffee index f54b3f3da..5a71da15e 100644 --- a/src/app/syntax.coffee +++ b/src/app/syntax.coffee @@ -42,7 +42,8 @@ class Syntax matchingProperties.concat([@globalProperties]) matchingPropertiesForElement: (element, candidates) -> - matchingScopedProperties = candidates.filter ({selector}) -> jQuery.find.matchesSelector(element, selector) + matchingScopedProperties = candidates.filter ({selector}) -> + jQuery.find.matchesSelector(element, selector) matchingScopedProperties.sort (a, b) -> if a.specificity == b.specificity b.index - a.index diff --git a/src/app/text-mate-bundle.coffee b/src/app/text-mate-bundle.coffee index 777f245df..4be12f689 100644 --- a/src/app/text-mate-bundle.coffee +++ b/src/app/text-mate-bundle.coffee @@ -58,12 +58,6 @@ class TextMateBundle values = @getPreferenceInScope(scope, preferenceName) (_.find values, ({name}) -> name is valueName)?['value'] - @lineCommentStartStringForScope: (scope) -> - @getPreferenceValueInScope(scope, 'shellVariables', 'TM_COMMENT_START') - - @lineCommentEndStringForScope: (scope) -> - @getPreferenceValueInScope(scope, 'shellVariables', 'TM_COMMENT_END') - @indentRegexForScope: (scope) -> if source = @getPreferenceInScope(scope, 'increaseIndentPattern') new OnigRegExp(source) diff --git a/src/app/text-mate-package.coffee b/src/app/text-mate-package.coffee index 07203d3b2..75e509f41 100644 --- a/src/app/text-mate-package.coffee +++ b/src/app/text-mate-package.coffee @@ -2,17 +2,18 @@ Package = require 'package' TextMateBundle = require 'text-mate-bundle' fs = require 'fs' plist = require 'plist' +_ = require 'underscore' module.exports = class TextMatePackage extends Package @testName: (packageName) -> /(\.|_|-)tmbundle$/.test(packageName) - @translateScopeSelector: (scopeSelector) -> + @cssSelectorForScopeSelector: (scopeSelector) -> scopeSelector.split(', ').map((commaFragment) -> commaFragment.split(' ').map((spaceFragment) -> spaceFragment.split('.').map((dotFragment) -> - '.' + dotFragment + '.' + dotFragment.replace(/\+/g, '\\+') ).join('') ).join(' ') ).join(', ') @@ -30,11 +31,25 @@ class TextMatePackage extends Package scopedProperties = [] if fs.exists(@preferencesPath) for preferencePath in fs.list(@preferencesPath) - plist.parseString fs.read(preferencePath), (e, data) -> + plist.parseString fs.read(preferencePath), (e, data) => if e console.warn "Failed to parse preference at path '#{preferencePath}'", e.stack else { scope, settings } = data[0] - selector = TextMatePackage.translateScopeSelector(scope) if scope? - scopedProperties.push({selector: selector, properties: settings}) + if properties = @translateProperties(settings) + selector = TextMatePackage.cssSelectorForScopeSelector(scope) if scope? + scopedProperties.push({selector, properties}) scopedProperties + + translateProperties: (textMateSettings) -> + if textMateSettings.shellVariables + shellVariables = {} + for {name, value} in textMateSettings.shellVariables + shellVariables[name] = value + textMateSettings.shellVariables = shellVariables + + editorProperties = _.compactObject( + commentStart: _.valueForKeyPath(textMateSettings, 'shellVariables.TM_COMMENT_START') + commentEnd: _.valueForKeyPath(textMateSettings, 'shellVariables.TM_COMMENT_END') + ) + { editor: editorProperties } if _.size(editorProperties) > 0 diff --git a/src/stdlib/underscore-extensions.coffee b/src/stdlib/underscore-extensions.coffee index 32c8b7909..4946bcdea 100644 --- a/src/stdlib/underscore-extensions.coffee +++ b/src/stdlib/underscore-extensions.coffee @@ -92,3 +92,9 @@ _.mixin object = object[key] return unless object? object + + compactObject: (object) -> + newObject = {} + for key, value of object + newObject[key] = value if value? + newObject From 5a075d515e3873ceed80cf623bba2670400d7669 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 28 Dec 2012 13:47:50 -0600 Subject: [PATCH 33/38] Retrieve indent/outdent patterns from scoped properties, not TM bundle --- src/app/language-mode.coffee | 32 ++++++++++++++++++++------------ src/app/text-mate-bundle.coffee | 8 -------- src/app/text-mate-package.coffee | 2 ++ 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/app/language-mode.coffee b/src/app/language-mode.coffee index eb5db0e60..095773d37 100644 --- a/src/app/language-mode.coffee +++ b/src/app/language-mode.coffee @@ -130,7 +130,7 @@ class LanguageMode suggestedIndentForBufferRow: (bufferRow) -> currentIndentLevel = @editSession.indentationForBufferRow(bufferRow) scopes = @editSession.scopesForBufferPosition([bufferRow, 0]) - return currentIndentLevel unless increaseIndentPattern = TextMateBundle.indentRegexForScope(scopes[0]) + return currentIndentLevel unless increaseIndentRegex = @increaseIndentRegexForScopes(scopes) currentLine = @buffer.lineForRow(bufferRow) precedingRow = @buffer.previousNonBlankRow(bufferRow) @@ -139,10 +139,10 @@ class LanguageMode precedingLine = @buffer.lineForRow(precedingRow) desiredIndentLevel = @editSession.indentationForBufferRow(precedingRow) - desiredIndentLevel += 1 if increaseIndentPattern.test(precedingLine) + desiredIndentLevel += 1 if increaseIndentRegex.test(precedingLine) - return desiredIndentLevel unless decreaseIndentPattern = TextMateBundle.outdentRegexForScope(scopes[0]) - desiredIndentLevel -= 1 if decreaseIndentPattern.test(currentLine) + return desiredIndentLevel unless decreaseIndentRegex = @decreaseIndentRegexForScopes(scopes) + desiredIndentLevel -= 1 if decreaseIndentRegex.test(currentLine) Math.max(desiredIndentLevel, currentIndentLevel) @@ -159,32 +159,40 @@ class LanguageMode precedingLine = @editSession.lineForBufferRow(precedingRow) scopes = @editSession.scopesForBufferPosition([precedingRow, Infinity]) - increaseIndentPattern = TextMateBundle.indentRegexForScope(scopes[0]) - return unless increaseIndentPattern + increaseIndentRegex = @increaseIndentRegexForScopes(scopes) + return unless increaseIndentRegex currentIndentLevel = @editSession.indentationForBufferRow(bufferRow) desiredIndentLevel = @editSession.indentationForBufferRow(precedingRow) - desiredIndentLevel += 1 if increaseIndentPattern.test(precedingLine) + desiredIndentLevel += 1 if increaseIndentRegex.test(precedingLine) if desiredIndentLevel > currentIndentLevel @editSession.setIndentationForBufferRow(bufferRow, desiredIndentLevel) autoDecreaseIndentForBufferRow: (bufferRow) -> scopes = @editSession.scopesForBufferPosition([bufferRow, 0]) - increaseIndentPattern = TextMateBundle.indentRegexForScope(scopes[0]) - decreaseIndentPattern = TextMateBundle.outdentRegexForScope(scopes[0]) - return unless increaseIndentPattern and decreaseIndentPattern + increaseIndentRegex = @increaseIndentRegexForScopes(scopes) + decreaseIndentRegex = @decreaseIndentRegexForScopes(scopes) + return unless increaseIndentRegex and decreaseIndentRegex line = @buffer.lineForRow(bufferRow) - return unless decreaseIndentPattern.test(line) + return unless decreaseIndentRegex.test(line) currentIndentLevel = @editSession.indentationForBufferRow(bufferRow) precedingRow = @buffer.previousNonBlankRow(bufferRow) precedingLine = @buffer.lineForRow(precedingRow) desiredIndentLevel = @editSession.indentationForBufferRow(precedingRow) - desiredIndentLevel -= 1 unless increaseIndentPattern.test(precedingLine) + desiredIndentLevel -= 1 unless increaseIndentRegex.test(precedingLine) if desiredIndentLevel < currentIndentLevel @editSession.setIndentationForBufferRow(bufferRow, desiredIndentLevel) tokenizeLine: (line, stack, firstLine) -> {tokens, stack} = @grammar.tokenizeLine(line, stack, firstLine) + + increaseIndentRegexForScopes: (scopes) -> + if increaseIndentPattern = syntax.getProperty(scopes, 'editor.increaseIndentPattern') + new OnigRegExp(increaseIndentPattern) + + decreaseIndentRegexForScopes: (scopes) -> + if decreaseIndentPattern = syntax.getProperty(scopes, 'editor.decreaseIndentPattern') + new OnigRegExp(decreaseIndentPattern) diff --git a/src/app/text-mate-bundle.coffee b/src/app/text-mate-bundle.coffee index 4be12f689..fa9c5f9d1 100644 --- a/src/app/text-mate-bundle.coffee +++ b/src/app/text-mate-bundle.coffee @@ -58,14 +58,6 @@ class TextMateBundle values = @getPreferenceInScope(scope, preferenceName) (_.find values, ({name}) -> name is valueName)?['value'] - @indentRegexForScope: (scope) -> - if source = @getPreferenceInScope(scope, 'increaseIndentPattern') - new OnigRegExp(source) - - @outdentRegexForScope: (scope) -> - if source = @getPreferenceInScope(scope, 'decreaseIndentPattern') - new OnigRegExp(source) - @foldEndRegexForScope: (grammar, scope) -> marker = @getPreferenceInScope(scope, 'foldingStopMarker') if marker diff --git a/src/app/text-mate-package.coffee b/src/app/text-mate-package.coffee index 75e509f41..dee6bf382 100644 --- a/src/app/text-mate-package.coffee +++ b/src/app/text-mate-package.coffee @@ -51,5 +51,7 @@ class TextMatePackage extends Package editorProperties = _.compactObject( commentStart: _.valueForKeyPath(textMateSettings, 'shellVariables.TM_COMMENT_START') commentEnd: _.valueForKeyPath(textMateSettings, 'shellVariables.TM_COMMENT_END') + increaseIndentPattern: textMateSettings.increaseIndentPattern + decreaseIndentPattern: textMateSettings.decreaseIndentPattern ) { editor: editorProperties } if _.size(editorProperties) > 0 From bb4f3c4efa81533a6fe45d3fabb3b0076193f69f Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 28 Dec 2012 14:46:39 -0600 Subject: [PATCH 34/38] Store foldEndPattern in `syntax` global's scoped properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There's a slight wrinkle in this commit… TextMate grammars sometimes store the `foldStopMarker` directly in the grammar, rather than storing it in a separate scoped preferences file like the other settings. So we have to scan through grammars looking for those that have the fold end marker and make a scoped property for that grammar's scope. --- spec/app/text-mate-bundle-spec.coffee | 8 -------- src/app/language-mode.coffee | 6 +++++- src/app/text-mate-bundle.coffee | 16 ++-------------- src/app/text-mate-package.coffee | 10 +++++++++- 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/spec/app/text-mate-bundle-spec.coffee b/spec/app/text-mate-bundle-spec.coffee index 663db783f..c67bc50cc 100644 --- a/spec/app/text-mate-bundle-spec.coffee +++ b/spec/app/text-mate-bundle-spec.coffee @@ -2,14 +2,6 @@ fs = require('fs') TextMateBundle = require 'text-mate-bundle' describe "TextMateBundle", -> - describe ".getPreferenceInScope(scope, preferenceName)", -> - it "returns the preference by the given name in the given scope or undefined if there isn't one", -> - expect(TextMateBundle.getPreferenceInScope('source.coffee', 'decreaseIndentPattern')).toBe '^\\s*(\\}|\\]|else|catch|finally)$' - expect(TextMateBundle.getPreferenceInScope('source.coffee', 'shellVariables')).toBeDefined() - - it "returns the preference by the given name in the given scope for a scope registered via a comma-separated list of scopes", -> - expect(TextMateBundle.getPreferenceInScope('source.objc++', 'shellVariables')).toBeDefined() - describe ".getPreferencesByScopeSelector()", -> it "logs warning, but does not raise errors if a preference can't be parsed", -> bundlePath = fs.join(require.resolve('fixtures'), "test.tmbundle") diff --git a/src/app/language-mode.coffee b/src/app/language-mode.coffee index 095773d37..53fcfada7 100644 --- a/src/app/language-mode.coffee +++ b/src/app/language-mode.coffee @@ -119,7 +119,7 @@ class LanguageMode continue if @editSession.isBufferRowBlank(row) indentation = @editSession.indentationForBufferRow(row) if indentation <= startIndentLevel - includeRowInFold = indentation == startIndentLevel and TextMateBundle.foldEndRegexForScope(@grammar, scopes[0]).search(@editSession.lineForBufferRow(row)) + includeRowInFold = indentation == startIndentLevel and @foldEndRegexForScopes(scopes).search(@editSession.lineForBufferRow(row)) foldEndRow = row if includeRowInFold break @@ -196,3 +196,7 @@ class LanguageMode decreaseIndentRegexForScopes: (scopes) -> if decreaseIndentPattern = syntax.getProperty(scopes, 'editor.decreaseIndentPattern') new OnigRegExp(decreaseIndentPattern) + + foldEndRegexForScopes: (scopes) -> + if foldEndPattern = syntax.getProperty(scopes, 'editor.foldEndPattern') + new OnigRegExp(foldEndPattern) diff --git a/src/app/text-mate-bundle.coffee b/src/app/text-mate-bundle.coffee index fa9c5f9d1..5d31499eb 100644 --- a/src/app/text-mate-bundle.coffee +++ b/src/app/text-mate-bundle.coffee @@ -27,6 +27,8 @@ class TextMateBundle @grammarsByFileType[fileType] = grammar @grammarsByScopeName[grammar.scopeName] = grammar + bundle + @grammarForFilePath: (filePath) -> return @grammarsByFileType["txt"] unless filePath @@ -51,20 +53,6 @@ class TextMateBundle @grammarForScopeName: (scopeName) -> @grammarsByScopeName[scopeName] - @getPreferenceInScope: (scopeSelector, preferenceName) -> - @preferencesByScopeSelector[scopeSelector]?[preferenceName] - - @getPreferenceValueInScope: (scope, preferenceName, valueName) -> - values = @getPreferenceInScope(scope, preferenceName) - (_.find values, ({name}) -> name is valueName)?['value'] - - @foldEndRegexForScope: (grammar, scope) -> - marker = @getPreferenceInScope(scope, 'foldingStopMarker') - if marker - new OnigRegExp(marker) - else - new OnigRegExp(grammar.foldingStopMarker) - grammars: null constructor: (@path) -> diff --git a/src/app/text-mate-package.coffee b/src/app/text-mate-package.coffee index dee6bf382..8dafabbdd 100644 --- a/src/app/text-mate-package.coffee +++ b/src/app/text-mate-package.coffee @@ -19,7 +19,8 @@ class TextMatePackage extends Package ).join(', ') load: -> - TextMateBundle.load(@name) + @bundle = TextMateBundle.load(@name) + @grammars = @bundle.grammars super constructor: -> @@ -29,6 +30,12 @@ class TextMatePackage extends Package getScopedProperties: -> scopedProperties = [] + + for grammar in @grammars when grammar.foldingStopMarker + scopedProperties.push + selector: TextMatePackage.cssSelectorForScopeSelector(grammar.scopeName) + properties: { editor: { foldEndPattern: grammar.foldingStopMarker } } + if fs.exists(@preferencesPath) for preferencePath in fs.list(@preferencesPath) plist.parseString fs.read(preferencePath), (e, data) => @@ -53,5 +60,6 @@ class TextMatePackage extends Package commentEnd: _.valueForKeyPath(textMateSettings, 'shellVariables.TM_COMMENT_END') increaseIndentPattern: textMateSettings.increaseIndentPattern decreaseIndentPattern: textMateSettings.decreaseIndentPattern + foldEndPattern: textMateSettings.foldingStopMarker ) { editor: editorProperties } if _.size(editorProperties) > 0 From 736bd1156b41ad5382f85a9f45871b412f38f384 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 28 Dec 2012 15:46:23 -0600 Subject: [PATCH 35/38] :lipstick: --- src/app/text-mate-package.coffee | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/app/text-mate-package.coffee b/src/app/text-mate-package.coffee index 8dafabbdd..c28c63937 100644 --- a/src/app/text-mate-package.coffee +++ b/src/app/text-mate-package.coffee @@ -9,7 +9,7 @@ class TextMatePackage extends Package @testName: (packageName) -> /(\.|_|-)tmbundle$/.test(packageName) - @cssSelectorForScopeSelector: (scopeSelector) -> + @cssSelectorFromScopeSelector: (scopeSelector) -> scopeSelector.split(', ').map((commaFragment) -> commaFragment.split(' ').map((spaceFragment) -> spaceFragment.split('.').map((dotFragment) -> @@ -31,24 +31,30 @@ class TextMatePackage extends Package getScopedProperties: -> scopedProperties = [] - for grammar in @grammars when grammar.foldingStopMarker - scopedProperties.push - selector: TextMatePackage.cssSelectorForScopeSelector(grammar.scopeName) - properties: { editor: { foldEndPattern: grammar.foldingStopMarker } } + for grammar in @grammars + if properties = @propertiesFromTextMateSettings(grammar) + selector = @cssSelectorFromScopeSelector(grammar.scopeName) + scopedProperties.push({selector, properties}) + for {scope, settings} in @getTextMatePreferenceObjects() + if properties = @propertiesFromTextMateSettings(settings) + selector = @cssSelectorFromScopeSelector(scope) if scope? + scopedProperties.push({selector, properties}) + + scopedProperties + + getTextMatePreferenceObjects: -> + preferenceObjects = [] if fs.exists(@preferencesPath) for preferencePath in fs.list(@preferencesPath) plist.parseString fs.read(preferencePath), (e, data) => if e console.warn "Failed to parse preference at path '#{preferencePath}'", e.stack else - { scope, settings } = data[0] - if properties = @translateProperties(settings) - selector = TextMatePackage.cssSelectorForScopeSelector(scope) if scope? - scopedProperties.push({selector, properties}) - scopedProperties + preferenceObjects.push(data[0]) + preferenceObjects - translateProperties: (textMateSettings) -> + propertiesFromTextMateSettings: (textMateSettings) -> if textMateSettings.shellVariables shellVariables = {} for {name, value} in textMateSettings.shellVariables @@ -63,3 +69,6 @@ class TextMatePackage extends Package foldEndPattern: textMateSettings.foldingStopMarker ) { editor: editorProperties } if _.size(editorProperties) > 0 + + cssSelectorFromScopeSelector: (scopeSelector) -> + @constructor.cssSelectorFromScopeSelector(scopeSelector) \ No newline at end of file From fa7bcfe51b1cc7d0f0eda9ac15e01bcef697fa87 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 31 Dec 2012 12:08:27 -0600 Subject: [PATCH 36/38] Bundle a `themes` directory so we don't depend on `~/.atom/themes` We'll look first in the user themes directory, then in the built-in themes directory. This allows us to default to 'IR_Black' and not crash if the user doesn't setup their `~/.atom/themes` directory. --- src/app/config.coffee | 3 +- src/app/theme.coffee | 4 +- src/stdlib/fs.coffee | 7 + themes/All Hallow's Eve.tmTheme | 277 ++++ themes/Amy.tmTheme | 557 +++++++ themes/Blackboard.tmTheme | 350 +++++ themes/Brilliance Black.tmTheme | 2619 +++++++++++++++++++++++++++++++ themes/Brilliance Dull.tmTheme | 2243 ++++++++++++++++++++++++++ themes/Cobalt.tmTheme | 559 +++++++ themes/Dawn.tmTheme | 437 ++++++ themes/Espresso Libre.tmTheme | 402 +++++ themes/IDLE.tmTheme | 235 +++ themes/IR_Black.tmTheme | 810 ++++++++++ themes/LAZY.tmTheme | 291 ++++ themes/Mac Classic.tmTheme | 450 ++++++ themes/MagicWB (Amiga).tmTheme | 376 +++++ themes/Pastels on Dark.tmTheme | 701 +++++++++ themes/Slush & Poppies.tmTheme | 336 ++++ themes/Solarized (dark).tmTheme | 2051 ++++++++++++++++++++++++ themes/SpaceCadet.tmTheme | 212 +++ themes/Sunburst.tmTheme | 665 ++++++++ themes/Twilight.tmTheme | 514 ++++++ themes/Zenburnesque.tmTheme | 343 ++++ themes/iPlastic.tmTheme | 286 ++++ 24 files changed, 14725 insertions(+), 3 deletions(-) create mode 100644 themes/All Hallow's Eve.tmTheme create mode 100644 themes/Amy.tmTheme create mode 100644 themes/Blackboard.tmTheme create mode 100644 themes/Brilliance Black.tmTheme create mode 100644 themes/Brilliance Dull.tmTheme create mode 100644 themes/Cobalt.tmTheme create mode 100644 themes/Dawn.tmTheme create mode 100644 themes/Espresso Libre.tmTheme create mode 100644 themes/IDLE.tmTheme create mode 100644 themes/IR_Black.tmTheme create mode 100644 themes/LAZY.tmTheme create mode 100644 themes/Mac Classic.tmTheme create mode 100644 themes/MagicWB (Amiga).tmTheme create mode 100644 themes/Pastels on Dark.tmTheme create mode 100644 themes/Slush & Poppies.tmTheme create mode 100644 themes/Solarized (dark).tmTheme create mode 100644 themes/SpaceCadet.tmTheme create mode 100644 themes/Sunburst.tmTheme create mode 100644 themes/Twilight.tmTheme create mode 100644 themes/Zenburnesque.tmTheme create mode 100644 themes/iPlastic.tmTheme diff --git a/src/app/config.coffee b/src/app/config.coffee index 9b10426dc..0e3d0b035 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -9,6 +9,7 @@ Theme = require 'theme' configDirPath = fs.absolute("~/.atom") configJsonPath = fs.join(configDirPath, "config.json") userInitScriptPath = fs.join(configDirPath, "atom.coffee") +bundledThemesDirPath = fs.join(resourcePath, "themes") bundledPackagesDirPath = fs.join(resourcePath, "src/packages") userThemesDirPath = fs.join(configDirPath, "themes") userPackagesDirPath = fs.join(configDirPath, "packages") @@ -18,7 +19,7 @@ require.paths.unshift userPackagesDirPath module.exports = class Config configDirPath: configDirPath - themeDirPath: userThemesDirPath + themeDirPaths: [userThemesDirPath, bundledThemesDirPath] packageDirPaths: [userPackagesDirPath, bundledPackagesDirPath] settings: null diff --git a/src/app/theme.coffee b/src/app/theme.coffee index 59f7ae08a..1f8fea54e 100644 --- a/src/app/theme.coffee +++ b/src/app/theme.coffee @@ -16,8 +16,8 @@ class Theme if fs.exists(name) path = name else - regex = new RegExp("#{_.escapeRegExp(name)}(\.[^.]*)?$", "i") - path = _.find fs.list(config.themeDirPath), (path) -> regex.test(path) + path = fs.resolve(config.themeDirPaths..., name) + path ?= fs.resolve(config.themeDirPaths..., name + ".tmTheme") if @isTextMateTheme(path) theme = @loadTextMateTheme(path) diff --git a/src/stdlib/fs.coffee b/src/stdlib/fs.coffee index 9b9e97cda..b4470d916 100644 --- a/src/stdlib/fs.coffee +++ b/src/stdlib/fs.coffee @@ -124,6 +124,13 @@ module.exports = md5ForPath: (path) -> $native.md5ForPath(path) + resolve: (paths...) -> + to = paths.pop() + for from in paths + path = @join(from, to) + return path if @exists(path) + undefined + isCompressedExtension: (ext) -> _.contains([ '.gz' diff --git a/themes/All Hallow's Eve.tmTheme b/themes/All Hallow's Eve.tmTheme new file mode 100644 index 000000000..47a679784 --- /dev/null +++ b/themes/All Hallow's Eve.tmTheme @@ -0,0 +1,277 @@ + + + + + author + David Heinemeier Hansson + name + All Hallow's Eve + settings + + + settings + + background + #000000 + caret + #FFFFFF + foreground + #FFFFFF + invisibles + #404040 + lineHighlight + #333300 + selection + #73597EE0 + + + + name + Text base + scope + text + settings + + background + #434242 + foreground + #FFFFFF + + + + name + Source base + scope + source + settings + + background + #000000 + foreground + #FFFFFF + + + + name + Comment + scope + comment + settings + + foreground + #9933CC + + + + name + Constant + scope + constant + settings + + foreground + #3387CC + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #CC7833 + + + + name + Pre-processor Line + scope + meta.preprocessor.c + settings + + fontStyle + + foreground + #D0D0FF + + + + name + Pre-processor Directive + scope + keyword.control.import + settings + + fontStyle + + + + + name + Function name + scope + entity.name.function + settings + + fontStyle + + + + + name + Function argument + scope + variable.parameter + settings + + fontStyle + italic + + + + name + Block comment + scope + source comment.block + settings + + background + #9B9B9B + foreground + #FFFFFF + + + + name + String + scope + string + settings + + foreground + #66CC33 + + + + name + String escapes + scope + string constant.character.escape + settings + + foreground + #AAAAAA + + + + name + String (executed) + scope + string.interpolated + settings + + background + #CCCC33 + foreground + #000000 + + + + name + Regular expression + scope + string.regexp + settings + + foreground + #CCCC33 + + + + name + String (literal) + scope + string.literal + settings + + foreground + #CCCC33 + + + + name + String escapes (executed) + scope + string.interpolated constant.character.escape + settings + + foreground + #555555 + + + + name + Type name + scope + entity.name.type + settings + + fontStyle + underline + + + + name + Class inheritance + scope + entity.other.inherited-class + settings + + fontStyle + italic underline + + + + name + Tag name + scope + entity.name.tag + settings + + fontStyle + underline + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + fontStyle + + + + + name + Support function + scope + support.function + settings + + fontStyle + + foreground + #C83730 + + + + uuid + 37F22BDC-B2F4-11D9-850C-000A95A89C98 + + diff --git a/themes/Amy.tmTheme b/themes/Amy.tmTheme new file mode 100644 index 000000000..b3258c468 --- /dev/null +++ b/themes/Amy.tmTheme @@ -0,0 +1,557 @@ + + + + + name + Amy + author + William D. Neumann + settings + + + settings + + background + #200020 + caret + #7070FF + foreground + #D0D0FF + invisibles + #BFBFBF + lineHighlight + #80000040 + selection + #80000080 + + + + name + Comment + scope + comment.block + settings + + background + #200020 + fontStyle + italic + foreground + #404080 + + + + name + String + scope + string + settings + + foreground + #999999 + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #707090 + + + + name + Integer + scope + constant.numeric + settings + + foreground + #7090B0 + + + + name + Int32 constant + scope + constant.numeric.integer.int32 + settings + + fontStyle + bold + + + + name + Int64 constant + scope + constant.numeric.integer.int64 + settings + + fontStyle + italic + + + + name + Nativeint constant + scope + constant.numeric.integer.nativeint + settings + + fontStyle + bold italic + + + + name + Floating-point constant + scope + constant.numeric.floating-point.ocaml + settings + + fontStyle + underline + + + + name + Character constant + scope + constant.character + settings + + fontStyle + + foreground + #666666 + + + + name + Boolean constant + scope + constant.language.boolean + settings + + foreground + #8080A0 + + + + name + Built-in constant + scope + constant.language + settings + + + + name + User-defined constant + scope + constant.other + settings + + + + name + Variable + scope + variable.language, variable.other + settings + + fontStyle + + foreground + #008080 + + + + name + Keyword + scope + keyword + settings + + foreground + #A080FF + + + + name + Keyword operator + scope + keyword.operator + settings + + foreground + #A0A0FF + + + + name + Keyword decorator + scope + keyword.other.decorator + settings + + foreground + #D0D0FF + + + + name + Floating-point infix operator + scope + keyword.operator.infix.floating-point.ocaml + settings + + fontStyle + underline + + + + name + Floating-point prefix operator + scope + keyword.operator.prefix.floating-point.ocaml + settings + + fontStyle + underline + + + + name + Compiler directives + scope + keyword.other.directive + settings + + fontStyle + + foreground + #C080C0 + + + + name + Line-number directives + scope + keyword.other.directive.line-number + settings + + fontStyle + underline + foreground + #C080C0 + + + + name + Control keyword + scope + keyword.control + settings + + foreground + #80A0FF + + + + name + Storage + scope + storage + settings + + foreground + #B0FFF0 + + + + name + Variants + scope + entity.name.type.variant + settings + + foreground + #60B0FF + + + + name + Polymorphic variants + scope + storage.type.variant.polymorphic, entity.name.type.variant.polymorphic + settings + + fontStyle + italic + foreground + #60B0FF + + + + name + Module definitions + scope + entity.name.type.module + settings + + foreground + #B000B0 + + + + name + Module type definitions + scope + entity.name.type.module-type.ocaml + settings + + fontStyle + underline + foreground + #B000B0 + + + + name + Support modules + scope + support.other + settings + + foreground + #A00050 + + + + name + Class name + scope + entity.name.type.class + settings + + foreground + #70E080 + + + + name + Class type + scope + entity.name.type.class-type + settings + + fontStyle + + foreground + #70E0A0 + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + + + name + Function name + scope + entity.name.function + settings + + foreground + #50A0A0 + + + + name + Function argument + scope + variable.parameter + settings + + foreground + #80B0B0 + + + + name + Token definition (ocamlyacc) + scope + entity.name.type.token + settings + + fontStyle + + foreground + #3080A0 + + + + name + Token reference (ocamlyacc) + scope + entity.name.type.token.reference + settings + + fontStyle + + foreground + #3CB0D0 + + + + name + Non-terminal definition (ocamlyacc) + scope + entity.name.function.non-terminal + settings + + foreground + #90E0E0 + + + + name + Non-terminal reference (ocamlyacc) + scope + entity.name.function.non-terminal.reference + settings + + foreground + #C0F0F0 + + + + name + Tag name + scope + entity.name.tag + settings + + foreground + #009090 + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + + + name + Library function + settings + + background + #200020 + + + + name + Library constant + scope + support.constant + settings + + background + #200020 + + + + name + Library class/type + scope + support.type, support.class + settings + + + + name + Library variable + scope + support.other.variable + settings + + + + name + Invalid - illegal + scope + invalid.illegal + settings + + background + #FFFF00 + fontStyle + bold + foreground + #400080 + + + + name + Invalid - depricated + scope + invalid.deprecated + settings + + background + #CC66FF + foreground + #200020 + + + + name + Camlp4 code + scope + source.camlp4.embedded + settings + + background + #40008054 + + + + name + Camlp4 temp (parser) + scope + source.camlp4.embedded.parser.ocaml + settings + + fontStyle + + + + + name + Punctuation + scope + punctuation + settings + + foreground + #805080 + + + + uuid + 3C01FADD-7592-49DD-B7A5-1B82CA4E57B5 + + diff --git a/themes/Blackboard.tmTheme b/themes/Blackboard.tmTheme new file mode 100644 index 000000000..18bb72e33 --- /dev/null +++ b/themes/Blackboard.tmTheme @@ -0,0 +1,350 @@ + + + + + name + Blackboard + author + Domenico Carbotta + settings + + + settings + + background + #0C1021 + caret + #FFFFFFA6 + foreground + #F8F8F8 + invisibles + #FFFFFF40 + lineHighlight + #FFFFFF0F + selection + #253B76 + + + + name + Comment + scope + comment + settings + + fontStyle + + foreground + #AEAEAE + + + + name + Constant + scope + constant + settings + + fontStyle + + foreground + #D8FA3C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #FF6400 + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #FBDE2D + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #FBDE2D + + + + name + String + scope + string, meta.verbatim + settings + + fontStyle + + foreground + #61CE3C + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #8DA6CE + + + + name + Variable + scope + variable + settings + + fontStyle + + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic + foreground + #AB2A1D + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #9D1E15 + foreground + #F8F8F8 + + + + name + Superclass + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #FF6400 + + + + name + String interpolation + scope + string constant.other.placeholder + settings + + fontStyle + + foreground + #FF6400 + + + + name + meta.function-call.py + scope + meta.function-call.py + settings + + fontStyle + + foreground + #BECDE6 + + + + name + meta.tag + scope + meta.tag, meta.tag entity + settings + + foreground + #7F90AA + + + + name + entity.name.section + scope + entity.name.section + settings + + fontStyle + + foreground + #FFFFFF + + + + name + OCaml variant + scope + keyword.type.variant + settings + + foreground + #D5E0F3 + + + + name + OCaml operator + scope + source.ocaml keyword.operator.symbol + settings + + foreground + #F8F8F8 + + + + name + OCaml infix operator + scope + source.ocaml keyword.operator.symbol.infix + settings + + fontStyle + + foreground + #8DA6CE + + + + name + OCaml prefix operator + scope + source.ocaml keyword.operator.symbol.prefix + settings + + fontStyle + + foreground + #8DA6CE + + + + name + OCaml f-p infix operator + scope + source.ocaml keyword.operator.symbol.infix.floating-point + settings + + fontStyle + underline + + + + name + OCaml f-p prefix operator + scope + source.ocaml keyword.operator.symbol.prefix.floating-point + settings + + fontStyle + underline + + + + name + OCaml f-p constant + scope + source.ocaml constant.numeric.floating-point + settings + + fontStyle + underline + + + + name + LaTeX environment + scope + text.tex.latex meta.function.environment + settings + + background + #FFFFFF08 + + + + name + LaTeX environment (nested) + scope + text.tex.latex meta.function.environment meta.function.environment + settings + + background + #7A96FA08 + + + + name + Latex support + scope + text.tex.latex support.function + settings + + fontStyle + + foreground + #FBDE2D + + + + name + PList unquoted string + scope + source.plist string.unquoted, source.plist keyword.operator + settings + + foreground + #FFFFFF + + + + uuid + A2C6BAA7-90D0-4147-BBF5-96B0CD92D109 + + diff --git a/themes/Brilliance Black.tmTheme b/themes/Brilliance Black.tmTheme new file mode 100644 index 000000000..560c825ba --- /dev/null +++ b/themes/Brilliance Black.tmTheme @@ -0,0 +1,2619 @@ + + + + + author + Thomas Aylott + comment + Thomas Aylott ㊷ subtleGradient.com + name + Brilliance Black + settings + + + settings + + background + #0D0D0DFA + caret + #3333FF + foreground + #EEEEEE + invisibles + #CCCCCC1A + lineHighlight + #00008033 + selection + #0010B499 + + + + name + Thomas Aylott ㊷ + scope + meta.thomas_aylott + settings + + background + #FFFFFF + fontStyle + bold + foreground + #000000 + + + + name + subtleGradient.com + scope + meta.subtlegradient + settings + + background + #FFFFFF + fontStyle + underline + foreground + #555555 + + + + name + ~ String + scope + string -meta.tag -meta.doctype -string.regexp -string.literal -string.interpolated -string.quoted.literal -string.unquoted, variable.parameter.misc.css, text string source string, string.unquoted string, string.regexp string, string.interpolated string, meta.tag source string + settings + + background + #803D0033 + foreground + #FFFC80 + + + + name + ~ String Punctuation + scope + punctuation.definition.string -meta.tag + settings + + foreground + #803D00 + + + + name + ~ String Punctuation II + scope + string.regexp punctuation.definition.string, string.quoted.literal punctuation.definition.string, string.quoted.double.ruby.mod punctuation.definition.string + settings + + foreground + #FFF80033 + + + + name + ~ String Literal + scope + string.quoted.literal, string.quoted.double.ruby.mod + settings + + background + #43800033 + foreground + #FFF800 + + + + name + ~ String Unquoted + scope + string.unquoted -string.unquoted.embedded, string.quoted.double.multiline, meta.scope.heredoc + settings + + foreground + #FFBC80 + + + + name + ~ String Interpolated + scope + string.interpolated + settings + + background + #1A1A1A + foreground + #FFFC80 + + + + name + ~ String RegEx + scope + string.regexp + settings + + background + #43800033 + foreground + #FFF800 + + + + name + ~ String RegEx Group 1 + scope + string.regexp.group + settings + + background + #43800033 + + + + name + ~ String RegEx Group 2 + scope + string.regexp.group string.regexp.group + settings + + background + #43800033 + foreground + #FFFFFF66 + + + + name + ~ String RegEx Group 3 + scope + string.regexp.group string.regexp.group string.regexp.group + settings + + background + #43800033 + foreground + #FFFFFF66 + + + + name + ~ String RegEx Group 4 + scope + string.regexp.group string.regexp.group string.regexp.group string.regexp.group + settings + + background + #43800033 + foreground + #FFFFFF66 + + + + name + ~ String RegEx Character-Class + scope + string.regexp.character-class + settings + + background + #43800033 + foreground + #86FF00 + + + + name + ~ String RegEx Arbitrary-Repitition + scope + string.regexp.arbitrary-repitition + settings + + background + #43800033 + foreground + #00FFF8 + + + + name + ~ String RegEx Definition Keyword + scope + string.regexp punctuation.definition.string keyword.other + settings + + fontStyle + + foreground + #803D00 + + + + name + ~ Meta Group Assertion Regexp + scope + meta.group.assertion.regexp + settings + + background + #0086FF33 + + + + name + ~ Meta Assertion + scope + meta.assertion, meta.group.assertion keyword.control.group.regexp, meta.group.assertion punctuation.definition.group + settings + + foreground + #0086FF + + + + name + ~ Number + scope + constant.numeric + settings + + foreground + #C6FF00 + + + + name + ~ Character constant + scope + constant.character + settings + + foreground + #86FF00 + + + + name + ~ Built-in constant + scope + constant.language, keyword.other.unit, constant.other.java, constant.other.unit + settings + + foreground + #07FF00 + + + + name + ~ Built-in constant+ + scope + constant.language.pseudo-variable + settings + + background + #04800033 + foreground + #07FF00 + + + + name + ~ User-defined constant + scope + constant.other, constant.block + settings + + foreground + #00FF79 + + + + name + ~ Library constant + scope + support.constant, constant.name + settings + + foreground + #00FFF8 + + + + name + ————————————————— + settings + + + + name + √ pre-defined variable + scope + variable.other.readwrite.global.pre-defined, variable.language + settings + + background + #00807C33 + foreground + #00FF79 + + + + name + √ Constant Variable + scope + variable.other.constant + settings + + foreground + #00FFF8 + + + + name + √ Library variable + scope + support.variable + settings + + background + #00807C33 + foreground + #00FFF8 + + + + name + √ global Variable + scope + variable.other.readwrite.global + settings + + background + #00438033 + foreground + #00807C + + + + name + √ Variable + scope + variable.other, variable.js, punctuation.separator.variable + settings + + foreground + #31A6FF + + + + name + √ class Variable + scope + variable.other.readwrite.class + settings + + background + #0008FF33 + foreground + #0086FF + + + + name + √ instance Variable + scope + variable.other.readwrite.instance + settings + + foreground + #406180 + + + + name + √ Normal Variables + scope + variable.other.php, variable.other.normal + settings + + foreground + #406180 + + + + name + √ Variable Punctuation + scope + punctuation.definition, punctuation.separator.variable + settings + + foreground + #00000080 + + + + name + ————————————————— + settings + + + + name + ¢ Storage + scope + storage -storage.modifier + settings + + foreground + #7E0080 + + + + name + ¢ Entity Name Preprocessor + scope + other.preprocessor, entity.name.preprocessor + settings + + background + #803D0033 + + + + name + ~ variable.language.this.js.prototype + scope + variable.language.this.js + settings + + foreground + #666666 + + + + name + ¢ Storage Modifier + scope + storage.modifier + settings + + foreground + #803D00 + + + + name + ¢ Class name + scope + entity.name.class, entity.name.type.class, entity.name.type.module + settings + + foreground + #FF0000 + + + + name + ¢ Class + scope + meta.class -meta.class.instance, declaration.class, meta.definition.class, declaration.module + settings + + background + #FF000033 + foreground + #870000 + + + + name + ¢ Library class/type + scope + support.type, support.class + settings + + background + #87000033 + foreground + #FF0000 + + + + name + ¢ Instance + scope + entity.name.instance, entity.name.type.instance + settings + + foreground + #FF3D44 + + + + name + ¢ Instance.constructor + scope + meta.class.instance.constructor + settings + + background + #831E5133 + + + + name + ¢ Inherited class + scope + entity.other.inherited-class, entity.name.module + settings + + background + #80000433 + foreground + #FF0086 + + + + name + ¢ Class Method + scope + meta.definition.method + settings + + foreground + #FF0086 + + + + name + ¢ Function Declaration + scope + meta.function, meta.property.function, declaration.function + settings + + + + name + ¢ Function Declaration Name + scope + entity.name.function, entity.name.preprocessor + settings + + foreground + #FF0086 + + + + name + ¢ Function Declaration Parameters + scope + variable.parameter.function + settings + + foreground + #9799FF + + + + name + ¢ Function Declaration Parameters + scope + variable.parameter -variable.parameter.misc.css, meta.definition.method meta.definition.param-list, meta.function.method.with-arguments variable.parameter.function + settings + + foreground + #9799FF + + + + name + ¢ Function Declaration Parameters Punctuation + scope + punctuation.definition.parameters, variable.parameter.function punctuation.separator.object + settings + + foreground + #800004 + + + + name + ™ Function Call + scope + keyword.other.special-method, meta.function-call entity.name.function -(meta.function-call meta.function), support.function - variable + settings + + foreground + #782EC1 + + + + name + ™ Library Function Call + scope + meta.function-call support.function - variable + settings + + fontStyle + + foreground + #9D3EFF + + + + name + ™ Library Function Name + scope + support.function + settings + + background + #603F8033 + foreground + #603F80 + + + + name + ™ Function Call Arguments Punctuation + scope + punctuation.section.function, meta.brace.curly.function, meta.function-call punctuation.section.scope.ruby, meta.function-call punctuation.separator.object + settings + + fontStyle + + foreground + #BC80FF + + + + name + ™ Function Punctuation + scope + meta.group.braces.round punctuation.section.scope, +meta.group.braces.round meta.delimiter.object.comma, +meta.group.braces.curly.function meta.delimiter.object.comma, +meta.brace.round + settings + + fontStyle + bold + foreground + #BC80FF + + + + name + ™ Function Call Without Arguments + scope + meta.function-call.method.without-arguments, meta.function-call.method.without-arguments entity.name.function + settings + + foreground + #A88FC0 + + + + name + ————————————————— + settings + + + + name + ™ Keyword Control + scope + keyword.control + settings + + foreground + #F800FF + + + + name + ™ Keyword + scope + keyword + settings + + + + name + ™ Keyword other + scope + keyword.other + settings + + foreground + #7900FF + + + + name + ™ Regex Keyword + scope + source.regexp keyword.operator + settings + + + + name + ™ Keyword Operator + scope + keyword.operator, declaration.function.operator, meta.preprocessor.c.include, punctuation.separator.operator + settings + + foreground + #0000CE + + + + name + ™ Keyword Operator Assignment + scope + keyword.operator.assignment + settings + + background + #00009A33 + foreground + #0000CE + + + + name + ™ Keyword Operator Arithmetic + scope + keyword.operator.arithmetic + settings + + foreground + #2136CE + + + + name + ™ Keyword Operator Logical + scope + keyword.operator.logical + settings + + background + #00009A33 + foreground + #3759FF + + + + name + ™ Keyword Operator Comparison + scope + keyword.operator.comparison + settings + + foreground + #7C88FF + + + + name + meta.class.instance.constructor keyword.operator.new + scope + meta.class.instance.constructor keyword.operator.new + settings + + foreground + #800043 + + + + name + ————————————————— + settings + + + + name + ✘ HTML + settings + + + + name + ✘ Tag Doctype + scope + meta.doctype, meta.tag.sgml-declaration.doctype, meta.tag.sgml.doctype + settings + + background + #333333 + foreground + #CCCCCC + + + + name + ✘ Tag + scope + meta.tag + settings + + foreground + #333333 + + + + name + ✘ Tag Structure + scope + meta.tag.structure, meta.tag.segment + settings + + background + #333333BF + foreground + #666666 + + + + name + ✘ Tag Block + scope + meta.tag.block, meta.tag.xml, meta.tag.key + settings + + background + #4C4C4C33 + foreground + #4C4C4C + + + + name + ✘ Tag Inline + scope + meta.tag.inline + settings + + background + #803D0033 + foreground + #FF7900 + + + + name + meta.tag.inline source + scope + meta.tag.inline source + settings + + background + #803D0033 + + + + name + ✘ Tag Other + scope + meta.tag.other, entity.name.tag.style, entity.name.tag.script, meta.tag.block.script, source.js.embedded punctuation.definition.tag.html, source.css.embedded punctuation.definition.tag.html + settings + + background + #80000433 + foreground + #FF0007 + + + + name + ✘ Tag Form + scope + meta.tag.form, meta.tag.block.form + settings + + background + #00438033 + foreground + #0086FF + + + + name + ✘ Tag Meta + scope + meta.tag.meta + settings + + background + #3C008033 + foreground + #F800FF + + + + name + ✘ Tag Block Head + scope + meta.section.html.head + settings + + background + #121212 + + + + name + ✘ Tag Block Form + scope + meta.section.html.form + settings + + background + #0043801A + + + + name + ✘ XML Tag + scope + meta.tag.xml + settings + + foreground + #666666 + + + + name + ✘ Tag name + scope + entity.name.tag + settings + + foreground + #FFFFFF4D + + + + name + ✘ Tag attribute + scope + entity.other.attribute-name, meta.tag punctuation.definition.string + settings + + foreground + #FFFFFF33 + + + + name + ✘ Tag value + scope + meta.tag string -source -punctuation, text source text meta.tag string -punctuation + settings + + foreground + #FFFFFF66 + + + + name + ————————————————— + settings + + + + name + text meta.paragraph + scope + text meta.paragraph + settings + + foreground + #999999 + + + + name + M markup + scope + markup markup -(markup meta.paragraph.list) + settings + + background + #33333333 + foreground + #FFF800 + + + + name + M HR + scope + markup.hr + settings + + background + #FFFFFF + foreground + #000000 + + + + name + M heading + scope + markup.heading + settings + + fontStyle + + foreground + #FFFFFF + + + + name + M bold + scope + markup.bold + settings + + fontStyle + bold + foreground + #95D4FF80 + + + + name + M italic + scope + markup.italic + settings + + fontStyle + italic + + + + name + M strike + settings + + + + name + M add + settings + + + + name + M del + settings + + + + name + M underline + scope + markup.underline + settings + + fontStyle + underline + + + + name + M reference + scope + meta.reference, markup.underline.link + settings + + fontStyle + + foreground + #0086FF + + + + name + M reference name + scope + entity.name.reference + settings + + background + #00438033 + foreground + #00FFF8 + + + + name + M underline link + scope + meta.reference.list markup.underline.link, text.html.textile markup.underline.link + settings + + fontStyle + underline + foreground + #00FFF8 + + + + name + M raw block + scope + markup.raw.block + settings + + background + #80808040 + + + + name + M quote block + scope + markup.quote + settings + + background + #FFFFFF1A + + + + name + M list + scope + markup.list meta.paragraph + settings + + fontStyle + + foreground + #FFFFFF + + + + name + ————————————————— + settings + + + + name + Markdown + scope + text.html.markdown + settings + + background + #FFFFFF + foreground + #000000 + + + + name + text.html.markdown meta.paragraph + scope + text.html.markdown meta.paragraph + settings + + foreground + #000000 + + + + name + text.html.markdown markup.list meta.paragraph + scope + text.html.markdown markup.list meta.paragraph + settings + + foreground + #555555 + + + + name + text.html.markdown markup.heading + scope + text.html.markdown markup.heading + settings + + fontStyle + bold + foreground + #000000 + + + + name + text.html.markdown string + scope + text.html.markdown string + settings + + foreground + #8A5420 + + + + name + ————————————————— + settings + + + + name + § CSS + scope + source.css + settings + + + + name + § Selector + scope + meta.selector + settings + + foreground + #666666 + + + + name + Property Value Parens + scope + source.css meta.scope.property-list meta.property-value punctuation.definition.arguments, +source.css meta.scope.property-list meta.property-value punctuation.separator.arguments + settings + + fontStyle + + foreground + #006680 + + + + name + § Pseudo-Element + scope + entity.other.attribute-name.pseudo-element + settings + + foreground + #4F00FF + + + + name + § Pseudo-Class + scope + entity.other.attribute-name.pseudo-class, entity.other.attribute-name.tag.pseudo-class + settings + + foreground + #7900FF + + + + name + § Class + scope + meta.selector entity.other.attribute-name.class + settings + + foreground + #F800FF + + + + name + § ID + scope + meta.selector entity.other.attribute-name.id + settings + + foreground + #FF0086 + + + + name + § Tag + scope + meta.selector entity.name.tag + settings + + fontStyle + + foreground + #FF0007 + + + + name + § Tag Wildcard + scope + entity.name.tag.wildcard, entity.other.attribute-name.universal + settings + + fontStyle + bold + foreground + #FF7900 + + + + name + § Attribute + scope + source.css entity.other.attribute-name.attribute + settings + + foreground + #C25A00 + + + + name + § Attribute-Match + scope + source.css meta.attribute-selector keyword.operator.comparison + settings + + foreground + #673000 + + + + name + § meta.scope.property-list + scope + meta.scope.property-list + settings + + fontStyle + bold + foreground + #333333 + + + + name + § meta.property-name + scope + meta.property-name + settings + + fontStyle + + foreground + #999999 + + + + name + § support.type.property-name + scope + support.type.property-name + settings + + background + #0D0D0D + fontStyle + + foreground + #FFFFFF + + + + name + § meta.property-value + scope + meta.property-value + settings + + background + #19191980 + fontStyle + + foreground + #999999 + + + + name + ————————————————— + settings + + + + name + LaTeX + scope + text.latex + settings + + + + name + L Markup Raw + scope + text.latex markup.raw + settings + + background + #000000 + + + + name + L support.function + scope + text.latex support.function -support.function.textit -support.function.emph + settings + + foreground + #BC80FF + + + + name + L support.function.section + scope + text.latex support.function.section + settings + + foreground + #FFFFFFBF + + + + name + L entity.name.section + scope + text.latex entity.name.section -meta.group -keyword.operator.braces + settings + + background + #FFFFFF + fontStyle + + foreground + #000000 + + + + name + L constant.language.general + scope + text.latex constant.language.general + settings + + + + name + L keyword.operator.delimiter + scope + text.latex keyword.operator.delimiter + settings + + background + #00000080 + + + + name + L keyword.operator.brackets + scope + text.latex keyword.operator.brackets + settings + + foreground + #999999 + + + + name + L keyword.operator.braces + scope + text.latex keyword.operator.braces + settings + + fontStyle + + foreground + #666666 + + + + name + L meta.footnote + scope + meta.footnote + settings + + background + #00008033 + foreground + #0008FF4D + + + + name + L meta.label.reference + scope + text.latex meta.label.reference + settings + + background + #FFFFFF0D + fontStyle + + + + + name + L keyword.control.ref + scope + text.latex keyword.control.ref + settings + + background + #260001 + foreground + #FF0007 + + + + name + L variable.parameter.label.reference + scope + text.latex variable.parameter.label.reference + settings + + background + #400002 + foreground + #FFBC80 + + + + name + L keyword.control.cite + scope + text.latex keyword.control.cite + settings + + background + #260014 + foreground + #FF0086 + + + + name + L variable.parameter.cite + scope + variable.parameter.cite + settings + + background + #400022 + foreground + #FFBFE1 + + + + name + L variable.parameter.label + scope + text.latex variable.parameter.label + settings + + foreground + #FFFFFF80 + + + + name + L markup + scope + meta.function markup + settings + + foreground + #CDCDCD + + + + name + L meta.group.braces + scope + text.latex meta.group.braces + settings + + foreground + #33333333 + + + + name + L meta.environment.list + scope + text.latex meta.environment.list + settings + + background + #00000080 + fontStyle + + foreground + #33333333 + + + + name + L meta.environment.list 2 + scope + text.latex meta.environment.list meta.environment.list + settings + + background + #00000080 + foreground + #33333333 + + + + name + L meta.environment.list 3 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list + settings + + background + #000000 + foreground + #33333333 + + + + name + L meta.environment.list 4 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list + settings + + foreground + #33333333 + + + + name + L meta.environment.list 5 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list + settings + + foreground + #33333333 + + + + name + L meta.environment.list 6 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list + settings + + foreground + #33333333 + + + + name + L meta.end-document + scope + text.latex meta.end-document, text.latex meta.begin-document, meta.end-document.latex support.function, meta.end-document.latex variable.parameter, meta.begin-document.latex support.function, meta.begin-document.latex variable.parameter + settings + + background + #CCCCCC + foreground + #000000 + + + + name + ————————————————— + settings + + + + name + meta.brace.erb.return-value + scope + meta.brace.erb.return-value + settings + + background + #00805533 + foreground + #00FFAA + + + + name + source.ruby.rails.embedded.return-value.one-line + scope + source.ruby.rails.embedded.return-value.one-line + settings + + background + #8080801A + + + + name + meta.brace.erb + scope + punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html + settings + + background + #00FFF81A + foreground + #00FFF8 + + + + name + source.ruby.rails.embedded.one-line + scope + source.ruby.rails.embedded.one-line + settings + + background + #00FFF81A + + + + name + String Embedded Source + scope + source string source punctuation.section.embedded + settings + + foreground + #406180 + + + + name + source.js.embedded + scope + source.js.embedded + settings + + background + #0D0D0D + + + + name + ◊ Source + scope + source + settings + + fontStyle + + + + + name + ◊ meta.brace.erb + scope + meta.brace.erb + settings + + background + #000000 + + + + name + ◊ Source String Source + scope + source string source + settings + + background + #33333380 + foreground + #FFFFFF + + + + name + ◊ Source String Interpolated Source + scope + source string.interpolated source + settings + + background + #00000099 + foreground + #999999 + + + + name + ◊ Source Embeded Source + scope + source source, source.java.embedded + settings + + background + #3333331A + + + + name + ◊ Text + scope + text -text.xml.strict + settings + + foreground + #FFFFFF + + + + name + ◊ Text Source + scope + text source, meta.scope.django.template + settings + + background + #000000 + foreground + #CCCCCC + + + + name + ◊ Text Source Text String + settings + + + + name + ◊ Text String Source + scope + text string source + settings + + foreground + #999999 + + + + name + ◊ Text Source String Source + settings + + + + name + ◊ Text String Source String Source + scope + text string source string source + settings + + + + name + ————————————————— + settings + + + + name + Invalid + scope + invalid -invalid.SOMETHING + settings + + background + #FF0007 + fontStyle + bold + foreground + #330004 + + + + name + Invalid Value + scope + invalid.SOMETHING + settings + + fontStyle + underline + foreground + #FF3600 + + + + name + Syntax + scope + meta.syntax + settings + + foreground + #333333 + + + + name + comment + scope + comment -comment.line + settings + + background + #33333333 + foreground + #4C4C4C + + + + name + comment.line + scope + comment.line + settings + + fontStyle + italic + foreground + #4C4C4C + + + + name + Comment Punctuation + scope + comment punctuation + settings + + + + name + ✘ HTML Comment + scope + text comment.block -source + settings + + fontStyle + italic + + + + name + ————————————————— + settings + + + + name + D Diff Add + scope + markup.inserted + settings + + background + #00401E + foreground + #40FF9A + + + + name + D Diff Delete + scope + markup.deleted + settings + + background + #400022 + foreground + #FF40A3 + + + + name + D Diff Changed + scope + markup.changed + settings + + background + #803D00 + foreground + #FFFF55 + + + + name + text.subversion-commit meta.scope.changed-files + scope + text.subversion-commit meta.scope.changed-files, text.subversion-commit meta.scope.changed-files.svn meta.diff.separator + settings + + background + #000000 + foreground + #FFFFFF + + + + name + text.subversion-commit + scope + text.subversion-commit + settings + + background + #FFFFFF + foreground + #000000 + + + + name + ————————————————— + settings + + + + name + meta.delimiter + scope + punctuation.terminator, meta.delimiter, punctuation.separator.method + settings + + background + #FFFFFF03 + fontStyle + bold + foreground + #7F7F7F + + + + name + meta.delimiter.statement.js + scope + punctuation.terminator.statement, meta.delimiter.statement.js + settings + + background + #00000080 + + + + name + meta.delimiter.object.js + scope + meta.delimiter.object.js + settings + + background + #00000040 + + + + name + Bold String Quotes + scope + string.quoted.single.brace, string.quoted.double.brace + settings + + fontStyle + bold + foreground + #803D00 + + + + name + ————————————————— + settings + + + + name + ß Blog Post / Email Message + scope + text.blog, text.mail + settings + + background + #DCDCDC + foreground + #333333 + + + + name + ß Post Content + scope + text.blog text, text.mail text + settings + + background + #000000 + foreground + #CCCCCC + + + + name + ß Post Header Keys + scope + meta.header.blog keyword.other, meta.header.mail keyword.other + settings + + background + #00FFF81A + fontStyle + + foreground + #06403E + + + + name + ß Post Header Values + scope + meta.header.blog string.unquoted.blog, meta.header.mail string.unquoted + settings + + background + #FFFF551A + foreground + #803D00 + + + + name + ————————————————— + settings + + + + name + OCAML + settings + + + + name + entity.name.type.module + scope + source.ocaml entity.name.type.module + settings + + foreground + #FF0000 + + + + name + support.other.module + scope + source.ocaml support.other.module + settings + + background + #83000033 + foreground + #FF0000 + + + + name + entity.name.type.variant + scope + entity.name.type.variant + settings + + foreground + #00FFF8 + + + + name + entity.name.tag, meta.record.definition + scope + source.ocaml entity.name.tag, source.ocaml meta.record.definition + settings + + foreground + #00FF79 + + + + name + ———————— PUNCTUATION ———————— + settings + + + + name + punctuation.separator.parameters + scope + punctuation.separator.parameters + settings + + fontStyle + bold + foreground + #FFFFFF + + + + name + meta.brace.pipe + scope + meta.brace.pipe + settings + + background + #33333333 + fontStyle + + foreground + #4C4C4C + + + + name + Misc Punctuation + scope + meta.brace.erb, source.ruby.embedded.source.brace, punctuation.section.dictionary, punctuation.terminator.dictionary, punctuation.separator.object, punctuation.separator.statement, punctuation.separator.key-value.css + settings + + fontStyle + bold + foreground + #666666 + + + + name + Curly Punctuation + scope + punctuation.section.scope.curly, punctuation.section.scope + settings + + fontStyle + bold + foreground + #999999 + + + + name + Object Punctuation + scope + punctuation.separator.objects, +meta.group.braces.curly meta.delimiter.object.comma, +punctuation.separator.key-value -meta.tag, +source.ocaml punctuation.separator.match-definition + + settings + + fontStyle + bold + foreground + #0C823B + + + + name + Function Punctuation + scope + punctuation.separator.parameters.function.js,punctuation.definition.function, punctuation.separator.function-return, punctuation.separator.function-definition, punctuation.definition.arguments, punctuation.separator.arguments + settings + + foreground + #800043 + + + + name + Array Punctuation + scope + meta.group.braces.square punctuation.section.scope, meta.group.braces.square meta.delimiter.object.comma, meta.brace.square, punctuation.separator.array, punctuation.section.array, punctuation.definition.array, punctuation.definition.constant.range + settings + + background + #803D001A + fontStyle + bold + foreground + #7F5E40 + + + + name + Array, Range + scope + meta.structure.array -punctuation.definition.array, meta.definition.range -punctuation.definition.constant.range + settings + + background + #803D001A + + + + name + meta.brace.curly meta.group + scope + meta.brace.curly meta.group.css + settings + + background + #00000080 + fontStyle + + + + + name + º meta.source.embedded + scope + meta.source.embedded, entity.other.django.tagbraces + settings + + background + #00000080 + foreground + #666666 + + + + name + º meta.group.braces.round JS + scope + source.js meta.group.braces.round, meta.scope.heredoc + settings + + + + name + º Even + scope + source.ruby meta.even-tab, source.ruby meta.even-tab.group2, source.ruby meta.even-tab.group4, source.ruby meta.even-tab.group6, source.ruby meta.even-tab.group8, source.ruby meta.even-tab.group10, source.ruby meta.even-tab.group12 + + settings + + background + #00000080 + + + + name + º meta.block.slate + scope + meta.block.slate + settings + + foreground + #666666 + + + + name + º meta.block.content.slate + scope + meta.block.content.slate + settings + + foreground + #CCCCCC + + + + name + Function Group1 + scope + meta.function meta.group.braces.curly.function -(meta.group meta.group), meta.function meta.odd-tab.group1 + settings + + + + name + Group1 + scope + meta.odd-tab.group1, meta.group.braces, meta.block.slate, text.xml.strict meta.tag, meta.paren-group, meta.section + settings + + background + #0A0A0A + + + + name + Group2 + scope + meta.even-tab.group2, meta.group.braces meta.group.braces, meta.block.slate meta.block.slate, text.xml.strict meta.tag meta.tag, meta.group.braces meta.group.braces, meta.paren-group meta.paren-group, meta.section meta.section + settings + + background + #0E0E0E + + + + name + Group3 + scope + meta.odd-tab.group3, meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section + settings + + background + #111111 + + + + name + Group4 + scope + meta.even-tab.group4, meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section + settings + + background + #151515 + + + + name + Group5 + scope + meta.odd-tab.group5, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section + settings + + background + #191919 + + + + name + Group6 + scope + meta.even-tab.group6, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section + settings + + background + #1C1C1C + + + + name + Group7 + scope + meta.odd-tab.group7, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section meta.section + settings + + background + #1F1F1F + + + + name + Group8 + scope + meta.even-tab.group8, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section meta.section meta.section + settings + + background + #212121 + + + + name + Group9 + scope + meta.odd-tab.group9, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group meta.paren-group, meta.section meta.section meta.section meta.section meta.section meta.section meta.section meta.section meta.section + settings + + background + #242424 + + + + name + Group10 + scope + meta.even-tab.group10 + settings + + background + #1F1F1F + + + + name + Group11 + scope + meta.odd-tab.group11 + settings + + background + #151515 + + + + name + ———————— END ———————— + settings + + + + name + IE6 + scope + meta.property.vendor.microsoft.trident.4, +meta.property.vendor.microsoft.trident.4 support.type.property-name, +meta.property.vendor.microsoft.trident.4 punctuation.terminator.rule + settings + + fontStyle + + foreground + #1B95E2 + + + + name + IE7 + scope + meta.property.vendor.microsoft.trident.5, +meta.property.vendor.microsoft.trident.5 support.type.property-name, +meta.property.vendor.microsoft.trident.5 punctuation.separator.key-value, +meta.property.vendor.microsoft.trident.5 punctuation.terminator.rule + settings + + fontStyle + + foreground + #F5C034 + + + + uuid + 24847CB3-23BC-4BF9-861B-E39661A6DA71 + + diff --git a/themes/Brilliance Dull.tmTheme b/themes/Brilliance Dull.tmTheme new file mode 100644 index 000000000..39f90ae22 --- /dev/null +++ b/themes/Brilliance Dull.tmTheme @@ -0,0 +1,2243 @@ + + + + + author + Thomas Aylott + comment + by Thomas Aylott subtleGradient.com + name + Brilliance Dull + settings + + + settings + + background + #050505FA + caret + #7979B7 + foreground + #CDCDCD + invisibles + #CDCDCD1A + lineHighlight + #0000801A + selection + #2E2EE64D + + + + name + Thomas Aylott ㊷ + scope + meta.thomas_aylott + settings + + background + #FFFFFF + fontStyle + bold + foreground + #000000 + + + + name + subtleGradient.com + scope + meta.subtlegradient + settings + + background + #FFFFFF + fontStyle + underline + foreground + #555555 + + + + name + —————————————————— + scope + meta.subtlegradient + settings + + background + #FFFFFF + foreground + #E6E6E6 + + + + name + ~ String + scope + string -meta.tag -meta.doctype -string.regexp -string.literal -string.interpolated -string.quoted.literal -string.unquoted, variable.parameter.misc.css, text string source string, string.unquoted string, string.regexp string + settings + + background + #803D0033 + foreground + #D2D1AB + + + + name + ~ String Punctuation + scope + punctuation.definition.string -meta.tag + settings + + foreground + #533F2C + + + + name + ~ String Punctuation II + scope + string.regexp punctuation.definition.string, string.quoted.literal punctuation.definition.string, string.quoted.double.ruby.mod punctuation.definition.string + settings + + foreground + #FFF80033 + + + + name + ~ String Literal + scope + string.quoted.literal, string.quoted.double.ruby.mod + settings + + background + #43800033 + foreground + #A6A458 + + + + name + ~ String Unquoted + scope + string.unquoted -string.unquoted.embedded, string.quoted.double.multiline, meta.scope.heredoc + settings + + foreground + #D2BEAB + + + + name + ~ String Interpolated + scope + string.interpolated + settings + + background + #1A1A1A + foreground + #D2D1AB + + + + name + ~ String RegEx + scope + string.regexp + settings + + background + #43800033 + foreground + #A6A458 + + + + name + ~ String RegEx Group 1 + scope + string.regexp.group + settings + + background + #43800033 + + + + name + ~ String RegEx Group 2 + scope + string.regexp.group string.regexp.group + settings + + background + #43800033 + foreground + #FFFFFF66 + + + + name + ~ String RegEx Group 3 + scope + string.regexp.group string.regexp.group string.regexp.group + settings + + background + #43800033 + foreground + #FFFFFF66 + + + + name + ~ String RegEx Group 4 + scope + string.regexp.group string.regexp.group string.regexp.group string.regexp.group + settings + + background + #43800033 + foreground + #FFFFFF66 + + + + name + ~ String RegEx Character-Class + scope + string.regexp.character-class + settings + + background + #43800033 + foreground + #80A659 + + + + name + ~ String RegEx Arbitrary-Repitition + scope + string.regexp.arbitrary-repitition + settings + + background + #43800033 + foreground + #56A5A4 + + + + name + source.regexp keyword + scope + source.regexp keyword.operator + settings + + foreground + #A75980 + + + + name + ~ String RegEx Comment + scope + string.regexp comment + settings + + fontStyle + italic + foreground + #FFFFFF + + + + name + ~ Meta Group Assertion Regexp + scope + meta.group.assertion.regexp + settings + + background + #0086FF33 + + + + name + ~ Meta Assertion + scope + meta.assertion, meta.group.assertion keyword.control.group.regexp + settings + + foreground + #5780A6 + + + + name + ~ Number + scope + constant.numeric + settings + + foreground + #95A658 + + + + name + ~ Character constant + scope + constant.character + settings + + foreground + #80A659 + + + + name + ~ Built-in constant + scope + constant.language, keyword.other.unit, constant.other.java, constant.other.unit + settings + + foreground + #59A559 + + + + name + ~ Built-in constant+ + scope + constant.language.pseudo-variable + settings + + background + #04800033 + foreground + #59A559 + + + + name + ~ User-defined constant + scope + constant.other, constant.block + settings + + foreground + #57A57D + + + + name + ~ Library constant + scope + support.constant, constant.name + settings + + foreground + #56A5A4 + + + + name + ————————————————— + settings + + + + name + √ pre-defined variable + scope + variable.language, variable.other.readwrite.global.pre-defined + settings + + foreground + #5E6B6B + + + + name + √ Constant Variable + scope + variable.other.constant + settings + + foreground + #56A5A4 + + + + name + √ Library variable + scope + support.variable + settings + + background + #00807C33 + foreground + #56A5A4 + + + + name + √ global Variable + scope + variable.other.readwrite.global + settings + + background + #00438033 + foreground + #2B5252 + + + + name + √ Variable + scope + variable.other, variable.js + settings + + foreground + #5780A6 + + + + name + √ class Variable + scope + variable.other.readwrite.class + settings + + background + #0007FF33 + foreground + #5780A6 + + + + name + √ instance Variable + scope + variable.other.readwrite.instance + settings + + foreground + #555F69 + + + + name + √ Normal Variables + scope + variable.other.php, variable.other.normal + settings + + foreground + #555F69 + + + + name + √ Variable Punctuation + scope + punctuation.definition -punctuation.definition.comment, punctuation.separator.variable + settings + + foreground + #00000080 + + + + name + ————————————————— + settings + + + + name + ¢ Storage + scope + storage -storage.modifier + settings + + foreground + #A77D58 + + + + name + ¢ Entity Name Preprocessor + scope + other.preprocessor, entity.name.preprocessor + settings + + background + #803D0033 + + + + name + ~ variable.language.this.js.prototype + scope + variable.language.this.js + settings + + foreground + #666666 + + + + name + ¢ Storage Modifier + scope + storage.modifier + settings + + foreground + #533F2C + + + + name + ¢ Class name + scope + entity.name.class, entity.name.type.class, entity.name.type.module + settings + + foreground + #A7595A + + + + name + ¢ Class + scope + meta.class -meta.class.instance, declaration.class, meta.definition.class, declaration.module + settings + + background + #29161780 + foreground + #532D2D + + + + name + ¢ Library class/type + scope + support.type, support.class + settings + + background + #80000433 + foreground + #A7595A + + + + name + ¢ Instance + scope + entity.name.instance + settings + + foreground + #A7595A + + + + name + ¢ Instance.constructor + scope + meta.class.instance.constructor + settings + + background + #80004333 + + + + name + ¢ Inherited class + scope + entity.other.inherited-class, entity.name.module + settings + + background + #80000433 + foreground + #A75980 + + + + name + ¢ Class Method + scope + object.property.function, meta.definition.method + settings + + foreground + #A75980 + + + + name + ¢ Function + scope + meta.function -(meta.tell-block), meta.property.function, declaration.function + settings + + background + #80004333 + foreground + #532D40 + + + + name + ¢ Function name + scope + entity.name.function, entity.name.preprocessor + settings + + foreground + #A75980 + + + + name + ————————————————— + settings + + + + name + ™ Keyword + scope + keyword + settings + + foreground + #A459A5 + + + + name + ™ Keyword.control + scope + keyword.control + settings + + background + #3C008033 + foreground + #A459A5 + + + + name + ™ Special Function + scope + keyword.other.special-method, meta.function-call entity.name.function -(meta.function-call meta.function), support.function - variable + settings + + foreground + #8D809D + + + + name + ™ Library function + scope + support.function - variable + settings + + foreground + #634683 + + + + name + ™ Keyword.operator + scope + keyword.operator, declaration.function.operator, meta.preprocessor.c.include + settings + + fontStyle + bold + foreground + #7979B7 + + + + name + ™ keyword.operator.comparison + scope + keyword.operator.comparison + settings + + fontStyle + + foreground + #9899C8 + + + + name + ™ Function argument + scope + variable.parameter -variable.parameter.misc.css, meta.definition.method meta.definition.param-list, meta.function.method.with-arguments variable.parameter.function + settings + + background + #3C008033 + foreground + #ABACD2 + + + + name + ————————————————— + settings + + + + name + ✘ HTML + settings + + + + name + ✘ Tag Doctype + scope + meta.doctype, meta.tag.sgml-declaration.doctype, meta.tag.sgml.doctype + settings + + background + #333333 + foreground + #CDCDCD + + + + name + ✘ Tag + scope + meta.tag + settings + + foreground + #333333 + + + + name + ✘ Tag Structure + scope + meta.tag.structure, meta.tag.segment + settings + + background + #333333BF + foreground + #666666 + + + + name + ✘ Tag Block + scope + meta.tag.block, meta.tag.xml, meta.tag.key + settings + + background + #4C4C4C33 + foreground + #4C4C4C + + + + name + ✘ Tag Inline + scope + meta.tag.inline + settings + + background + #803D0033 + foreground + #A77D58 + + + + name + meta.tag.inline source + scope + meta.tag.inline source + settings + + background + #803D0033 + + + + name + ✘ Tag Other + scope + meta.tag.other, entity.name.tag.style, source entity.other.attribute-name -text.html.basic.embedded , entity.name.tag.script, meta.tag.block.script + settings + + background + #80000433 + foreground + #A7595A + + + + name + ✘ Tag Form + scope + meta.tag.form, meta.tag.block.form + settings + + background + #00438033 + foreground + #5780A6 + + + + name + ✘ Tag Meta + scope + meta.tag.meta + settings + + background + #3C008033 + foreground + #A459A5 + + + + name + ✘ Tag Block Head + scope + meta.section.html.head + settings + + background + #121212 + + + + name + ✘ Tag Block Form + scope + meta.section.html.form + settings + + background + #0043801A + + + + name + ✘ XML Tag + scope + meta.tag.xml + settings + + foreground + #666666 + + + + name + ✘ Tag name + scope + entity.name.tag + settings + + foreground + #FFFFFF4D + + + + name + ✘ Tag attribute + scope + entity.other.attribute-name, meta.tag punctuation.definition.string + settings + + foreground + #FFFFFF33 + + + + name + ✘ Tag value + scope + meta.tag string -source -punctuation, text source text meta.tag string -punctuation + settings + + foreground + #FFFFFF66 + + + + name + ————————————————— + settings + + + + name + M markdown + settings + + + + name + M markup + scope + markup markup -(markup meta.paragraph.list) + settings + + background + #33333333 + foreground + #A6A458 + + + + name + M HR + scope + markup.hr + settings + + background + #FFFFFF + foreground + #000000 + + + + name + M heading + scope + markup.heading + settings + + background + #33333380 + foreground + #666666 + + + + name + M bold + scope + markup.bold + settings + + fontStyle + bold + + + + name + M italic + scope + markup.italic + settings + + fontStyle + italic + + + + name + M strike + settings + + + + name + M add + settings + + + + name + M del + settings + + + + name + M underline + scope + markup.underline + settings + + fontStyle + underline + + + + name + M reference + scope + meta.reference, markup.underline.link + settings + + fontStyle + + foreground + #5780A6 + + + + name + M reference name + scope + entity.name.reference + settings + + background + #00438033 + foreground + #56A5A4 + + + + name + M underline link + scope + meta.reference.list markup.underline.link, text.html.textile markup.underline.link + settings + + fontStyle + underline + foreground + #56A5A4 + + + + name + M raw block + scope + markup.raw.block + settings + + background + #000000 + foreground + #999999 + + + + name + M quote block + scope + markup.quote + settings + + background + #FFFFFF1A + + + + name + ————————————————— + settings + + + + name + § CSS + scope + source.css + settings + + + + name + § Selector + scope + meta.selector + settings + + background + #00000080 + foreground + #666666 + + + + name + § Attribute-Match + scope + meta.attribute-match.css + settings + + background + #00048033 + foreground + #575AA6 + + + + name + § Pseudo-Class + scope + entity.other.attribute-name.pseudo-class, entity.other.attribute-name.tag.pseudo-class + settings + + foreground + #7C58A5 + + + + name + § Class + scope + meta.selector entity.other.attribute-name.class + settings + + foreground + #A459A5 + + + + name + § ID + scope + meta.selector entity.other.attribute-name.id + settings + + foreground + #A75980 + + + + name + § Tag + scope + meta.selector entity.name.tag + settings + + fontStyle + + foreground + #A7595A + + + + name + § Tag Wildcard + scope + entity.name.tag.wildcard, entity.other.attribute-name.universal + settings + + fontStyle + bold + foreground + #A77D58 + + + + name + § meta.scope.property-list + scope + meta.scope.property-list + settings + + fontStyle + bold + foreground + #333333 + + + + name + § meta.property-name + scope + meta.property-name + settings + + fontStyle + + foreground + #999999 + + + + name + § support.type.property-name + scope + support.type.property-name + settings + + background + #000000 + fontStyle + + foreground + #FFFFFF + + + + name + § meta.property-value + scope + meta.property-value + settings + + background + #0D0D0D + fontStyle + + foreground + #999999 + + + + name + ————————————————— + settings + + + + name + LaTeX + scope + text.latex + settings + + + + name + L Markup Raw + scope + text.latex markup.raw + settings + + background + #000000 + + + + name + L support.function + scope + text.latex support.function -support.function.textit -support.function.emph + settings + + foreground + #BDABD1 + + + + name + L support.function.section + scope + text.latex support.function.section + settings + + foreground + #FFFFFFBF + + + + name + L entity.name.section + scope + text.latex entity.name.section -meta.group -keyword.operator.braces + settings + + background + #FFFFFF + fontStyle + + foreground + #000000 + + + + name + L constant.language.general + scope + text.latex constant.language.general + settings + + + + name + L keyword.operator.delimiter + scope + text.latex keyword.operator.delimiter + settings + + background + #00000080 + + + + name + L keyword.operator.brackets + scope + text.latex keyword.operator.brackets + settings + + foreground + #999999 + + + + name + L keyword.operator.braces + scope + text.latex keyword.operator.braces + settings + + fontStyle + + foreground + #666666 + + + + name + L meta.footnote + scope + meta.footnote + settings + + background + #00048033 + foreground + #0008FF4D + + + + name + L meta.label.reference + scope + text.latex meta.label.reference + settings + + background + #FFFFFF0D + fontStyle + + + + + name + L keyword.control.ref + scope + text.latex keyword.control.ref + settings + + background + #180D0C + foreground + #A7595A + + + + name + L variable.parameter.label.reference + scope + text.latex variable.parameter.label.reference + settings + + background + #291616 + foreground + #D2BEAB + + + + name + L keyword.control.cite + scope + text.latex keyword.control.cite + settings + + background + #180D12 + foreground + #A75980 + + + + name + L variable.parameter.cite + scope + variable.parameter.cite + settings + + background + #29161F + foreground + #E8D5DE + + + + name + L variable.parameter.label + scope + text.latex variable.parameter.label + settings + + foreground + #FFFFFF80 + + + + name + L meta.group.braces + scope + text.latex meta.group.braces + settings + + foreground + #33333333 + + + + name + L meta.environment.list + scope + text.latex meta.environment.list + settings + + background + #00000080 + fontStyle + + foreground + #33333333 + + + + name + L meta.environment.list 2 + scope + text.latex meta.environment.list meta.environment.list + settings + + background + #00000080 + foreground + #33333333 + + + + name + L meta.environment.list 3 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list + settings + + background + #000000 + foreground + #33333333 + + + + name + L meta.environment.list 4 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list + settings + + foreground + #33333333 + + + + name + L meta.environment.list 5 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list + settings + + foreground + #33333333 + + + + name + L meta.environment.list 6 + scope + text.latex meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list meta.environment.list + settings + + foreground + #33333333 + + + + name + L meta.end-document + scope + text.latex meta.end-document, text.latex meta.begin-document, meta.end-document.latex support.function, meta.end-document.latex variable.parameter, meta.begin-document.latex support.function, meta.begin-document.latex variable.parameter + settings + + background + #CDCDCD + foreground + #000000 + + + + name + ————————————————— + settings + + + + name + meta.brace.erb.return-value + scope + meta.brace.erb.return-value + settings + + background + #45815D33 + foreground + #596B61 + + + + name + source.ruby.rails.embedded.return-value.one-line + scope + source.ruby.rails.embedded.return-value.one-line + settings + + background + #66666633 + + + + name + meta.brace.erb + scope + punctuation.section.embedded -(source string source punctuation.section.embedded), meta.brace.erb.html + settings + + background + #00FFF81A + foreground + #56A5A4 + + + + name + source.ruby.rails.embedded.one-line + scope + source.ruby.rails.embedded.one-line + settings + + background + #00FFF81A + + + + name + String Embedded Source + scope + source string source punctuation.section.embedded + settings + + foreground + #555F69 + + + + name + ◊ Source + scope + source + settings + + background + #000000 + fontStyle + + + + + name + ◊ meta.brace.erb + scope + meta.brace.erb + settings + + background + #000000 + + + + name + ◊ Source String Source + scope + source string source + settings + + background + #33333380 + foreground + #FFFFFF + + + + name + ◊ Source String Interpolated Source + scope + source string.interpolated source + settings + + background + #00000099 + foreground + #999999 + + + + name + ◊ Source Embeded Source + scope + source.java.embedded + settings + + background + #3333331A + + + + name + ◊ Text + scope + text -text.xml.strict + settings + + foreground + #FFFFFF + + + + name + ◊ Text Source + scope + text source, meta.scope.django.template + settings + + background + #000000 + foreground + #CCCCCC + + + + name + ◊ Text Source Text String + settings + + + + name + ◊ Text String Source + scope + text string source + settings + + foreground + #999999 + + + + name + ◊ Text Source String Source + settings + + + + name + ◊ Text String Source String Source + scope + text string source string source + settings + + + + name + ————————————————— + settings + + + + name + Syntax + scope + meta.syntax + settings + + foreground + #333333 + + + + name + Invalid + scope + invalid + settings + + background + #A7595A + fontStyle + bold + foreground + #211211 + + + + name + Comment + scope + 0comment + settings + + background + #0000FF1A + fontStyle + italic + foreground + #8F8FC3 + + + + name + Comment Punctuation + scope + comment punctuation + settings + + fontStyle + bold + foreground + #0000FF1A + + + + name + comment + scope + comment + settings + + foreground + #333333 + + + + name + Comment Punctuation + scope + comment punctuation + settings + + background + #8080800D + fontStyle + bold italic + foreground + #262626 + + + + name + ✘ HTML Comment + scope + text comment.block -source + settings + + fontStyle + italic + + + + name + ————————————————— + settings + + + + name + D Diff Add + scope + markup.inserted + settings + + background + #15281F + foreground + #81BB9E + + + + name + D Diff Delete + scope + markup.deleted + settings + + background + #400021 + foreground + #BC839F + + + + name + D Diff Changed + scope + markup.changed + settings + + background + #533F2C + foreground + #C3C38F + + + + name + text.subversion-commit meta.scope.changed-files + scope + text.subversion-commit meta.scope.changed-files, text.subversion-commit meta.scope.changed-files.svn meta.diff.separator + settings + + background + #000000 + foreground + #FFFFFF + + + + name + text.subversion-commit + scope + text.subversion-commit + settings + + background + #FFFFFF + foreground + #000000 + + + + name + ————————————————— + settings + + + + name + meta.delimiter + scope + punctuation.terminator, meta.delimiter, punctuation.separator.method + settings + + background + #FFFFFF03 + fontStyle + bold + foreground + #FFFFFF + + + + name + meta.delimiter.statement.js + scope + punctuation.terminator.statement, meta.delimiter.statement.js + settings + + background + #000000BF + + + + name + meta.delimiter.object.js + scope + meta.delimiter.object.js + settings + + background + #00000040 + + + + name + Bold String Quotes + scope + string.quoted.single.brace, string.quoted.double.brace + settings + + fontStyle + bold + foreground + #533F2C + + + + name + ————————————————— + settings + + + + name + meta.headers.blog + scope + text.blog -(text.blog text) + settings + + background + #FFFFFF + + + + name + meta.headers.blog + scope + meta.headers.blog + settings + + background + #FFFFFF + foreground + #666666 + + + + name + meta.headers.blog keyword.other.blog + scope + meta.headers.blog keyword.other.blog + settings + + background + #00FFF81A + fontStyle + + foreground + #192B2A + + + + name + meta.headers.blog string.unquoted.blog + scope + meta.headers.blog string.unquoted.blog + settings + + background + #FFFF551A + foreground + #533F2C + + + + name + ————————————————— + settings + + + + name + meta.brace.pipe + scope + meta.brace.pipe + settings + + background + #33333333 + fontStyle + + foreground + #4C4C4C + + + + name + Misc Punctuation + scope + meta.brace.erb, source.ruby.embedded.source.brace, punctuation.section.dictionary, punctuation.terminator.dictionary, punctuation.separator.object + settings + + fontStyle + bold + foreground + #4C4C4C + + + + name + Curly Punctuation + scope + meta.group.braces.curly punctuation.section.scope, meta.brace.curly + settings + + fontStyle + bold + foreground + #FFFFFF + + + + name + Object Punctuation + scope + punctuation.separator.objects, meta.group.braces.curly meta.delimiter.object.comma, punctuation.separator.key-value -meta.tag + settings + + fontStyle + bold + foreground + #345743 + + + + name + Array Punctuation + scope + meta.group.braces.square punctuation.section.scope, meta.group.braces.square meta.delimiter.object.comma, meta.brace.square, punctuation.separator.array, punctuation.section.array + settings + + background + #803D001A + fontStyle + bold + foreground + #695F55 + + + + name + meta.brace.curly meta.group + scope + meta.brace.curly meta.group + settings + + background + #00000080 + fontStyle + + foreground + #CDCDCD + + + + name + Function Punctuation + scope + meta.group.braces.round punctuation.section.scope, meta.group.braces.round meta.delimiter.object.comma, meta.brace.round + settings + + fontStyle + bold + foreground + #532D40 + + + + name + meta.brace.curly.function + scope + punctuation.section.function, meta.brace.curly.function, meta.function-call punctuation.section.scope.ruby + settings + + background + #3C008033 + fontStyle + + foreground + #ABACD2 + + + + name + º meta.source.embedded + scope + meta.source.embedded, entity.other.django.tagbraces + settings + + background + #00000080 + foreground + #666666 + + + + name + º meta.group.braces.round JS + scope + source.js meta.group.braces.round, meta.scope.heredoc + settings + + + + name + º meta.group.braces 1 + scope + meta.odd-tab.group1, meta.group.braces, meta.block.slate, text.xml.strict meta.tag, meta.tell-block meta.tell-block + settings + + background + #0A0A0A + + + + name + º meta.group.braces 2 + scope + meta.even-tab.group2, meta.group.braces meta.group.braces, meta.block.slate meta.block.slate, text.xml.strict meta.tag meta.tag, meta.group.braces meta.group.braces, meta.tell-block meta.tell-block + settings + + background + #0E0E0E + + + + name + º meta.group.braces 3 + scope + meta.odd-tab.group3, meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block + settings + + background + #111111 + + + + name + º meta.group.braces 4 + scope + meta.even-tab.group4, meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block + settings + + background + #151515 + + + + name + º meta.group.braces 5 + scope + meta.odd-tab.group5, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block + settings + + background + #191919 + + + + name + º meta.group.braces 6 + scope + meta.even-tab.group6, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block + settings + + background + #1C1C1C + + + + name + º meta.group.braces 7 + scope + meta.odd-tab.group7, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block + settings + + background + #1F1F1F + + + + name + º meta.group.braces 8 + scope + meta.even-tab.group8, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block + settings + + background + #212121 + + + + name + º meta.group.braces 9 + scope + meta.odd-tab.group11, meta.odd-tab.group10, meta.odd-tab.group9, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces , meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate meta.block.slate , text.xml.strict meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag meta.tag, meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces meta.group.braces, meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block meta.tell-block + settings + + background + #242424 + + + + name + º meta.block.slate + scope + meta.block.slate + settings + + foreground + #666666 + + + + name + º meta.block.content.slate + scope + meta.block.content.slate + settings + + foreground + #CDCDCD + + + + name + ————————————————— + settings + + + + uuid + 4535004C-927A-401A-A6D5-1C9AC89E24C6 + + diff --git a/themes/Cobalt.tmTheme b/themes/Cobalt.tmTheme new file mode 100644 index 000000000..3c685f253 --- /dev/null +++ b/themes/Cobalt.tmTheme @@ -0,0 +1,559 @@ + + + + + author + Jacob Rus + comment + Created by Jacob Rus. Based on ‘Slate’ by Wilson Miner + name + Cobalt + settings + + + settings + + background + #002240 + caret + #FFFFFF + foreground + #FFFFFF + invisibles + #FFFFFF26 + lineHighlight + #00000059 + selection + #B36539BF + + + + name + Punctuation + scope + punctuation - (punctuation.definition.string | punctuation.definition.comment) + settings + + fontStyle + + foreground + #E1EFFF + + + + name + Constant + scope + constant + settings + + fontStyle + + foreground + #FF628C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #FFDD00 + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #FF9D00 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #FFEE80 + + + + name + String + scope + string -string.unquoted.old-plist -string.unquoted.heredoc, string.unquoted.heredoc string + settings + + fontStyle + + foreground + #3AD900 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #0088FF + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #80FFBB + + + + name + Variable + scope + variable + settings + + fontStyle + + foreground + #CCCCCC + + + + name + Lang Variable + scope + variable.language + settings + + fontStyle + + foreground + #FF80E1 + + + + name + Function Call + scope + meta.function-call + settings + + foreground + #FFEE80 + + + + name + Invalid + scope + invalid + settings + + background + #800F00 + foreground + #F8F8F8 + + + + name + Embedded Source + scope + text source, string.unquoted.heredoc, source source + settings + + background + #223545 + fontStyle + + foreground + #FFFFFF + + + + name + Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #80FCFF + + + + name + String embedded-source + scope + string.quoted source + settings + + fontStyle + + foreground + #9EFF80 + + + + name + String constant + scope + string constant + settings + + foreground + #80FF82 + + + + name + String.regexp + scope + string.regexp + settings + + foreground + #80FFC2 + + + + name + String variable + scope + string variable + settings + + foreground + #EDEF7D + + + + name + Support.function + scope + support.function + settings + + fontStyle + + foreground + #FFB054 + + + + name + Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #EB939A + + + + name + Exception + scope + support.type.exception + settings + + foreground + #FF1E00 + + + + name + C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + foreground + #AFC4DB + + + + name + Doctype/XML Processing + scope + meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string + settings + + foreground + #73817D + + + + name + Meta.tag.A + scope + meta.tag, meta.tag entity + settings + + foreground + #9EFFFF + + + + name + css tag-name + scope + meta.selector.css entity.name.tag + settings + + foreground + #9EFFFF + + + + name + css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + foreground + #FFB454 + + + + name + css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + foreground + #5FE461 + + + + name + css property-name: + scope + support.type.property-name.css + settings + + foreground + #9DF39F + + + + name + css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + foreground + #F6F080 + + + + name + css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #F6AA11 + + + + name + css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + foreground + #EDF080 + + + + name + css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #EB939A + + + + name + diff.header + scope + meta.diff, meta.diff.header + settings + + background + #000E1A + fontStyle + + foreground + #F8F8F8 + + + + name + diff.deleted + scope + markup.deleted + settings + + background + #4C0900 + foreground + #F8F8F8 + + + + name + diff.changed + scope + markup.changed + settings + + background + #806F00 + foreground + #F8F8F8 + + + + name + diff.inserted + scope + markup.inserted + settings + + background + #154F00 + foreground + #F8F8F8 + + + + name + Raw Markup + scope + markup.raw + settings + + background + #8FDDF630 + + + + name + Block Quote + scope + markup.quote + settings + + background + #004480 + + + + name + List + scope + markup.list + settings + + background + #130D26 + + + + name + Bold Markup + scope + markup.bold + settings + + fontStyle + bold + foreground + #C1AFFF + + + + name + Italic Markup + scope + markup.italic + settings + + fontStyle + italic + foreground + #B8FFD9 + + + + name + Heading Markup + scope + markup.heading + settings + + background + #001221 + fontStyle + bold + foreground + #C8E4FD + + + + uuid + 06CD1FB2-A00A-4F8C-97B2-60E131980454 + + diff --git a/themes/Dawn.tmTheme b/themes/Dawn.tmTheme new file mode 100644 index 000000000..12cff9b6e --- /dev/null +++ b/themes/Dawn.tmTheme @@ -0,0 +1,437 @@ + + + + + author + David Powers + comment + Dawn + name + Dawn + settings + + + settings + + background + #F9F9F9 + caret + #000000 + foreground + #080808 + invisibles + #4B4B7E80 + lineHighlight + #2463B41F + selection + #275FFF4D + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #5A525F + + + + name + Constant + scope + constant + settings + + fontStyle + bold + foreground + #811F24 + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #BF4F24 + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #794938 + + + + name + Storage + scope + storage + settings + + fontStyle + italic + foreground + #A71D5D + + + + name + String + scope + string | punctuation.definition.string + settings + + fontStyle + + foreground + #0B6125 + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #691C97 + + + + name + Variable + scope + variable + settings + + fontStyle + + foreground + #234A97 + + + + name + Punctuation.separator + scope + punctuation.separator + settings + + foreground + #794938 + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + bold italic underline + foreground + #B52A1D + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #B52A1D + fontStyle + italic underline + foreground + #F8F8F8 + + + + name + String embedded-source + scope + string source + settings + + background + #6F8BBA26 + fontStyle + + foreground + #080808 + + + + name + String constant + scope + string constant + settings + + fontStyle + bold + foreground + #696969 + + + + name + String variable + scope + string variable + settings + + fontStyle + + foreground + #234A97 + + + + name + String.regexp + scope + string.regexp + settings + + fontStyle + + foreground + #CF5628 + + + + name + String.regexp.«special» + scope + string.regexp.character-class, string.regexp constant.character.escaped, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + fontStyle + bold italic + foreground + #CF5628 + + + + name + String.regexp constant.character.escape + scope + string.regexp constant.character.escape + settings + + fontStyle + bold + foreground + #811F24 + + + + name + Embedded Source + scope + text source + settings + + background + #6F8BBA26 + + + + name + Support.function + scope + support.function + settings + + fontStyle + + foreground + #693A17 + + + + name + Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #B4371F + + + + name + Support.variable + scope + support.variable + settings + + foreground + #234A97 + + + + name + Markup.list + scope + markup.list + settings + + foreground + #693A17 + + + + name + Markup.heading + scope + markup.heading | markup.heading entity.name + settings + + fontStyle + bold + foreground + #19356D + + + + name + Markup.quote + scope + markup.quote + settings + + background + #BBBBBB30 + fontStyle + italic + foreground + #0B6125 + + + + name + Markup.italic + scope + markup.italic + settings + + fontStyle + italic + foreground + #080808 + + + + name + Markup.bold + scope + markup.bold + settings + + fontStyle + bold + foreground + #080808 + + + + name + Markup.underline + scope + markup.underline + settings + + fontStyle + underline + foreground + #080808 + + + + name + Markup.link + scope + markup.link + settings + + fontStyle + italic underline + foreground + #234A97 + + + + name + Markup.raw + scope + markup.raw + settings + + background + #BBBBBB30 + fontStyle + + foreground + #234A97 + + + + name + Markup.deleted + scope + markup.deleted + settings + + foreground + #59140E + + + + name + Meta.separator + scope + meta.separator + settings + + background + #DCDCDC + fontStyle + bold + foreground + #19356D + + + + uuid + E7E82498-F9EA-49A6-A0D8-12327EA46B01 + + diff --git a/themes/Espresso Libre.tmTheme b/themes/Espresso Libre.tmTheme new file mode 100644 index 000000000..2ccae6448 --- /dev/null +++ b/themes/Espresso Libre.tmTheme @@ -0,0 +1,402 @@ + + + + + author + Chris Thomas + name + Espresso Libre + settings + + + settings + + background + #2A211C + caret + #889AFF + foreground + #BDAE9D + invisibles + #BFBFBF + lineHighlight + #3A312C + selection + #C3DCFF + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #0066FF + + + + name + Keyword + scope + keyword, storage + settings + + fontStyle + bold + foreground + #43A8ED + + + + name + Number + scope + constant.numeric + settings + + fontStyle + + foreground + #44AA43 + + + + name + User-defined constant + scope + constant + settings + + fontStyle + bold + foreground + #C5656B + + + + name + Built-in constant + scope + constant.language + settings + + fontStyle + bold + foreground + #585CF6 + + + + name + Variable + scope + variable.language, variable.other + settings + + fontStyle + + foreground + #318495 + + + + name + String + scope + string + settings + + fontStyle + + foreground + #049B0A + + + + name + String interpolation + scope + constant.character.escape, string source + settings + + fontStyle + + foreground + #2FE420 + + + + name + Preprocessor line + scope + meta.preprocessor + settings + + fontStyle + + foreground + #1A921C + + + + name + Preprocessor directive + scope + keyword.control.import + settings + + fontStyle + bold + foreground + #9AFF87 + + + + name + Function name + scope + entity.name.function, keyword.other.name-of-parameter.objc + settings + + fontStyle + bold + foreground + #FF9358 + + + + name + Type name + scope + entity.name.type + settings + + fontStyle + underline + + + + name + Inherited class name + scope + entity.other.inherited-class + settings + + fontStyle + italic + + + + name + Function parameter + scope + variable.parameter + settings + + fontStyle + italic + + + + name + Function argument and result types + scope + storage.type.method + settings + + fontStyle + + foreground + #8B8E9C + + + + name + Section + scope + meta.section entity.name.section, declaration.section entity.name.section + settings + + fontStyle + italic + + + + name + Library function + scope + support.function + settings + + fontStyle + bold + foreground + #7290D9 + + + + name + Library object + scope + support.class, support.type + settings + + fontStyle + bold + foreground + #6D79DE + + + + name + Library constant + scope + support.constant + settings + + fontStyle + bold + foreground + #00AF0E + + + + name + Library variable + scope + support.variable + settings + + fontStyle + bold + foreground + #2F5FE0 + + + + name + JS: Operator + scope + keyword.operator.js + settings + + foreground + #687687 + + + + name + Invalid + scope + invalid + settings + + background + #990000 + foreground + #FFFFFF + + + + name + Invalid trailing whitespace + scope + invalid.deprecated.trailing-whitespace + settings + + background + #FFD0D0 + + + + name + Embedded source + scope + text source, string.unquoted + settings + + background + #F5AA7730 + + + + name + Markup XML declaration + scope + meta.tag.preprocessor.xml + settings + + fontStyle + + foreground + #8F7E65 + + + + name + Markup DOCTYPE + scope + meta.tag.sgml.doctype + settings + + fontStyle + + foreground + #888888 + + + + name + Markup DTD + scope + string.quoted.docinfo.doctype.DTD + settings + + fontStyle + italic + + + + name + Markup tag + scope + meta.tag, declaration.tag + settings + + fontStyle + + foreground + #43A8ED + + + + name + Markup name of tag + scope + entity.name.tag + settings + + fontStyle + bold + + + + name + Markup tag attribute + scope + entity.other.attribute-name + settings + + fontStyle + italic + + + + uuid + 6B90703E-4E4B-43C8-9D32-921BEDF6D725 + + diff --git a/themes/IDLE.tmTheme b/themes/IDLE.tmTheme new file mode 100644 index 000000000..704296f5c --- /dev/null +++ b/themes/IDLE.tmTheme @@ -0,0 +1,235 @@ + + + + + author + Domenico Carbotta + name + IDLE + settings + + + settings + + background + #FFFFFF + caret + #000000 + foreground + #000000 + invisibles + #BFBFBF + lineHighlight + #00000012 + selection + #BAD6FD + + + + name + Comment + scope + comment + settings + + foreground + #919191 + + + + name + String + scope + string + settings + + foreground + #00A33F + + + + name + Number + scope + constant.numeric + settings + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #A535AE + + + + name + User-defined constant + scope + constant.character, constant.other + settings + + + + name + Variable + scope + variable.language, variable.other + settings + + + + name + Keyword + scope + keyword + settings + + foreground + #FF5600 + + + + name + Storage + scope + storage + settings + + foreground + #FF5600 + + + + name + Type name + scope + entity.name.type + settings + + foreground + #21439C + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + + + name + Function name + scope + entity.name.function + settings + + foreground + #21439C + + + + name + Function argument + scope + variable.parameter + settings + + + + name + Tag name + scope + entity.name.tag + settings + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + + + name + Library function + scope + support.function + settings + + foreground + #A535AE + + + + name + Library constant + scope + support.constant + settings + + foreground + #A535AE + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #A535AE + + + + name + Library variable + scope + support.variable + settings + + foreground + #A535AE + + + + name + Invalid + scope + invalid + settings + + background + #990000 + foreground + #FFFFFF + + + + name + String interpolation + scope + constant.other.placeholder.py + settings + + fontStyle + + foreground + #990000 + + + + uuid + DDC0CBE1-442B-4CB5-80E4-26E4CFB3A277 + + diff --git a/themes/IR_Black.tmTheme b/themes/IR_Black.tmTheme new file mode 100644 index 000000000..cbc18d0b9 --- /dev/null +++ b/themes/IR_Black.tmTheme @@ -0,0 +1,810 @@ + + + + + name + IR_Black + settings + + + settings + + background + #000000 + caret + #FFFFFF + foreground + #EDEDED + invisibles + #CAE2FB3D + lineHighlight + #FFFFFF24 + selection + #333333 + + + + name + Comment + scope + comment + settings + + fontStyle + + foreground + #7C7C7C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #FFD2A7 + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #96CBFE + + + + name + Keyword.control + scope + keyword.control + settings + + fontStyle + + foreground + #96CBFE + + + + name + Keyword.Operator + scope + keyword.operator + settings + + foreground + #EDEDED + + + + name + Class + scope + entity.name.type + settings + + fontStyle + underline + foreground + #FFFFB6 + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #FFFFB6 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #CFCB90 + + + + name + Storage.modifier + scope + storage.modifier + settings + + fontStyle + + foreground + #96CBFE + + + + name + Constant + scope + constant + settings + + fontStyle + + foreground + #99CC99 + + + + name + String + scope + string + settings + + fontStyle + bold + foreground + #A8FF60 + + + + name + Number + scope + constant.numeric + settings + + fontStyle + bold + foreground + #FF73FD + + + + name + Punctuation + scope + punctuation + settings + + fontStyle + + + + + name + Variable + scope + variable + settings + + fontStyle + + foreground + #C6C5FE + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic underline + foreground + #FD5FF1 + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #FD5FF1 + + + + name + ----------------------------------- + settings + + + + name + ♦ Embedded Source (Bright) + scope + text source + settings + + background + #B1B3BA08 + fontStyle + + + + + name + ♦ Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #9B5C2E + + + + name + ♦ String embedded-variable + scope + source string source + settings + + fontStyle + + foreground + #EDEDED + + + + name + ♦ String punctuation + scope + source string source punctuation.section.embedded + settings + + fontStyle + + foreground + #00A0A0 + + + + name + ♦ String constant + scope + string constant + settings + + fontStyle + + foreground + #00A0A0 + + + + name + ♦ String.regexp + scope + string.regexp + settings + + foreground + #E9C062 + + + + name + ♦ String.regexp.«special» + scope + string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + fontStyle + + foreground + #FF8000 + + + + name + ♦ String.regexp.group + scope + string.regexp.group + settings + + background + #FFFFFF0F + fontStyle + + foreground + #C6A24F + + + + name + ♦ String.regexp.character-class + scope + string.regexp.character-class + settings + + fontStyle + + foreground + #B18A3D + + + + name + ♦ String variable + scope + string variable + settings + + fontStyle + + foreground + #8A9A95 + + + + name + ♦ Support.function + scope + support.function + settings + + fontStyle + + foreground + #DAD085 + + + + name + ♦ Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #FFD2A7 + + + + name + c C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + c C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + fontStyle + + foreground + #AFC4DB + + + + name + j Cast + scope + meta.cast + settings + + fontStyle + italic + foreground + #676767 + + + + name + ✘ Doctype/XML Processing + scope + meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string + settings + + foreground + #494949 + + + + name + ✘ Meta.tag.«all» + scope + meta.tag, meta.tag entity + settings + + fontStyle + bold + foreground + #96CBFE + + + + name + ✘ Meta.tag.inline + scope + source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity + settings + + fontStyle + + foreground + #96CBFE + + + + name + ✘ Meta.tag.attribute-name + scope + entity.other.attribute-name + settings + + fontStyle + + foreground + #FFD7B1 + + + + name + ✘ Namespaces + scope + entity.name.tag.namespace, entity.other.attribute-name.namespace + settings + + fontStyle + + foreground + #E18964 + + + + name + § css tag-name + scope + meta.selector.css entity.name.tag + settings + + fontStyle + underline + foreground + #96CBFE + + + + name + § css:pseudo-class + scope + meta.selector.css entity.other.attribute-name.tag.pseudo-class + settings + + fontStyle + + foreground + #8F9D6A + + + + name + § css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + fontStyle + + foreground + #8B98AB + + + + name + § css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + fontStyle + + foreground + #62B1FE + + + + name + § css property-name: + scope + support.type.property-name.css + settings + + foreground + #EDEDED + + + + name + § css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + fontStyle + + foreground + #F9EE98 + + + + name + § css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #8693A5 + + + + name + § css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + fontStyle + + foreground + #87C38A + + + + name + § css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #8F9D6A + + + + name + ⎇ diff.header + scope + meta.diff, meta.diff.header + settings + + background + #0E2231 + fontStyle + italic + foreground + #F8F8F8 + + + + name + ⎇ diff.deleted + scope + markup.deleted + settings + + background + #420E09 + foreground + #F8F8F8 + + + + name + ⎇ diff.changed + scope + markup.changed + settings + + background + #4A410D + foreground + #F8F8F8 + + + + name + ⎇ diff.inserted + scope + markup.inserted + settings + + background + #253B22 + foreground + #F8F8F8 + + + + name + -------------------------------- + settings + + + + name + Markup: Italic + scope + markup.italic + settings + + fontStyle + italic + foreground + #E9C062 + + + + name + Markup: Bold + scope + markup.bold + settings + + fontStyle + bold + foreground + #E9C062 + + + + name + Markup: Underline + scope + markup.underline + settings + + fontStyle + underline + foreground + #E18964 + + + + name + Markup: Quote + scope + markup.quote + settings + + background + #FEE09C12 + fontStyle + italic + foreground + #E1D4B9 + + + + name + Markup: Heading + scope + markup.heading, markup.heading entity + settings + + background + #632D04 + fontStyle + + foreground + #FEDCC5 + + + + name + Markup: List + scope + markup.list + settings + + foreground + #E1D4B9 + + + + name + Markup: Raw + scope + markup.raw + settings + + background + #B1B3BA08 + fontStyle + + foreground + #578BB3 + + + + name + Markup: Comment + scope + markup comment + settings + + fontStyle + italic + foreground + #F67B37 + + + + name + Markup: Separator + scope + meta.separator + settings + + background + #242424 + foreground + #60A633 + + + + name + Log Entry + scope + meta.line.entry.logfile, meta.line.exit.logfile + settings + + background + #EEEEEE29 + + + + name + Log Entry Error + scope + meta.line.error.logfile + settings + + background + #751012 + + + + uuid + D039AEA9-9DD2-4237-A963-E84494B0B3FB + + diff --git a/themes/LAZY.tmTheme b/themes/LAZY.tmTheme new file mode 100644 index 000000000..09ff51116 --- /dev/null +++ b/themes/LAZY.tmTheme @@ -0,0 +1,291 @@ + + + + + author + Domenico Carbotta + name + LAZY + settings + + + settings + + background + #FFFFFF + caret + #7C7C7C + foreground + #000000 + invisibles + #B6B6B6 + lineHighlight + #EFFCA68F + selection + #E3FC8D + + + + name + Comment + scope + comment + settings + + fontStyle + + foreground + #8C868F + + + + name + Constant + scope + constant + settings + + fontStyle + + foreground + #3B5BB5 + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #3B5BB5 + + + + name + Latex Entity + scope + text.tex.latex entity + settings + + fontStyle + + foreground + #D62A28 + + + + name + Keyword + scope + keyword, storage + settings + + fontStyle + + foreground + #FF7800 + + + + name + String + scope + string, meta.verbatim + settings + + fontStyle + + foreground + #409B1C + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #3B5BB5 + + + + name + Variable + scope + variable + settings + + fontStyle + + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic + foreground + #990000 + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #9D1E15 + foreground + #F8F8F8 + + + + name + Superclass + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #3B5BB5 + + + + name + String interpolation + scope + string constant.other.placeholder + settings + + fontStyle + + foreground + #671EBB + + + + name + meta.function-call.py + scope + meta.function-call.py + settings + + fontStyle + + foreground + #3E4558 + + + + name + meta.tag + scope + meta.tag, meta.tag entity + settings + + foreground + #3A4A64 + + + + name + OCaml variant + scope + keyword.type.variant + settings + + fontStyle + + foreground + #7F90AA + + + + name + OCaml operator + scope + source.ocaml keyword.operator + settings + + foreground + #000000 + + + + name + OCaml infix operator + scope + source.ocaml keyword.operator.symbol.infix + settings + + fontStyle + + foreground + #3B5BB5 + + + + name + OCaml prefix operator + scope + source.ocaml keyword.operator.symbol.prefix + settings + + foreground + #3B5BB5 + + + + name + OCaml infix f-p operator + scope + source.ocaml keyword.operator.symbol.infix.floating-point + settings + + fontStyle + underline + + + + name + OCaml prefix f-p operator + scope + source.ocaml keyword.operator.symbol.prefix.floating-point + settings + + fontStyle + underline + + + + name + OCaml f-p constant + scope + source.ocaml constant.numeric.floating-point + settings + + fontStyle + underline + + + + uuid + A1E55FCB-3CD2-4811-9E73-D9B87419443A + + diff --git a/themes/Mac Classic.tmTheme b/themes/Mac Classic.tmTheme new file mode 100644 index 000000000..4b789dfea --- /dev/null +++ b/themes/Mac Classic.tmTheme @@ -0,0 +1,450 @@ + + + + + author + Chris Thomas + name + Mac Classic + settings + + + settings + + background + #FFFFFF + caret + #000000 + foreground + #000000 + invisibles + #BFBFBF + lineHighlight + #00000012 + selection + #4D97FF54 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #0066FF + + + + name + Keyword + scope + keyword, storage + settings + + fontStyle + bold + foreground + #0000FF + + + + name + Number + scope + constant.numeric + settings + + fontStyle + + foreground + #0000CD + + + + name + User-defined constant + scope + constant + settings + + fontStyle + bold + foreground + #C5060B + + + + name + Built-in constant + scope + constant.language + settings + + fontStyle + bold + foreground + #585CF6 + + + + name + Variable + scope + variable.language, variable.other + settings + + fontStyle + + foreground + #318495 + + + + name + String + scope + string + settings + + fontStyle + + foreground + #036A07 + + + + name + String interpolation + scope + constant.character.escape, string source + settings + + fontStyle + + foreground + #26B31A + + + + name + Preprocessor line + scope + meta.preprocessor + settings + + fontStyle + + foreground + #1A921C + + + + name + Preprocessor directive + scope + keyword.control.import + settings + + fontStyle + bold + foreground + #0C450D + + + + name + Function name + scope + entity.name.function, support.function.any-method + settings + + fontStyle + bold + foreground + #0000A2 + + + + name + Type name + scope + entity.name.type + settings + + fontStyle + underline + + + + name + Inherited class name + scope + entity.other.inherited-class + settings + + fontStyle + italic + + + + name + Function parameter + scope + variable.parameter + settings + + fontStyle + italic + + + + name + Function argument and result types + scope + storage.type.method + settings + + fontStyle + + foreground + #70727E + + + + name + Section + scope + meta.section entity.name.section, declaration.section entity.name.section + settings + + fontStyle + italic + + + + name + Library function + scope + support.function + settings + + fontStyle + bold + foreground + #3C4C72 + + + + name + Library object + scope + support.class, support.type + settings + + fontStyle + bold + foreground + #6D79DE + + + + name + Library constant + scope + support.constant + settings + + fontStyle + bold + foreground + #06960E + + + + name + Library variable + scope + support.variable + settings + + fontStyle + bold + foreground + #21439C + + + + name + JS: Operator + scope + keyword.operator.js + settings + + foreground + #687687 + + + + name + Invalid + scope + invalid + settings + + background + #990000 + foreground + #FFFFFF + + + + name + Invalid trailing whitespace + scope + invalid.deprecated.trailing-whitespace + settings + + background + #FFD0D0 + + + + name + Embedded source + scope + text source, string.unquoted + settings + + background + #0000000D + + + + name + Embedded embedded source + scope + text source string.unquoted, text source text source + settings + + background + #0000000F + + + + name + Markup XML declaration + scope + meta.tag.preprocessor.xml + settings + + fontStyle + + foreground + #68685B + + + + name + Markup DOCTYPE + scope + meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.sgml.doctype string, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string + settings + + fontStyle + + foreground + #888888 + + + + name + Markup DTD + scope + string.quoted.docinfo.doctype.DTD + settings + + fontStyle + italic + + + + name + Markup tag + scope + meta.tag, declaration.tag + settings + + fontStyle + + foreground + #1C02FF + + + + name + Markup name of tag + scope + entity.name.tag + settings + + fontStyle + bold + + + + name + Markup tag attribute + scope + entity.other.attribute-name + settings + + fontStyle + italic + + + + name + Markup: Heading + scope + markup.heading + settings + + fontStyle + bold + foreground + #0C07FF + + + + name + Markup: Quote + scope + markup.quote + settings + + fontStyle + italic + foreground + #000000 + + + + name + Markup: List + scope + markup.list + settings + + foreground + #B90690 + + + + uuid + 71D40D9D-AE48-11D9-920A-000D93589AF6 + + diff --git a/themes/MagicWB (Amiga).tmTheme b/themes/MagicWB (Amiga).tmTheme new file mode 100644 index 000000000..7897886b1 --- /dev/null +++ b/themes/MagicWB (Amiga).tmTheme @@ -0,0 +1,376 @@ + + + + + author + Allan Odgaard + comment + Inspired by the original 8 MagicWB colors from Martin Huttenloher + name + MagicWB (Amiga) + settings + + + settings + + background + #969696 + caret + #FFFFFF + foreground + #000000 + invisibles + #FF38FF + lineHighlight + #00000012 + selection + #B1B1B1 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #8D2E75 + + + + name + String + scope + string + settings + + background + #FF000033 + fontStyle + + foreground + #FFFFFF + + + + name + Number + scope + constant.numeric + settings + + foreground + #FFFFFF + + + + name + Constant: Built-in + scope + constant.language + settings + + fontStyle + bold + foreground + #FFA995 + + + + name + Constant: User-defined + scope + constant.character, constant.other + settings + + background + #0000FF33 + fontStyle + + foreground + #FFA995 + + + + name + Variable + scope + variable.language, variable.other + settings + + foreground + #FFA995 + + + + name + Keyword + scope + keyword + settings + + fontStyle + bold + + + + name + Storage + scope + storage + settings + + fontStyle + bold + foreground + #3A68A3 + + + + name + Type Name + scope + entity.name.type + settings + + fontStyle + underline + + + + name + Inherited Class + scope + entity.other.inherited-class + settings + + fontStyle + italic + + + + name + Function Name + scope + entity.name.function + settings + + fontStyle + + foreground + #FFA995 + + + + name + Function Argument + scope + variable.parameter + settings + + fontStyle + italic + + + + name + Entity Name + scope + entity.name + settings + + fontStyle + bold + foreground + #0000FF + + + + name + Tag Attribute + scope + entity.other.attribute-name + settings + + fontStyle + italic + foreground + #3A68A3 + + + + name + Library Function + scope + support.function + settings + + foreground + #E5B3FF + + + + name + Objective-C Method Call + scope + support.function.any-method + settings + + fontStyle + + foreground + #000000 + + + + name + Objective-C Method Call - : + scope + support.function.any-method - punctuation + settings + + fontStyle + italic + + + + name + Library Constant + scope + support.constant + settings + + foreground + #FFFFFF + + + + name + Library Class/Type + scope + support.type, support.class + settings + + foreground + #FFA995 + + + + name + Library Variable + scope + support.variable + settings + + foreground + #3A68A3 + + + + name + Invalid + scope + invalid + settings + + background + #797979 + foreground + #FFFFFF + + + + name + Include <system> + scope + string.quoted.other.lt-gt.include + settings + + background + #969696 + fontStyle + italic + foreground + #FFA995 + + + + name + Include "user" + scope + string.quoted.double.include + settings + + background + #969696 + foreground + #FFA995 + + + + name + Markup: List Item + scope + markup.list + settings + + foreground + #4D4E60 + + + + name + Markup: Raw + scope + markup.raw + settings + + background + #0000FF + foreground + #FFFFFF + + + + name + Markup: Quote (Email) + scope + markup.quote + settings + + foreground + #00F0C9 + + + + name + Markup: Quote Double (Email) + scope + markup.quote markup.quote + settings + + fontStyle + + foreground + #4C457E + + + + name + Embedded Source + scope + text.html source + settings + + background + #8A9ECB + + + + uuid + B0A18BAA-6220-481C-9914-F6D3E51B5410 + + diff --git a/themes/Pastels on Dark.tmTheme b/themes/Pastels on Dark.tmTheme new file mode 100644 index 000000000..e3928606e --- /dev/null +++ b/themes/Pastels on Dark.tmTheme @@ -0,0 +1,701 @@ + + + + + author + Mats Persson + name + Pastels on Dark + settings + + + settings + + background + #211E1E + caret + #FFFFFF + foreground + #DADADA + invisibles + #4F4D4D + lineHighlight + #353030 + selection + #73597E80 + + + + name + Comments + scope + comment + settings + + fontStyle + + foreground + #555555 + + + + name + Comments Block + scope + comment.block + settings + + fontStyle + + foreground + #555555 + + + + name + Strings + scope + string + settings + + foreground + #AD9361 + + + + name + Numbers + scope + constant.numeric + settings + + fontStyle + + foreground + #CCCCCC + + + + name + Keywords + scope + keyword + settings + + fontStyle + + foreground + #A1A1FF + + + + name + Preprocessor Line + scope + meta.preprocessor + settings + + fontStyle + + foreground + #2F006E + + + + name + Preprocessor Directive + scope + keyword.control.import + settings + + fontStyle + bold + + + + name + Functions + scope + support.function + settings + + fontStyle + + foreground + #A1A1FF + + + + name + Function result + scope + declaration.function function-result + settings + + foreground + #0000FF + + + + name + Function name + scope + declaration.function function-name + settings + + fontStyle + bold + + + + name + Function argument name + scope + declaration.function argument-name + settings + + fontStyle + bold + + + + name + Function argument type + scope + declaration.function function-arg-type + settings + + foreground + #0000FF + + + + name + Function argument variable + scope + declaration.function function-argument + settings + + fontStyle + italic + + + + name + Class name + scope + declaration.class class-name + settings + + fontStyle + underline + + + + name + Class inheritance + scope + declaration.class class-inheritance + settings + + fontStyle + italic underline + + + + name + Invalid + scope + invalid + settings + + background + #FF0000 + fontStyle + bold + foreground + #FFF9F9 + + + + name + Invalid Trailing Whitespace + scope + invalid.deprecated.trailing-whitespace + settings + + background + #FFD0D0 + + + + name + Section + scope + declaration.section section-name + settings + + fontStyle + italic + + + + name + Interpolation + scope + string.interpolation + settings + + foreground + #C10006 + + + + name + Regular Expressions + scope + string.regexp + settings + + fontStyle + + foreground + #666666 + + + + name + Variables + scope + variable + settings + + foreground + #C1C144 + + + + name + Constants + scope + constant + settings + + foreground + #6782D3 + + + + name + Character Constants + scope + constant.character + settings + + fontStyle + + foreground + #AFA472 + + + + name + Language Constants + scope + constant.language + settings + + fontStyle + bold + foreground + #DE8E30 + + + + name + Embedded Code + scope + embedded + settings + + fontStyle + underline + + + + name + Tag name + scope + keyword.markup.element-name + settings + + fontStyle + + foreground + #858EF4 + + + + name + Attribute name + scope + keyword.markup.attribute-name + settings + + fontStyle + + foreground + #9B456F + + + + name + Attribute with Value + scope + meta.attribute-with-value + settings + + fontStyle + + foreground + #9B456F + + + + name + Exceptions + scope + keyword.exception + settings + + fontStyle + bold + foreground + #C82255 + + + + name + Operators + scope + keyword.operator + settings + + fontStyle + + foreground + #47B8D6 + + + + name + Control Structures + scope + keyword.control + settings + + fontStyle + bold + foreground + #6969FA + + + + name + HTML: DocInfo XML + scope + meta.tag.preprocessor.xml + settings + + foreground + #68685B + + + + name + HTML: DocType + scope + meta.tag.sgml.doctype + settings + + foreground + #888888 + + + + name + HTML: DocInfo DTD + scope + string.quoted.docinfo.doctype.DTD + settings + + fontStyle + italic + + + + name + HTML: ServerSide Includes + scope + comment.other.server-side-include.xhtml, comment.other.server-side-include.html + settings + + foreground + #909090 + + + + name + HTML: Tag + scope + text.html declaration.tag, text.html meta.tag, text.html entity.name.tag.xhtml + settings + + foreground + #858EF4 + + + + name + HTML: attribute="" + scope + keyword.markup.attribute-name + settings + + foreground + #9B456F + + + + name + PHP: PHPdocs + scope + keyword.other.phpdoc.php + settings + + foreground + #777777 + + + + name + PHP: Include() & Require() + scope + keyword.other.include.php + settings + + foreground + #C82255 + + + + name + PHP: Constants Core Predefined + scope + support.constant.core.php + settings + + fontStyle + bold + foreground + #DE8E20 + + + + name + PHP: Constants Standard Predefined + scope + support.constant.std.php + settings + + fontStyle + bold + foreground + #DE8E10 + + + + name + PHP: Variables Globals + scope + variable.other.global.php + settings + + foreground + #B72E1D + + + + name + PHP: Variables Safer Globals + scope + variable.other.global.safer.php + settings + + foreground + #00FF00 + + + + name + PHP: Strings Single-Quoted + scope + string.quoted.single.php + settings + + foreground + #BFA36D + + + + name + PHP: Keywords Storage + scope + keyword.storage.php + settings + + foreground + #6969FA + + + + name + PHP: Strings Double-Quoted + scope + string.quoted.double.php + settings + + foreground + #AD9361 + + + + name + CSS: Selectors #ID + scope + entity.other.attribute-name.id.css + settings + + foreground + #EC9E00 + + + + name + CSS: Selectors <Elements> + scope + entity.name.tag.css + settings + + fontStyle + bold + foreground + #B8CD06 + + + + name + CSS: Selectors .ClassName + scope + entity.other.attribute-name.class.css + settings + + foreground + #EDCA06 + + + + name + CSS: Selectors :PseudoClass + scope + entity.other.attribute-name.pseudo-class.css + settings + + foreground + #2E759C + + + + name + CSS: Invalid Comma + scope + invalid.bad-comma.css + settings + + background + #FF0000 + foreground + #FFFFFF + + + + name + CSS: Property Value + scope + support.constant.property-value.css + settings + + foreground + #9B2E4D + + + + name + CSS: Property Keyword + scope + support.type.property-name.css + settings + + foreground + #E1C96B + + + + name + CSS: Property Colours + scope + constant.other.rgb-value.css + settings + + foreground + #666633 + + + + name + CSS: Font Names + scope + support.constant.font-name.css + settings + + foreground + #666633 + + + + name + TMLangDef: Keys + scope + support.constant.tm-language-def, support.constant.name.tm-language-def + settings + + foreground + #7171F3 + + + + name + CSS: Units + scope + keyword.other.unit.css + settings + + foreground + #6969FA + + + + uuid + 343011CC-B7DF-11D9-B5C6-000D93C8BE28 + + diff --git a/themes/Slush & Poppies.tmTheme b/themes/Slush & Poppies.tmTheme new file mode 100644 index 000000000..02ecbcbe2 --- /dev/null +++ b/themes/Slush & Poppies.tmTheme @@ -0,0 +1,336 @@ + + + + + author + William D. Neumann + name + Slush & Poppies + settings + + + settings + + background + #F1F1F1 + caret + #000000 + foreground + #000000 + invisibles + #BFBFBF + lineHighlight + #00000026 + selection + #B0B0FF + + + + name + Comment + scope + comment + settings + + fontStyle + + foreground + #406040 + + + + name + String + scope + string + settings + + foreground + #C03030 + + + + name + Number + scope + constant.numeric + settings + + foreground + #0080A0 + + + + name + OCaml floating-point constants + scope + source.ocaml constant.numeric.floating-point + settings + + fontStyle + underline + + + + name + Character constants + scope + constant.character + settings + + foreground + #800000 + + + + name + Built-in constant + scope + constant.language + settings + + + + name + User-defined constant + scope + constant.character, constant.other + settings + + + + name + Variable + scope + variable.parameter, variable.other + settings + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #2060A0 + + + + name + Operators + scope + keyword.operator + settings + + fontStyle + + foreground + #2060A0 + + + + name + OCaml prefix f-p operators + scope + source.ocaml keyword.operator.symbol.prefix.floating-point + settings + + fontStyle + underline + + + + name + OCaml infix f-p operators + scope + source.ocaml keyword.operator.symbol.infix.floating-point + settings + + fontStyle + underline + + + + name + Module Keyword + scope + entity.name.module, support.other.module + settings + + fontStyle + + foreground + #0080FF + + + + name + Storage types + scope + storage.type + settings + + foreground + #A08000 + + + + name + Storage + scope + storage + settings + + foreground + #008080 + + + + name + Variant types + scope + entity.name.class.variant + settings + + foreground + #C08060 + + + + name + Directives + scope + keyword.other.directive + settings + + fontStyle + bold + + + + name + Line-number directives + scope + source.ocaml keyword.other.directive.line-number + settings + + fontStyle + + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + + + name + Function name + scope + entity.name.function + settings + + fontStyle + + foreground + #800000 + + + + name + Type name + scope + storage.type.user-defined + settings + + foreground + #800080 + + + + name + Class type name + scope + entity.name.type.class.type + settings + + foreground + #8000C0 + + + + name + Function argument + scope + variable.parameter + settings + + + + name + Tag name + scope + entity.name.tag + settings + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + + + name + Library function + scope + support.function + settings + + + + name + Library constant + scope + support.constant + settings + + + + name + Library class/type + scope + support.type, support.class + settings + + + + name + Library variable + scope + support.variable + settings + + + + name + Invalid + scope + invalid + settings + + + + uuid + D68685B8-1CFE-4C10-99C4-E21CBC892376 + + diff --git a/themes/Solarized (dark).tmTheme b/themes/Solarized (dark).tmTheme new file mode 100644 index 000000000..3a280b185 --- /dev/null +++ b/themes/Solarized (dark).tmTheme @@ -0,0 +1,2051 @@ + + + + + name + Solarized (dark) + settings + + + settings + + background + #002B36 + caret + #819090 + foreground + #839496 + invisibles + #073642 + lineHighlight + #073642 + selection + #073642 + + + + name + Comment + scope + comment + settings + + fontStyle + + foreground + #586E75 + + + + name + String + scope + string + settings + + foreground + #2AA198 + + + + name + StringNumber + scope + string + settings + + foreground + #586E75 + + + + name + Regexp + scope + string.regexp + settings + + foreground + #D30102 + + + + name + Number + scope + constant.numeric + settings + + foreground + #D33682 + + + + name + Variable + scope + variable.language, variable.other + settings + + foreground + #268BD2 + + + + name + Keyword + scope + keyword + settings + + foreground + #859900 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #738A05 + + + + name + Class name + scope + entity.name.class, entity.name.type.class + settings + + foreground + #268BD2 + + + + name + Function name + scope + entity.name.function + settings + + foreground + #268BD2 + + + + name + Variable start + scope + punctuation.definition.variable + settings + + foreground + #859900 + + + + name + Embedded code markers + scope + punctuation.section.embedded.begin, punctuation.section.embedded.end + settings + + foreground + #D30102 + + + + name + Built-in constant + scope + constant.language, meta.preprocessor + settings + + foreground + #B58900 + + + + name + Support.construct + scope + support.function.construct, keyword.other.new + settings + + foreground + #D30102 + + + + name + User-defined constant + scope + constant.character, constant.other + settings + + foreground + #CB4B16 + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + + + name + Function argument + scope + variable.parameter + settings + + + + name + Tag name + scope + entity.name.tag + settings + + fontStyle + bold + foreground + #268BD2 + + + + name + Tag start/end + scope + punctuation.definition.tag.html, punctuation.definition.tag.begin, punctuation.definition.tag.end + settings + + foreground + #586E75 + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + foreground + #93A1A1 + + + + name + Library function + scope + support.function + settings + + foreground + #268BD2 + + + + name + Continuation + scope + punctuation.separator.continuation + settings + + foreground + #D30102 + + + + name + Library constant + scope + support.constant + settings + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #859900 + + + + name + Library Exception + scope + support.type.exception + settings + + foreground + #CB4B16 + + + + name + Special + scope + keyword.other.special-method + settings + + foreground + #CB4B16 + + + + name + Library variable + scope + support.other.variable + settings + + + + name + Invalid + scope + invalid + settings + + + + name + Quoted String + scope + string.quoted.double, string.quoted.single + settings + + foreground + #269186 + + + + name + Quotes + scope + punctuation.definition.string.begin, punctuation.definition.string.end + settings + + foreground + #C60000 + + + + name + CSS: Property + scope + entity.name.tag.css, support.type.property-name.css, meta.property-name.css + settings + + fontStyle + + foreground + #A57800 + + + + name + CSS: @font-face + scope + source.css + settings + + foreground + #D01F1E + + + + name + CSS: Selector + scope + meta.selector.css + settings + + fontStyle + + foreground + #536871 + + + + name + CSS: {} + scope + punctuation.section.property-list.css + settings + + foreground + #5A74CF + + + + name + CSS: Numeric Value + scope + meta.property-value.css constant.numeric.css, keyword.other.unit.css,constant.other.color.rgb-value.css + settings + + fontStyle + + foreground + #269186 + + + + name + CSS: Value + scope + meta.property-value.css + settings + + fontStyle + + foreground + #269186 + + + + name + CSS: !Important + scope + keyword.other.important.css + settings + + foreground + #D01F1E + + + + name + CSS: Standard Value + scope + support.constant.color + settings + + foreground + #269186 + + + + name + CSS: Tag + scope + entity.name.tag.css + settings + + foreground + #738A13 + + + + name + CSS: : , + scope + punctuation.separator.key-value.css, punctuation.terminator.rule.css + settings + + fontStyle + + foreground + #536871 + + + + name + CSS .class + scope + entity.other.attribute-name.class.css + settings + + fontStyle + + foreground + #268BD2 + + + + name + CSS :pseudo + scope + entity.other.attribute-name.pseudo-element.css, entity.other.attribute-name.pseudo-class.css + settings + + fontStyle + + foreground + #BD3800 + + + + name + CSS: #id + scope + entity.other.attribute-name.id.css + settings + + fontStyle + + foreground + #268BD2 + + + + name + JS: Function Name + scope + meta.function.js, entity.name.function.js, support.function.dom.js + settings + + foreground + #A57800 + + + + name + JS: Source + scope + text.html.basic source.js.embedded.html + settings + + fontStyle + + foreground + #A57800 + + + + name + JS: Function + scope + storage.type.function.js + settings + + foreground + #268BD2 + + + + name + JS: Numeric Constant + scope + constant.numeric.js + settings + + foreground + #269186 + + + + name + JS: [] + scope + meta.brace.square.js + settings + + foreground + #268BD2 + + + + name + JS: Storage Type + scope + storage.type.js + settings + + foreground + #268BD2 + + + + name + () + scope + meta.brace.round, punctuation.definition.parameters.begin.js, punctuation.definition.parameters.end.js + settings + + foreground + #93A1A1 + + + + name + {} + scope + meta.brace.curly.js + settings + + foreground + #268BD2 + + + + name + HTML: Doctype + scope + entity.name.tag.doctype.html, meta.tag.sgml.html, string.quoted.double.doctype.identifiers-and-DTDs.html + settings + + fontStyle + italic + foreground + #899090 + + + + name + HTML: Comment Block + scope + comment.block.html + settings + + fontStyle + italic + foreground + #839496 + + + + name + HTML: Script + scope + entity.name.tag.script.html + settings + + fontStyle + italic + + + + name + HTML: Style + scope + source.css.embedded.html string.quoted.double.html + settings + + fontStyle + + foreground + #269186 + + + + name + HTML: Text + scope + text.html.ruby + settings + + fontStyle + bold + foreground + #BD3800 + + + + name + HTML: = + scope + text.html.basic meta.tag.other.html, text.html.basic meta.tag.any.html, text.html.basic meta.tag.block.any, text.html.basic meta.tag.inline.any, text.html.basic meta.tag.structure.any.html, text.html.basic source.js.embedded.html, punctuation.separator.key-value.html + settings + + fontStyle + + foreground + #708284 + + + + name + HTML: something= + scope + text.html.basic entity.other.attribute-name.html + settings + + foreground + #708284 + + + + name + HTML: " + scope + text.html.basic meta.tag.structure.any.html punctuation.definition.string.begin.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html + settings + + fontStyle + + foreground + #269186 + + + + name + HTML: <tag> + scope + entity.name.tag.block.any.html + settings + + fontStyle + bold + foreground + #268BD2 + + + + name + HTML: style + scope + source.css.embedded.html entity.name.tag.style.html + settings + + fontStyle + italic + + + + name + HTML: <style> + scope + entity.name.tag.style.html + settings + + fontStyle + + + + + name + HTML: {} + scope + text.html.basic punctuation.section.property-list.css + settings + + fontStyle + + + + + name + HTML: Embeddable + scope + source.css.embedded.html, comment.block.html + settings + + fontStyle + italic + foreground + #819090 + + + + name + Ruby: Variable definition + scope + punctuation.definition.variable.ruby + settings + + fontStyle + + foreground + #268BD2 + + + + name + Ruby: Function Name + scope + meta.function.method.with-arguments.ruby + settings + + foreground + #708284 + + + + name + Ruby: Variable + scope + variable.language.ruby + settings + + foreground + #469186 + + + + name + Ruby: Function + scope + entity.name.function.ruby + settings + + foreground + #268BD2 + + + + name + Ruby: Keyword Control + scope + keyword.control.ruby, keyword.control.def.ruby + settings + + fontStyle + bold + foreground + #738A05 + + + + name + Ruby: Class + scope + keyword.control.class.ruby, meta.class.ruby + settings + + foreground + #748B00 + + + + name + Ruby: Class Name + scope + entity.name.type.class.ruby + settings + + fontStyle + + foreground + #A57800 + + + + name + Ruby: Keyword + scope + keyword.control.ruby + settings + + fontStyle + + foreground + #748B00 + + + + name + Ruby: Support Class + scope + support.class.ruby + settings + + fontStyle + + foreground + #A57800 + + + + name + Ruby: Special Method + scope + keyword.other.special-method.ruby + settings + + foreground + #748B00 + + + + name + Ruby: Constant + scope + constant.language.ruby, constant.numeric.ruby + settings + + foreground + #269186 + + + + name + Ruby: Constant Other + scope + variable.other.constant.ruby + settings + + fontStyle + + foreground + #A57800 + + + + name + Ruby: :symbol + scope + constant.other.symbol.ruby + settings + + fontStyle + + foreground + #269186 + + + + name + Ruby: Punctuation Section '' + scope + punctuation.section.embedded.ruby, punctuation.definition.string.begin.ruby, punctuation.definition.string.end.ruby + settings + + foreground + #D01F1E + + + + name + Ruby: Special Method + scope + keyword.other.special-method.ruby + settings + + foreground + #BD3800 + + + + name + PHP: Include + scope + keyword.control.import.include.php + settings + + foreground + #BD3800 + + + + name + Ruby: erb = + scope + text.html.ruby meta.tag.inline.any.html + settings + + fontStyle + + foreground + #819090 + + + + name + Ruby: erb "" + scope + text.html.ruby punctuation.definition.string.begin, text.html.ruby punctuation.definition.string.end + settings + + fontStyle + + foreground + #269186 + + + + name + PHP: Quoted Single + scope + punctuation.definition.string.begin, punctuation.definition.string.end + settings + + foreground + #839496 + + + + name + PHP: Class Names + scope + support.class.php + settings + + foreground + #839496 + + + + name + PHP: [] + scope + keyword.operator.index-start.php, keyword.operator.index-end.php + settings + + foreground + #D31E1E + + + + name + PHP: Array + scope + meta.array.php + settings + + foreground + #536871 + + + + name + PHP: Array() + scope + meta.array.php support.function.construct.php, meta.array.empty.php support.function.construct.php + settings + + fontStyle + + foreground + #A57800 + + + + name + PHP: Array Construct + scope + support.function.construct.php + settings + + foreground + #A57800 + + + + name + PHP: Array Begin + scope + punctuation.definition.array.begin, punctuation.definition.array.end + settings + + foreground + #D31E1E + + + + name + PHP: Numeric Constant + scope + constant.numeric.php + settings + + foreground + #269186 + + + + name + PHP: New + scope + keyword.other.new.php + settings + + foreground + #CB4B16 + + + + name + PHP: :: + scope + keyword.operator.class + settings + + fontStyle + + foreground + #839496 + + + + name + PHP: Other Property + scope + variable.other.property.php + settings + + foreground + #899090 + + + + name + PHP: Class + scope + storage.modifier.extends.php, storage.type.class.php, keyword.operator.class.php + settings + + foreground + #A57800 + + + + name + PHP: Class Function + settings + + + + name + PHP: Semicolon + scope + punctuation.terminator.expression.php + settings + + foreground + #839496 + + + + name + PHP: Inherited Class + scope + meta.other.inherited-class.php + settings + + fontStyle + + foreground + #536871 + + + + name + PHP: Storage Type + scope + storage.type.php + settings + + foreground + #748B00 + + + + name + PHP: Function + scope + entity.name.function.php + settings + + foreground + #899090 + + + + name + PHP: Function Construct + scope + support.function.construct.php + settings + + foreground + #748B00 + + + + name + PHP: Function Call + scope + entity.name.type.class.php, meta.function-call.php, meta.function-call.static.php, meta.function-call.object.php + settings + + foreground + #839496 + + + + name + PHP: Comment + scope + keyword.other.phpdoc + settings + + fontStyle + + foreground + #899090 + + + + name + PHP: Source Emebedded + scope + source.php.embedded.block.html + settings + + foreground + #BD3613 + + + + name + PHP: Storage Type Function + scope + storage.type.function.php + settings + + foreground + #BD3800 + + + + name + C: constant + scope + constant.numeric.c + settings + + fontStyle + + foreground + #269186 + + + + name + C: Meta Preprocessor + scope + meta.preprocessor.c.include, meta.preprocessor.macro.c + settings + + fontStyle + + foreground + #BB3700 + + + + name + C: Keyword + scope + keyword.control.import.define.c, keyword.control.import.include.c + settings + + fontStyle + + foreground + #BB3700 + + + + name + C: Function Preprocessor + scope + entity.name.function.preprocessor.c + settings + + fontStyle + + foreground + #BB3700 + + + + name + C: include <something.c> + scope + meta.preprocessor.c.include string.quoted.other.lt-gt.include.c, meta.preprocessor.c.include punctuation.definition.string.begin.c, meta.preprocessor.c.include punctuation.definition.string.end.c + settings + + fontStyle + + foreground + #269186 + + + + name + C: Function + scope + support.function.C99.c, support.function.any-method.c, entity.name.function.c + settings + + fontStyle + + foreground + #536871 + + + + name + C: " + scope + punctuation.definition.string.begin.c, punctuation.definition.string.end.c + settings + + fontStyle + + foreground + #269186 + + + + name + C: Storage Type + scope + storage.type.c + settings + + fontStyle + + foreground + #A57800 + + + + name + diff: header + scope + meta.diff, meta.diff.header + settings + + background + #A57706 + fontStyle + italic + foreground + #E0EDDD + + + + name + diff: deleted + scope + markup.deleted + settings + + background + #EAE3CA + fontStyle + + foreground + #D3201F + + + + name + diff: changed + scope + markup.changed + settings + + background + #EAE3CA + fontStyle + + foreground + #BF3904 + + + + name + diff: inserted + scope + markup.inserted + settings + + background + #EAE3CA + foreground + #219186 + + + + name + Markdown: Linebreak + scope + text.html.markdown meta.dummy.line-break + settings + + background + #A57706 + foreground + #E0EDDD + + + + name + Markdown: Raw + scope + text.html.markdown markup.raw.inline + settings + + foreground + #269186 + + + + name + reST raw + scope + text.restructuredtext markup.raw + settings + + foreground + #269186 + + + + name + Other: Removal + scope + other.package.exclude, other.remove + settings + + fontStyle + + foreground + #D3201F + + + + name + Other: Add + scope + other.add + settings + + foreground + #269186 + + + + name + Tex: {} + scope + punctuation.section.group.tex , punctuation.definition.arguments.begin.latex, punctuation.definition.arguments.end.latex, punctuation.definition.arguments.latex + settings + + fontStyle + + foreground + #B81D1C + + + + name + Tex: {text} + scope + meta.group.braces.tex + settings + + fontStyle + + foreground + #A57705 + + + + name + Tex: Other Math + scope + string.other.math.tex + settings + + fontStyle + + foreground + #A57705 + + + + name + Tex: {var} + scope + variable.parameter.function.latex + settings + + fontStyle + + foreground + #BD3800 + + + + name + Tex: Math \\ + scope + punctuation.definition.constant.math.tex + settings + + fontStyle + + foreground + #D01F1E + + + + name + Tex: Constant Math + scope + text.tex.latex constant.other.math.tex, constant.other.general.math.tex, constant.other.general.math.tex, constant.character.math.tex + settings + + fontStyle + + foreground + #269186 + + + + name + Tex: Other Math String + scope + string.other.math.tex + settings + + fontStyle + + foreground + #A57800 + + + + name + Tex: $ + scope + punctuation.definition.string.begin.tex, punctuation.definition.string.end.tex + settings + + fontStyle + + foreground + #D3201F + + + + name + Tex: \label + scope + keyword.control.label.latex, text.tex.latex constant.other.general.math.tex + settings + + fontStyle + + foreground + #269186 + + + + name + Tex: \label { } + scope + variable.parameter.definition.label.latex + settings + + fontStyle + + foreground + #D01F1E + + + + name + Tex: Function + scope + support.function.be.latex + settings + + fontStyle + + foreground + #748B00 + + + + name + Tex: Support Function Section + scope + support.function.section.latex + settings + + fontStyle + + foreground + #BD3800 + + + + name + Tex: Support Function + scope + support.function.general.tex + settings + + fontStyle + + foreground + #269186 + + + + name + Tex: Comment + scope + punctuation.definition.comment.tex, comment.line.percentage.tex + settings + + fontStyle + italic + + + + name + Tex: Reference Label + scope + keyword.control.ref.latex + settings + + fontStyle + + foreground + #269186 + + + + name + Python: storage + scope + storage.type.class.python, storage.type.function.python, storage.modifier.global.python + settings + + fontStyle + + foreground + #748B00 + + + + name + Python: import + scope + keyword.control.import.python, keyword.control.import.from.python + settings + + foreground + #BD3800 + + + + name + Python: Support.exception + scope + support.type.exception.python + settings + + foreground + #A57800 + + + + name + Shell: builtin + scope + support.function.builtin.shell + settings + + foreground + #748B00 + + + + name + Shell: variable + scope + variable.other.normal.shell + settings + + foreground + #BD3800 + + + + name + Shell: DOT_FILES + scope + source.shell + settings + + fontStyle + + foreground + #268BD2 + + + + name + Shell: meta scope in loop + scope + meta.scope.for-in-loop.shell, variable.other.loop.shell + settings + + fontStyle + + foreground + #536871 + + + + name + Shell: "" + scope + punctuation.definition.string.end.shell, punctuation.definition.string.begin.shell + settings + + fontStyle + + foreground + #748B00 + + + + name + Shell: Meta Block + scope + meta.scope.case-block.shell, meta.scope.case-body.shell + settings + + fontStyle + + foreground + #536871 + + + + name + Shell: [] + scope + punctuation.definition.logical-expression.shell + settings + + fontStyle + + foreground + #CD1E1D + + + + name + Shell: Comment + scope + comment.line.number-sign.shell + settings + + fontStyle + italic + + + + name + Java: import + scope + keyword.other.import.java + settings + + fontStyle + + foreground + #BD3800 + + + + name + Java: meta-import + scope + storage.modifier.import.java + settings + + fontStyle + + foreground + #586E75 + + + + name + Java: Class + scope + meta.class.java storage.modifier.java + settings + + fontStyle + + foreground + #A57800 + + + + name + Java: /* comment */ + scope + source.java comment.block + settings + + fontStyle + + foreground + #536871 + + + + name + Java: /* @param */ + scope + comment.block meta.documentation.tag.param.javadoc keyword.other.documentation.param.javadoc + settings + + fontStyle + + foreground + #536871 + + + + name + Perl: variables + scope + punctuation.definition.variable.perl, variable.other.readwrite.global.perl, variable.other.predefined.perl, keyword.operator.comparison.perl + settings + + foreground + #B58900 + + + + name + Perl: functions + scope + support.function.perl + settings + + foreground + #859900 + + + + name + Perl: comments + scope + comment.line.number-sign.perl + settings + + fontStyle + italic + foreground + #586E75 + + + + name + Perl: quotes + scope + punctuation.definition.string.begin.perl, punctuation.definition.string.end.perl + settings + + foreground + #2AA198 + + + + name + Perl: \char + scope + constant.character.escape.perl + settings + + foreground + #DC322F + + + + + name + Markdown: Headings + scope + markup.heading.markdown, markup.heading.1.markdown, markup.heading.2.markdown + settings + + foreground + #268BD2 + + + + name + Markdown: Bold + scope + markup.bold.markdown + settings + + fontStyle + bold + foreground + #839496 + + + + name + Markdown: Italic + scope + markup.italic.markdown + settings + + fontStyle + italic + foreground + #839496 + + + + name + Markdown: Punctuation for Bold, Italic, and Inline Block + scope + punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.raw.markdown + settings + + foreground + #D3201F + + + + name + Markdown: Bulleted List + scope + markup.list.unnumbered.markdown + settings + + foreground + #B58900 + + + + name + Markdown: Numbered List + scope + markup.list.numbered.markdown + settings + + foreground + #859900 + + + + name + Markdown: Block and Inline Block + scope + markup.raw.block.markdown, markup.raw.inline.markdown + settings + + foreground + #2AA198 + + + + name + Markdown: Quote Block and Punctuation + scope + markup.quote.markdown, punctuation.definition.blockquote.markdown + settings + + foreground + #6C71C4 + + + + name + Markdown: Seperator + scope + meta.separator.markdown + settings + + foreground + #D33682 + + + + name + Markdown: Link and Reference URL + scope + meta.image.inline.markdown, markup.underline.link.markdown + settings + + fontStyle + italic + foreground + #586E75 + + + + name + Markdown: Link Title, Image Description + scope + string.other.link.title.markdown, string.other.link.description.markdown + settings + + foreground + #93A1A1 + + + + name + Markdown: Angle Brakets on Link and Image + scope + punctuation.definition.link.markdown + settings + + foreground + #586E75 + + + + name + Markdown: Parens on Link and Image + scope + punctuation.definition.metadata.markdown + settings + + foreground + #586E75 + + + + name + Markdown: Square Brakets on Link, Image, and Reference + scope + punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.constant.markdown + settings + + foreground + #586E75 + + + + + uuid + A4299D9B-1DE5-4BC4-87F6-A757E71B1597 + + diff --git a/themes/SpaceCadet.tmTheme b/themes/SpaceCadet.tmTheme new file mode 100644 index 000000000..156f43dee --- /dev/null +++ b/themes/SpaceCadet.tmTheme @@ -0,0 +1,212 @@ + + + + + author + Alex Ross + comment + Created by Alex Ross + name + SpaceCadet + settings + + + settings + + background + #0D0D0D + caret + #7F005D + foreground + #DDE6CF + invisibles + #BFBFBF + lineHighlight + #00000012 + selection + #40002F + + + + name + Comment + scope + comment + settings + + foreground + #473C45 + + + + name + String + scope + string + settings + + foreground + #805978 + + + + name + Constant + scope + constant + settings + + foreground + #A8885A + + + + name + Variable + scope + variable.parameter, variable.other + settings + + foreground + #596380 + + + + name + Keyword + scope + keyword - keyword.operator, keyword.operator.logical + settings + + foreground + #728059 + + + + name + Storage + scope + storage + settings + + foreground + #9EBF60 + + + + name + Entity + scope + entity + settings + + foreground + #6078BF + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + fontStyle + italic + + + + name + Support + scope + support + settings + + foreground + #8A4B66 + + + + name + Exception + scope + support.type.exception + settings + + foreground + #893062 + + + + name + Tag name + scope + entity.name.tag + settings + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + + + name + Library constant + scope + support.constant + settings + + + + name + Library class/type + scope + support.type, support.class + settings + + + + name + Library variable + scope + support.other.variable + settings + + + + name + Invalid + scope + invalid + settings + + background + #5F0047 + + + + name + - Meta + settings + + + + name + function.section + scope + meta.function.section + settings + + background + #371D28 + + + + uuid + 2C24E84F-F9FE-4C2E-92D2-F52198BA7E41 + + diff --git a/themes/Sunburst.tmTheme b/themes/Sunburst.tmTheme new file mode 100644 index 000000000..694c2c8c4 --- /dev/null +++ b/themes/Sunburst.tmTheme @@ -0,0 +1,665 @@ + + + + + author + Stanley Rost + comment + (π) Soryu, 2005 + name + Sunburst + settings + + + settings + + background + #000000 + caret + #A7A7A7 + foreground + #F8F8F8 + invisibles + #CAE2FB3D + lineHighlight + #FFFFFF1A + selection + #DDF0FF33 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #AEAEAE + + + + name + Constant + scope + constant + settings + + foreground + #3387CC + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #89BDFF + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #E28964 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #99CF50 + + + + name + String + scope + string + settings + + fontStyle + + foreground + #65B042 + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #9B859D + + + + name + Variable + scope + variable + settings + + foreground + #3E87E3 + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic underline + foreground + #FD5FF1 + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #FD5FF1 + + + + name + ----------------------------------- + settings + + + + name + ♦ Embedded Source (Bright) + scope + text source + settings + + background + #B1B3BA08 + + + + name + ♦ Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #9B5C2E + + + + name + ♦ String embedded-source + scope + string.quoted source + settings + + fontStyle + + foreground + #DAEFA3 + + + + name + ♦ String constant + scope + string constant + settings + + foreground + #DDF2A4 + + + + name + ♦ String.regexp + scope + string.regexp + settings + + foreground + #E9C062 + + + + name + ♦ String.regexp.«special» + scope + string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + foreground + #CF7D34 + + + + name + ♦ String variable + scope + string variable + settings + + foreground + #8A9A95 + + + + name + ♦ Support.function + scope + support.function + settings + + fontStyle + + foreground + #DAD085 + + + + name + ♦ Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #CF6A4C + + + + name + c C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + c C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + foreground + #AFC4DB + + + + name + j Entity Name Type + scope + entity.name.type + settings + + fontStyle + underline + + + + name + j Cast + scope + meta.cast + settings + + fontStyle + italic + foreground + #676767 + + + + name + ✘ Doctype/XML Processing + scope + meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string + settings + + foreground + #494949 + + + + name + ✘ Meta.tag.«all» + scope + meta.tag, meta.tag entity + settings + + foreground + #89BDFF + + + + name + ✘ Meta.tag.inline + scope + source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity + settings + + foreground + #E0C589 + + + + name + ✘ Namespaces + scope + entity.name.tag.namespace, entity.other.attribute-name.namespace + settings + + foreground + #E18964 + + + + name + § css tag-name + scope + meta.selector.css entity.name.tag + settings + + foreground + #CDA869 + + + + name + § css:pseudo-class + scope + meta.selector.css entity.other.attribute-name.tag.pseudo-class + settings + + foreground + #8F9D6A + + + + name + § css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + foreground + #8B98AB + + + + name + § css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + foreground + #9B703F + + + + name + § css property-name: + scope + support.type.property-name.css + settings + + foreground + #C5AF75 + + + + name + § css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + foreground + #F9EE98 + + + + name + § css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #8693A5 + + + + name + § css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + foreground + #DD7B3B + + + + name + § css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #8F9D6A + + + + name + ⎇ diff.header + scope + meta.diff, meta.diff.header + settings + + background + #0E2231 + fontStyle + italic + foreground + #F8F8F8 + + + + name + ⎇ diff.deleted + scope + markup.deleted + settings + + background + #420E09 + foreground + #F8F8F8 + + + + name + ⎇ diff.changed + scope + markup.changed + settings + + background + #4A410D + foreground + #F8F8F8 + + + + name + ⎇ diff.inserted + scope + markup.inserted + settings + + background + #253B22 + foreground + #F8F8F8 + + + + name + -------------------------------- + settings + + + + name + Markup: Italic + scope + markup.italic + settings + + fontStyle + italic + foreground + #E9C062 + + + + name + Markup: Bold + scope + markup.bold + settings + + fontStyle + bold + foreground + #E9C062 + + + + name + Markup: Underline + scope + markup.underline + settings + + fontStyle + underline + foreground + #E18964 + + + + name + Markup: Quote + scope + markup.quote + settings + + background + #FEE09C12 + fontStyle + italic + foreground + #E1D4B9 + + + + name + Markup: Heading + scope + markup.heading, markup.heading entity + settings + + background + #632D04 + fontStyle + + foreground + #FEDCC5 + + + + name + Markup: List + scope + markup.list + settings + + foreground + #E1D4B9 + + + + name + Markup: Raw + scope + markup.raw + settings + + background + #B1B3BA08 + fontStyle + + foreground + #578BB3 + + + + name + Markup: Comment + scope + markup comment + settings + + fontStyle + italic + foreground + #F67B37 + + + + name + Markup: Separator + scope + meta.separator + settings + + background + #242424 + foreground + #60A633 + + + + name + Log Entry + scope + meta.line.entry.logfile, meta.line.exit.logfile + settings + + background + #EEEEEE29 + + + + name + Log Entry Error + scope + meta.line.error.logfile + settings + + background + #751012 + + + + uuid + C8C58F9A-35FE-44A4-9BC2-2F3C343DC81D + + diff --git a/themes/Twilight.tmTheme b/themes/Twilight.tmTheme new file mode 100644 index 000000000..a83f7ecbb --- /dev/null +++ b/themes/Twilight.tmTheme @@ -0,0 +1,514 @@ + + + + + author + Michael Sheets + name + Twilight + settings + + + settings + + background + #141414 + caret + #A7A7A7 + foreground + #F8F8F8 + invisibles + #FFFFFF40 + lineHighlight + #FFFFFF08 + selection + #DDF0FF33 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #5F5A60 + + + + name + Constant + scope + constant + settings + + foreground + #CF6A4C + + + + name + Entity + scope + entity + settings + + fontStyle + + foreground + #9B703F + + + + name + Keyword + scope + keyword + settings + + fontStyle + + foreground + #CDA869 + + + + name + Storage + scope + storage + settings + + fontStyle + + foreground + #F9EE98 + + + + name + String + scope + string + settings + + fontStyle + + foreground + #8F9D6A + + + + name + Support + scope + support + settings + + fontStyle + + foreground + #9B859D + + + + name + Variable + scope + variable + settings + + foreground + #7587A6 + + + + name + Invalid – Deprecated + scope + invalid.deprecated + settings + + fontStyle + italic underline + foreground + #D2A8A1 + + + + name + Invalid – Illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #F8F8F8 + + + + name + ----------------------------------- + settings + + + + name + ♦ Embedded Source + scope + text source + settings + + background + #B0B3BA14 + + + + name + ♦ Embedded Source (Bright) + scope + text.html.ruby source + settings + + background + #B1B3BA21 + + + + name + ♦ Entity inherited-class + scope + entity.other.inherited-class + settings + + fontStyle + italic + foreground + #9B5C2E + + + + name + ♦ String embedded-source + scope + string source + settings + + fontStyle + + foreground + #DAEFA3 + + + + name + ♦ String constant + scope + string constant + settings + + foreground + #DDF2A4 + + + + name + ♦ String.regexp + scope + string.regexp + settings + + fontStyle + + foreground + #E9C062 + + + + name + ♦ String.regexp.«special» + scope + string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + foreground + #CF7D34 + + + + name + ♦ String variable + scope + string variable + settings + + foreground + #8A9A95 + + + + name + ♦ Support.function + scope + support.function + settings + + fontStyle + + foreground + #DAD085 + + + + name + ♦ Support.constant + scope + support.constant + settings + + fontStyle + + foreground + #CF6A4C + + + + name + c C/C++ Preprocessor Line + scope + meta.preprocessor.c + settings + + foreground + #8996A8 + + + + name + c C/C++ Preprocessor Directive + scope + meta.preprocessor.c keyword + settings + + foreground + #AFC4DB + + + + name + ✘ Doctype/XML Processing + scope + meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.sgml.doctype string, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string + settings + + foreground + #494949 + + + + name + ✘ Meta.tag.«all» + scope + declaration.tag, declaration.tag entity, meta.tag, meta.tag entity + settings + + foreground + #AC885B + + + + name + ✘ Meta.tag.inline + scope + declaration.tag.inline, declaration.tag.inline entity, source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity + settings + + foreground + #E0C589 + + + + name + § css tag-name + scope + meta.selector.css entity.name.tag + settings + + foreground + #CDA869 + + + + name + § css:pseudo-class + scope + meta.selector.css entity.other.attribute-name.tag.pseudo-class + settings + + foreground + #8F9D6A + + + + name + § css#id + scope + meta.selector.css entity.other.attribute-name.id + settings + + foreground + #8B98AB + + + + name + § css.class + scope + meta.selector.css entity.other.attribute-name.class + settings + + foreground + #9B703F + + + + name + § css property-name: + scope + support.type.property-name.css + settings + + foreground + #C5AF75 + + + + name + § css property-value; + scope + meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css + settings + + foreground + #F9EE98 + + + + name + § css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #8693A5 + + + + name + § css additional-constants + scope + meta.property-value support.constant.named-color.css, meta.property-value constant + settings + + foreground + #CA7840 + + + + name + § css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #8F9D6A + + + + name + ⎇ diff.header + scope + meta.diff, meta.diff.header, meta.separator + settings + + background + #0E2231 + fontStyle + italic + foreground + #F8F8F8 + + + + name + ⎇ diff.deleted + scope + markup.deleted + settings + + background + #420E09 + foreground + #F8F8F8 + + + + name + ⎇ diff.changed + scope + markup.changed + settings + + background + #4A410D + foreground + #F8F8F8 + + + + name + ⎇ diff.inserted + scope + markup.inserted + settings + + background + #253B22 + foreground + #F8F8F8 + + + + name + Markup: List + scope + markup.list + settings + + foreground + #F9EE98 + + + + name + Markup: Heading + scope + markup.heading + settings + + foreground + #CF6A4C + + + + uuid + 766026CB-703D-4610-B070-8DE07D967C5F + + diff --git a/themes/Zenburnesque.tmTheme b/themes/Zenburnesque.tmTheme new file mode 100644 index 000000000..8631f9867 --- /dev/null +++ b/themes/Zenburnesque.tmTheme @@ -0,0 +1,343 @@ + + + + + author + William D. Neumann + name + Zenburnesque + settings + + + settings + + background + #404040 + caret + #FFFF66 + foreground + #DEDEDE + invisibles + #A8A8A8 + lineHighlight + #A0804026 + selection + #A0A0C0 + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #709070 + + + + name + Directive + scope + keyword.other.directive + settings + + fontStyle + bold + + + + name + Line-number directives + scope + keyword.other.directive.line-number + settings + + fontStyle + underline + + + + name + Characters + scope + constant.character + settings + + foreground + #FF8080 + + + + name + String + scope + string + settings + + foreground + #FF2020 + + + + name + Number + scope + constant.numeric + settings + + foreground + #22C0FF + + + + name + Floating-point numbers + scope + constant.numeric.floating-point + settings + + fontStyle + underline + + + + name + Built-in constant + scope + constant.language + settings + + + + name + User-defined constant + scope + constant.character, constant.other + settings + + + + name + Variable + scope + variable.parameter, variable.other + settings + + + + name + Language Keyword + scope + keyword + settings + + foreground + #FFFFA0 + + + + name + Module Keyword + scope + entity.name.module, support.other.module + settings + + fontStyle + bold + foreground + #FF8000 + + + + name + Operators + scope + keyword.operator + settings + + foreground + #FFFFA0 + + + + name + Floating-point infix operators + scope + source.ocaml keyword.operator.symbol.infix.floating-point + settings + + fontStyle + underline + + + + name + Floating-point prefix operators + scope + source.ocaml keyword.operator.symbol.prefix.floating-point + settings + + fontStyle + underline + + + + name + Storage Types + scope + storage.type + settings + + foreground + #6080FF + + + + name + Variant Types + scope + entity.name.class.variant + settings + + foreground + #4080A0 + + + + name + Storage + scope + storage + settings + + + + name + Type name + scope + entity.name.type + settings + + foreground + #F09040 + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + + + name + Function name + scope + entity.name.function + settings + + fontStyle + bold + foreground + #FFCC66 + + + + name + Type name + scope + storage.type.user-defined + settings + + foreground + #FFE000 + + + + name + Class type name + scope + entity.name.type.class.type + settings + + foreground + #F4A020 + + + + name + Function argument + scope + variable.parameter + settings + + fontStyle + + + + + name + Tag name + scope + entity.name.tag + settings + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + + + name + Library function + scope + support.function + settings + + + + name + Library constant + scope + support.constant + settings + + + + name + Library class/type + scope + support.type, support.class + settings + + + + name + Library variable + scope + support.variable + settings + + + + name + Invalid + scope + invalid + settings + + + + uuid + 8D4988B9-ADD8-436F-B388-BC1360F8504B + + diff --git a/themes/iPlastic.tmTheme b/themes/iPlastic.tmTheme new file mode 100644 index 000000000..7253df6a7 --- /dev/null +++ b/themes/iPlastic.tmTheme @@ -0,0 +1,286 @@ + + + + + author + Jeroen van der Ham + name + iPlastic + settings + + + settings + + background + #EEEEEEEB + caret + #000000 + foreground + #000000 + invisibles + #B3B3B3F4 + lineHighlight + #0000001A + selection + #BAD6FD + + + + name + String + scope + string + settings + + foreground + #009933 + + + + name + Number + scope + constant.numeric + settings + + foreground + #0066FF + + + + name + Regular expression + scope + string.regexp + settings + + foreground + #FF0080 + + + + name + Keyword + scope + keyword + settings + + foreground + #0000FF + + + + name + Identifier + scope + constant.language + settings + + foreground + #9700CC + + + + name + Exception + scope + support.class.exception + settings + + foreground + #990000 + + + + name + Function name + scope + entity.name.function + settings + + foreground + #FF8000 + + + + name + Type name + scope + entity.name.type + settings + + fontStyle + bold underline + + + + name + Arguments + scope + variable.parameter + settings + + fontStyle + italic + + + + name + Comment + scope + comment + settings + + fontStyle + italic + foreground + #0066FF + + + + name + Invalid + scope + invalid + settings + + background + #E71A114D + foreground + #FF0000 + + + + name + Trailing whitespace + scope + invalid.deprecated.trailing-whitespace + settings + + background + #E71A1100 + + + + name + Embedded source + scope + text source + settings + + background + #FAFAFAFC + foreground + #000000 + + + + name + Tag + scope + meta.tag, declaration.tag + settings + + foreground + #0033CC + + + + name + Constant + scope + constant, support.constant + settings + + foreground + #6782D3 + + + + name + Support + scope + support + settings + + fontStyle + bold + foreground + #3333FF + + + + name + Storage + scope + storage + settings + + fontStyle + bold + + + + name + Section name + scope + entity.name.section + settings + + fontStyle + bold underline + + + + name + Frame title + scope + entity.name.function.frame + settings + + fontStyle + bold + foreground + #000000 + + + + name + XML Declaration + scope + meta.tag.preprocessor.xml + settings + + foreground + #333333 + + + + name + Tag Attribute + scope + entity.other.attribute-name + settings + + fontStyle + italic + foreground + #3366CC + + + + name + Tag Name + scope + entity.name.tag + settings + + fontStyle + bold + + + + uuid + 4FCFA210-B247-11D9-9D00-000D93347A42 + + From e11c7e21fbbe24f97102c91b8baa02966852a434 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 31 Dec 2012 12:35:26 -0600 Subject: [PATCH 37/38] This code didn't do what the comment said it did. --- Rakefile | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Rakefile b/Rakefile index 1f9896159..51e6535b0 100644 --- a/Rakefile +++ b/Rakefile @@ -71,12 +71,6 @@ task "create-dot-atom" do end end - # Migration: If there is no theme directory, create - if File.exists?(DOT_ATOM_PATH) and File.exists?(File.join(DOT_ATOM_PATH, "bundles")) - `mv #{File.join(DOT_ATOM_PATH, "bundles")} #{File.join(DOT_ATOM_PATH, "packages")}` - $stderr.puts "WARNING: ~/.atom/bundles was moved to ~/.atom/packages" - end - # Migration: remove files that are no longer needed `rm -rf #{File.join(DOT_ATOM_PATH, 'default-config.coffee')}` From 2b6ee54a81fd68b7511349ce91b09845a9664c07 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 31 Dec 2012 12:40:39 -0600 Subject: [PATCH 38/38] Move all bundles in `~/.atom/bundles` to `packages` if that dir exists This fixes a bug where we always moved the `bundles` dir inside the `packages` dir if it existed, which caused a load error trying to load the `bundles` dir as if it were a package. --- Rakefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index 51e6535b0..e85ba30a5 100644 --- a/Rakefile +++ b/Rakefile @@ -62,9 +62,9 @@ desc "Creates .atom file if non exists" task "create-dot-atom" do # Migration: If there is still a bundle path, rename it to packages if File.exists?(DOT_ATOM_PATH) and File.exists?(File.join(DOT_ATOM_PATH, "bundles")) - if File.join(DOT_ATOM_PATH, "packages") - `rm #{File.join(DOT_ATOM_PATH, "bundles")}` - $stderr.puts "WARNING: removed ~/.atom/bundles" + if File.exists?(File.join(DOT_ATOM_PATH, "packages")) + `mv #{File.join(DOT_ATOM_PATH, "bundles", "*")} #{File.join(DOT_ATOM_PATH, "packages")}` + $stderr.puts "WARNING: Bundles from ~/.atom/bundles were moved to ~/.atom/packages" else `mv #{File.join(DOT_ATOM_PATH, "bundles")} #{File.join(DOT_ATOM_PATH, "packages")}` $stderr.puts "WARNING: ~/.atom/bundles was moved to ~/.atom/packages"