Make all requires of 'fs-utils' assign to fsUtils var instead of fs

This commit is contained in:
Nathan Sobo
2013-04-03 12:01:01 -06:00
parent a99e4ef5a9
commit f03b6207de
62 changed files with 548 additions and 554 deletions

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
Theme = require 'theme'
CSON = require 'cson'
@@ -9,17 +9,17 @@ class AtomTheme extends Theme
@stylesheets[stylesheetPath] = window.loadStylesheet(stylesheetPath)
load: ->
if fs.extension(@path) in ['.css', '.less']
if fsUtils.extension(@path) in ['.css', '.less']
@loadStylesheet(@path)
else
metadataPath = fs.resolveExtension(fs.join(@path, 'package'), ['cson', 'json'])
if fs.isFile(metadataPath)
metadataPath = fsUtils.resolveExtension(fsUtils.join(@path, 'package'), ['cson', 'json'])
if fsUtils.isFile(metadataPath)
stylesheetNames = CSON.readObject(metadataPath)?.stylesheets
if stylesheetNames
for name in stylesheetNames
filename = fs.resolveExtension(fs.join(@path, name), ['.css', '.less', ''])
filename = fsUtils.resolveExtension(fsUtils.join(@path, name), ['.css', '.less', ''])
@loadStylesheet(filename)
else
@loadStylesheet(stylesheetPath) for stylesheetPath in fs.list(@path, ['.css', '.less'])
@loadStylesheet(stylesheetPath) for stylesheetPath in fsUtils.list(@path, ['.css', '.less'])
super

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
_ = require 'underscore'
Package = require 'package'
TextMatePackage = require 'text-mate-package'
@@ -74,9 +74,9 @@ _.extend atom,
throw new Error("Could not resolve '#{id}' to a package path")
resolvePackagePath: _.memoize (id) ->
return id if fs.isDirectory(id)
path = fs.resolve(config.packageDirPaths..., id)
path if fs.isDirectory(path)
return id if fsUtils.isDirectory(id)
path = fsUtils.resolve(config.packageDirPaths..., id)
path if fsUtils.isDirectory(path)
getLoadedPackage: (id) ->
if path = @resolvePackagePath(id)
@@ -90,13 +90,13 @@ _.extend atom,
isPackageDisabled: (id) ->
if path = @resolvePackagePath(id)
_.include(config.get('core.disabledPackages') ? [], fs.base(path))
_.include(config.get('core.disabledPackages') ? [], fsUtils.base(path))
getPackagePaths: ->
packagePaths = []
for packageDirPath in config.packageDirPaths
for packagePath in fs.list(packageDirPath)
packagePaths.push(packagePath) if fs.isDirectory(packagePath)
for packagePath in fsUtils.list(packageDirPath)
packagePaths.push(packagePath) if fsUtils.isDirectory(packagePath)
_.uniq(packagePaths)
loadThemes: ->
@@ -109,8 +109,8 @@ _.extend atom,
@loadedThemes.push Theme.load(name)
loadUserStylesheet: ->
userStylesheetPath = fs.resolve(fs.join(config.configDirPath, 'user'), ['css', 'less'])
if fs.isFile(userStylesheetPath)
userStylesheetPath = fsUtils.resolve(fsUtils.join(config.configDirPath, 'user'), ['css', 'less'])
if fsUtils.isFile(userStylesheetPath)
userStyleesheetContents = loadStylesheet(userStylesheetPath)
applyStylesheet(userStylesheetPath, userStyleesheetContents, 'userTheme')
@@ -247,9 +247,9 @@ _.extend atom,
@sendMessageToBrowserProcess('getUpdateStatus', [], callback)
requireUserInitScript: ->
userInitScriptPath = fs.join(config.configDirPath, "user.coffee")
userInitScriptPath = fsUtils.join(config.configDirPath, "user.coffee")
try
require userInitScriptPath if fs.isFile(userInitScriptPath)
require userInitScriptPath if fsUtils.isFile(userInitScriptPath)
catch error
console.error "Failed to load `#{userInitScriptPath}`", error.stack, error

View File

@@ -1,6 +1,6 @@
$ = require 'jquery'
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
Specificity = require 'specificity'
PEG = require 'pegjs'
@@ -17,7 +17,7 @@ class BindingSet
name: null
constructor: (@selector, commandsByKeystrokes, @index, @name) ->
BindingSet.parser ?= PEG.buildParser(fs.read(require.resolve 'keystroke-pattern.pegjs'))
BindingSet.parser ?= PEG.buildParser(fsUtils.read(require.resolve 'keystroke-pattern.pegjs'))
@specificity = Specificity(@selector)
@commandsByKeystrokes = @normalizeCommandsByKeystrokes(commandsByKeystrokes)

View File

@@ -1,15 +1,15 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
_ = require 'underscore'
EventEmitter = require 'event-emitter'
CSON = require 'cson'
configDirPath = fs.absolute("~/.atom")
bundledPackagesDirPath = fs.join(resourcePath, "src/packages")
bundledThemesDirPath = fs.join(resourcePath, "themes")
vendoredPackagesDirPath = fs.join(resourcePath, "vendor/packages")
vendoredThemesDirPath = fs.join(resourcePath, "vendor/themes")
userThemesDirPath = fs.join(configDirPath, "themes")
userPackagesDirPath = fs.join(configDirPath, "packages")
configDirPath = fsUtils.absolute("~/.atom")
bundledPackagesDirPath = fsUtils.join(resourcePath, "src/packages")
bundledThemesDirPath = fsUtils.join(resourcePath, "themes")
vendoredPackagesDirPath = fsUtils.join(resourcePath, "vendor/packages")
vendoredThemesDirPath = fsUtils.join(resourcePath, "vendor/themes")
userThemesDirPath = fsUtils.join(configDirPath, "themes")
userPackagesDirPath = fsUtils.join(configDirPath, "packages")
module.exports =
class Config
@@ -26,34 +26,34 @@ 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')
@configFilePath = fsUtils.resolve(configDirPath, 'config', ['json', 'cson'])
@configFilePath ?= fsUtils.join(configDirPath, 'config.cson')
initializeConfigDirectory: ->
return if fs.exists(@configDirPath)
return if fsUtils.exists(@configDirPath)
fs.makeDirectory(@configDirPath)
fsUtils.makeDirectory(@configDirPath)
templateConfigDirPath = fs.resolve(window.resourcePath, 'dot-atom')
templateConfigDirPath = fsUtils.resolve(window.resourcePath, 'dot-atom')
onConfigDirFile = (path) =>
relativePath = path.substring(templateConfigDirPath.length + 1)
configPath = fs.join(@configDirPath, relativePath)
fs.write(configPath, fs.read(path))
fs.traverseTreeSync(templateConfigDirPath, onConfigDirFile, (path) -> true)
configPath = fsUtils.join(@configDirPath, relativePath)
fsUtils.write(configPath, fsUtils.read(path))
fsUtils.traverseTreeSync(templateConfigDirPath, onConfigDirFile, (path) -> true)
configThemeDirPath = fs.join(@configDirPath, 'themes')
configThemeDirPath = fsUtils.join(@configDirPath, 'themes')
onThemeDirFile = (path) ->
relativePath = path.substring(bundledThemesDirPath.length + 1)
configPath = fs.join(configThemeDirPath, relativePath)
fs.write(configPath, fs.read(path))
fs.traverseTreeSync(bundledThemesDirPath, onThemeDirFile, (path) -> true)
configPath = fsUtils.join(configThemeDirPath, relativePath)
fsUtils.write(configPath, fsUtils.read(path))
fsUtils.traverseTreeSync(bundledThemesDirPath, onThemeDirFile, (path) -> true)
load: ->
@initializeConfigDirectory()
@loadUserConfig()
loadUserConfig: ->
if fs.exists(@configFilePath)
if fsUtils.exists(@configFilePath)
try
userConfig = CSON.readObject(@configFilePath)
_.extend(@settings, userConfig)

View File

@@ -8,7 +8,7 @@ EventEmitter = require 'event-emitter'
Subscriber = require 'subscriber'
Range = require 'range'
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class EditSession
@@ -45,7 +45,7 @@ class EditSession
@buffer.retain()
@subscribe @buffer, "path-changed", =>
@project.setPath(fs.directory(@getPath())) unless @project.getPath()?
@project.setPath(fsUtils.directory(@getPath())) unless @project.getPath()?
@trigger "title-changed"
@trigger "path-changed"
@subscribe @buffer, "contents-conflicted", => @trigger "contents-conflicted"
@@ -64,14 +64,14 @@ class EditSession
getTitle: ->
if path = @getPath()
fs.base(path)
fsUtils.base(path)
else
'untitled'
getLongTitle: ->
if path = @getPath()
fileName = fs.base(path)
directory = fs.base(fs.directory(path))
fileName = fsUtils.base(path)
directory = fsUtils.base(fsUtils.directory(path))
"#{fileName} - #{directory}"
else
'untitled'

View File

@@ -6,7 +6,7 @@ Range = require 'range'
EditSession = require 'edit-session'
CursorView = require 'cursor-view'
SelectionView = require 'selection-view'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
$ = require 'jquery'
_ = require 'underscore'
@@ -1098,7 +1098,7 @@ class Editor extends View
range.detach()
leftPixels
pixelOffsetForScreenPosition: (position) ->
pixelOffsUtilsetForScreenPosition: (position) ->
{top, left} = @pixelPositionForScreenPosition(position)
offset = @renderedLines.offset()
{top: top + offset.top, left: left + offset.left}
@@ -1181,7 +1181,7 @@ class Editor extends View
saveDebugSnapshot: ->
atom.showSaveDialog (path) =>
fs.write(path, @getDebugSnapshot()) if path
fsUtils.write(path, @getDebugSnapshot()) if path
getDebugSnapshot: ->
[

View File

@@ -1,5 +1,5 @@
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
Subscriber = require 'subscriber'
EventEmitter = require 'event-emitter'
RepositoryStatusTask = require 'repository-status-task'
@@ -48,7 +48,7 @@ class Git
refreshIndex: -> @getRepo().refreshIndex()
getPath: ->
@path ?= fs.absolute(@getRepo().getPath())
@path ?= fsUtils.absolute(@getRepo().getPath())
destroy: ->
if @statusTask?

View File

@@ -1,6 +1,6 @@
$ = require 'jquery'
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
CSON = require 'cson'
BindingSet = require 'binding-set'
@@ -32,13 +32,13 @@ class Keymap
$(document).command 'open-dev', => atom.openDev()
loadBundledKeymaps: ->
@loadDirectory(fs.resolveOnLoadPath('keymaps'))
@loadDirectory(fsUtils.resolveOnLoadPath('keymaps'))
loadUserKeymaps: ->
@loadDirectory(fs.join(config.configDirPath, 'keymaps'))
@loadDirectory(fsUtils.join(config.configDirPath, 'keymaps'))
loadDirectory: (directoryPath) ->
@load(filePath) for filePath in fs.list(directoryPath, ['.cson', '.json'])
@load(filePath) for filePath in fsUtils.list(directoryPath, ['.cson', '.json'])
load: (path) ->
@add(path, CSON.readObject(path))

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class Package
@@ -20,4 +20,4 @@ class Package
path: null
constructor: (@path) ->
@name = fs.base(@path)
@name = fsUtils.base(@path)

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
_ = require 'underscore'
$ = require 'jquery'
Range = require 'range'
@@ -41,7 +41,7 @@ class Project
@rootDirectory?.off()
if path?
directory = if fs.isDirectory(path) then path else fs.directory(path)
directory = if fsUtils.isDirectory(path) then path else fsUtils.directory(path)
@rootDirectory = new Directory(directory)
else
@rootDirectory = null
@@ -56,7 +56,7 @@ class Project
paths = []
onFile = (path) => paths.push(path) unless @isPathIgnored(path)
onDirectory = -> true
fs.traverseTreeSync(@getPath(), onFile, onDirectory)
fsUtils.traverseTreeSync(@getPath(), onFile, onDirectory)
deferred.resolve(paths)
deferred.promise()
@@ -68,11 +68,11 @@ class Project
@ignoreRepositoryPath(path)
ignoreRepositoryPath: (path) ->
config.get("core.hideGitIgnoredFiles") and git?.isPathIgnored(fs.join(@getPath(), path))
config.get("core.hideGitIgnoredFiles") and git?.isPathIgnored(fsUtils.join(@getPath(), path))
resolve: (filePath) ->
filePath = fs.join(@getPath(), filePath) unless filePath[0] == '/'
fs.absolute filePath
filePath = fsUtils.join(@getPath(), filePath) unless filePath[0] == '/'
fsUtils.absolute filePath
relativize: (fullPath) ->
return fullPath unless fullPath.lastIndexOf(@getPath()) is 0

View File

@@ -1,5 +1,5 @@
Git = require 'git-utils'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
loadStatuses: (path) ->
@@ -8,7 +8,7 @@ module.exports =
workingDirectoryPath = repo.getWorkingDirectory()
statuses = {}
for path, status of repo.getStatus()
statuses[fs.join(workingDirectoryPath, path)] = status
statuses[fsUtils.join(workingDirectoryPath, path)] = status
upstream = repo.getAheadBehindCount()
repo.release()
else

View File

@@ -1,6 +1,6 @@
$ = require 'jquery'
{$$} = require 'space-pen'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
_ = require 'underscore'
{View} = require 'space-pen'
@@ -174,4 +174,3 @@ class RootView extends View
eachBuffer: (callback) ->
project.eachBuffer(callback)

View File

@@ -2,7 +2,7 @@ _ = require 'underscore'
jQuery = require 'jquery'
Specificity = require 'specificity'
{$$} = require 'space-pen'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
EventEmitter = require 'event-emitter'
NullGrammar = require 'null-grammar'
nodePath = require 'path'
@@ -71,7 +71,7 @@ class Syntax
grammarByFirstLineRegex: (filePath, fileContents) ->
try
fileContents ?= fs.read(filePath)
fileContents ?= fsUtils.read(filePath)
catch e
return

View File

@@ -1,5 +1,5 @@
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
File = require 'file'
Point = require 'point'
Range = require 'range'
@@ -37,7 +37,7 @@ class Buffer
@lineEndings = []
if path
throw "Path '#{path}' does not exist" unless fs.exists(path)
throw "Path '#{path}' does not exist" unless fsUtils.exists(path)
@setPath(path)
if initialText?
@setText(initialText)

View File

@@ -1,5 +1,5 @@
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
plist = require 'plist'
Token = require 'token'
CSON = require 'cson'
@@ -8,17 +8,17 @@ CSON = require 'cson'
module.exports =
class TextMateGrammar
@readFromPath: (path) ->
fs.readPlist(path)
fsUtils.readPlist(path)
@load: (path, done) ->
fs.readObjectAsync path, (err, object) ->
fsUtils.readObjectAsync path, (err, object) ->
if err
done(err)
else
done(null, new TextMateGrammar(object))
@loadSync: (path) ->
new TextMateGrammar(fs.readObject(path))
new TextMateGrammar(fsUtils.readObject(path))
name: null
fileTypes: null

View File

@@ -1,5 +1,5 @@
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
plist = require 'plist'
Theme = require 'theme'

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class Theme
@@ -8,10 +8,10 @@ class Theme
TextMateTheme = require 'text-mate-theme'
AtomTheme = require 'atom-theme'
if fs.exists(name)
if fsUtils.exists(name)
path = name
else
path = fs.resolve(config.themeDirPaths..., name, ['', '.tmTheme', '.css', 'less'])
path = fsUtils.resolve(config.themeDirPaths..., name, ['', '.tmTheme', '.css', 'less'])
throw new Error("No theme exists named '#{name}'") unless path

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
$ = require 'jquery'
_ = require 'underscore'
{less} = require 'less'
@@ -32,14 +32,14 @@ window.setUpEnvironment = ->
requireStylesheet 'notification'
requireStylesheet 'markdown'
if nativeStylesheetPath = fs.resolveOnLoadPath(process.platform, ['css', 'less'])
if nativeStylesheetPath = fsUtils.resolveOnLoadPath(process.platform, ['css', 'less'])
requireStylesheet(nativeStylesheetPath)
# This method is only called when opening a real application window
window.startup = ->
directory = _.find ['/opt/boxen', '/opt/github', '/usr/local'], (dir) -> fs.isDirectory(dir)
directory = _.find ['/opt/boxen', '/opt/github', '/usr/local'], (dir) -> fsUtils.isDirectory(dir)
if directory
installAtomCommand(fs.join(directory, 'bin/atom'))
installAtomCommand(fsUtils.join(directory, 'bin/atom'))
else
console.warn "Failed to install `atom` binary"
@@ -73,11 +73,11 @@ window.shutdown = ->
window.git = null
window.installAtomCommand = (commandPath) ->
return if fs.exists(commandPath)
return if fsUtils.exists(commandPath)
bundledCommandPath = fs.resolve(window.resourcePath, 'atom.sh')
bundledCommandPath = fsUtils.resolve(window.resourcePath, 'atom.sh')
if bundledCommandPath?
fs.write(commandPath, fs.read(bundledCommandPath))
fsUtils.write(commandPath, fsUtils.read(bundledCommandPath))
spawn('chmod', ['u+x', commandPath])
window.handleWindowEvents = ->
@@ -99,7 +99,7 @@ window.deserializeWindowState = ->
window.project = deserialize(windowState.project) ? new Project(pathToOpen)
window.rootView = deserialize(windowState.rootView) ? new RootView
if !windowState.rootView and (!pathToOpen or fs.isFile(pathToOpen))
if !windowState.rootView and (!pathToOpen or fsUtils.isFile(pathToOpen))
rootView.open(pathToOpen)
$(rootViewParentSelector).append(rootView)
@@ -113,10 +113,10 @@ window.stylesheetElementForId = (id) ->
$("head style[id='#{id}']")
window.resolveStylesheet = (path) ->
if fs.extension(path).length > 0
fs.resolveOnLoadPath(path)
if fsUtils.extension(path).length > 0
fsUtils.resolveOnLoadPath(path)
else
fs.resolveOnLoadPath(path, ['css', 'less'])
fsUtils.resolveOnLoadPath(path, ['css', 'less'])
window.requireStylesheet = (path) ->
if fullPath = window.resolveStylesheet(path)
@@ -126,8 +126,8 @@ window.requireStylesheet = (path) ->
throw new Error("Could not find a file at path '#{path}'")
window.loadStylesheet = (path) ->
content = fs.read(path)
if fs.extension(path) == '.less'
content = fsUtils.read(path)
if fsUtils.extension(path) == '.less'
(new less.Parser).parse content, (e, tree) ->
throw new Error(e.message, path, e.line) if e
content = tree.toCSS()

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
PEG = require 'pegjs'
module.exports =
@@ -6,7 +6,7 @@ class CommandInterpreter
constructor: (@project) ->
eval: (string, activeEditSession) ->
@parser ?= PEG.buildParser(fs.read(require.resolve 'command-panel/lib/commands.pegjs'))
@parser ?= PEG.buildParser(fsUtils.read(require.resolve 'command-panel/lib/commands.pegjs'))
compositeCommand = @parser.parse(string)
@lastRelativeAddress = compositeCommand if compositeCommand.isRelativeAddress()
compositeCommand.execute(@project, activeEditSession)

View File

@@ -1,5 +1,5 @@
{View} = require 'space-pen'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
OperationView = require './operation-view'
$ = require 'jquery'
@@ -7,7 +7,7 @@ module.exports =
class PathView extends View
@content: ({path, previewList} = {}) ->
classes = ['path']
classes.push('readme') if fs.isReadmePath(path)
classes.push('readme') if fsUtils.isReadmePath(path)
@li class: classes.join(' '), =>
@div outlet: 'pathDetails', class: 'path-details', =>
@span class: 'path-name', path

View File

@@ -1,7 +1,7 @@
$ = require 'jquery'
ScrollView = require 'scroll-view'
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
PathView = require './path-view'
OperationView = require './operation-view'

View File

@@ -2,7 +2,7 @@
SelectList = require 'select-list'
_ = require 'underscore'
$ = require 'jquery'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
LoadPathsTask = require './load-paths-task'
module.exports =
@@ -45,22 +45,22 @@ class FuzzyFinderView extends SelectList
else if git.isStatusModified(status)
@div class: 'status modified'
ext = fs.extension(path)
if fs.isReadmePath(path)
ext = fsUtils.extension(path)
if fsUtils.isReadmePath(path)
typeClass = 'readme-name'
else if fs.isCompressedExtension(ext)
else if fsUtils.isCompressedExtension(ext)
typeClass = 'compressed-name'
else if fs.isImageExtension(ext)
else if fsUtils.isImageExtension(ext)
typeClass = 'image-name'
else if fs.isPdfExtension(ext)
else if fsUtils.isPdfExtension(ext)
typeClass = 'pdf-name'
else if fs.isBinaryExtension(ext)
else if fsUtils.isBinaryExtension(ext)
typeClass = 'binary-name'
else
typeClass = 'text-name'
@span fs.base(path), class: "file label #{typeClass}"
if folder = project.relativize(fs.directory(path))
@span fsUtils.base(path), class: "file label #{typeClass}"
if folder = project.relativize(fsUtils.directory(path))
@span " - #{folder}/", class: 'directory'
openPath: (path) ->
@@ -76,7 +76,7 @@ class FuzzyFinderView extends SelectList
confirmed : (path) ->
return unless path.length
if fs.isFile(path)
if fsUtils.isFile(path)
@cancel()
@openPath(path)
else
@@ -134,7 +134,7 @@ class FuzzyFinderView extends SelectList
populateGitStatusPaths: ->
paths = []
paths.push(path) for path, status of git.statuses when fs.isFile(path)
paths.push(path) for path, status of git.statuses when fsUtils.isFile(path)
@setArray(paths)

View File

@@ -1,5 +1,5 @@
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class LoadPathsTask
@@ -18,7 +18,7 @@ class LoadPathsTask
path = path.substring(rootPath.length + 1)
for segment in path.split('/')
return true if _.contains(ignoredNames, segment)
ignoreGitIgnoredFiles and git?.isPathIgnored(fs.join(rootPath, path))
ignoreGitIgnoredFiles and git?.isPathIgnored(fsUtils.join(rootPath, path))
onFile = (path) ->
return if @aborted
paths.push(path) unless isIgnored(path)
@@ -27,7 +27,7 @@ class LoadPathsTask
onDone = =>
@callback(paths) unless @aborted
fs.traverseTree(rootPath, onFile, onDirectory, onDone)
fsUtils.traverseTree(rootPath, onFile, onDirectory, onDone)
abort: ->
@aborted = true

View File

@@ -4,7 +4,7 @@ LoadPathsTask = require 'fuzzy-finder/lib/load-paths-task'
_ = require 'underscore'
$ = require 'jquery'
{$$} = require 'space-pen'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
describe 'FuzzyFinder', ->
[finderView] = []
@@ -57,7 +57,7 @@ describe 'FuzzyFinder', ->
runs ->
expect(finderView.list.children('li').length).toBe paths.length
for path in paths
expect(finderView.list.find("li:contains(#{fs.base(path)})")).toExist()
expect(finderView.list.find("li:contains(#{fsUtils.base(path)})")).toExist()
expect(finderView.list.children().first()).toHaveClass 'selected'
expect(finderView.find(".loading")).not.toBeVisible()
@@ -218,16 +218,16 @@ describe 'FuzzyFinder', ->
editor = rootView.getActiveView()
originalText = editor.getText()
originalPath = editor.getPath()
fs.write(originalPath, 'making a change for the better')
fsUtils.write(originalPath, 'making a change for the better')
git.getPathStatus(originalPath)
newPath = project.resolve('newsample.js')
fs.write(newPath, '')
fsUtils.write(newPath, '')
git.getPathStatus(newPath)
afterEach ->
fs.write(originalPath, originalText)
fs.remove(newPath) if fs.exists(newPath)
fsUtils.write(originalPath, originalText)
fsUtils.remove(newPath) if fsUtils.exists(newPath)
it "displays all new and modified paths", ->
expect(rootView.find('.fuzzy-finder')).not.toExist()
@@ -468,11 +468,11 @@ describe 'FuzzyFinder', ->
originalText = editor.getText()
originalPath = editor.getPath()
newPath = project.resolve('newsample.js')
fs.write(newPath, '')
fsUtils.write(newPath, '')
afterEach ->
fs.write(originalPath, originalText)
fs.remove(newPath) if fs.exists(newPath)
fsUtils.write(originalPath, originalText)
fsUtils.remove(newPath) if fsUtils.exists(newPath)
describe "when a modified file is shown in the list", ->
it "displays the modified icon", ->

View File

@@ -1,4 +1,3 @@
fs = require 'fs-utils'
$ = require 'jquery'
ScrollView = require 'scroll-view'
{$$$} = require 'space-pen'

View File

@@ -2,7 +2,7 @@
Editor = require 'editor'
$ = require 'jquery'
_ = require 'underscore'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class PackageGeneratorView extends View
@@ -24,7 +24,7 @@ class PackageGeneratorView extends View
@previouslyFocusedElement = $(':focus')
@message.text("Enter package path")
placeholderName = "package-name"
@miniEditor.setText(fs.join(config.userPackagesDirPath, placeholderName));
@miniEditor.setText(fsUtils.join(config.userPackagesDirPath, placeholderName));
pathLength = @miniEditor.getText().length
@miniEditor.setSelectedBufferRange([[0, pathLength - placeholderName.length], [0, pathLength]])
@@ -44,11 +44,11 @@ class PackageGeneratorView extends View
getPackagePath: ->
packagePath = @miniEditor.getText()
packageName = _.dasherize(fs.base(packagePath))
fs.join(fs.directory(packagePath), packageName)
packageName = _.dasherize(fsUtils.base(packagePath))
fsUtils.join(fsUtils.directory(packagePath), packageName)
validPackagePath: ->
if fs.exists(@getPackagePath())
if fsUtils.exists(@getPackagePath())
@error.text("Path already exists at '#{@getPackagePath()}'")
@error.show()
false
@@ -56,22 +56,22 @@ class PackageGeneratorView extends View
true
createPackageFiles: ->
templatePath = fs.resolveOnLoadPath(fs.join("package-generator", "template"))
packageName = fs.base(@getPackagePath())
templatePath = fsUtils.resolveOnLoadPath(fsUtils.join("package-generator", "template"))
packageName = fsUtils.base(@getPackagePath())
for path in fs.listTree(templatePath)
for path in fsUtils.listTree(templatePath)
relativePath = path.replace(templatePath, "")
relativePath = relativePath.replace(/^\//, '')
relativePath = relativePath.replace(/\.template$/, '')
relativePath = @replacePackageNamePlaceholders(relativePath, packageName)
sourcePath = fs.join(@getPackagePath(), relativePath)
if fs.isDirectory(path)
fs.makeTree(sourcePath)
if fs.isFile(path)
fs.makeTree(fs.directory(sourcePath))
content = @replacePackageNamePlaceholders(fs.read(path), packageName)
fs.write(sourcePath, content)
sourcePath = fsUtils.join(@getPackagePath(), relativePath)
if fsUtils.isDirectory(path)
fsUtils.makeTree(sourcePath)
if fsUtils.isFile(path)
fsUtils.makeTree(fsUtils.directory(sourcePath))
content = @replacePackageNamePlaceholders(fsUtils.read(path), packageName)
fsUtils.write(sourcePath, content)
replacePackageNamePlaceholders: (string, packageName) ->
placeholderRegex = /__(?:(package-name)|([pP]ackageName)|(package_name))__/g

View File

@@ -1,5 +1,5 @@
RootView = require 'root-view'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
describe 'Package Generator', ->
[packageGenerator] = []
@@ -35,21 +35,21 @@ describe 'Package Generator', ->
packageName = "sweet-package-dude"
packagePath = "/tmp/atom-packages/#{packageName}"
fs.remove(packagePath) if fs.exists(packagePath)
fsUtils.remove(packagePath) if fsUtils.exists(packagePath)
afterEach ->
fs.remove(packagePath) if fs.exists(packagePath)
fsUtils.remove(packagePath) if fsUtils.exists(packagePath)
it "forces the package's name to be lowercase with dashes", ->
packageName = "CamelCaseIsForTheBirds"
packagePath = fs.join(fs.directory(packagePath), packageName)
packagePath = fsUtils.join(fsUtils.directory(packagePath), packageName)
rootView.trigger("package-generator:generate")
packageGeneratorView = rootView.find(".package-generator").view()
packageGeneratorView.miniEditor.setText(packagePath)
packageGeneratorView.trigger "core:confirm"
expect(packagePath).not.toExistOnDisk()
expect(fs.join(fs.directory(packagePath), "camel-case-is-for-the-birds")).toExistOnDisk()
expect(fsUtils.join(fsUtils.directory(packagePath), "camel-case-is-for-the-birds")).toExistOnDisk()
it "correctly lays out the package files and closes the package generator view", ->
rootView.attachToDom()
@@ -77,16 +77,16 @@ describe 'Package Generator', ->
packageGeneratorView.miniEditor.setText(packagePath)
packageGeneratorView.trigger "core:confirm"
lines = fs.read("#{packagePath}/package.cson").split("\n")
lines = fsUtils.read("#{packagePath}/package.cson").split("\n")
expect(lines[0]).toBe "'main': 'lib\/#{packageName}'"
lines = fs.read("#{packagePath}/lib/#{packageName}.coffee").split("\n")
lines = fsUtils.read("#{packagePath}/lib/#{packageName}.coffee").split("\n")
expect(lines[0]).toBe "SweetPackageDudeView = require 'sweet-package-dude/lib/sweet-package-dude-view'"
expect(lines[3]).toBe " sweetPackageDudeView: null"
it "displays an error when the package path already exists", ->
rootView.attachToDom()
fs.makeTree(packagePath)
fsUtils.makeTree(packagePath)
rootView.trigger("package-generator:generate")
packageGeneratorView = rootView.find(".package-generator").view()

View File

@@ -1,4 +1,4 @@
PEG = require 'pegjs'
fs = require 'fs-utils'
grammarSrc = fs.read(require.resolve('./snippet-body.pegjs'))
fsUtils = require 'fs-utils'
grammarSrc = fsUtils.read(require.resolve('./snippet-body.pegjs'))
module.exports = PEG.buildParser(grammarSrc, trackLineAndColumn: true)

View File

@@ -3,7 +3,6 @@ RootView = require 'root-view'
Buffer = require 'text-buffer'
Editor = require 'editor'
_ = require 'underscore'
fs = require 'fs-utils'
Package = require 'package'
describe "Snippets extension", ->

View File

@@ -2,7 +2,7 @@ $ = require 'jquery'
_ = require 'underscore'
RootView = require 'root-view'
StatusBar = require 'status-bar/lib/status-bar-view'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
describe "StatusBar", ->
[editor, statusBar, buffer] = []
@@ -57,7 +57,7 @@ describe "StatusBar", ->
describe "when the buffer content has changed from the content on disk", ->
it "disables the buffer modified indicator on save", ->
path = "/tmp/atom-whitespace.txt"
fs.write(path, "")
fsUtils.write(path, "")
rootView.open(path)
expect(statusBar.bufferModified.text()).toBe ''
editor.insertText("\n")
@@ -107,12 +107,12 @@ describe "StatusBar", ->
describe "git branch label", ->
beforeEach ->
fs.remove('/tmp/.git') if fs.isDirectory('/tmp/.git')
fsUtils.remove('/tmp/.git') if fsUtils.isDirectory('/tmp/.git')
rootView.attachToDom()
it "displays the current branch for files in repositories", ->
path = require.resolve('fixtures/git/master.git/HEAD')
project.setPath(fs.resolveOnLoadPath('fixtures/git/master.git'))
project.setPath(fsUtils.resolveOnLoadPath('fixtures/git/master.git'))
rootView.open(path)
expect(statusBar.branchArea).toBeVisible()
expect(statusBar.branchLabel.text()).toBe 'master'
@@ -128,22 +128,22 @@ describe "StatusBar", ->
beforeEach ->
path = require.resolve('fixtures/git/working-dir/file.txt')
newPath = fs.join(fs.resolveOnLoadPath('fixtures/git/working-dir'), 'new.txt')
fs.write(newPath, "I'm new here")
ignoredPath = fs.join(fs.resolveOnLoadPath('fixtures/git/working-dir'), 'ignored.txt')
fs.write(ignoredPath, 'ignored.txt')
newPath = fsUtils.join(fsUtils.resolveOnLoadPath('fixtures/git/working-dir'), 'new.txt')
fsUtils.write(newPath, "I'm new here")
ignoredPath = fsUtils.join(fsUtils.resolveOnLoadPath('fixtures/git/working-dir'), 'ignored.txt')
fsUtils.write(ignoredPath, 'ignored.txt')
git.getPathStatus(path)
git.getPathStatus(newPath)
originalPathText = fs.read(path)
originalPathText = fsUtils.read(path)
rootView.attachToDom()
afterEach ->
fs.write(path, originalPathText)
fs.remove(newPath) if fs.exists(newPath)
fs.remove(ignoredPath) if fs.exists(ignoredPath)
fsUtils.write(path, originalPathText)
fsUtils.remove(newPath) if fsUtils.exists(newPath)
fsUtils.remove(ignoredPath) if fsUtils.exists(ignoredPath)
it "displays the modified icon for a changed file", ->
fs.write(path, "i've changed for the worse")
fsUtils.write(path, "i've changed for the worse")
git.getPathStatus(path)
rootView.open(path)
expect(statusBar.gitStatusIcon).toHaveClass('modified-status-icon')
@@ -161,16 +161,16 @@ describe "StatusBar", ->
expect(statusBar.gitStatusIcon).toHaveClass('ignored-status-icon')
it "updates when a status-changed event occurs", ->
fs.write(path, "i've changed for the worse")
fsUtils.write(path, "i've changed for the worse")
git.getPathStatus(path)
rootView.open(path)
expect(statusBar.gitStatusIcon).toHaveClass('modified-status-icon')
fs.write(path, originalPathText)
fsUtils.write(path, originalPathText)
git.getPathStatus(path)
expect(statusBar.gitStatusIcon).not.toHaveClass('modified-status-icon')
it "displays the diff stat for modified files", ->
fs.write(path, "i've changed for the worse")
fsUtils.write(path, "i've changed for the worse")
git.getPathStatus(path)
rootView.open(path)
expect(statusBar.gitStatusIcon).toHaveText('+1,-1')

View File

@@ -1,13 +1,13 @@
ctags = require 'ctags'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
getTagsFile: (path) ->
tagsFile = fs.join(path, "tags")
return tagsFile if fs.isFile(tagsFile)
tagsFile = fsUtils.join(path, "tags")
return tagsFile if fsUtils.isFile(tagsFile)
tagsFile = fs.join(path, "TAGS")
return tagsFile if fs.isFile(tagsFile)
tagsFile = fsUtils.join(path, "TAGS")
return tagsFile if fsUtils.isFile(tagsFile)
loadTags: (path) ->
tagsFile = @getTagsFile(path)

View File

@@ -3,7 +3,7 @@ SelectList = require 'select-list'
TagGenerator = require './tag-generator'
TagReader = require './tag-reader'
Point = require 'point'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
$ = require 'jquery'
module.exports =
@@ -30,7 +30,7 @@ class SymbolsView extends SelectList
if position
text = "Line #{position.row + 1}"
else
text = fs.base(file)
text = fsUtils.base(file)
@div text, class: 'right function-details'
toggleFileSymbols: ->
@@ -75,7 +75,7 @@ class SymbolsView extends SelectList
setTimeout (=> @cancel()), 2000
confirmed : (tag) ->
if tag.file and not fs.isFile(project.resolve(tag.file))
if tag.file and not fsUtils.isFile(project.resolve(tag.file))
@setError('Selected file does not exist')
setTimeout((=> @setError()), 2000)
else
@@ -104,8 +104,8 @@ class SymbolsView extends SelectList
pattern = $.trim(tag.pattern?.replace(/(^^\/\^)|(\$\/$)/g, '')) # Remove leading /^ and trailing $/
return unless pattern
file = project.resolve(tag.file)
return unless fs.isFile(file)
for line, index in fs.read(file).split('\n')
return unless fsUtils.isFile(file)
for line, index in fsUtils.read(file).split('\n')
return new Point(index, 0) if pattern is $.trim(line)
goToDeclaration: ->
@@ -123,7 +123,7 @@ class SymbolsView extends SelectList
continue unless position
tags.push
file: match.file
name: fs.base(match.file)
name: fsUtils.base(match.file)
position: position
@miniEditor.show()
@setArray(tags)

View File

@@ -1,7 +1,7 @@
Point = require 'point'
$ = require 'jquery'
BufferedProcess = require 'buffered-process'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class TagGenerator
@@ -18,7 +18,7 @@ class TagGenerator
generate: ->
deferred = $.Deferred()
tags = []
command = fs.resolveOnLoadPath('ctags')
command = fsUtils.resolveOnLoadPath('ctags')
args = ['--fields=+KS', '-nf', '-', @path]
stdout = (lines) =>
for line in lines.split('\n')

View File

@@ -1,4 +1,4 @@
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
$ = require 'jquery'
LoadTagsTask = require './load-tags-task'
ctags = require 'ctags'
@@ -7,7 +7,7 @@ module.exports =
getTagsFile: (project) ->
tagsFile = project.resolve("tags") or project.resolve("TAGS")
return tagsFile if fs.isFile(tagsFile)
return tagsFile if fsUtils.isFile(tagsFile)
find: (editor) ->
word = editor.getTextInRange(editor.getCursor().getCurrentWordBufferRange())

View File

@@ -1,7 +1,7 @@
RootView = require 'root-view'
SymbolsView = require 'symbols-view/lib/symbols-view'
TagGenerator = require 'symbols-view/lib/tag-generator'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
describe "SymbolsView", ->
[symbolsView, setArraySpy] = []
@@ -162,11 +162,11 @@ describe "SymbolsView", ->
beforeEach ->
renamedPath = project.resolve("tagged-duplicate-renamed.js")
fs.remove(renamedPath) if fs.exists(renamedPath)
fs.move(project.resolve("tagged-duplicate.js"), renamedPath)
fsUtils.remove(renamedPath) if fsUtils.exists(renamedPath)
fsUtils.move(project.resolve("tagged-duplicate.js"), renamedPath)
afterEach ->
fs.move(renamedPath, project.resolve("tagged-duplicate.js"))
fsUtils.move(renamedPath, project.resolve("tagged-duplicate.js"))
it "doesn't display the tag", ->
rootView.open("tagged.js")
@@ -205,11 +205,11 @@ describe "SymbolsView", ->
beforeEach ->
renamedPath = project.resolve("tagged-renamed.js")
fs.remove(renamedPath) if fs.exists(renamedPath)
fs.move(project.resolve("tagged.js"), renamedPath)
fsUtils.remove(renamedPath) if fsUtils.exists(renamedPath)
fsUtils.move(project.resolve("tagged.js"), renamedPath)
afterEach ->
fs.move(renamedPath, project.resolve("tagged.js"))
fsUtils.move(renamedPath, project.resolve("tagged.js"))
it "doesn't open the editor", ->
rootView.trigger "symbols-view:toggle-project-symbols"

View File

@@ -1,6 +1,6 @@
$ = require 'jquery'
{View} = require 'space-pen'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class TabView extends View
@@ -46,7 +46,7 @@ class TabView extends View
if fileNameText?
duplicates = @editor.getEditSessions().filter (session) -> fileNameText is session.buffer.getBaseName()
if duplicates.length > 1
directory = fs.base(fs.directory(@editSession.getPath()))
directory = fsUtils.base(fsUtils.directory(@editSession.getPath()))
fileNameText = "#{fileNameText} - #{directory}" if directory
else
fileNameText = 'untitled'

View File

@@ -4,7 +4,6 @@ RootView = require 'root-view'
Pane = require 'pane'
PaneContainer = require 'pane-container'
TabBarView = require 'tabs/lib/tab-bar-view'
fs = require 'fs-utils'
{View} = require 'space-pen'
describe "Tabs package main", ->

View File

@@ -1,6 +1,6 @@
{View} = require 'space-pen'
Editor = require 'editor'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
$ = require 'jquery'
module.exports =
@@ -21,8 +21,8 @@ class Dialog extends View
@miniEditor.setText(path)
if select
extension = fs.extension(path)
baseName = fs.base(path)
extension = fsUtils.extension(path)
baseName = fsUtils.base(path)
if baseName is extension
selectionEnd = path.length
else

View File

@@ -1,7 +1,7 @@
{View} = require 'space-pen'
$ = require 'jquery'
Git = require 'git'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class FileView extends View
@@ -17,16 +17,16 @@ class FileView extends View
if @file.symlink
@fileName.addClass('symlink-icon')
else
extension = fs.extension(@getPath())
if fs.isReadmePath(@getPath())
extension = fsUtils.extension(@getPath())
if fsUtils.isReadmePath(@getPath())
@fileName.addClass('readme-icon')
else if fs.isCompressedExtension(extension)
else if fsUtils.isCompressedExtension(extension)
@fileName.addClass('compressed-icon')
else if fs.isImageExtension(extension)
else if fsUtils.isImageExtension(extension)
@fileName.addClass('image-icon')
else if fs.isPdfExtension(extension)
else if fsUtils.isPdfExtension(extension)
@fileName.addClass('pdf-icon')
else if fs.isBinaryExtension(extension)
else if fsUtils.isBinaryExtension(extension)
@fileName.addClass('binary-icon')
else
@fileName.addClass('text-icon')

View File

@@ -4,7 +4,7 @@ Directory = require 'directory'
DirectoryView = require './directory-view'
FileView = require './file-view'
Dialog = require './dialog'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
$ = require 'jquery'
_ = require 'underscore'
@@ -230,14 +230,14 @@ class TreeView extends ScrollView
dialog.close()
return
if fs.exists(newPath)
if fsUtils.exists(newPath)
dialog.showError("Error: #{newPath} already exists. Try a different path.")
return
directoryPath = fs.directory(newPath)
directoryPath = fsUtils.directory(newPath)
try
fs.makeTree(directoryPath) unless fs.exists(directoryPath)
fs.move(oldPath, newPath)
fsUtils.makeTree(directoryPath) unless fsUtils.exists(directoryPath)
fsUtils.move(oldPath, newPath)
dialog.close()
catch e
dialog.showError("Error: #{e.message} Try a different path.")
@@ -254,13 +254,13 @@ class TreeView extends ScrollView
"You are deleting #{entry.getPath()}",
"Move to Trash", (=> $native.moveToTrash(entry.getPath())),
"Cancel", null
"Delete", (=> fs.remove(entry.getPath()))
"Delete", (=> fsUtils.remove(entry.getPath()))
)
add: ->
selectedEntry = @selectedEntry() or @root
selectedPath = selectedEntry.getPath()
directoryPath = if fs.isFile(selectedPath) then fs.directory(selectedPath) else selectedPath
directoryPath = if fsUtils.isFile(selectedPath) then fsUtils.directory(selectedPath) else selectedPath
relativeDirectoryPath = project.relativize(directoryPath)
relativeDirectoryPath += '/' if relativeDirectoryPath.length > 0
@@ -274,16 +274,16 @@ class TreeView extends ScrollView
endsWithDirectorySeparator = /\/$/.test(relativePath)
path = project.resolve(relativePath)
try
if fs.exists(path)
pathType = if fs.isFile(path) then "file" else "directory"
if fsUtils.exists(path)
pathType = if fsUtils.isFile(path) then "file" else "directory"
dialog.showError("Error: A #{pathType} already exists at path '#{path}'. Try a different path.")
else if endsWithDirectorySeparator
fs.makeTree(path)
fsUtils.makeTree(path)
dialog.cancel()
@entryForPath(path).buildEntries()
@selectEntryForPath(path)
else
fs.write(path, "")
fsUtils.write(path, "")
rootView.open(path)
dialog.close()
catch e

View File

@@ -4,7 +4,7 @@ _ = require 'underscore'
TreeView = require 'tree-view/lib/tree-view'
RootView = require 'root-view'
Directory = require 'directory'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
describe "TreeView", ->
[treeView, sampleJs, sampleTxt] = []
@@ -259,20 +259,20 @@ describe "TreeView", ->
sampleJs.trigger clickEvent(originalEvent: { detail: 1 })
expect(sampleJs).toHaveClass 'selected'
expect(rootView.getActiveView().getPath()).toBe fs.resolveOnLoadPath('fixtures/tree-view/tree-view.js')
expect(rootView.getActiveView().getPath()).toBe fsUtils.resolveOnLoadPath('fixtures/tree-view/tree-view.js')
expect(rootView.getActiveView().isFocused).toBeFalsy()
sampleTxt.trigger clickEvent(originalEvent: { detail: 1 })
expect(sampleTxt).toHaveClass 'selected'
expect(treeView.find('.selected').length).toBe 1
expect(rootView.getActiveView().getPath()).toBe fs.resolveOnLoadPath('fixtures/tree-view/tree-view.txt')
expect(rootView.getActiveView().getPath()).toBe fsUtils.resolveOnLoadPath('fixtures/tree-view/tree-view.txt')
expect(rootView.getActiveView().isFocused).toBeFalsy()
describe "when a file is double-clicked", ->
it "selects the file and opens it in the active editor on the first click, then changes focus to the active editor on the second", ->
sampleJs.trigger clickEvent(originalEvent: { detail: 1 })
expect(sampleJs).toHaveClass 'selected'
expect(rootView.getActiveView().getPath()).toBe fs.resolveOnLoadPath('fixtures/tree-view/tree-view.js')
expect(rootView.getActiveView().getPath()).toBe fsUtils.resolveOnLoadPath('fixtures/tree-view/tree-view.js')
expect(rootView.getActiveView().isFocused).toBeFalsy()
sampleJs.trigger clickEvent(originalEvent: { detail: 2 })
@@ -568,7 +568,7 @@ describe "TreeView", ->
it "opens the file in the editor and focuses it", ->
treeView.root.find('.file:contains(tree-view.js)').click()
treeView.root.trigger 'tree-view:open-selected-entry'
expect(rootView.getActiveView().getPath()).toBe fs.resolveOnLoadPath('fixtures/tree-view/tree-view.js')
expect(rootView.getActiveView().getPath()).toBe fsUtils.resolveOnLoadPath('fixtures/tree-view/tree-view.js')
expect(rootView.getActiveView().isFocused).toBeTruthy()
describe "when a directory is selected", ->
@@ -593,14 +593,14 @@ describe "TreeView", ->
beforeEach ->
atom.deactivatePackage('tree-view')
rootDirPath = fs.join(fs.absolute("/tmp"), "atom-tests")
fs.remove(rootDirPath) if fs.exists(rootDirPath)
rootDirPath = fsUtils.join(fsUtils.absolute("/tmp"), "atom-tests")
fsUtils.remove(rootDirPath) if fsUtils.exists(rootDirPath)
dirPath = fs.join(rootDirPath, "test-dir")
filePath = fs.join(dirPath, "test-file.txt")
fs.makeDirectory(rootDirPath)
fs.makeDirectory(dirPath)
fs.write(filePath, "doesn't matter")
dirPath = fsUtils.join(rootDirPath, "test-dir")
filePath = fsUtils.join(dirPath, "test-file.txt")
fsUtils.makeDirectory(rootDirPath)
fsUtils.makeDirectory(dirPath)
fsUtils.write(filePath, "doesn't matter")
project.setPath(rootDirPath)
@@ -612,7 +612,7 @@ describe "TreeView", ->
fileView = treeView.find('.file:contains(test-file.txt)').view()
afterEach ->
fs.remove(rootDirPath) if fs.exists(rootDirPath)
fsUtils.remove(rootDirPath) if fsUtils.exists(rootDirPath)
describe "tree-view:add", ->
addDialog = null
@@ -638,16 +638,16 @@ describe "TreeView", ->
dirView.directory.trigger 'contents-changed'
expect(directoryChangeHandler).toHaveBeenCalled()
expect(treeView.find('.selected').text()).toBe fs.base(filePath)
expect(treeView.find('.selected').text()).toBe fsUtils.base(filePath)
describe "when the path without a trailing '/' is changed and confirmed", ->
describe "when no file exists at that location", ->
it "add a file, closes the dialog and selects the file in the tree-view", ->
newPath = fs.join(dirPath, "new-test-file.txt")
addDialog.miniEditor.insertText(fs.base(newPath))
newPath = fsUtils.join(dirPath, "new-test-file.txt")
addDialog.miniEditor.insertText(fsUtils.base(newPath))
addDialog.trigger 'core:confirm'
expect(fs.exists(newPath)).toBeTruthy()
expect(fs.isFile(newPath)).toBeTruthy()
expect(fsUtils.exists(newPath)).toBeTruthy()
expect(fsUtils.isFile(newPath)).toBeTruthy()
expect(addDialog.parent()).not.toExist()
expect(rootView.getActiveView().getPath()).toBe newPath
@@ -655,13 +655,13 @@ describe "TreeView", ->
dirView.entries.find("> .file").length > 1
runs ->
expect(treeView.find('.selected').text()).toBe fs.base(newPath)
expect(treeView.find('.selected').text()).toBe fsUtils.base(newPath)
describe "when a file already exists at that location", ->
it "shows an error message and does not close the dialog", ->
newPath = fs.join(dirPath, "new-test-file.txt")
fs.write(newPath, '')
addDialog.miniEditor.insertText(fs.base(newPath))
newPath = fsUtils.join(dirPath, "new-test-file.txt")
fsUtils.write(newPath, '')
addDialog.miniEditor.insertText(fsUtils.base(newPath))
addDialog.trigger 'core:confirm'
expect(addDialog.prompt.text()).toContain 'Error'
@@ -673,11 +673,11 @@ describe "TreeView", ->
describe "when no file or directory exists at the given path", ->
it "adds a directory and closes the dialog", ->
treeView.attachToDom()
newPath = fs.join(dirPath, "new/dir")
newPath = fsUtils.join(dirPath, "new/dir")
addDialog.miniEditor.insertText("new/dir/")
addDialog.trigger 'core:confirm'
expect(fs.exists(newPath)).toBeTruthy()
expect(fs.isDirectory(newPath)).toBeTruthy()
expect(fsUtils.exists(newPath)).toBeTruthy()
expect(fsUtils.isDirectory(newPath)).toBeTruthy()
expect(addDialog.parent()).not.toExist()
expect(rootView.getActiveView().getPath()).not.toBe newPath
expect(treeView.find(".tree-view")).toMatchSelector(':focus')
@@ -686,11 +686,11 @@ describe "TreeView", ->
it "selects the created directory", ->
treeView.attachToDom()
newPath = fs.join(dirPath, "new2/")
newPath = fsUtils.join(dirPath, "new2/")
addDialog.miniEditor.insertText("new2/")
addDialog.trigger 'core:confirm'
expect(fs.exists(newPath)).toBeTruthy()
expect(fs.isDirectory(newPath)).toBeTruthy()
expect(fsUtils.exists(newPath)).toBeTruthy()
expect(fsUtils.isDirectory(newPath)).toBeTruthy()
expect(addDialog.parent()).not.toExist()
expect(rootView.getActiveView().getPath()).not.toBe newPath
expect(treeView.find(".tree-view")).toMatchSelector(':focus')
@@ -699,8 +699,8 @@ describe "TreeView", ->
describe "when a file or directory already exists at the given path", ->
it "shows an error message and does not close the dialog", ->
newPath = fs.join(dirPath, "new-dir")
fs.makeDirectory(newPath)
newPath = fsUtils.join(dirPath, "new-dir")
fsUtils.makeDirectory(newPath)
addDialog.miniEditor.insertText("new-dir/")
addDialog.trigger 'core:confirm'
@@ -770,24 +770,24 @@ describe "TreeView", ->
waits 50 # The move specs cause too many false positives because of their async nature, so wait a little bit before we cleanup
it "opens a move dialog with the file's current path (excluding extension) populated", ->
extension = fs.extension(filePath)
fileNameWithoutExtension = fs.base(filePath, extension)
extension = fsUtils.extension(filePath)
fileNameWithoutExtension = fsUtils.base(filePath, extension)
expect(moveDialog).toExist()
expect(moveDialog.prompt.text()).toBe "Enter the new path for the file."
expect(moveDialog.miniEditor.getText()).toBe(project.relativize(filePath))
expect(moveDialog.miniEditor.getSelectedText()).toBe fs.base(fileNameWithoutExtension)
expect(moveDialog.miniEditor.getSelectedText()).toBe fsUtils.base(fileNameWithoutExtension)
expect(moveDialog.miniEditor.isFocused).toBeTruthy()
describe "when the path is changed and confirmed", ->
describe "when all the directories along the new path exist", ->
it "moves the file, updates the tree view, and closes the dialog", ->
newPath = fs.join(rootDirPath, 'renamed-test-file.txt')
newPath = fsUtils.join(rootDirPath, 'renamed-test-file.txt')
moveDialog.miniEditor.setText(newPath)
moveDialog.trigger 'core:confirm'
expect(fs.exists(newPath)).toBeTruthy()
expect(fs.exists(filePath)).toBeFalsy()
expect(fsUtils.exists(newPath)).toBeTruthy()
expect(fsUtils.exists(filePath)).toBeFalsy()
expect(moveDialog.parent()).not.toExist()
waitsFor "tree view to update", ->
@@ -800,7 +800,7 @@ describe "TreeView", ->
describe "when the directories along the new path don't exist", ->
it "creates the target directory before moving the file", ->
newPath = fs.join(rootDirPath, 'new/directory', 'renamed-test-file.txt')
newPath = fsUtils.join(rootDirPath, 'new/directory', 'renamed-test-file.txt')
moveDialog.miniEditor.setText(newPath)
moveDialog.trigger 'core:confirm'
@@ -809,14 +809,14 @@ describe "TreeView", ->
treeView.root.find('> .entries > .directory:contains(new)').length > 0
runs ->
expect(fs.exists(newPath)).toBeTruthy()
expect(fs.exists(filePath)).toBeFalsy()
expect(fsUtils.exists(newPath)).toBeTruthy()
expect(fsUtils.exists(filePath)).toBeFalsy()
describe "when a file or directory already exists at the target path", ->
it "shows an error message and does not close the dialog", ->
runs ->
fs.write(fs.join(rootDirPath, 'target.txt'), '')
newPath = fs.join(rootDirPath, 'target.txt')
fsUtils.write(fsUtils.join(rootDirPath, 'target.txt'), '')
newPath = fsUtils.join(rootDirPath, 'target.txt')
moveDialog.miniEditor.setText(newPath)
moveDialog.trigger 'core:confirm'
@@ -844,8 +844,8 @@ describe "TreeView", ->
[dotFilePath, dotFileView, moveDialog] = []
beforeEach ->
dotFilePath = fs.join(dirPath, ".dotfile")
fs.write(dotFilePath, "dot")
dotFilePath = fsUtils.join(dirPath, ".dotfile")
fsUtils.write(dotFilePath, "dot")
dirView.collapse()
dirView.expand()
dotFileView = treeView.find('.file:contains(.dotfile)').view()
@@ -875,22 +875,22 @@ describe "TreeView", ->
temporaryFilePath = null
beforeEach ->
temporaryFilePath = fs.join(fs.resolveOnLoadPath('fixtures/tree-view'), 'temporary')
if fs.exists(temporaryFilePath)
fs.remove(temporaryFilePath)
temporaryFilePath = fsUtils.join(fsUtils.resolveOnLoadPath('fixtures/tree-view'), 'temporary')
if fsUtils.exists(temporaryFilePath)
fsUtils.remove(temporaryFilePath)
waits(20)
afterEach ->
fs.remove(temporaryFilePath) if fs.exists(temporaryFilePath)
fsUtils.remove(temporaryFilePath) if fsUtils.exists(temporaryFilePath)
describe "when a file is added or removed in an expanded directory", ->
it "updates the directory view to display the directory's new contents", ->
entriesCountBefore = null
runs ->
expect(fs.exists(temporaryFilePath)).toBeFalsy()
expect(fsUtils.exists(temporaryFilePath)).toBeFalsy()
entriesCountBefore = treeView.root.entries.find('.entry').length
fs.write temporaryFilePath, 'hi'
fsUtils.write temporaryFilePath, 'hi'
waitsFor "directory view contens to refresh", ->
treeView.root.entries.find('.entry').length == entriesCountBefore + 1
@@ -898,7 +898,7 @@ describe "TreeView", ->
runs ->
expect(treeView.root.entries.find('.entry').length).toBe entriesCountBefore + 1
expect(treeView.root.entries.find('.file:contains(temporary)')).toExist()
fs.remove(temporaryFilePath)
fsUtils.remove(temporaryFilePath)
waitsFor "directory view contens to refresh", ->
treeView.root.entries.find('.entry').length == entriesCountBefore
@@ -907,12 +907,12 @@ describe "TreeView", ->
[ignoreFile] = []
beforeEach ->
ignoreFile = fs.join(fs.resolveOnLoadPath('fixtures/tree-view'), '.gitignore')
fs.write(ignoreFile, 'tree-view.js')
ignoreFile = fsUtils.join(fsUtils.resolveOnLoadPath('fixtures/tree-view'), '.gitignore')
fsUtils.write(ignoreFile, 'tree-view.js')
config.set "core.hideGitIgnoredFiles", false
afterEach ->
fs.remove(ignoreFile) if fs.exists(ignoreFile)
fsUtils.remove(ignoreFile) if fsUtils.exists(ignoreFile)
it "hides git-ignored files if the option is set, but otherwise shows them", ->
expect(treeView.find('.file:contains(tree-view.js)').length).toBe 1
@@ -930,17 +930,17 @@ describe "TreeView", ->
beforeEach ->
config.set "core.hideGitIgnoredFiles", false
ignoreFile = fs.join(fs.resolveOnLoadPath('fixtures/tree-view'), '.gitignore')
fs.write(ignoreFile, 'tree-view.js')
ignoreFile = fsUtils.join(fsUtils.resolveOnLoadPath('fixtures/tree-view'), '.gitignore')
fsUtils.write(ignoreFile, 'tree-view.js')
git.getPathStatus(ignoreFile)
newFile = fs.join(fs.resolveOnLoadPath('fixtures/tree-view/dir2'), 'new2')
fs.write(newFile, '')
newFile = fsUtils.join(fsUtils.resolveOnLoadPath('fixtures/tree-view/dir2'), 'new2')
fsUtils.write(newFile, '')
git.getPathStatus(newFile)
modifiedFile = fs.join(fs.resolveOnLoadPath('fixtures/tree-view/dir1'), 'file1')
originalFileContent = fs.read(modifiedFile)
fs.write modifiedFile, 'ch ch changes'
modifiedFile = fsUtils.join(fsUtils.resolveOnLoadPath('fixtures/tree-view/dir1'), 'file1')
originalFileContent = fsUtils.read(modifiedFile)
fsUtils.write modifiedFile, 'ch ch changes'
git.getPathStatus(modifiedFile)
treeView.updateRoot()
@@ -948,9 +948,9 @@ describe "TreeView", ->
treeView.root.entries.find('.directory:contains(dir2)').view().expand()
afterEach ->
fs.remove(ignoreFile) if fs.exists(ignoreFile)
fs.remove(newFile) if fs.exists(newFile)
fs.write modifiedFile, originalFileContent
fsUtils.remove(ignoreFile) if fsUtils.exists(ignoreFile)
fsUtils.remove(newFile) if fsUtils.exists(newFile)
fsUtils.write modifiedFile, originalFileContent
describe "when a file is modified", ->
it "adds a custom style", ->

View File

@@ -1,12 +1,12 @@
RootView = require 'root-view'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
describe "Whitespace", ->
[editor, path] = []
beforeEach ->
path = "/tmp/atom-whitespace.txt"
fs.write(path, "")
fsUtils.write(path, "")
window.rootView = new RootView
rootView.open(path)
@@ -16,10 +16,10 @@ describe "Whitespace", ->
editor = rootView.getActiveView()
afterEach ->
fs.remove(path) if fs.exists(path)
fsUtils.remove(path) if fsUtils.exists(path)
it "strips trailing whitespace before an editor saves a buffer", ->
spyOn(fs, 'write')
spyOn(fsUtils, 'write')
config.set("whitespace.ensureSingleTrailingNewline", false)
config.update()
@@ -79,4 +79,3 @@ describe "Whitespace", ->
editor.insertText "no trailing newline"
editor.getBuffer().save()
expect(editor.getText()).toBe "no trailing newline"

View File

@@ -1,7 +1,7 @@
_ = require 'underscore'
child_process = require 'child_process'
EventEmitter = require 'event-emitter'
fs = require 'fs-utils'
fsUtils = require 'fs-utils'
module.exports =
class Task