diff --git a/spec/app/config-spec.coffee b/spec/app/config-spec.coffee index 7edf47dcf..661ef3c78 100644 --- a/spec/app/config-spec.coffee +++ b/spec/app/config-spec.coffee @@ -22,17 +22,36 @@ describe "Config", -> spyOn(fs, 'write') jasmine.unspy config, 'save' - it "writes any non-default properties to the config.json in the user's .atom directory", -> - config.set("a.b.c", 1) - config.set("a.b.d", 2) - config.set("x.y.z", 3) - config.setDefaults("a.b", e: 4, f: 5) + describe "when ~/.atom/config.json exists", -> + it "writes any non-default properties to ~/.atom/config.json", -> + config.configFilePath = fs.join(config.configDirPath, "config.json") + config.set("a.b.c", 1) + config.set("a.b.d", 2) + config.set("x.y.z", 3) + config.setDefaults("a.b", e: 4, f: 5) - fs.write.reset() - config.save() + fs.write.reset() + config.save() - writtenConfig = JSON.parse(fs.write.argsForCall[0][1]) - expect(writtenConfig).toEqual config.settings + expect(fs.write.argsForCall[0][0]).toBe(fs.join(config.configDirPath, "config.json")) + writtenConfig = JSON.parse(fs.write.argsForCall[0][1]) + expect(writtenConfig).toEqual config.settings + + describe "when ~/.atom/config.json doesn't exist", -> + it "writes any non-default properties to ~/.atom/config.cson", -> + config.configFilePath = fs.join(config.configDirPath, "config.cson") + config.set("a.b.c", 1) + config.set("a.b.d", 2) + config.set("x.y.z", 3) + config.setDefaults("a.b", e: 4, f: 5) + + fs.write.reset() + config.save() + + expect(fs.write.argsForCall[0][0]).toBe(fs.join(config.configDirPath, "config.cson")) + {CoffeeScript} = require 'coffee-script' + writtenConfig = CoffeeScript.eval(fs.write.argsForCall[0][1], bare: true) + expect(writtenConfig).toEqual config.settings describe ".setDefaults(keyPath, defaults)", -> it "assigns any previously-unassigned keys to the object at the key path", -> diff --git a/spec/app/editor-spec.coffee b/spec/app/editor-spec.coffee index 8bfb4a2f6..7aa08ff22 100644 --- a/spec/app/editor-spec.coffee +++ b/spec/app/editor-spec.coffee @@ -605,7 +605,7 @@ describe "Editor", -> rootView.attachToDom() config.set("editor.fontSize", 16 * 4) expect(editor.gutter.css('font-size')).toBe "#{16 * 4}px" - expect(editor.gutter.width()).toBe(64) + expect(editor.gutter.width()).toBe(64 + editor.gutter.calculateLineNumberPadding()) it "updates lines if there are unrendered lines", -> editor.attachToDom(heightInLines: 5) diff --git a/spec/app/window-spec.coffee b/spec/app/window-spec.coffee index d9adc3170..5cca06198 100644 --- a/spec/app/window-spec.coffee +++ b/spec/app/window-spec.coffee @@ -17,8 +17,8 @@ describe "Window", -> it "has .is-focused on the body tag", -> expect($("body").hasClass("is-focused")).toBe true - it "doesn't have .is-focused on the window focousout event", -> - $(window).focusout() + it "doesn't have .is-focused on the window blur event", -> + $(window).blur() expect($("body").hasClass("is-focused")).toBe false describe ".close()", -> diff --git a/spec/fixtures/jquery-task-handler.coffee b/spec/fixtures/jquery-task-handler.coffee new file mode 100644 index 000000000..dbd91b107 --- /dev/null +++ b/spec/fixtures/jquery-task-handler.coffee @@ -0,0 +1,4 @@ +module.exports = + load: -> + $ = require 'jquery' + callTaskMethod('loaded', $?) diff --git a/spec/stdlib/cson-spec.coffee b/spec/stdlib/cson-spec.coffee index d14ef3467..361eaf330 100644 --- a/spec/stdlib/cson-spec.coffee +++ b/spec/stdlib/cson-spec.coffee @@ -18,10 +18,6 @@ describe "CSON", -> it "does not include the key in the formatted CSON", -> expect(CSON.stringify(b: 1, c: undefined)).toBe "'b': 1" - describe "when formatting an empty object", -> - it "returns the empty string", -> - expect(CSON.stringify({})).toBe "" - describe "when formatting a string", -> it "returns formatted CSON", -> expect(CSON.stringify(a: 'b')).toBe "'a': 'b'" @@ -32,18 +28,25 @@ describe "CSON", -> it "doesn't escape double quotes", -> expect(CSON.stringify(a: '"b"')).toBe "'a': '\"b\"'" + it "escapes newlines", -> + expect(CSON.stringify("a\nb")).toBe "'a\\nb'" + describe "when formatting a boolean", -> it "returns formatted CSON", -> + expect(CSON.stringify(true)).toBe 'true' + expect(CSON.stringify(false)).toBe 'false' expect(CSON.stringify(a: true)).toBe "'a': true" expect(CSON.stringify(a: false)).toBe "'a': false" describe "when formatting a number", -> it "returns formatted CSON", -> + expect(CSON.stringify(54321.012345)).toBe '54321.012345' expect(CSON.stringify(a: 14)).toBe "'a': 14" expect(CSON.stringify(a: 1.23)).toBe "'a': 1.23" describe "when formatting null", -> it "returns formatted CSON", -> + expect(CSON.stringify(null)).toBe 'null' expect(CSON.stringify(a: null)).toBe "'a': null" describe "when formatting an array", -> @@ -55,6 +58,29 @@ describe "CSON", -> expect(CSON.stringify(a: ['b'])).toBe "'a': [\n 'b'\n]" expect(CSON.stringify(a: ['b', 4])).toBe "'a': [\n 'b'\n 4\n]" + describe "when the array has an undefined value", -> + it "formats the undefined value as null", -> + expect(CSON.stringify(['a', undefined, 'b'])).toBe "[\n 'a'\n null\n 'b'\n]" + describe "when formatting an object", -> + describe "when the object is empty", -> + it "returns the empty string", -> + expect(CSON.stringify({})).toBe "" + it "returns formatted CSON", -> expect(CSON.stringify(a: {b: 'c'})).toBe "'a':\n 'b': 'c'" + + describe "when converting back to an object", -> + it "produces the original object", -> + object = + showInvisibles: true + fontSize: 20 + core: + themes: ['a', 'b'] + stripTrailingWhitespace: + singleTrailingNewline: true + + cson = CSON.stringify(object) + {CoffeeScript} = require 'coffee-script' + evaledObject = CoffeeScript.eval(cson, bare: true) + expect(evaledObject).toEqual object diff --git a/spec/stdlib/task-shell-spec.coffee b/spec/stdlib/task-shell-spec.coffee new file mode 100644 index 000000000..d1ccb8fc0 --- /dev/null +++ b/spec/stdlib/task-shell-spec.coffee @@ -0,0 +1,23 @@ +Task = require 'task' + +describe "Task shell", -> + describe "populating the window with fake properties", -> + describe "when jQuery is loaded in a web worker", -> + it "doesn't log to the console", -> + spyOn(console, 'log') + spyOn(console, 'error') + spyOn(console, 'warn') + class JQueryTask extends Task + constructor: -> super('fixtures/jquery-task-handler.coffee') + started: -> @callWorkerMethod('load') + loaded: (@jqueryLoaded) -> + + task = new JQueryTask() + task.start() + waitsFor "web worker to start and jquery to be required", 5000, -> + task.jqueryLoaded + runs -> + expect(task.jqueryLoaded).toBeTruthy() + expect(console.log).not.toHaveBeenCalled() + expect(console.error).not.toHaveBeenCalled() + expect(console.warn).not.toHaveBeenCalled() diff --git a/src/app/config.coffee b/src/app/config.coffee index 26efbd674..604853326 100644 --- a/src/app/config.coffee +++ b/src/app/config.coffee @@ -3,7 +3,6 @@ _ = require 'underscore' EventEmitter = require 'event-emitter' configDirPath = fs.absolute("~/.atom") -configJsonPath = fs.join(configDirPath, "config.json") userInitScriptPath = fs.join(configDirPath, "user.coffee") bundledPackagesDirPath = fs.join(resourcePath, "src/packages") bundledThemesDirPath = fs.join(resourcePath, "themes") @@ -27,6 +26,8 @@ class Config core: _.clone(require('root-view').configDefaults) editor: _.clone(require('editor').configDefaults) @settings = {} + @configFilePath = fs.resolve(configDirPath, 'config', ['json', 'cson']) + @configFilePath ?= fs.join(configDirPath, 'config.cson') load: -> @loadUserConfig() @@ -35,8 +36,8 @@ class Config atom.loadPackages() loadUserConfig: -> - if fs.exists(configJsonPath) - userConfig = JSON.parse(fs.read(configJsonPath)) + if fs.exists(@configFilePath) + userConfig = fs.readObject(@configFilePath) _.extend(@settings, userConfig) get: (keyPath) -> @@ -77,7 +78,7 @@ class Config @trigger 'updated' save: -> - fs.write(configJsonPath, JSON.stringify(@settings, undefined, 2) + "\n") + fs.writeObject(@configFilePath, @settings) requireUserInitScript: -> try diff --git a/src/app/grammar-view.coffee b/src/app/grammar-view.coffee index bd0b73251..3465c45a7 100644 --- a/src/app/grammar-view.coffee +++ b/src/app/grammar-view.coffee @@ -4,7 +4,7 @@ SelectList = require 'select-list' module.exports = class GrammarView extends SelectList - @viewClass: -> "#{super} grammar-view" + @viewClass: -> "#{super} grammar-view from-top overlay" filterKey: 'name' @@ -12,7 +12,6 @@ class GrammarView extends SelectList @currentGrammar = @editor.getGrammar() @path = @editor.getPath() @autoDetect = name: 'Auto Detect' - requireStylesheet 'grammar-view.css' @command 'editor:select-grammar', => @cancel() false diff --git a/src/app/select-list.coffee b/src/app/select-list.coffee index 0b4cd9a87..297c3fa35 100644 --- a/src/app/select-list.coffee +++ b/src/app/select-list.coffee @@ -109,7 +109,7 @@ class SelectList extends View scrollToItem: (item) -> scrollTop = @list.scrollTop() desiredTop = item.position().top + scrollTop - desiredBottom = desiredTop + item.height() + desiredBottom = desiredTop + item.outerHeight() if desiredTop < scrollTop @list.scrollTop(desiredTop) diff --git a/src/app/window.coffee b/src/app/window.coffee index d5dca5965..998f381a4 100644 --- a/src/app/window.coffee +++ b/src/app/window.coffee @@ -29,7 +29,7 @@ windowAdditions = $(window).on 'core:close', => @close() $(window).command 'window:close', => @close() $(window).on 'focus', => $("body").addClass("is-focused") - $(window).on 'focusout', => $("body").removeClass("is-focused") + $(window).on 'blur', => $("body").removeClass("is-focused") # This method is intended only to be run when starting a normal application # Note: RootView assigns itself on window on initialization so that @@ -114,6 +114,14 @@ window.startup() requireStylesheet 'reset.css' requireStylesheet 'atom.css' +requireStylesheet 'tabs.css' +requireStylesheet 'tree-view.css' +requireStylesheet 'status-bar.css' +requireStylesheet 'command-panel.css' +requireStylesheet 'fuzzy-finder.css' +requireStylesheet 'overlay.css' +requireStylesheet 'popover-list.css' +requireStylesheet 'notification.css' if nativeStylesheetPath = require.resolve("#{platform}.css") requireStylesheet(nativeStylesheetPath) diff --git a/src/packages/autocomplete/src/autocomplete-view.coffee b/src/packages/autocomplete/src/autocomplete-view.coffee index 1e071ccf3..f2c200d44 100644 --- a/src/packages/autocomplete/src/autocomplete-view.coffee +++ b/src/packages/autocomplete/src/autocomplete-view.coffee @@ -8,7 +8,7 @@ class AutocompleteView extends SelectList rootView.eachEditor (editor) -> new AutocompleteView(editor) if editor.attached and not editor.mini - @viewClass: -> "autocomplete #{super}" + @viewClass: -> "autocomplete #{super} popover-list" editor: null currentBuffer: null @@ -106,7 +106,6 @@ class AutocompleteView extends SelectList setPosition: -> { left, top } = @editor.pixelPositionForScreenPosition(@originalCursorPosition) - height = @outerHeight() potentialTop = top + @editor.lineHeight potentialBottom = potentialTop - @editor.scrollTop() + height diff --git a/src/packages/command-palette/spec/command-palette-spec.coffee b/src/packages/command-palette/spec/command-palette-spec.coffee index 2f62d1b7b..1f56f1ab5 100644 --- a/src/packages/command-palette/spec/command-palette-spec.coffee +++ b/src/packages/command-palette/spec/command-palette-spec.coffee @@ -23,8 +23,8 @@ describe "CommandPalette", -> eventLi = palette.list.children("[data-event-name='#{eventName}']") if description expect(eventLi).toExist() - expect(eventLi.find('.event-name')).toHaveText(eventName) - expect(eventLi.find('.event-description')).toHaveText(description) + expect(eventLi.find('.label')).toHaveText(description) + expect(eventLi.find('.label').attr('title')).toBe(eventName) for binding in keyBindings[eventName] ? [] expect(eventLi.find(".key-binding:contains(#{binding})")).toExist() else @@ -39,8 +39,8 @@ describe "CommandPalette", -> description = editorEvents[eventName] unless description if description expect(eventLi).toExist() - expect(eventLi.find('.event-name')).toHaveText(eventName) - expect(eventLi.find('.event-description')).toHaveText(description) + expect(eventLi.find('.label')).toHaveText(description) + expect(eventLi.find('.label').attr('title')).toBe(eventName) else expect(eventLi).not.toExist() diff --git a/src/packages/command-palette/src/command-palette-view.coffee b/src/packages/command-palette/src/command-palette-view.coffee index d723afa54..90c083d0d 100644 --- a/src/packages/command-palette/src/command-palette-view.coffee +++ b/src/packages/command-palette/src/command-palette-view.coffee @@ -9,7 +9,7 @@ class CommandPaletteView extends SelectList @instance = new CommandPaletteView(rootView) @viewClass: -> - "#{super} command-palette" + "#{super} command-palette overlay from-top" filterKey: 'eventDescription' @@ -41,12 +41,10 @@ class CommandPaletteView extends SelectList keyBindings = @keyBindings $$ -> @li class: 'event', 'data-event-name': eventName, => - @div eventDescription, class: 'event-description' + @span eventDescription, class: 'label', title: eventName @div class: 'right', => - @div eventName, class: 'event-name' for binding in keyBindings[eventName] ? [] - @div binding, class: 'key-binding' - @div class: 'clear-float' + @kbd binding, class: 'key-binding' confirmed: ({eventName}) -> @cancel() diff --git a/src/packages/command-panel/spec/command-panel-spec.coffee b/src/packages/command-panel/spec/command-panel-spec.coffee index a63ae410b..c0d47fe45 100644 --- a/src/packages/command-panel/spec/command-panel-spec.coffee +++ b/src/packages/command-panel/spec/command-panel-spec.coffee @@ -408,7 +408,7 @@ describe "CommandPanel", -> expect(previewList.scrollBottom()).toBeCloseTo previewList.prop('scrollHeight'), -1 - previewList.trigger 'core:move-down' + _.times previewList.getOperations().length, -> previewList.trigger 'core:move-up' expect(previewList.scrollTop()).toBe 0 it "doesn't bubble up the event and the command panel text doesn't change", -> diff --git a/src/packages/fuzzy-finder/index.coffee b/src/packages/fuzzy-finder/index.coffee index 66f212187..2f8cf6783 100644 --- a/src/packages/fuzzy-finder/index.coffee +++ b/src/packages/fuzzy-finder/index.coffee @@ -19,9 +19,9 @@ class FuzzyFinder extends DeferredAtomPackage new LoadPathsTask(rootView, callback).start() onLoadEvent: (event, instance) -> - if @projectPaths? and not @instance.projectPaths? - @instance.projectPaths = @projectPaths - @instance.reloadProjectPaths = false + if @projectPaths? and not instance.projectPaths? + instance.projectPaths = @projectPaths + instance.reloadProjectPaths = false switch event.type when 'fuzzy-finder:toggle-file-finder' diff --git a/src/packages/fuzzy-finder/src/fuzzy-finder-view.coffee b/src/packages/fuzzy-finder/src/fuzzy-finder-view.coffee index ac5a3a3a5..85c2c57d1 100644 --- a/src/packages/fuzzy-finder/src/fuzzy-finder-view.coffee +++ b/src/packages/fuzzy-finder/src/fuzzy-finder-view.coffee @@ -13,7 +13,7 @@ class FuzzyFinderView extends SelectList @instance = new FuzzyFinderView(rootView) @viewClass: -> - [super, 'fuzzy-finder'].join(' ') + [super, 'fuzzy-finder', 'overlay', 'from-top'].join(' ') allowActiveEditorChange: null maxItems: 10 @@ -47,9 +47,9 @@ class FuzzyFinderView extends SelectList typeClass = 'pdf-name' else typeClass = 'text-name' - @span fs.base(path), class: "file #{typeClass}" + @span fs.base(path), class: "file label #{typeClass}" if folder = fs.directory(path) - @span "- #{folder}/", class: 'directory' + @span " - #{folder}/", class: 'directory' openPath: (path) -> @rootView.open(path, {@allowActiveEditorChange}) if path diff --git a/src/packages/fuzzy-finder/src/load-paths-handler.coffee b/src/packages/fuzzy-finder/src/load-paths-handler.coffee index 41ed34fa8..98c439d3d 100644 --- a/src/packages/fuzzy-finder/src/load-paths-handler.coffee +++ b/src/packages/fuzzy-finder/src/load-paths-handler.coffee @@ -3,14 +3,13 @@ _ = require 'underscore' Git = require 'git' module.exports = - loadPaths: (rootPath, ignoredNames, ignoreGitIgnoredFiles) -> + loadPaths: (rootPath, ignoredNames, excludeGitIgnoredPaths) -> paths = [] - repo = Git.open(rootPath, refreshIndexOnFocus: false) if ignoreGitIgnoredFiles + repo = Git.open(rootPath, refreshIndexOnFocus: false) if excludeGitIgnoredPaths isIgnored = (path) -> for segment in path.split('/') return true if _.contains(ignoredNames, segment) - return true if repo?.isPathIgnored(fs.join(rootPath, path)) - false + repo?.isPathIgnored(fs.join(rootPath, path)) onFile = (path) -> paths.push(path) unless isIgnored(path) onDirectory = (path) -> diff --git a/src/packages/fuzzy-finder/src/load-paths-task.coffee b/src/packages/fuzzy-finder/src/load-paths-task.coffee index 7f7a31baa..64bf095b5 100644 --- a/src/packages/fuzzy-finder/src/load-paths-task.coffee +++ b/src/packages/fuzzy-finder/src/load-paths-task.coffee @@ -6,11 +6,11 @@ class LoadPathsTask extends Task super('fuzzy-finder/src/load-paths-handler') started: -> - ignoredNames = config.get("fuzzyFinder.ignoredNames") ? [] - ignoredNames = ignoredNames.concat(config.get("core.ignoredNames") ? []) - ignoreGitIgnoredFiles = config.get("core.hideGitIgnoredFiles") + ignoredNames = config.get('fuzzyFinder.ignoredNames') ? [] + ignoredNames = ignoredNames.concat(config.get('core.ignoredNames') ? []) + excludeGitIgnoredPaths = config.get('core.hideGitIgnoredFiles') rootPath = @rootView.project.getPath() - @callWorkerMethod('loadPaths', rootPath, ignoredNames, ignoreGitIgnoredFiles) + @callWorkerMethod('loadPaths', rootPath, ignoredNames, excludeGitIgnoredPaths) pathsLoaded: (paths) -> @terminate() diff --git a/src/packages/gists/lib/gists.coffee b/src/packages/gists/lib/gists.coffee index 434603636..b46e5beab 100644 --- a/src/packages/gists/lib/gists.coffee +++ b/src/packages/gists/lib/gists.coffee @@ -22,10 +22,10 @@ class Gists success: (response) => pasteboard.write(response.html_url) notification = $$ -> - @div class: 'gist-notification', => - @div class: 'message-area', => - @span "Gist #{response.id} created", class: 'message' - @br() - @span "The url is on your clipboard", class: 'clipboard' + @div class: 'notification', => + @span class: 'icon icon-gist mega-icon' + @div class: 'content', => + @h3 "Gist #{response.id} created", class: 'title' + @p "The url is on your clipboard", class: 'message' @rootView.append(notification.hide()) notification.fadeIn().delay(2000).fadeOut(complete: -> $(this).remove()) diff --git a/src/packages/gists/spec/gists-spec.coffee b/src/packages/gists/spec/gists-spec.coffee index 64227744a..056d6e412 100644 --- a/src/packages/gists/spec/gists-spec.coffee +++ b/src/packages/gists/spec/gists-spec.coffee @@ -44,8 +44,8 @@ describe "Gists package", -> expect(pasteboard.read()[0]).toBe 'https://gist.github.com/1' it "flashes that the Gist was created", -> - expect(rootView.find('.gist-notification')).toExist() - expect(rootView.find('.gist-notification .message').text()).toBe 'Gist 1 created' + expect(rootView.find('.notification')).toExist() + expect(rootView.find('.notification .title').text()).toBe 'Gist 1 created' advanceClock(2000) expect(rootView.find('.gist-notification')).not.toExist() diff --git a/src/packages/go-to-line/lib/go-to-line-view.coffee b/src/packages/go-to-line/lib/go-to-line-view.coffee index ce99ece31..f207e11eb 100644 --- a/src/packages/go-to-line/lib/go-to-line-view.coffee +++ b/src/packages/go-to-line/lib/go-to-line-view.coffee @@ -9,7 +9,7 @@ class GoToLineView extends View @activate: (rootView) -> new GoToLineView(rootView) @content: -> - @div class: 'go-to-line', => + @div class: 'go-to-line overlay from-top mini', => @subview 'miniEditor', new Editor(mini: true) @div class: 'message', outlet: 'message' diff --git a/src/packages/symbols-view/spec/symbols-view-spec.coffee b/src/packages/symbols-view/spec/symbols-view-spec.coffee index 89476c8d5..3e0724795 100644 --- a/src/packages/symbols-view/spec/symbols-view-spec.coffee +++ b/src/packages/symbols-view/spec/symbols-view-spec.coffee @@ -30,9 +30,9 @@ describe "SymbolsView", -> expect(symbolsView.find('.loading')).toBeEmpty() expect(rootView.find('.symbols-view')).toExist() expect(symbolsView.list.children('li').length).toBe 2 - expect(symbolsView.list.children('li:first').find('.function-name')).toHaveText 'quicksort' + expect(symbolsView.list.children('li:first').find('.label')).toHaveText 'quicksort' expect(symbolsView.list.children('li:first').find('.function-details')).toHaveText 'Line 1' - expect(symbolsView.list.children('li:last').find('.function-name')).toHaveText 'quicksort.sort' + expect(symbolsView.list.children('li:last').find('.label')).toHaveText 'quicksort.sort' expect(symbolsView.list.children('li:last').find('.function-details')).toHaveText 'Line 2' expect(symbolsView).not.toHaveClass "error" expect(symbolsView.error).not.toBeVisible() @@ -165,7 +165,7 @@ describe "SymbolsView", -> editor.setCursorBufferPosition([8,14]) editor.trigger 'symbols-view:go-to-declaration' expect(symbolsView.list.children('li').length).toBe 1 - expect(symbolsView.list.children('li:first').find('.function-name')).toHaveText 'tagged.js' + expect(symbolsView.list.children('li:first').find('.label')).toHaveText 'tagged.js' describe "project symbols", -> it "displays all tags", -> @@ -181,9 +181,9 @@ describe "SymbolsView", -> expect(symbolsView.find('.loading')).toBeEmpty() expect(rootView.find('.symbols-view')).toExist() expect(symbolsView.list.children('li').length).toBe 4 - expect(symbolsView.list.children('li:first').find('.function-name')).toHaveText 'callMeMaybe' + expect(symbolsView.list.children('li:first').find('.label')).toHaveText 'callMeMaybe' expect(symbolsView.list.children('li:first').find('.function-details')).toHaveText 'tagged.js' - expect(symbolsView.list.children('li:last').find('.function-name')).toHaveText 'thisIsCrazy' + expect(symbolsView.list.children('li:last').find('.label')).toHaveText 'thisIsCrazy' expect(symbolsView.list.children('li:last').find('.function-details')).toHaveText 'tagged.js' expect(symbolsView).not.toHaveClass "error" expect(symbolsView.error).not.toBeVisible() diff --git a/src/packages/symbols-view/src/symbols-view.coffee b/src/packages/symbols-view/src/symbols-view.coffee index c0d019132..acf72cb78 100644 --- a/src/packages/symbols-view/src/symbols-view.coffee +++ b/src/packages/symbols-view/src/symbols-view.coffee @@ -12,7 +12,7 @@ class SymbolsView extends SelectList @activate: (rootView) -> @instance = new SymbolsView(rootView) - @viewClass: -> "#{super} symbols-view" + @viewClass: -> "#{super} symbols-view overlay from-top" filterKey: 'name' @@ -22,14 +22,13 @@ class SymbolsView extends SelectList itemForElement: ({position, name, file}) -> $$ -> @li => - @div name, class: 'function-name' + @div name, class: 'label' @div class: 'right', => if position text = "Line #{position.row + 1}" else text = fs.base(file) @div text, class: 'function-details' - @div class: 'clear-float' toggleFileSymbols: -> if @hasParent() diff --git a/src/packages/tabs/spec/tabs-spec.coffee b/src/packages/tabs/spec/tabs-spec.coffee index c36922a38..e5b821204 100644 --- a/src/packages/tabs/spec/tabs-spec.coffee +++ b/src/packages/tabs/spec/tabs-spec.coffee @@ -38,6 +38,10 @@ describe "Tabs", -> expect(editor.getActiveEditSessionIndex()).toBe 1 expect(tabs.find('.tab:eq(1)')).toHaveClass 'active' + it "sets the title on each tab to be the full path of the edit session", -> + expect(tabs.find('.tab:eq(0) .file-name').attr('title')).toBe editor.editSessions[0].getPath() + expect(tabs.find('.tab:eq(1) .file-name').attr('title')).toBe editor.editSessions[1].getPath() + describe "when the active edit session changes", -> it "highlights the tab for the newly-active edit session", -> editor.setActiveEditSessionIndex(0) @@ -60,6 +64,11 @@ describe "Tabs", -> expect(tabs.find('.tab').length).toBe 3 expect(tabs.find('.tab:eq(2) .file-name').text()).toBe 'untitled' + it "removes the tab's title", -> + rootView.open() + expect(tabs.find('.tab').length).toBe 3 + expect(tabs.find('.tab:eq(2) .file-name').attr('title')).toBeUndefined() + describe "when an edit session is removed", -> it "removes the tab for the removed edit session", -> editor.setActiveEditSessionIndex(0) diff --git a/src/stdlib/cson.coffee b/src/stdlib/cson.coffee index eab575a11..63158f006 100644 --- a/src/stdlib/cson.coffee +++ b/src/stdlib/cson.coffee @@ -28,7 +28,7 @@ module.exports = cson += @stringifyBoolean(value) else if _.isNumber(value) cson += @stringifyNumber(value) - else if _.isNull(value) + else if _.isNull(value) or value is undefined cson += @stringifyNull(value) else if _.isArray(value) cson += @stringifyArray(value, indentLevel + 2) diff --git a/src/stdlib/fs.coffee b/src/stdlib/fs.coffee index fcf8904a9..9225913ec 100644 --- a/src/stdlib/fs.coffee +++ b/src/stdlib/fs.coffee @@ -152,35 +152,33 @@ module.exports = undefined isCompressedExtension: (ext) -> - _.contains([ + _.indexOf([ '.gz' '.jar' '.tar' '.zip' - ], ext) + ], ext, true) >= 0 isImageExtension: (ext) -> - _.contains([ + _.indexOf([ '.gif' '.jpeg' '.jpg' '.png' '.tiff' - ], ext) + ], ext, true) >= 0 isPdfExtension: (ext) -> - _.contains([ - '.pdf' - ], ext) + ext is '.pdf' isMarkdownExtension: (ext) -> - _.contains([ + _.indexOf([ '.markdown' '.md' '.mkd' '.mkdown' '.ron' - ], ext) + ], ext, true) >= 0 readObject: (path) -> contents = @read(path) @@ -190,6 +188,14 @@ module.exports = else JSON.parse(contents) + writeObject: (path, object) -> + if @extension(path) is '.cson' + CSON = require 'cson' + content = CSON.stringify(object) + else + content = JSON.stringify(object, undefined, 2) + @write(path, "#{content}\n") + readPlist: (path) -> plist = require 'plist' object = null diff --git a/src/stdlib/task-shell.coffee b/src/stdlib/task-shell.coffee index 39bb58c0e..458235e56 100644 --- a/src/stdlib/task-shell.coffee +++ b/src/stdlib/task-shell.coffee @@ -12,6 +12,19 @@ self.console = log: -> callTaskMethod 'log', arguments... error: -> callTaskMethod 'error', arguments... +window.document = + createElement: -> + setAttribute: -> + getElementsByTagName: -> [] + appendChild: -> + documentElement: + insertBefore: -> + removeChild: -> + getElementById: -> {} + createComment: -> {} + createDocumentFragment: -> {} +self.document = window.document + # `callTaskMethod` can be used to invoke method's on the parent `Task` object # back in the window thread. self.callTaskMethod = (method, args...) -> @@ -19,9 +32,10 @@ self.callTaskMethod = (method, args...) -> # The worker's initial handler replaces itself when `start` is invoked self.handler = - start: ({resourcePath, requirePath, handlerPath}) -> - self.resourcePath = resourcePath - window.resourcePath = resourcePath + start: ({resourcePath, globals, requirePath, handlerPath}) -> + for key, value of globals + self[key] = value + window[key] = value importScripts(requirePath) require 'config' self.handler = require(handlerPath) diff --git a/src/stdlib/task.coffee b/src/stdlib/task.coffee index 463c806bb..4a66a7042 100644 --- a/src/stdlib/task.coffee +++ b/src/stdlib/task.coffee @@ -17,7 +17,10 @@ class Task startWorker: -> @callWorkerMethod 'start' - resourcePath: window.resourcePath + globals: + resourcePath: window.resourcePath + navigator: + userAgent: navigator.userAgent requirePath: require.getPath('require') handlerPath: @path diff --git a/static/atom.css b/static/atom.css index 4f70a0574..382352314 100644 --- a/static/atom.css +++ b/static/atom.css @@ -53,4 +53,11 @@ html, body { left: 0; right: 0; box-sizing: border-box; +} + +@font-face { + font-family: 'Octicons Regular'; + src: url("octicons-regular-webfont.woff") format("woff"); + font-weight: normal; + font-style: normal; } \ No newline at end of file diff --git a/static/command-panel.css b/static/command-panel.css new file mode 100644 index 000000000..aa6796897 --- /dev/null +++ b/static/command-panel.css @@ -0,0 +1,83 @@ +.command-panel { + padding: 5px; +} + +.command-panel .preview-list { + max-height: 300px; + overflow: auto; + margin: 0 1px 5px 10px; + position: relative; + cursor: default; +} + +.command-panel .preview-count { + font-size: 11px; + text-align: right; + padding-bottom: 1px; +} + +.command-panel .preview-list .path { + padding-left: 5px; +} + +.command-panel .preview-list .path:before { + font-family: 'Octicons Regular'; + font-size: 16px; + width: 16px; + height: 16px; + margin-right: 5px; + -webkit-font-smoothing: antialiased; + content: "\f011"; + position: relative; + top: 1px; +} + +.command-panel .preview-list .operation { + padding-top: 2px; + padding-bottom: 2px; +} + +.command-panel .preview-list .line-number { + padding-left: 3px; + margin-right: 1ex; + text-align: right; + display: inline-block; +} + +.command-panel .preview-list .path-match-number { + padding-left: 8px; +} + +.command-panel .preview-list .preview { + word-break: break-all; +} + +.command-panel .preview-list .preview .match { + -webkit-border-radius: 2px; + padding: 1px; +} + +.command-panel .prompt-and-editor .prompt:before { + color: #969696; + content: '\f078'; + font-family: 'Octicons Regular'; + position: relative; + top: 0; + left: -5px; + -webkit-font-smoothing: antialiased; +} + +.command-panel .prompt-and-editor .editor { + position: relative; + left: -4px; + margin-right: -4px; +} + +.command-panel .prompt-and-editor { + display: -webkit-box; +} + +.error-messages { + padding: 5px 1em; + color: white; +} diff --git a/static/editor.css b/static/editor.css index ebd85aeaf..91aed0439 100644 --- a/static/editor.css +++ b/static/editor.css @@ -6,10 +6,23 @@ -webkit-box-flex: 1; position: relative; z-index: 0; + font-family: Inconsolata, Monaco, Courier; + line-height: 1.3; } .editor.mini { height: auto; + line-height: 25px; +} + +.editor.mini .cursor { + width: 2px; + line-height: 20px; + margin-top: 2px; +} + +.editor .gutter .line-number.cursor-line { + opacity: 1; } .editor .gutter { @@ -19,14 +32,54 @@ text-align: right; } +.editor .gutter .line-number { + padding-right: .5em; + min-width: 35px; + box-sizing: border-box; + text-align: right; + opacity: 0.6; +} + .editor .gutter .line-numbers { position: relative; } +.editor .gutter .line-number.fold.cursor-line { + opacity: 1; +} + +.editor .gutter .line-number.fold:after { + visibility: visible; +} + .editor.mini .gutter { display: none; } +.editor .gutter .line-number:after { + font-size: 0.8em; + content: '\f078'; + font-family: 'Octicons Regular'; + -webkit-font-smoothing: antialiased; + color: #fba0e3; + visibility: hidden; +} + +.editor .fold-marker:after { + content: '\2026'; + opacity: .8; + color: #fba0e3; + padding-left: .2em; +} + +.editor .line.cursor-line .fold-marker { + opacity: 1; +} + +.editor .invisible { + opacity: 0.2; +} + .editor .vertical-scrollbar { position: absolute; right: 0; diff --git a/themes/atom-light-ui/fuzzy-finder.css b/static/fuzzy-finder.css similarity index 71% rename from themes/atom-light-ui/fuzzy-finder.css rename to static/fuzzy-finder.css index 0cc921e02..76ef05462 100644 --- a/themes/atom-light-ui/fuzzy-finder.css +++ b/static/fuzzy-finder.css @@ -1,17 +1,8 @@ -.fuzzy-finder ol { - overflow: hidden; - -webkit-user-select: none; - cursor: default; -} - -.fuzzy-finder ol:empty { - margin-bottom: 0; - border: none; -} - .fuzzy-finder .directory { - color: #b2b2b2; - padding-left: .5em; + color: rgba(0, 0, 0, 0.5); + word-break: break-word; + margin-left: 5px; + line-height: 150%; } .fuzzy-finder .file:before { diff --git a/static/grammar-view.css b/static/grammar-view.css deleted file mode 100644 index 1cbeeba30..000000000 --- a/static/grammar-view.css +++ /dev/null @@ -1,8 +0,0 @@ -.grammar-view { - width: 50%; - margin-left: -25%; -} - -.grammar-view ol { - max-height: 300px; -} \ No newline at end of file diff --git a/static/notification.css b/static/notification.css new file mode 100644 index 000000000..53ac32339 --- /dev/null +++ b/static/notification.css @@ -0,0 +1,57 @@ +.notification { + position: absolute; + top: 40px; + left: 50%; + margin-left: -5%; + z-index: 9999; + border: 2px solid rgba(0, 0, 0, 0.2); + border-radius: 5px; + box-shadow: + inset 1px 1px 0 rgba(255, 255, 255, 0.05), + 0 0 5px rgba(0, 0, 0, 0.5); + background: -webkit-linear-gradient( + rgba(20, 20, 20, 0.5), + rgba(0, 0, 0, 0.5)); + color: #eee; + width: 300px; +} + +.notification .content { + padding: 10px; + margin-left: 42px; + box-sizing: border-box; +} + +.notification .content:after { + content: "."; + display: block; + clear: both; + visibility: hidden; +} + +.notification .title { + font-size: 12px; + font-weight: bold; + margin-bottom: 3px; +} + +.notification .message { + font-size: 12px; + color: #777; +} + +.notification .icon { + display: inline-block; + float: left; + font-family: 'Octicons Regular'; + font-size: 32px; + width: 32px; + height: 32px; + margin-right: 5px; + -webkit-font-smoothing: antialiased; +} + +/* TODO: Full Octicon Support */ +.icon-gist { + content: "\f20e"; +} diff --git a/static/overlay.css b/static/overlay.css new file mode 100644 index 000000000..421b2f71f --- /dev/null +++ b/static/overlay.css @@ -0,0 +1,35 @@ +.overlay { + position: absolute; + top: 0; + left: 50%; + width: 500px; + margin-left: -250px; + background: #303030; + color: #eee; + padding: 10px; + z-index: 9999; + box-sizing: border-box; + border: 1px solid rgba(255, 255, 255, 0.1); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); + border-radius: 3px; +} + +.overlay .editor.mini { + margin-bottom: 10px; +} + +.overlay .message { + padding-top: 5px; + font-size: 11px; +} + +.overlay.mini { + width: 200px; + margin-left: -100px; +} + +.overlay.from-top { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} \ No newline at end of file diff --git a/static/popover-list.css b/static/popover-list.css new file mode 100644 index 000000000..005b4a36a --- /dev/null +++ b/static/popover-list.css @@ -0,0 +1,17 @@ +.select-list.popover-list { + width: 200px; + border: 2px solid #222; + -webkit-box-shadow: 0 0 3px 3px rgba(0, 0, 0, .5); + margin-left: 0px; + position: relative; +} + +.select-list.popover-list ol { + position: relative; + overflow-y: scroll; + max-height: 200px; +} + +.select-list.popover-list ol li { + padding: 5px; +} \ No newline at end of file diff --git a/static/select-list.css b/static/select-list.css index f2472e3c6..847edb7ab 100644 --- a/static/select-list.css +++ b/static/select-list.css @@ -1,19 +1,45 @@ -.select-list { - position: absolute; - width: 600px; - top: 0; - left: 50%; - margin-left: -300px; - box-sizing: border-box; - z-index: 99; -} - -.select-list .editor { - box-sizing: border-box; - padding: 5px; -} - .select-list ol { + border: 1px solid #212121; position: relative; overflow-y: auto; + max-height: 312px; + margin: 0; + background: red; + padding: 0; + line-height: 100%; +} + +.select-list ol:empty { + border: none; +} + +.select-list ol li { + padding: 10px; + box-sizing: border-box; + display: block; +} + +.select-list li .label { + display: inline-block; +} + +.select-list li .right { + float: right; +} + +.select-list .key-binding { + border-radius: 2px; + margin-left: 5px; + padding: 3px; + font-size: 11px; +} + +.select-list ol li:last-child { + border-bottom: none; +} + +.select-list .error { + font-weight: bold; + color: white; + text-shadow: 0 1px 0 #4E0000; } \ No newline at end of file diff --git a/static/status-bar.css b/static/status-bar.css new file mode 100644 index 000000000..fe46c8408 --- /dev/null +++ b/static/status-bar.css @@ -0,0 +1,48 @@ +.status-bar { + padding: 4px 10px 3px; + font-size: 11px; + line-height: 14px; +} + +.status-bar .cursor-position, +.status-bar .grammar-name { + padding-left: 10px; +} + +.status-bar .grammar-name { + cursor: pointer; +} + +.status-bar .branch-label { + vertical-align: baseline; +} + +.status-bar .git-status.octicons { + display: none; + padding-left: 10px; + margin-top:-2px; +} + +.status-bar .octicons:before { + font-family: 'Octicons Regular'; + font-size: 14px; + width: 14px; + height: 14px; + line-height: 14px; + -webkit-font-smoothing: antialiased; + display: inline-block; + vertical-align: middle; + margin-right: 5px; +} + +.status-bar .branch-icon:before { + content: "\f020"; +} + +.status-bar .modified-status-icon:before { + content: "\f26d"; +} + +.status-bar .new-status-icon:before { + content: "\f26b"; +} diff --git a/static/tabs.css b/static/tabs.css new file mode 100644 index 000000000..2a4faa887 --- /dev/null +++ b/static/tabs.css @@ -0,0 +1,66 @@ +.tabs { + font: caption; + margin-bottom: 1px; +} + +.tab { + cursor: default; + padding: 2px 21px 2px 9px; +} + +.tab.file-modified .close-icon { + border-radius: 10px; +} + +.tab.file-modified .close-icon:before { + content: ""; +} + +.tab.active:before, +.tab.active:after { + position: absolute; + bottom: -1px; + width: 4px; + height: 4px; + content: " "; + z-index: 3; +} + +.tab.active:before { + left: -4px; +} + +.tab.active:after { + right: -4px; + border-width: 0 0 1px 1px; +} + +.tab.active:first-child:before { + display: none; +} + +.tab .file-name { + font-size: 11px; + text-shadow: 0 -1px 1px black; +} + +.tab .close-icon { + font-family: 'Octicons Regular'; + font-size: 14px; + width: 14px; + height: 14px; + display: block; + cursor: pointer; + position: absolute; + right: 4px; + top: -1px; + -webkit-font-smoothing: antialiased; +} + +.tab .close-icon:before { + content: "\f081"; +} + +.tab .close-icon:hover { + color: white; +} \ No newline at end of file diff --git a/static/tree-view.css b/static/tree-view.css new file mode 100644 index 000000000..1568bfbc1 --- /dev/null +++ b/static/tree-view.css @@ -0,0 +1,121 @@ +.tree-view .entries { + margin-left: 12px; +} + +.tree-view .entries .file .name { + margin-left: 20px; +} + +.tree-view .file .name, +.tree-view .directory .header { + padding-top: 4px; + padding-bottom: 4px; + padding-right: 10px; +} + +.tree-view .directory .header { + padding-left: 5px; +} + +.tree-view-dialog { + padding: 5px; +} + +.tree-view-dialog .prompt { + padding-bottom: 3px; + font-size: 12px; + line-height: 16px; +} + +.tree-view-dialog .prompt span { + position: relative; + top: -1px; +} + +.tree-view-dialog .prompt:before { + font-family: 'Octicons Regular'; + font-size: 16px; + width: 16px; + height: 16px; + margin-right: 3px; + -webkit-font-smoothing: antialiased; +} + +.tree-view-dialog .prompt.add:before { + content: "\f086"; +} + +.tree-view-dialog .prompt.move:before { + content: "\f03e"; +} + +.tree-view .directory .header .name, +.tree-view .file .name { + position: relative; + padding-left: 21px; +} + +.tree-view .directory .header .name:before, +.tree-view .file .name:before { + font-family: 'Octicons Regular'; + font-size: 16px; + width: 16px; + height: 16px; + margin-right: 5px; + -webkit-font-smoothing: antialiased; + position: absolute; + left: 0; +} + +.tree-view .disclosure-arrow:before { + font-family: 'Octicons Regular'; + font-size: 12px; + width: 12px; + height: 12px; + line-height: 16px; + margin-right: 3px; + -webkit-font-smoothing: antialiased; +} + +.tree-view .directory .header .directory-icon:before { + content: "\f016"; + top: -5px; +} + +.tree-view .directory .header .repository-icon:before { + content: "\f001"; + top: -4px; +} + +.tree-view .directory .header .submodule-icon:before { + content: "\f017"; + top: -5px; +} + +.tree-view .file .text-icon:before { + content: "\f011"; + top: -2px; +} + +.tree-view .file .image-icon:before { + content: "\f012"; + top: -2px; +} + +.tree-view .file .compressed-icon:before { + content: "\f013"; + top: -2px; +} + +.tree-view .file .pdf-icon:before { + content: "\f014"; + top: -2px; +} + +.tree-view .directory > .header .disclosure-arrow:before { + content: "\f05a"; +} + +.tree-view .directory.expanded > .header .disclosure-arrow:before { + content: "\f05b"; +} diff --git a/themes/atom-dark-ui/atom.css b/themes/atom-dark-ui/atom.css index 73a667189..22afd1c83 100644 --- a/themes/atom-dark-ui/atom.css +++ b/themes/atom-dark-ui/atom.css @@ -21,13 +21,6 @@ html, body, -webkit-transition: background 300ms ease-out; } -.clear-float { - clear: both; -} - -@font-face { - font-family: 'Octicons Regular'; - src: url("octicons-regular-webfont.woff") format("woff"); - font-weight: normal; - font-style: normal; -} +.wrap-guide { + background: rgba(150, 150, 150, 0.1); +} \ No newline at end of file diff --git a/themes/atom-dark-ui/autocomplete.css b/themes/atom-dark-ui/autocomplete.css deleted file mode 100644 index 290713336..000000000 --- a/themes/atom-dark-ui/autocomplete.css +++ /dev/null @@ -1,17 +0,0 @@ -.select-list.autocomplete { - min-width: 150px; - border: 2px solid #222; - webkit-box-shadow: 0 0 3px 3px rgba(0, 0, 0, .5); - margin-left: 0px; - width: auto; -} - -.autocomplete ol { - position: relative; - overflow-y: scroll; - max-height: 200px; -} - -.autocomplete ol li { - padding: 0.1em 0.2em; -} diff --git a/themes/atom-dark-ui/command-palette.css b/themes/atom-dark-ui/command-palette.css deleted file mode 100644 index 0cadfbcae..000000000 --- a/themes/atom-dark-ui/command-palette.css +++ /dev/null @@ -1,37 +0,0 @@ -.command-palette { - width: 50%; - margin-left: -25%; -} - -.command-palette ol { - max-height: 300px; -} - -.command-palette ol .event-description { - float: left; - display: inline-block; - margin-right: .5em; - margin: 4px 0; -} - -.command-palette li .right { - float: right; -} - -.command-palette ol .event-name, .command-palette ol .key-binding { - display: inline-block; - margin: 4px 0; - margin-right: .5em; - font-size: 90%; - color: #ddd; - -webkit-border-radius: 3px; - padding: 0 4px; -} - -.command-palette ol .event-name { - background: rgba(0, 0, 0, .2); -} - -.command-palette ol .key-binding { - background: rgba(255, 255, 255, .1); -} diff --git a/themes/atom-dark-ui/command-panel.css b/themes/atom-dark-ui/command-panel.css index 6d0f9775b..f3e8412cd 100644 --- a/themes/atom-dark-ui/command-panel.css +++ b/themes/atom-dark-ui/command-panel.css @@ -2,27 +2,18 @@ background-color: #303030; border: 1px solid #252525; color: #dedede; - padding: 5px; } .command-panel .preview-list { - max-height: 300px; - overflow: auto; - margin: 0 1px 5px 10px; - position: relative; background-color: #1e1e1e; color: #C5C8C6; - cursor: default; border: 1px solid rgba(0, 0, 0, 0.5); border-bottom: 1px solid rgba(180, 180, 180, 0.2); border-right: 1px solid rgba(180, 180, 180, 0.2); } .command-panel .preview-count { - font-size: 11px; color: #969696; - text-align: right; - padding-bottom: 1px; } .command-panel .preview-list li.selected, .command-panel .preview-list li.operation:hover { @@ -34,37 +25,14 @@ } .command-panel .preview-list .path { - padding-left: 5px; color: #fff; } -.command-panel .preview-list .path:before { - font-family: 'Octicons Regular'; - font-size: 16px; - width: 16px; - height: 16px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - content: "\f011"; - position: relative; - top: 1px; -} - -.command-panel .preview-list .operation { - padding-top: 2px; - padding-bottom: 2px; -} - .command-panel .preview-list .line-number { - padding-left: 3px; color: rgba(255, 255, 255, .3); - margin-right: 1ex; - text-align: right; - display: inline-block; } .command-panel .preview-list .path-match-number { - padding-left: 8px; color: rgba(255, 255, 255, .3); } @@ -74,32 +42,5 @@ .command-panel .preview-list .preview .match { background-color: rgba(255, 255, 255, .2); - -webkit-border-radius: 2px; - padding: 1px; color: yellow; } - -.command-panel .prompt-and-editor { - display: -webkit-box; -} - -.command-panel .prompt-and-editor .prompt:before { - color: #969696; - content: '\f078'; - font-family: 'Octicons Regular'; - position: relative; - top: 0; - left: -5px; - -webkit-font-smoothing: antialiased; -} - -.command-panel .prompt-and-editor .editor { - position: relative; - left: -4px; - margin-right: -4px; -} - -.error-messages { - padding: 5px 1em; - color: white; -} diff --git a/themes/atom-dark-ui/editor.css b/themes/atom-dark-ui/editor.css index 9dfb302ac..3006ed4ef 100644 --- a/themes/atom-dark-ui/editor.css +++ b/themes/atom-dark-ui/editor.css @@ -1,34 +1,9 @@ -.editor { - font-family: Inconsolata, Monaco, Courier; - line-height: 1.3; -} - .editor.mini { - height: auto; - line-height: 25px; border: 1px solid rgba(0, 0, 0, 0.2); border-bottom: 1px solid rgba(180, 180, 180, 0.2); border-right: 1px solid rgba(180, 180, 180, 0.2); } -.editor.mini .cursor { - width: 2px; - line-height: 20px; - margin-top: 2px; -} - -.editor .gutter .line-number { - padding-right: .5em; - min-width: 35px; - box-sizing: border-box; - text-align: right; - opacity: 0.6; -} - -.editor .gutter .line-number.cursor-line { - opacity: 1; -} - .editor .gutter.drop-shadow { -webkit-box-shadow: -2px 0px 10px 2px #222; } @@ -48,35 +23,3 @@ color: #fba0e3; opacity: .8; } - -.editor .gutter .line-number.fold.cursor-line { - opacity: 1; -} - -.editor .gutter .line-number:after { - font-size: 0.8em; - content: '\f078'; - font-family: 'Octicons Regular'; - -webkit-font-smoothing: antialiased; - color: #fba0e3; - visibility: hidden; -} - -.editor .gutter .line-number.fold:after { - visibility: visible; -} - -.editor .fold-marker:after { - content: '\2026'; - opacity: .8; - color: #fba0e3; - padding-left: .2em; -} - -.editor .line.cursor-line .fold-marker { - opacity: 1; -} - -.editor .invisible { - opacity: 0.2; -} diff --git a/themes/atom-dark-ui/fuzzy-finder.css b/themes/atom-dark-ui/fuzzy-finder.css deleted file mode 100644 index 3d0218083..000000000 --- a/themes/atom-dark-ui/fuzzy-finder.css +++ /dev/null @@ -1,42 +0,0 @@ -.fuzzy-finder ol { - overflow: hidden; - -webkit-user-select: none; - cursor: default; -} - -.fuzzy-finder ol:empty { - margin-bottom: 0; - border: none; -} - -.fuzzy-finder .directory { - color: #b2b2b2; - padding-left: .5em; -} - -.fuzzy-finder .file:before { - font-family: 'Octicons Regular'; - font-size: 16px; - width: 16px; - height: 16px; - margin-right: 5px; - margin-left: 5px; - -webkit-font-smoothing: antialiased; - color: #ccc; -} - -.fuzzy-finder .file.text-name:before { - content: "\f011"; -} - -.fuzzy-finder .file.image-name:before { - content: "\f012"; -} - -.fuzzy-finder .file.compressed-name:before { - content: "\f013"; -} - -.fuzzy-finder .file.pdf-name:before { - content: "\f014"; -} \ No newline at end of file diff --git a/themes/atom-dark-ui/gists.css b/themes/atom-dark-ui/gists.css deleted file mode 100644 index dde2dbd25..000000000 --- a/themes/atom-dark-ui/gists.css +++ /dev/null @@ -1,35 +0,0 @@ -.gist-notification { - position: absolute; - top: 6px; - left: 50%; - margin-left: -5%; - z-index: 99; - padding-left: 5px; - padding-right: 10px; - -webkit-box-shadow: 0px 0px 5px 5px #222; - color: #BBB; - background-color: #333; -} - -.gist-notification .message-area { - float: right; - padding-top: 11px; -} - -.gist-notification .message { - font-size: 13px; -} - -.gist-notification .clipboard { - font-size: 11px; -} - -.gist-notification:before { - font-family: 'Octicons Regular'; - font-size: 32px; - width: 32px; - height: 32px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - content: "\f08c"; -} diff --git a/themes/atom-dark-ui/go-to-line.css b/themes/atom-dark-ui/go-to-line.css deleted file mode 100644 index 4ceec81aa..000000000 --- a/themes/atom-dark-ui/go-to-line.css +++ /dev/null @@ -1,27 +0,0 @@ -.go-to-line { - position: absolute; - width: 200px; - top: 0; - left: 50%; - margin-left: -100px; - box-sizing: border-box; - z-index: 99; - background-color: #484848; - border: 1px solid #444; - color: #d2d2d2; - box-shadow: 0 0 10px #000; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - padding: 5px; - cursor: pointer; -} - -.go-to-line .editor { - box-sizing: border-box; - padding: 5px; -} - -.go-to-line .message { - padding-top: 2px; - font-size: 11px; -} diff --git a/themes/atom-dark-ui/grammar-view.css b/themes/atom-dark-ui/grammar-view.css deleted file mode 100644 index 7be94f4c0..000000000 --- a/themes/atom-dark-ui/grammar-view.css +++ /dev/null @@ -1,17 +0,0 @@ -.grammar-view ol li { - line-height: 16px; -} - -.grammar-view ol li.grammar { - padding-left: 21px; -} - -.grammar-view ol li.current-grammar:before { - font-family: 'Octicons Regular'; - width: 16px; - height: 16px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - color: #ccc; - content: '\f03a'; -} diff --git a/themes/atom-dark-ui/package.json b/themes/atom-dark-ui/package.json index 28f90e051..d0a007f7f 100644 --- a/themes/atom-dark-ui/package.json +++ b/themes/atom-dark-ui/package.json @@ -2,20 +2,12 @@ "stylesheets":[ "atom.css", "editor.css", - "grammar-view.css", "select-list.css", "tree-view.css", "tabs.css", - "wrap-guide.css", "status-bar.css", - "symbols-view.css", "markdown-preview.css", - "fuzzy-finder.css", "command-panel.css", - "command-palette.css", - "command-logger.css", - "autocomplete.css", - "gists.css", - "go-to-line.css" + "command-logger.css" ] } diff --git a/themes/atom-dark-ui/select-list.css b/themes/atom-dark-ui/select-list.css index b0ffac596..235e604ff 100644 --- a/themes/atom-dark-ui/select-list.css +++ b/themes/atom-dark-ui/select-list.css @@ -1,30 +1,26 @@ -.select-list { - background-color: #303030; - border: 1px solid #404040; - color: #d2d2d2; - box-shadow: 0 0 10px #000; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - padding: 5px; - cursor: pointer; -} - -.select-list ol { - border: 1px solid #212121; -} - .select-list ol li { background-color: #292929; border-bottom: 1px solid #1e1e1e; - padding: 5px; } -.select-list ol li:last-child { - border-bottom: none; +.select-list li .label { + color: #ddd; } -.select-list .editor { - margin-bottom: 5px; +.select-list li .right { + color: #999; + display: inline-block; + margin-top: -3px; +} + +.select-list .key-binding { + background: -webkit-linear-gradient( + rgba(100, 100, 100, 0.5), + rgba(70,70,70, 0.5)); + color: #ccc; + -webkit-box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.1); + display: inline-block; + line-height: 100%; } .select-list li:hover { @@ -35,8 +31,14 @@ background-image: -webkit-linear-gradient(#7e7e7e, #737373); } -.select-list .error { - font-weight: bold; - color: white; - text-shadow: 0 1px 0 #4E0000; +.select-list .directory { + color: #777; +} + +.select-list ol .selected .label { + color: #fff; +} + +.select-list ol .selected .directory { + color: #ccc; } \ No newline at end of file diff --git a/themes/atom-dark-ui/status-bar.css b/themes/atom-dark-ui/status-bar.css index f517760f4..4ca4f2dc5 100644 --- a/themes/atom-dark-ui/status-bar.css +++ b/themes/atom-dark-ui/status-bar.css @@ -1,61 +1,15 @@ .status-bar { background-color: #303030; border-top: 1px solid #454545; - padding: 4px 10px 3px; - font-size: 11px; - line-height: 14px; color: #969696; } -.status-bar .cursor-position, -.status-bar .grammar-name { - padding-left: 10px; -} - -.status-bar .grammar-name { - cursor: pointer; -} - -.status-bar .branch-label { - vertical-align: baseline; -} - -.status-bar .git-status.octicons { - display: none; - padding-left: 10px; - margin-top:-2px; -} - -.status-bar .octicons:before { - font-family: 'Octicons Regular'; - font-size: 14px; - width: 14px; - height: 14px; - line-height: 14px; - -webkit-font-smoothing: antialiased; - display: inline-block; - vertical-align: middle; - margin-right: 5px; -} - -.status-bar .branch-icon:before { - content: "\f020"; -} - .status-bar .git-status.octicons.modified-status-icon { color: #f78a46; display: inline-block; } -.status-bar .modified-status-icon:before { - content: "\f26d"; -} - .status-bar .git-status.octicons.new-status-icon { color: #5293d8; display: inline-block; } - -.status-bar .new-status-icon:before { - content: "\f26b"; -} diff --git a/themes/atom-dark-ui/symbols-view.css b/themes/atom-dark-ui/symbols-view.css deleted file mode 100644 index 0cbdbfa53..000000000 --- a/themes/atom-dark-ui/symbols-view.css +++ /dev/null @@ -1,35 +0,0 @@ -.symbols-view { - width: 50%; - margin-left: -25%; -} - -.symbols-view ol { - max-height: 300px; -} - -.symbols-view ol li { - padding: 2px; - border-bottom: 1px solid rgba(255, 255, 255, .05); -} - -.symbols-view ol .function-name { - float: left; - display: inline-block; - margin-right: .5em; - margin: 4px 0; -} - -.symbols-view li .right { - float: right; -} - -.symbols-view ol .function-details { - display: inline-block; - margin: 4px 0; - margin-right: .5em; - font-size: 90%; - color: #ddd; - -webkit-border-radius: 3px; - padding: 0 4px; - background: rgba(0, 0, 0, .2); -} diff --git a/themes/atom-dark-ui/tabs.css b/themes/atom-dark-ui/tabs.css index 91a635180..7a3d8b394 100644 --- a/themes/atom-dark-ui/tabs.css +++ b/themes/atom-dark-ui/tabs.css @@ -1,14 +1,10 @@ .tabs { background: #333333; border-bottom: 4px solid #424242; - font: caption; box-shadow: inset 0 -1px 0 #2e2e2e, 0 1px 0 #191919; - margin-bottom: 1px; } .is-focused .tab { - cursor: default; - padding: 2px 21px 2px 9px; background-image: -webkit-linear-gradient(#444, #3d3d3d); border-top: 1px solid #383838; border-right: 1px solid #2e2e2e; @@ -29,8 +25,6 @@ } .tab { - cursor: default; - padding: 2px 21px 2px 9px; background-color: #555; background-image: none; border-top: 1px solid #383838; @@ -78,11 +72,6 @@ .tab.file-modified .close-icon { border: 3px solid #777; - border-radius: 10px; -} - -.tab.file-modified .close-icon:before { - content: ""; } .is-focused .tab.active:first-child, @@ -92,12 +81,6 @@ .tab.active:before, .tab.active:after { - position: absolute; - bottom: -1px; - width: 4px; - height: 4px; - content: " "; - z-index: 3; border: 1px solid #595959; } @@ -105,57 +88,26 @@ border-bottom-right-radius: 4px; border-width: 0 1px 1px 0; box-shadow: 2px 2px 0 #424242; - left: -4px; } + .is-focused .tab.active:after { - right: -4px; border-bottom-left-radius: 4px; border-width: 0 0 1px 1px; box-shadow: -2px 2px 0 #424242; } + .tab.active:before { border-bottom-right-radius: 4px; border-width: 0 1px 1px 0; box-shadow: 2px 2px 0 #424242; - left: -4px; } + .tab.active:after { - right: -4px; border-bottom-left-radius: 4px; - border-width: 0 0 1px 1px; box-shadow: -2px 2px 0 #424242; } -.is-focused .tab.active:first-child:before { - display: none; -} .tab:hover { color: #c8c8c8; background-image: -webkit-linear-gradient(#474747, #444444); } - -.tab .file-name { - font-size: 11px; - text-shadow: 0 -1px 1px black; -} - -.tab .close-icon { - font-family: 'Octicons Regular'; - font-size: 14px; - width: 14px; - height: 14px; - display: block; - cursor: pointer; - position: absolute; - right: 4px; - top: -1px; - -webkit-font-smoothing: antialiased; -} - -.tab .close-icon:before { - content: "\f081"; -} - -.tab .close-icon:hover { - color: white; -} diff --git a/themes/atom-dark-ui/tree-view.css b/themes/atom-dark-ui/tree-view.css index 7a282e53a..2b9383d63 100644 --- a/themes/atom-dark-ui/tree-view.css +++ b/themes/atom-dark-ui/tree-view.css @@ -12,14 +12,6 @@ text-shadow: 0 -1px 0 #000; } -.tree-view .entries { - margin-left: 12px; -} - -.tree-view .entries .file .name { - margin-left: 20px; -} - .tree-view .directory.selected > .header > .name, .tree-view .selected > .name { color: #d2d2d2; @@ -58,17 +50,6 @@ color: #ebebeb; } -.tree-view .file .name, -.tree-view .directory .header { - padding-top: 4px; - padding-bottom: 4px; - padding-right: 10px; -} - -.tree-view .directory .header { - padding-left: 5px; -} - .tree-view .ignored { color: #555; } @@ -85,105 +66,8 @@ background-color: #333; border-top: 1px solid #555; -webkit-box-shadow: 0 0 3px 3px rgba(0, 0, 0, .5); - padding: 5px; } .tree-view-dialog .prompt { - padding-bottom: 3px; - font-size: 12px; - line-height: 16px; color: #aaa; } - -.tree-view-dialog .prompt span { - position: relative; - top: -1px; -} - -.tree-view-dialog .prompt:before { - font-family: 'Octicons Regular'; - font-size: 16px; - width: 16px; - height: 16px; - margin-right: 3px; - -webkit-font-smoothing: antialiased; -} - -.tree-view-dialog .prompt.add:before { - content: "\f086"; -} - -.tree-view-dialog .prompt.move:before { - content: "\f03e"; -} - -.tree-view .directory .header .name, -.tree-view .file .name { - position: relative; - padding-left: 21px; -} - -.tree-view .directory .header .name:before, -.tree-view .file .name:before { - font-family: 'Octicons Regular'; - font-size: 16px; - width: 16px; - height: 16px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - position: absolute; - left: 0; -} - -.tree-view .disclosure-arrow:before { - font-family: 'Octicons Regular'; - font-size: 12px; - width: 12px; - height: 12px; - line-height: 16px; - margin-right: 3px; - -webkit-font-smoothing: antialiased; -} - -.tree-view .directory .header .directory-icon:before { - content: "\f016"; - top: -5px; -} - -.tree-view .directory .header .repository-icon:before { - content: "\f001"; - top: -4px; -} - -.tree-view .directory .header .submodule-icon:before { - content: "\f017"; - top: -5px; -} - -.tree-view .file .text-icon:before { - content: "\f011"; - top: -2px; -} - -.tree-view .file .image-icon:before { - content: "\f012"; - top: -2px; -} - -.tree-view .file .compressed-icon:before { - content: "\f013"; - top: -2px; -} - -.tree-view .file .pdf-icon:before { - content: "\f014"; - top: -2px; -} - -.tree-view .directory > .header .disclosure-arrow:before { - content: "\f05a"; -} - -.tree-view .directory.expanded > .header .disclosure-arrow:before { - content: "\f05b"; -} diff --git a/themes/atom-dark-ui/wrap-guide.css b/themes/atom-dark-ui/wrap-guide.css deleted file mode 100644 index 8e7837e5d..000000000 --- a/themes/atom-dark-ui/wrap-guide.css +++ /dev/null @@ -1,3 +0,0 @@ -.wrap-guide { - background: rgba(150, 150, 150, 0.1); -} diff --git a/themes/atom-light-ui/atom.css b/themes/atom-light-ui/atom.css index 544df9367..76f2e989b 100644 --- a/themes/atom-light-ui/atom.css +++ b/themes/atom-light-ui/atom.css @@ -21,13 +21,6 @@ html, body, -webkit-transition: background 300ms ease-out; } -.clear-float { - clear: both; -} - -@font-face { - font-family: 'Octicons Regular'; - src: url("octicons-regular-webfont.woff") format("woff"); - font-weight: normal; - font-style: normal; -} +.wrap-guide { + background: rgba(150, 150, 150, 0.1); +} \ No newline at end of file diff --git a/themes/atom-light-ui/autocomplete.css b/themes/atom-light-ui/autocomplete.css deleted file mode 100644 index c121407d0..000000000 --- a/themes/atom-light-ui/autocomplete.css +++ /dev/null @@ -1,16 +0,0 @@ -.select-list.autocomplete { - min-width: 150px; - webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .5); - margin-left: 0px; - width: auto; -} - -.autocomplete ol { - position: relative; - overflow-y: scroll; - max-height: 200px; -} - -.autocomplete ol li { - padding: 0.1em 0.2em; -} diff --git a/themes/atom-light-ui/command-palette.css b/themes/atom-light-ui/command-palette.css deleted file mode 100644 index 2e7dedd0c..000000000 --- a/themes/atom-light-ui/command-palette.css +++ /dev/null @@ -1,38 +0,0 @@ -.command-palette { - width: 50%; - margin-left: -25%; -} - -.command-palette ol { - max-height: 300px; -} - -.command-palette ol .event-description { - float: left; - display: inline-block; - margin-right: .5em; - margin: 4px 0; -} - -.command-palette li .right { - float: right; -} - -.command-palette ol .event-name, .command-palette ol .key-binding { - display: inline-block; - margin: 4px 0; - margin-right: .5em; - font-size: 90%; - color: #969696; - -webkit-border-radius: 3px; - padding: 0 4px; -} - -.command-palette ol .event-name { - background: rgba(0, 0, 0, .3); - color: #fff; -} - -.command-palette ol .key-binding { - background: #fff; -} diff --git a/themes/atom-light-ui/command-panel.css b/themes/atom-light-ui/command-panel.css index 4bfff1d22..34ced33e7 100644 --- a/themes/atom-light-ui/command-panel.css +++ b/themes/atom-light-ui/command-panel.css @@ -2,25 +2,16 @@ background-color: #f4f4f4; border-top: 1px solid #979797; color: #ededed; - padding: 10px; } .command-panel .preview-list { - max-height: 300px; - overflow: auto; - margin-bottom: 10px; - position: relative; background-color: #e7e7e7; color: #222; - cursor: default; border: 1px solid #989898; } .command-panel .preview-count { - font-size: 11px; color: #333; - text-align: right; - padding-bottom: 1px; } .command-panel .preview-list li.selected, .command-panel .preview-list li.operation:hover { @@ -28,71 +19,17 @@ } .command-panel .preview-list .path { - padding-left: 5px; color: #3D5075; } -.command-panel .preview-list .path:before { - font-family: 'Octicons Regular'; - font-size: 16px; - width: 16px; - height: 16px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - content: "\f011"; - position: relative; - top: 1px; -} - -.command-panel .preview-list .operation { - padding-top: 2px; - padding-bottom: 2px; -} - .command-panel .preview-list .line-number { - padding-left: 3px; color: #3D5075; - margin-right: 1ex; - text-align: right; - display: inline-block; } .command-panel .preview-list .path-match-number { - padding-left: 8px; color: #3D5075; } -.command-panel .preview-list .preview { - word-break: break-all; -} - .command-panel .preview-list .preview .match { background-color: #c8d4d7; - -webkit-border-radius: 2px; - padding: 1px; -} - -.command-panel .prompt-and-editor { - display: -webkit-box; -} - -.command-panel .prompt-and-editor .prompt:before { - color: #969696; - content: '\f078'; - font-family: 'Octicons Regular'; - position: relative; - top: -4px; - left: -5px; - -webkit-font-smoothing: antialiased; -} - -.command-panel .prompt-and-editor .editor { - position: relative; - left: -4px; - margin-right: -4px; -} - -.error-messages { - padding: 5px 1em; - color: white; -} +} \ No newline at end of file diff --git a/themes/atom-light-ui/editor.css b/themes/atom-light-ui/editor.css index 3a3652b0b..23d8a2eaf 100644 --- a/themes/atom-light-ui/editor.css +++ b/themes/atom-light-ui/editor.css @@ -1,11 +1,4 @@ -.editor { - font-family: Inconsolata, Monaco, Courier; - line-height: 1.3; -} - .editor.mini { - height: auto; - line-height: 25px; border: 1px solid rgba(0, 0, 0, 0.2); border-bottom: 1px solid rgba(180, 180, 180, 0.3); border-right: 1px solid rgba(180, 180, 180, 0.3); @@ -15,21 +8,6 @@ .editor.mini .cursor { background: #333; - width: 2px; - line-height: 20px; - margin-top: 2px; -} - -.editor .gutter .line-number { - padding-right: .5em; - min-width: 35px; - box-sizing: border-box; - text-align: right; - opacity: 0.5; -} - -.editor .gutter .line-number.cursor-line { - opacity: 1; } .editor .gutter.drop-shadow { @@ -50,36 +28,4 @@ .editor .gutter .line-number.fold { color: #fba0e3; opacity: .8; -} - -.editor .gutter .line-number.fold.cursor-line { - opacity: 1; -} - -.editor .gutter .line-number:after { - font-size: 0.8em; - content: '\f078'; - font-family: 'Octicons Regular'; - -webkit-font-smoothing: antialiased; - color: #fba0e3; - visibility: hidden; -} - -.editor .gutter .line-number.fold:after { - visibility: visible; -} - -.editor .fold-marker:after { - content: '\2026'; - opacity: .8; - color: #fba0e3; - padding-left: .2em; -} - -.editor .line.cursor-line .fold-marker { - opacity: 1; -} - -.editor .invisible { - opacity: 0.2; -} +} \ No newline at end of file diff --git a/themes/atom-light-ui/gists.css b/themes/atom-light-ui/gists.css deleted file mode 100644 index 0209ce3e3..000000000 --- a/themes/atom-light-ui/gists.css +++ /dev/null @@ -1,35 +0,0 @@ -.gist-notification { - position: absolute; - top: 6px; - left: 50%; - margin-left: -5%; - z-index: 99; - padding-left: 5px; - padding-right: 10px; - -webkit-box-shadow: 0px 0px 5px 5px #222; - color: #BBB; - background-color: #444; -} - -.gist-notification .message-area { - float: right; - padding-top: 11px; -} - -.gist-notification .message { - font-size: 13px; -} - -.gist-notification .clipboard { - font-size: 11px; -} - -.gist-notification:before { - font-family: 'Octicons Regular'; - font-size: 32px; - width: 32px; - height: 32px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - content: "\f08c"; -} diff --git a/themes/atom-light-ui/go-to-line.css b/themes/atom-light-ui/go-to-line.css deleted file mode 100644 index 9f6c3ec8b..000000000 --- a/themes/atom-light-ui/go-to-line.css +++ /dev/null @@ -1,27 +0,0 @@ -.go-to-line { - position: absolute; - width: 200px; - top: 0; - left: 50%; - margin-left: -100px; - box-sizing: border-box; - z-index: 99; - background-color: #eeeeee; - border: 1px solid #c6c6c6; - color: #323232; - box-shadow: 0 0 10px #555; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - padding: 5px; - cursor: pointer; -} - -.go-to-line .editor { - box-sizing: border-box; - padding: 5px; -} - -.go-to-line .message { - padding-top: 2px; - font-size: 11px; -} diff --git a/themes/atom-light-ui/grammar-view.css b/themes/atom-light-ui/grammar-view.css deleted file mode 100644 index 7be94f4c0..000000000 --- a/themes/atom-light-ui/grammar-view.css +++ /dev/null @@ -1,17 +0,0 @@ -.grammar-view ol li { - line-height: 16px; -} - -.grammar-view ol li.grammar { - padding-left: 21px; -} - -.grammar-view ol li.current-grammar:before { - font-family: 'Octicons Regular'; - width: 16px; - height: 16px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - color: #ccc; - content: '\f03a'; -} diff --git a/themes/atom-light-ui/package.json b/themes/atom-light-ui/package.json index 28f90e051..d0a007f7f 100644 --- a/themes/atom-light-ui/package.json +++ b/themes/atom-light-ui/package.json @@ -2,20 +2,12 @@ "stylesheets":[ "atom.css", "editor.css", - "grammar-view.css", "select-list.css", "tree-view.css", "tabs.css", - "wrap-guide.css", "status-bar.css", - "symbols-view.css", "markdown-preview.css", - "fuzzy-finder.css", "command-panel.css", - "command-palette.css", - "command-logger.css", - "autocomplete.css", - "gists.css", - "go-to-line.css" + "command-logger.css" ] } diff --git a/themes/atom-light-ui/select-list.css b/themes/atom-light-ui/select-list.css index 99de4fd06..f59cb7bce 100644 --- a/themes/atom-light-ui/select-list.css +++ b/themes/atom-light-ui/select-list.css @@ -3,10 +3,6 @@ border: 1px solid #c6c6c6; color: #323232; box-shadow: 0 0 10px #555; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - padding: 5px; - cursor: pointer; } .select-list ol { @@ -16,15 +12,6 @@ .select-list ol li { background-color: #f5f5f5; border-bottom: 1px solid #ccc; - padding: 5px; -} - -.select-list ol li:last-child { - border-bottom: none; -} - -.select-list .editor { - margin-bottom: 5px; } .select-list li:hover { @@ -33,10 +20,4 @@ .select-list ol .selected { background-color: #e0e0e0; -} - -.select-list .error { - font-weight: bold; - color: white; - text-shadow: 0 1px 0 #4E0000; } \ No newline at end of file diff --git a/themes/atom-light-ui/status-bar.css b/themes/atom-light-ui/status-bar.css index 88995cd78..201be6e28 100644 --- a/themes/atom-light-ui/status-bar.css +++ b/themes/atom-light-ui/status-bar.css @@ -1,61 +1,15 @@ .status-bar { background-color: #e5e5e5; border-top: 1px solid #959595; - padding: 4px 10px 3px; - font-size: 11px; - line-height: 14px; color: #333; } -.status-bar .cursor-position, -.status-bar .grammar-name { - padding-left: 10px; -} - -.status-bar .grammar-name { - cursor: pointer; -} - -.status-bar .branch-label { - vertical-align: baseline; -} - -.status-bar .git-status.octicons { - display: none; - padding-left: 10px; - margin-top:-2px; -} - -.status-bar .octicons:before { - font-family: 'Octicons Regular'; - font-size: 14px; - width: 14px; - height: 14px; - line-height: 14px; - -webkit-font-smoothing: antialiased; - display: inline-block; - vertical-align: middle; - margin-right: 5px; -} - -.status-bar .branch-icon:before { - content: "\f020"; -} - .status-bar .git-status.octicons.modified-status-icon { color: #f78a46; display: inline-block; } -.status-bar .modified-status-icon:before { - content: "\f26d"; -} - .status-bar .git-status.octicons.new-status-icon { color: #5293d8; display: inline-block; -} - -.status-bar .new-status-icon:before { - content: "\f26b"; -} +} \ No newline at end of file diff --git a/themes/atom-light-ui/symbols-view.css b/themes/atom-light-ui/symbols-view.css deleted file mode 100644 index 0cbdbfa53..000000000 --- a/themes/atom-light-ui/symbols-view.css +++ /dev/null @@ -1,35 +0,0 @@ -.symbols-view { - width: 50%; - margin-left: -25%; -} - -.symbols-view ol { - max-height: 300px; -} - -.symbols-view ol li { - padding: 2px; - border-bottom: 1px solid rgba(255, 255, 255, .05); -} - -.symbols-view ol .function-name { - float: left; - display: inline-block; - margin-right: .5em; - margin: 4px 0; -} - -.symbols-view li .right { - float: right; -} - -.symbols-view ol .function-details { - display: inline-block; - margin: 4px 0; - margin-right: .5em; - font-size: 90%; - color: #ddd; - -webkit-border-radius: 3px; - padding: 0 4px; - background: rgba(0, 0, 0, .2); -} diff --git a/themes/atom-light-ui/tabs.css b/themes/atom-light-ui/tabs.css index ffa248c8f..7bdba5938 100644 --- a/themes/atom-light-ui/tabs.css +++ b/themes/atom-light-ui/tabs.css @@ -1,14 +1,10 @@ .tabs { background: #e3e3e3; border-bottom: 4px solid #e5e5e5; - font: caption; box-shadow: inset 0 -1px 0 #959595, 0 1px 0 #989898; - margin-bottom: 1px; } .is-focused .tab { - cursor: default; - padding: 2px 21px 2px 9px; background-image: -webkit-linear-gradient(#e0e0e0, #bfbfbf); border-top: none; border-right: 1px solid #959595; @@ -18,8 +14,6 @@ } .tab { - cursor: default; - padding: 2px 21px 2px 9px; background-image: none; background-color: #e0e0e0); border-top: none; @@ -61,10 +55,6 @@ border-radius: 10px; } -.tab.file-modified .close-icon:before { - content: ""; -} - .tab.active, .tab.active:hover { border-bottom-color: #e5e5e5; @@ -74,56 +64,31 @@ .tab.active:before, .tab.active:after { - position: absolute; - bottom: -1px; - width: 4px; - height: 4px; - content: " "; - z-index: 3; border: 1px solid #959595; } + .tab.active:before { + left: -5px; border-bottom-right-radius: 4px; border-width: 0 1px 1px 0; box-shadow: 2px 2px 0 #e5e5e5; - left: -5px; } + .tab.active:after { right: -5px; border-bottom-left-radius: 4px; border-width: 0 0 1px 1px; box-shadow: -2px 2px 0 #e5e5e5; } -.tab.active:first-child:before { - display: none; -} .tab:hover { background-image: -webkit-linear-gradient(#e2e2e2, #e0e0e0); } .tab .file-name { - font-size: 11px; text-shadow: 0 1px 0 #e0e0e0; } -.tab .close-icon { - font-family: 'Octicons Regular'; - font-size: 14px; - width: 14px; - height: 14px; - display: block; - cursor: pointer; - position: absolute; - right: 4px; - top: -1px; - -webkit-font-smoothing: antialiased; -} - -.tab .close-icon:before { - content: "\f081"; -} - .tab .close-icon:hover { color: #aaa; } diff --git a/themes/atom-light-ui/tree-view.css b/themes/atom-light-ui/tree-view.css index 7a833b7a2..638c58669 100644 --- a/themes/atom-light-ui/tree-view.css +++ b/themes/atom-light-ui/tree-view.css @@ -12,14 +12,6 @@ text-shadow: 0 1px 0 #fff; } -.tree-view .entries { - margin-left: 12px; -} - -.tree-view .entries .file .name { - margin-left: 20px; -} - .tree-view .directory.selected > .header > .name, .tree-view .selected > .name { color: #262626; @@ -95,17 +87,6 @@ color: #3D4552; } -.tree-view .file .name, -.tree-view .directory .header { - padding-top: 4px; - padding-bottom: 4px; - padding-right: 10px; -} - -.tree-view .directory .header { - padding-left: 5px; -} - .tree-view .ignored { color: #555; } @@ -121,105 +102,8 @@ .tree-view-dialog { background-color: #e7e7e7; border-top: 1px solid #989898; - padding: 5px; } .tree-view-dialog .prompt { - padding-bottom: 3px; - font-size: 12px; - line-height: 16px; color: #333; -} - -.tree-view-dialog .prompt span { - position: relative; - top: -1px; -} - -.tree-view-dialog .prompt:before { - font-family: 'Octicons Regular'; - font-size: 16px; - width: 16px; - height: 16px; - margin-right: 3px; - -webkit-font-smoothing: antialiased; -} - -.tree-view-dialog .prompt.add:before { - content: "\f086"; -} - -.tree-view-dialog .prompt.move:before { - content: "\f03e"; -} - -.tree-view .directory .header .name, -.tree-view .file .name { - position: relative; - padding-left: 21px; -} - -.tree-view .directory .header .name:before, -.tree-view .file .name:before { - font-family: 'Octicons Regular'; - font-size: 16px; - width: 16px; - height: 16px; - margin-right: 5px; - -webkit-font-smoothing: antialiased; - position: absolute; - left: 0; -} - -.tree-view .disclosure-arrow:before { - font-family: 'Octicons Regular'; - font-size: 12px; - width: 12px; - height: 12px; - line-height: 16px; - margin-right: 3px; - -webkit-font-smoothing: antialiased; -} - -.tree-view .directory .header .directory-icon:before { - content: "\f016"; - top: -5px; -} - -.tree-view .directory .header .repository-icon:before { - content: "\f001"; - top: -4px; -} - -.tree-view .directory .header .submodule-icon:before { - content: "\f017"; - top: -5px; -} - -.tree-view .file .text-icon:before { - content: "\f011"; - top: -2px; -} - -.tree-view .file .image-icon:before { - content: "\f012"; - top: -2px; -} - -.tree-view .file .compressed-icon:before { - content: "\f013"; - top: -2px; -} - -.tree-view .file .pdf-icon:before { - content: "\f014"; - top: -2px; -} - -.tree-view .directory > .header .disclosure-arrow:before { - content: "\f05a"; -} - -.tree-view .directory.expanded > .header .disclosure-arrow:before { - content: "\f05b"; -} +} \ No newline at end of file diff --git a/themes/atom-light-ui/wrap-guide.css b/themes/atom-light-ui/wrap-guide.css deleted file mode 100644 index f4ff6269c..000000000 --- a/themes/atom-light-ui/wrap-guide.css +++ /dev/null @@ -1,3 +0,0 @@ -.wrap-guide { - background: rgba(150, 150, 150, 0.3); -}