mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Merge remote-tracking branch 'origin/master' into config
Conflicts: src/app/keymap.coffee src/extensions/outline-view/src/keymap.coffee src/extensions/outline-view/src/tag-reader.coffee src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee src/packages/fuzzy-finder/src/fuzzy-finder.coffee
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
{View, $$} = require 'space-pen'
|
||||
SelectList = require 'select-list'
|
||||
Editor = require 'editor'
|
||||
$ = require 'jquery'
|
||||
_ = require 'underscore'
|
||||
|
||||
@@ -57,4 +56,3 @@ class EventPalette extends SelectList
|
||||
|
||||
cancelled: ->
|
||||
@previouslyFocusedElement.focus() if @miniEditor.isFocused
|
||||
|
||||
|
||||
@@ -229,8 +229,29 @@ describe 'FuzzyFinder', ->
|
||||
runs ->
|
||||
expect(rootView.project.getFilePaths).toHaveBeenCalled()
|
||||
|
||||
it "busts the cache when the window gains focus", ->
|
||||
spyOn(rootView.project, "getFilePaths").andCallThrough()
|
||||
rootView.trigger 'fuzzy-finder:toggle-file-finder'
|
||||
|
||||
waitsFor ->
|
||||
finder.list.children('li').length > 0
|
||||
|
||||
runs ->
|
||||
expect(rootView.project.getFilePaths).toHaveBeenCalled()
|
||||
rootView.project.getFilePaths.reset()
|
||||
$(window).trigger 'focus'
|
||||
rootView.trigger 'fuzzy-finder:toggle-file-finder'
|
||||
rootView.trigger 'fuzzy-finder:toggle-file-finder'
|
||||
|
||||
waitsFor ->
|
||||
finder.list.children('li').length > 0
|
||||
|
||||
runs ->
|
||||
expect(rootView.project.getFilePaths).toHaveBeenCalled()
|
||||
|
||||
describe "path ignoring", ->
|
||||
it "ignores paths that match entries in config.fuzzy-finder.ignoredNames", ->
|
||||
spyOn(rootView.project, "getFilePaths").andCallThrough()
|
||||
config.set("fuzzy-finder.ignoredNames", ["tree-view"])
|
||||
rootView.trigger 'fuzzy-finder:toggle-file-finder'
|
||||
finder.maxItems = Infinity
|
||||
@@ -240,5 +261,14 @@ describe 'FuzzyFinder', ->
|
||||
finder.list.children('li').length > 0
|
||||
|
||||
runs ->
|
||||
expect(finder.list).toContain("li:contains(dir/file1)")
|
||||
expect(finder.list).not.toContain("li:contains(dir1/file1)")
|
||||
expect(rootView.project.getFilePaths).toHaveBeenCalled()
|
||||
rootView.project.getFilePaths.reset()
|
||||
$(window).trigger 'focus'
|
||||
rootView.trigger 'fuzzy-finder:toggle-file-finder'
|
||||
rootView.trigger 'fuzzy-finder:toggle-file-finder'
|
||||
|
||||
waitsFor ->
|
||||
finder.list.children('li').length > 0
|
||||
|
||||
runs ->
|
||||
expect(rootView.project.getFilePaths).toHaveBeenCalled()
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
SelectList = require 'select-list'
|
||||
_ = require 'underscore'
|
||||
$ = require 'jquery'
|
||||
Editor = require 'editor'
|
||||
|
||||
module.exports =
|
||||
class FuzzyFinder extends SelectList
|
||||
@activate: (rootView) ->
|
||||
requireStylesheet 'select-list.css'
|
||||
requireStylesheet 'fuzzy-finder.css'
|
||||
@instance = new FuzzyFinder(rootView)
|
||||
rootView.command 'fuzzy-finder:toggle-file-finder', => @instance.toggleFileFinder()
|
||||
@@ -22,7 +20,7 @@ class FuzzyFinder extends SelectList
|
||||
|
||||
initialize: (@rootView) ->
|
||||
super
|
||||
$(window).on 'focus', => @array = null
|
||||
$(window).on 'focus', => @projectPaths = null
|
||||
@observeConfig 'fuzzy-finder.ignoredNames', (ignoredNames) =>
|
||||
@projectPaths = null
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{View, $$} = require 'space-pen'
|
||||
SelectList = require 'select-list'
|
||||
Editor = require 'editor'
|
||||
TagGenerator = require 'outline-view/src/tag-generator'
|
||||
TagReader = require 'outline-view/src/tag-reader'
|
||||
Point = require 'point'
|
||||
|
||||
1
src/packages/single-trailing-newline/index.coffee
Normal file
1
src/packages/single-trailing-newline/index.coffee
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = require 'single-trailing-newline/src/single-trailing-newline'
|
||||
@@ -0,0 +1,39 @@
|
||||
SingleTrailingNewline = require 'single-trailing-newline'
|
||||
RootView = require 'root-view'
|
||||
fs = require 'fs'
|
||||
|
||||
describe "SingleTrailingNewline", ->
|
||||
[rootView, editor, path] = []
|
||||
|
||||
beforeEach ->
|
||||
path = "/tmp/atom-whitespace.txt"
|
||||
fs.write(path, "")
|
||||
rootView = new RootView(path)
|
||||
|
||||
SingleTrailingNewline.activate(rootView)
|
||||
rootView.focus()
|
||||
editor = rootView.getActiveEditor()
|
||||
|
||||
afterEach ->
|
||||
fs.remove(path) if fs.exists(path)
|
||||
rootView.remove()
|
||||
|
||||
it "adds a trailing newline when there is no trailing newline", ->
|
||||
editor.insertText "foo"
|
||||
editor.save()
|
||||
expect(editor.getText()).toBe "foo\n"
|
||||
|
||||
it "removes extra trailing newlines and only keeps one", ->
|
||||
editor.insertText "foo\n\n\n\n"
|
||||
editor.save()
|
||||
expect(editor.getText()).toBe "foo\n"
|
||||
|
||||
it "leaves a buffer with a single trailing newline untouched", ->
|
||||
editor.insertText "foo\nbar\n"
|
||||
editor.save()
|
||||
expect(editor.getText()).toBe "foo\nbar\n"
|
||||
|
||||
it "leaves an empty buffer untouched", ->
|
||||
editor.insertText ""
|
||||
editor.save()
|
||||
expect(editor.getText()).toBe ""
|
||||
@@ -0,0 +1,18 @@
|
||||
module.exports =
|
||||
name: "Add a single trailing newline"
|
||||
|
||||
activate: (rootView) ->
|
||||
for buffer in rootView.project.getBuffers()
|
||||
@addSingleTrailingNewlineBeforeSave(buffer)
|
||||
|
||||
rootView.project.on 'new-buffer', (buffer) =>
|
||||
@addSingleTrailingNewlineBeforeSave(buffer)
|
||||
|
||||
addSingleTrailingNewlineBeforeSave: (buffer) ->
|
||||
buffer.on 'before-save', ->
|
||||
if buffer.getLastLine() is ''
|
||||
row = buffer.getLastRow()
|
||||
while row and buffer.lineForRow(--row) is ''
|
||||
buffer.deleteRow(row)
|
||||
else
|
||||
buffer.append('\n')
|
||||
@@ -15,6 +15,7 @@
|
||||
color: #d0d0d0;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
.tab.active {
|
||||
@@ -35,7 +36,8 @@
|
||||
font-size: 14px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
color: #aaa;
|
||||
color: #777;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tab .close-icon:before {
|
||||
|
||||
Reference in New Issue
Block a user