diff --git a/Rakefile b/Rakefile
index 3f3c926eb..f4fa7f69e 100644
--- a/Rakefile
+++ b/Rakefile
@@ -41,7 +41,7 @@ task "bootstrap" do
end
desc "Copies Atom.app to /Applications and creates `atom` cli app"
-task :install => [:clean, :build] do
+task :install => [:build] do
path = application_path()
exit 1 if not path
@@ -84,7 +84,7 @@ task :clean do
output = `xcodebuild clean`
`rm -rf #{application_path()}`
`rm -rf #{BUILD_DIR}`
- `rm -rf /tmp/atom-compiled-scripts`
+ `rm -rf /tmp/atom-coffee-cache`
`rm -rf node_modules`
`rm -rf cef`
end
diff --git a/atom.gyp b/atom.gyp
index 12e5a54f3..e3ceb2326 100644
--- a/atom.gyp
+++ b/atom.gyp
@@ -1,5 +1,6 @@
{
'variables': {
+ 'version': '2.0.CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.0
+ $VERSION
CFBundleSignature
????
CFBundleVersion
- 2.0
+ $VERSION
LSApplicationCategoryType
public.app-category.developer-tools
NSMainNibFile
diff --git a/native/mac/helper-info.plist b/native/mac/helper-info.plist
index a90b9f27c..f61887e28 100644
--- a/native/mac/helper-info.plist
+++ b/native/mac/helper-info.plist
@@ -4,6 +4,10 @@
CFBundleDevelopmentRegion
en
+ CFBundleShortVersionString
+ $VERSION
+ CFBundleVersion
+ $VERSION
CFBundleDisplayName
${EXECUTABLE_NAME}
CFBundleExecutable
diff --git a/package.json b/package.json
index c5ba41b71..61c45b630 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"ctags": "0.3.0",
"oniguruma": "0.8.0",
"mkdirp": "0.3.5",
- "git-utils": "0.8.0",
+ "git-utils": "0.11.0",
"underscore": "1.4.4",
"d3": "3.0.8",
"coffee-cache": "0.1.0",
diff --git a/spec/app/atom-spec.coffee b/spec/app/atom-spec.coffee
index 8b32d3d79..df2ff94d0 100644
--- a/spec/app/atom-spec.coffee
+++ b/spec/app/atom-spec.coffee
@@ -249,7 +249,7 @@ describe "the `atom` global", ->
versionHandler.callCount > 0
runs ->
- expect(versionHandler.argsForCall[0][0]).toMatch /^\d+\.\d+(\.\d+)?$/
+ expect(versionHandler.argsForCall[0][0]).toMatch /^\d+\.\d+\.\w+$/
describe "modal native dialogs", ->
beforeEach ->
diff --git a/spec/app/editor-spec.coffee b/spec/app/editor-spec.coffee
index 885981485..bbfa1ba99 100644
--- a/spec/app/editor-spec.coffee
+++ b/spec/app/editor-spec.coffee
@@ -572,6 +572,20 @@ describe "Editor", ->
expect(range.start).toEqual({row: 4, column: 10})
expect(range.end).toEqual({row: 4, column: 10})
+ it "ignores ctrl-click and drags", ->
+ editor.attachToDom()
+ editor.css(position: 'absolute', top: 10, left: 10)
+
+ event = mousedownEvent(editor: editor, point: [4, 10])
+ event.ctrlKey = true
+ editor.renderedLines.trigger(event)
+ $(document).trigger mousemoveEvent(editor: editor, point: [5, 27])
+ $(document).trigger 'mouseup'
+
+ range = editor.getSelection().getScreenRange()
+ expect(range.start).toEqual({row: 4, column: 10})
+ expect(range.end).toEqual({row: 4, column: 10})
+
describe "double-click and drag", ->
it "selects the word under the cursor, then continues to select by word in either direction as the mouse is dragged", ->
expect(editor.getCursorScreenPosition()).toEqual(row: 0, column: 0)
@@ -2031,23 +2045,40 @@ describe "Editor", ->
event.originalEvent = {detail: 1}
event.shiftKey = true
editor.gutter.find(".line-number:eq(1)").trigger event
- expect(editor.getSelection().getScreenRange()).toEqual [[0,0], [1,0]]
+ expect(editor.getSelection().getScreenRange()).toEqual [[0,0], [2,0]]
describe "when mousing down and then moving across multiple lines before mousing up", ->
- it "selects the lines", ->
- mousedownEvent = $.Event("mousedown")
- mousedownEvent.pageY = editor.gutter.find(".line-number:eq(1)").offset().top
- mousedownEvent.originalEvent = {detail: 1}
- editor.gutter.find(".line-number:eq(1)").trigger mousedownEvent
+ describe "when selecting from top to bottom", ->
+ it "selects the lines", ->
+ mousedownEvent = $.Event("mousedown")
+ mousedownEvent.pageY = editor.gutter.find(".line-number:eq(1)").offset().top
+ mousedownEvent.originalEvent = {detail: 1}
+ editor.gutter.find(".line-number:eq(1)").trigger mousedownEvent
- mousemoveEvent = $.Event("mousemove")
- mousemoveEvent.pageY = editor.gutter.find(".line-number:eq(5)").offset().top
- mousemoveEvent.originalEvent = {detail: 1}
- editor.gutter.find(".line-number:eq(5)").trigger mousemoveEvent
+ mousemoveEvent = $.Event("mousemove")
+ mousemoveEvent.pageY = editor.gutter.find(".line-number:eq(5)").offset().top
+ mousemoveEvent.originalEvent = {detail: 1}
+ editor.gutter.find(".line-number:eq(5)").trigger mousemoveEvent
- $(document).trigger 'mouseup'
+ $(document).trigger 'mouseup'
- expect(editor.getSelection().getScreenRange()).toEqual [[1,0], [5,30]]
+ expect(editor.getSelection().getScreenRange()).toEqual [[1,0], [6,0]]
+
+ describe "when selecting from bottom to top", ->
+ it "selects the lines", ->
+ mousedownEvent = $.Event("mousedown")
+ mousedownEvent.pageY = editor.gutter.find(".line-number:eq(5)").offset().top
+ mousedownEvent.originalEvent = {detail: 1}
+ editor.gutter.find(".line-number:eq(5)").trigger mousedownEvent
+
+ mousemoveEvent = $.Event("mousemove")
+ mousemoveEvent.pageY = editor.gutter.find(".line-number:eq(1)").offset().top
+ mousemoveEvent.originalEvent = {detail: 1}
+ editor.gutter.find(".line-number:eq(1)").trigger mousemoveEvent
+
+ $(document).trigger 'mouseup'
+
+ expect(editor.getSelection().getScreenRange()).toEqual [[1,0], [6,0]]
describe "when clicking below the last line", ->
beforeEach ->
diff --git a/spec/app/tex-buffer-spec.coffee b/spec/app/text-buffer-spec.coffee
similarity index 98%
rename from spec/app/tex-buffer-spec.coffee
rename to spec/app/text-buffer-spec.coffee
index 63d50b797..0bf327d4c 100644
--- a/spec/app/tex-buffer-spec.coffee
+++ b/spec/app/text-buffer-spec.coffee
@@ -724,6 +724,14 @@ describe 'Buffer', ->
expect(buffer.characterIndexForPosition([1, 0])).toBe 30
expect(buffer.characterIndexForPosition([2, 0])).toBe 61
expect(buffer.characterIndexForPosition([12, 2])).toBe 408
+ expect(buffer.characterIndexForPosition([Infinity])).toBe 408
+
+ describe "when the buffer contains crlf line endings", ->
+ it "returns the total number of characters that precede the given position", ->
+ buffer.setText("line1\r\nline2\nline3\r\nline4")
+ expect(buffer.characterIndexForPosition([1])).toBe 7
+ expect(buffer.characterIndexForPosition([2])).toBe 13
+ expect(buffer.characterIndexForPosition([3])).toBe 20
describe ".positionForCharacterIndex(position)", ->
it "returns the position based on character index", ->
@@ -734,6 +742,13 @@ describe 'Buffer', ->
expect(buffer.positionForCharacterIndex(61)).toEqual [2, 0]
expect(buffer.positionForCharacterIndex(408)).toEqual [12, 2]
+ describe "when the buffer contains crlf line endings", ->
+ it "returns the position based on character index", ->
+ buffer.setText("line1\r\nline2\nline3\r\nline4")
+ expect(buffer.positionForCharacterIndex(7)).toEqual [1, 0]
+ expect(buffer.positionForCharacterIndex(13)).toEqual [2, 0]
+ expect(buffer.positionForCharacterIndex(20)).toEqual [3, 0]
+
describe "markers", ->
describe "marker creation", ->
it "allows markers to be created with ranges and positions", ->
diff --git a/spec/app/text-mate-grammar-spec.coffee b/spec/app/text-mate-grammar-spec.coffee
index 276a96496..c23bfd6b8 100644
--- a/spec/app/text-mate-grammar-spec.coffee
+++ b/spec/app/text-mate-grammar-spec.coffee
@@ -298,3 +298,13 @@ describe "TextMateGrammar", ->
grammar = syntax.selectGrammar("style.scss")
{tokens} = grammar.tokenizeLine("@mixin x() { -moz-selector: whatever; }")
expect(tokens[9]).toEqual value: "-moz-selector", scopes: ["source.css.scss", "meta.property-list.scss", "meta.property-name.scss"]
+
+ describe "when a line has more tokens than `maxTokensPerLine`", ->
+ it "creates a final token with the remaining text and resets the ruleStack to match the begining of the line", ->
+ grammar = syntax.selectGrammar("hello.js")
+ spyOn(grammar, 'getMaxTokensPerLine').andCallFake -> 5
+ originalRuleStack = [grammar.initialRule, grammar.initialRule, grammar.initialRule]
+ {tokens, ruleStack} = grammar.tokenizeLine("one(two(three(four(five(_param_)))))", originalRuleStack)
+ expect(tokens.length).toBe 5
+ expect(tokens[4].value).toBe "three(four(five(_param_)))))"
+ expect(ruleStack).toEqual originalRuleStack
diff --git a/spec/stdlib/fs-utils-spec.coffee b/spec/stdlib/fs-utils-spec.coffee
index 1e214e1dc..5317be474 100644
--- a/spec/stdlib/fs-utils-spec.coffee
+++ b/spec/stdlib/fs-utils-spec.coffee
@@ -130,9 +130,9 @@ describe "fs", ->
expect(paths).toContain project.resolve('coffee.coffee')
expect(paths).toContain project.resolve('two-hundred.txt')
- it "returns undefined for paths that aren't directories or don't exist", ->
- expect(fs.list(project.resolve('sample.js'))).toBeUndefined()
- expect(fs.list('/non/existent/directory')).toBeUndefined()
+ it "returns an empty array for paths that aren't directories or don't exist", ->
+ expect(fs.list(project.resolve('sample.js'))).toEqual []
+ expect(fs.list('/non/existent/directory')).toEqual []
it "can filter the paths by an optional array of file extensions", ->
paths = fs.list(project.getPath(), ['.css', 'coffee'])
diff --git a/src/app/atom-theme.coffee b/src/app/atom-theme.coffee
index 06f765118..3fab3f9e7 100644
--- a/src/app/atom-theme.coffee
+++ b/src/app/atom-theme.coffee
@@ -16,7 +16,9 @@ class AtomTheme extends Theme
if fs.isFile(metadataPath)
stylesheetNames = CSON.readObject(metadataPath)?.stylesheets
if stylesheetNames
- @loadStylesheet(fs.join(@path, name)) for name in stylesheetNames
+ for name in stylesheetNames
+ filename = fs.resolveExtension(fs.join(@path, name), ['.css', '.less', ''])
+ @loadStylesheet(filename)
else
@loadStylesheet(stylesheetPath) for stylesheetPath in fs.list(@path, ['.css', '.less'])
diff --git a/src/app/editor.coffee b/src/app/editor.coffee
index 9377de760..42effb3a7 100644
--- a/src/app/editor.coffee
+++ b/src/app/editor.coffee
@@ -373,7 +373,7 @@ class Editor extends View
else if clickCount == 3
@activeEditSession.selectLine() unless e.shiftKey
- @selectOnMousemoveUntilMouseup() unless e.originalEvent.which > 1
+ @selectOnMousemoveUntilMouseup() unless e.ctrlKey or e.originalEvent.which > 1
@renderedLines.on 'mousedown', onMouseDown
@@ -393,10 +393,6 @@ class Editor extends View
@gutter.widthChanged = (newWidth) =>
@scrollView.css('left', newWidth + 'px')
- @gutter.on 'mousedown', (e) =>
- e.pageX = @renderedLines.offset().left
- onMouseDown(e)
-
@scrollView.on 'scroll', =>
if @scrollView.scrollLeft() == 0
@gutter.removeClass('drop-shadow')
diff --git a/src/app/gutter.coffee b/src/app/gutter.coffee
index 2e19e09c6..da97e6e89 100644
--- a/src/app/gutter.coffee
+++ b/src/app/gutter.coffee
@@ -1,5 +1,6 @@
{View, $$, $$$} = require 'space-pen'
Range = require 'range'
+$ = require 'jquery'
_ = require 'underscore'
module.exports =
@@ -16,21 +17,42 @@ class Gutter extends View
return if @attached or not onDom
@attached = true
- editor = @editor()
highlightLines = => @highlightLines()
- editor.on 'cursor:moved', highlightLines
- editor.on 'selection:changed', highlightLines
+ @getEditor().on 'cursor:moved', highlightLines
+ @getEditor().on 'selection:changed', highlightLines
+ @on 'mousedown', (e) => @handleMouseEvents(e)
- editor: ->
+ getEditor: ->
@parentView
+ beforeRemove: ->
+ $(document).off(".gutter-#{@getEditor().id}")
+
+ handleMouseEvents: (e) ->
+ editor = @getEditor()
+ startRow = editor.screenPositionFromMouseEvent(e).row
+ if e.shiftKey
+ editor.selectToScreenPosition([startRow + 1, 0])
+ return
+ else
+ editor.getSelection().setScreenRange([[startRow, 0], [startRow, 0]])
+
+ moveHandler = (e) =>
+ start = startRow
+ end = editor.screenPositionFromMouseEvent(e).row
+ if end > start then end++ else start++
+ editor.getSelection().setScreenRange([[start, 0], [end, 0]])
+
+ $(document).on "mousemove.gutter-#{@getEditor().id}", moveHandler
+ $(document).one "mouseup.gutter-#{@getEditor().id}", => $(document).off 'mousemove', moveHandler
+
setShowLineNumbers: (showLineNumbers) ->
if showLineNumbers then @lineNumbers.show() else @lineNumbers.hide()
updateLineNumbers: (changes, renderFrom, renderTo) ->
if renderFrom < @firstScreenRow or renderTo > @lastScreenRow
performUpdate = true
- else if @editor().getLastScreenRow() < @lastScreenRow
+ else if @getEditor().getLastScreenRow() < @lastScreenRow
performUpdate = true
else
for change in changes
@@ -41,7 +63,7 @@ class Gutter extends View
@renderLineNumbers(renderFrom, renderTo) if performUpdate
renderLineNumbers: (startScreenRow, endScreenRow) ->
- editor = @editor()
+ editor = @getEditor()
maxDigits = editor.getLineCount().toString().length
rows = editor.bufferRowsForScreenRows(startScreenRow, endScreenRow)
@@ -81,8 +103,8 @@ class Gutter extends View
@highlightedLineNumbers.push(highlightedLineNumber)
highlightLines: ->
- if @editor().getSelection().isEmpty()
- row = @editor().getCursorScreenPosition().row
+ if @getEditor().getSelection().isEmpty()
+ row = @getEditor().getCursorScreenPosition().row
rowRange = new Range([row, 0], [row, 0])
return if @selectionEmpty and @highlightedRows?.isEqual(rowRange)
@@ -91,7 +113,7 @@ class Gutter extends View
@highlightedRows = rowRange
@selectionEmpty = true
else
- selectedRows = @editor().getSelection().getScreenRange()
+ selectedRows = @getEditor().getSelection().getScreenRange()
endRow = selectedRows.end.row
endRow-- if selectedRows.end.column is 0
selectedRows = new Range([selectedRows.start.row, 0], [endRow, 0])
diff --git a/src/app/keymap.coffee b/src/app/keymap.coffee
index 71be30cec..23e585ee7 100644
--- a/src/app/keymap.coffee
+++ b/src/app/keymap.coffee
@@ -38,7 +38,7 @@ class Keymap
@loadDirectory(fs.join(config.configDirPath, 'keymaps'))
loadDirectory: (directoryPath) ->
- @load(filePath) for filePath in fs.list(directoryPath, ['.cson', '.json']) ? []
+ @load(filePath) for filePath in fs.list(directoryPath, ['.cson', '.json'])
load: (path) ->
@add(path, CSON.readObject(path))
diff --git a/src/app/text-buffer.coffee b/src/app/text-buffer.coffee
index 2c5c623e3..bd06299d2 100644
--- a/src/app/text-buffer.coffee
+++ b/src/app/text-buffer.coffee
@@ -145,6 +145,9 @@ class Buffer
lineLengthForRow: (row) ->
@lines[row].length
+ lineEndingLengthForRow: (row) ->
+ (@lineEndingForRow(row) ? '').length
+
rangeForRow: (row, { includeNewline } = {}) ->
if includeNewline and row < @getLastRow()
new Range([row, 0], [row + 1, 0])
@@ -165,15 +168,16 @@ class Buffer
new Point(lastRow, @lineLengthForRow(lastRow))
characterIndexForPosition: (position) ->
- position = Point.fromObject(position)
+ position = @clipPosition(position)
index = 0
- index += @lineLengthForRow(row) + 1 for row in [0...position.row]
+ for row in [0...position.row]
+ index += @lineLengthForRow(row) + Math.max(@lineEndingLengthForRow(row), 1)
index + position.column
positionForCharacterIndex: (index) ->
row = 0
- while index >= (lineLength = @lineLengthForRow(row) + 1)
+ while index >= (lineLength = @lineLengthForRow(row) + Math.max(@lineEndingLengthForRow(row), 1))
index -= lineLength
row++
@@ -358,7 +362,7 @@ class Buffer
@scanInRange(regex, @getRange(), iterator)
scanInRange: (regex, range, iterator, reverse=false) ->
- range = Range.fromObject(range)
+ range = @clipRange(range)
global = regex.global
flags = "gm"
flags += "i" if regex.ignoreCase
diff --git a/src/app/text-mate-grammar.coffee b/src/app/text-mate-grammar.coffee
index 93fe9559f..03b35b6ca 100644
--- a/src/app/text-mate-grammar.coffee
+++ b/src/app/text-mate-grammar.coffee
@@ -26,6 +26,7 @@ class TextMateGrammar
repository: null
initialRule: null
firstLineRegex: null
+ maxTokensPerLine: 100
constructor: ({ @name, @fileTypes, @scopeName, patterns, repository, @foldingStopMarker, firstLineMatch}) ->
@initialRule = new Rule(this, {@scopeName, patterns})
@@ -38,6 +39,7 @@ class TextMateGrammar
@repository[name] = new Rule(this, data)
tokenizeLine: (line, ruleStack=[@initialRule], firstLine=false) ->
+ originalRuleStack = ruleStack
ruleStack = new Array(ruleStack...) # clone ruleStack
tokens = []
position = 0
@@ -46,6 +48,12 @@ class TextMateGrammar
previousRuleStackLength = ruleStack.length
previousPosition = position
+ if tokens.length >= (@getMaxTokensPerLine() - 1)
+ token = new Token(value: line[position..], scopes: scopes)
+ tokens.push token
+ ruleStack = originalRuleStack
+ break
+
if line.length == 0
tokens = [new Token(value: "", scopes: scopes)]
return { tokens, ruleStack }
@@ -79,6 +87,9 @@ class TextMateGrammar
ruleStack.forEach (rule) -> rule.clearAnchorPosition()
{ tokens, ruleStack }
+ getMaxTokensPerLine: ->
+ @maxTokensPerLine
+
class Rule
grammar: null
scopeName: null
diff --git a/src/app/window.coffee b/src/app/window.coffee
index f6c513c2d..84a6764d9 100644
--- a/src/app/window.coffee
+++ b/src/app/window.coffee
@@ -1,5 +1,6 @@
fs = require 'fs-utils'
$ = require 'jquery'
+_ = require 'underscore'
{less} = require 'less'
{spawn} = require 'child_process'
require 'jquery-extensions'
@@ -36,12 +37,9 @@ window.setUpEnvironment = ->
# This method is only called when opening a real application window
window.startup = ->
- if fs.isDirectory('/opt/boxen')
- installAtomCommand('/opt/boxen/bin/atom')
- else if fs.isDirectory('/opt/github')
- installAtomCommand('/opt/github/bin/atom')
- else if fs.isDirectory('/usr/local')
- installAtomCommand('/usr/local/bin/atom')
+ directory = _.find ['/opt/boxen', '/opt/github', '/usr/local'], (dir) -> fs.isDirectory(dir)
+ if directory
+ installAtomCommand(fs.join(directory, 'bin/atom'))
else
console.warn "Failed to install `atom` binary"
diff --git a/src/packages/tree-view/lib/directory-view.coffee b/src/packages/tree-view/lib/directory-view.coffee
index c6f561c1d..6120d9c8e 100644
--- a/src/packages/tree-view/lib/directory-view.coffee
+++ b/src/packages/tree-view/lib/directory-view.coffee
@@ -11,7 +11,7 @@ class DirectoryView extends View
@div outlet: 'header', class: 'header', =>
@span class: 'disclosure-arrow', outlet: 'disclosureArrow'
@span directory.getBaseName(), class: 'name', outlet: 'directoryName'
- @span "", class: 'highlight'
+ @span class: 'highlight'
directory: null
entries: null
diff --git a/src/packages/tree-view/lib/file-view.coffee b/src/packages/tree-view/lib/file-view.coffee
index 5f264a15f..1ff73c910 100644
--- a/src/packages/tree-view/lib/file-view.coffee
+++ b/src/packages/tree-view/lib/file-view.coffee
@@ -9,7 +9,7 @@ class FileView extends View
@content: ({file} = {}) ->
@li class: 'file entry', =>
@span file.getBaseName(), class: 'name', outlet: 'fileName'
- @span '', class: 'highlight'
+ @span class: 'highlight'
file: null
diff --git a/src/packages/tree-view/lib/tree-view.coffee b/src/packages/tree-view/lib/tree-view.coffee
index 18475fa06..c7e72221e 100644
--- a/src/packages/tree-view/lib/tree-view.coffee
+++ b/src/packages/tree-view/lib/tree-view.coffee
@@ -56,6 +56,7 @@ class TreeView extends ScrollView
afterAttach: (onDom) ->
@focus() if @focusAfterAttach
@scrollTop(@scrollTopAfterAttach) if @scrollTopAfterAttach > 0
+ @find('.selected > .highlight').width(@treeViewList[0].scrollWidth)
serialize: ->
directoryExpansionStates: @root?.serializeEntryExpansionStates()
@@ -304,10 +305,11 @@ class TreeView extends ScrollView
entry = entry.view() unless entry instanceof View
@selectedPath = entry.getPath()
@deselect()
+ entry.children('.highlight').width(@treeViewList[0].scrollWidth)
entry.addClass('selected')
deselect: ->
- @treeViewList.find('.selected').removeClass('selected')
+ @treeViewList.find('.selected').removeClass('selected').children('.highlight').width('')
scrollTop: (top) ->
if top
diff --git a/src/stdlib/fs-utils.coffee b/src/stdlib/fs-utils.coffee
index 1acf41169..a422f1e10 100644
--- a/src/stdlib/fs-utils.coffee
+++ b/src/stdlib/fs-utils.coffee
@@ -90,7 +90,7 @@ module.exports =
# Returns an array with all the names of files contained
# in the directory path.
list: (rootPath, extensions) ->
- return unless @isDirectory(rootPath)
+ return [] unless @isDirectory(rootPath)
paths = fs.readdirSync(rootPath)
paths = @filterExtensions(paths, extensions) if extensions
paths = paths.map (path) => @join(rootPath, path)
diff --git a/themes/atom-dark-ui/atom.css b/themes/atom-dark-ui/atom.less
similarity index 100%
rename from themes/atom-dark-ui/atom.css
rename to themes/atom-dark-ui/atom.less
diff --git a/themes/atom-dark-ui/blurred.css b/themes/atom-dark-ui/blurred.less
similarity index 100%
rename from themes/atom-dark-ui/blurred.css
rename to themes/atom-dark-ui/blurred.less
diff --git a/themes/atom-dark-ui/command-logger.css b/themes/atom-dark-ui/command-logger.less
similarity index 100%
rename from themes/atom-dark-ui/command-logger.css
rename to themes/atom-dark-ui/command-logger.less
diff --git a/themes/atom-dark-ui/command-panel.css b/themes/atom-dark-ui/command-panel.less
similarity index 100%
rename from themes/atom-dark-ui/command-panel.css
rename to themes/atom-dark-ui/command-panel.less
diff --git a/themes/atom-dark-ui/editor.css b/themes/atom-dark-ui/editor.less
similarity index 100%
rename from themes/atom-dark-ui/editor.css
rename to themes/atom-dark-ui/editor.less
diff --git a/themes/atom-dark-ui/package.cson b/themes/atom-dark-ui/package.cson
index 53831688d..7aa632dc4 100644
--- a/themes/atom-dark-ui/package.cson
+++ b/themes/atom-dark-ui/package.cson
@@ -1,11 +1,11 @@
'stylesheets': [
- 'atom.css'
- 'editor.css'
- 'select-list.css'
- 'tree-view.css'
- 'tabs.css'
- 'status-bar.css'
- 'command-panel.css'
- 'command-logger.css'
- 'blurred.css'
+ 'atom'
+ 'editor'
+ 'select-list'
+ 'tree-view'
+ 'tabs'
+ 'status-bar'
+ 'command-panel'
+ 'command-logger'
+ 'blurred'
]
diff --git a/themes/atom-dark-ui/select-list.css b/themes/atom-dark-ui/select-list.less
similarity index 91%
rename from themes/atom-dark-ui/select-list.css
rename to themes/atom-dark-ui/select-list.less
index 41740ab83..bbe192765 100644
--- a/themes/atom-dark-ui/select-list.css
+++ b/themes/atom-dark-ui/select-list.less
@@ -4,7 +4,7 @@
}
.select-list li .label {
- color: #ddd;
+ color: #bbb;
}
.select-list .key-binding {
@@ -17,8 +17,8 @@
line-height: 100%;
}
-.select-list li:hover {
- background-color: #2c2c2c;
+.select-list li:hover .label {
+ color: #fff;
}
.select-list ol .selected {
diff --git a/themes/atom-dark-ui/status-bar.css b/themes/atom-dark-ui/status-bar.less
similarity index 100%
rename from themes/atom-dark-ui/status-bar.css
rename to themes/atom-dark-ui/status-bar.less
diff --git a/themes/atom-dark-ui/tabs.css b/themes/atom-dark-ui/tabs.less
similarity index 100%
rename from themes/atom-dark-ui/tabs.css
rename to themes/atom-dark-ui/tabs.less
diff --git a/themes/atom-dark-ui/tree-view.css b/themes/atom-dark-ui/tree-view.less
similarity index 100%
rename from themes/atom-dark-ui/tree-view.css
rename to themes/atom-dark-ui/tree-view.less
diff --git a/themes/atom-light-ui/atom.css b/themes/atom-light-ui/atom.less
similarity index 100%
rename from themes/atom-light-ui/atom.css
rename to themes/atom-light-ui/atom.less
diff --git a/themes/atom-light-ui/blurred.css b/themes/atom-light-ui/blurred.less
similarity index 100%
rename from themes/atom-light-ui/blurred.css
rename to themes/atom-light-ui/blurred.less
diff --git a/themes/atom-light-ui/command-logger.css b/themes/atom-light-ui/command-logger.less
similarity index 100%
rename from themes/atom-light-ui/command-logger.css
rename to themes/atom-light-ui/command-logger.less
diff --git a/themes/atom-light-ui/command-panel.css b/themes/atom-light-ui/command-panel.less
similarity index 100%
rename from themes/atom-light-ui/command-panel.css
rename to themes/atom-light-ui/command-panel.less
diff --git a/themes/atom-light-ui/editor.css b/themes/atom-light-ui/editor.less
similarity index 100%
rename from themes/atom-light-ui/editor.css
rename to themes/atom-light-ui/editor.less
diff --git a/themes/atom-light-ui/overlay.css b/themes/atom-light-ui/overlay.less
similarity index 100%
rename from themes/atom-light-ui/overlay.css
rename to themes/atom-light-ui/overlay.less
diff --git a/themes/atom-light-ui/package.cson b/themes/atom-light-ui/package.cson
index 18cff697d..7f3d899c5 100644
--- a/themes/atom-light-ui/package.cson
+++ b/themes/atom-light-ui/package.cson
@@ -1,12 +1,12 @@
'stylesheets': [
- 'atom.css'
- 'editor.css'
- 'overlay.css'
- 'select-list.css'
- 'tree-view.css'
- 'tabs.css'
- 'status-bar.css'
- 'command-panel.css'
- 'command-logger.css'
- 'blurred.css'
+ 'atom'
+ 'editor'
+ 'overlay'
+ 'select-list'
+ 'tree-view'
+ 'tabs'
+ 'status-bar'
+ 'command-panel'
+ 'command-logger'
+ 'blurred'
]
diff --git a/themes/atom-light-ui/select-list.css b/themes/atom-light-ui/select-list.less
similarity index 100%
rename from themes/atom-light-ui/select-list.css
rename to themes/atom-light-ui/select-list.less
diff --git a/themes/atom-light-ui/status-bar.css b/themes/atom-light-ui/status-bar.less
similarity index 100%
rename from themes/atom-light-ui/status-bar.css
rename to themes/atom-light-ui/status-bar.less
diff --git a/themes/atom-light-ui/tabs.css b/themes/atom-light-ui/tabs.less
similarity index 100%
rename from themes/atom-light-ui/tabs.css
rename to themes/atom-light-ui/tabs.less
diff --git a/themes/atom-light-ui/tree-view.css b/themes/atom-light-ui/tree-view.less
similarity index 100%
rename from themes/atom-light-ui/tree-view.css
rename to themes/atom-light-ui/tree-view.less