From 0b5ea8578f14c316cac1794b03220912738da694 Mon Sep 17 00:00:00 2001 From: Corey Johnson & Nathan Sobo Date: Tue, 19 Feb 2013 15:15:11 -0700 Subject: [PATCH] Eliminate `rootView.project` references. --- benchmark/benchmark-suite.coffee | 4 +- spec/app/editor-spec.coffee | 51 +++++++++---------- spec/app/grammar-view-spec.coffee | 2 +- spec/app/root-view-spec.coffee | 30 +++++------ spec/app/window-spec.coffee | 4 +- src/app/editor.coffee | 2 +- src/app/grammar-view.coffee | 4 +- src/app/root-view.coffee | 20 ++++---- src/app/window.coffee | 2 +- .../lib/command-panel-view.coffee | 2 +- .../spec/command-panel-spec.coffee | 3 +- .../fuzzy-finder/lib/fuzzy-finder-view.coffee | 14 ++--- .../fuzzy-finder/lib/fuzzy-finder.coffee | 4 +- .../fuzzy-finder/lib/load-paths-task.coffee | 2 +- .../spec/fuzzy-finder-spec.coffee | 12 ++--- .../spec/markdown-preview-spec.coffee | 2 +- .../status-bar/lib/status-bar-view.coffee | 2 +- .../status-bar/spec/status-bar-spec.coffee | 6 +-- .../symbols-view/lib/symbols-view.coffee | 4 +- .../symbols-view/lib/tag-reader.coffee | 2 +- .../spec/symbols-view-spec.coffee | 6 +-- src/packages/tree-view/lib/tree-view.coffee | 17 +++---- 22 files changed, 95 insertions(+), 100 deletions(-) diff --git a/benchmark/benchmark-suite.coffee b/benchmark/benchmark-suite.coffee index 41e437f9b..d77958db7 100644 --- a/benchmark/benchmark-suite.coffee +++ b/benchmark/benchmark-suite.coffee @@ -22,7 +22,7 @@ describe "editor.", -> editor.on 'editor:display-updated', done runs -> - projectPath = rootView.project.getPath() + projectPath = project.getPath() $(window).off 'beforeunload' window.shutdown() atom.setRootViewStateForPath(projectPath, null) @@ -38,7 +38,7 @@ describe "editor.", -> describe "opening-buffers.", -> benchmark "300-line-file.", -> - buffer = rootView.project.bufferForPath('medium.coffee') + buffer = project.bufferForPath('medium.coffee') describe "empty-file.", -> benchmark "insert-delete", -> diff --git a/spec/app/editor-spec.coffee b/spec/app/editor-spec.coffee index ef1de84e0..c2545af36 100644 --- a/spec/app/editor-spec.coffee +++ b/spec/app/editor-spec.coffee @@ -10,11 +10,11 @@ _ = require 'underscore' fs = require 'fs' describe "Editor", -> - [project, buffer, editor, cachedLineHeight] = [] + [buffer, editor, cachedLineHeight] = [] getLineHeight = -> return cachedLineHeight if cachedLineHeight? - editorForMeasurement = new Editor(editSession: rootView.project.buildEditSessionForPath('sample.js')) + editorForMeasurement = new Editor(editSession: project.buildEditSessionForPath('sample.js')) editorForMeasurement.attachToDom() cachedLineHeight = editorForMeasurement.lineHeight editorForMeasurement.remove() @@ -22,7 +22,6 @@ describe "Editor", -> beforeEach -> new RootView(require.resolve('fixtures/sample.js')) - project = rootView.project editor = rootView.getActiveEditor() buffer = editor.getBuffer() @@ -49,7 +48,7 @@ describe "Editor", -> rootView.height(8 * editor.lineHeight) rootView.width(50 * editor.charWidth) - editor.edit(rootView.project.buildEditSessionForPath('two-hundred.txt')) + editor.edit(project.buildEditSessionForPath('two-hundred.txt')) editor.setCursorScreenPosition([5, 1]) editor.scrollTop(1.5 * editor.lineHeight) editor.scrollView.scrollLeft(44) @@ -78,7 +77,7 @@ describe "Editor", -> it "does not blow up if no file exists for a previous edit session, but prints a warning", -> spyOn(console, 'warn') fs.write('/tmp/delete-me') - editor.edit(rootView.project.buildEditSessionForPath('/tmp/delete-me')) + editor.edit(project.buildEditSessionForPath('/tmp/delete-me')) fs.remove('/tmp/delete-me') newEditor = editor.copy() expect(console.warn).toHaveBeenCalled() @@ -140,7 +139,7 @@ describe "Editor", -> describe ".remove()", -> it "removes subscriptions from all edit session buffers", -> previousEditSession = editor.activeEditSession - otherEditSession = rootView.project.buildEditSessionForPath(rootView.project.resolve('sample.txt')) + otherEditSession = project.buildEditSessionForPath(project.resolve('sample.txt')) expect(previousEditSession.buffer.subscriptionCount()).toBeGreaterThan 1 editor.edit(otherEditSession) @@ -152,17 +151,17 @@ describe "Editor", -> describe "when 'close' is triggered", -> it "adds a closed session path to the array", -> - editor.edit(rootView.project.buildEditSessionForPath()) + editor.edit(project.buildEditSessionForPath()) editSession = editor.activeEditSession expect(editor.closedEditSessions.length).toBe 0 editor.trigger "core:close" expect(editor.closedEditSessions.length).toBe 0 - editor.edit(rootView.project.buildEditSessionForPath(rootView.project.resolve('sample.txt'))) + editor.edit(project.buildEditSessionForPath(project.resolve('sample.txt'))) editor.trigger "core:close" expect(editor.closedEditSessions.length).toBe 1 it "closes the active edit session and loads next edit session", -> - editor.edit(rootView.project.buildEditSessionForPath()) + editor.edit(project.buildEditSessionForPath()) editSession = editor.activeEditSession spyOn(editSession.buffer, 'isModified').andReturn false spyOn(editSession, 'destroy').andCallThrough() @@ -173,7 +172,7 @@ describe "Editor", -> expect(editor.getBuffer()).toBe buffer it "triggers the 'editor:edit-session-removed' event with the edit session and its former index", -> - editor.edit(rootView.project.buildEditSessionForPath()) + editor.edit(project.buildEditSessionForPath()) editSession = editor.activeEditSession index = editor.getActiveEditSessionIndex() spyOn(editSession.buffer, 'isModified').andReturn false @@ -221,7 +220,7 @@ describe "Editor", -> otherEditSession = null beforeEach -> - otherEditSession = rootView.project.buildEditSessionForPath() + otherEditSession = project.buildEditSessionForPath() describe "when the edit session wasn't previously assigned to this editor", -> it "adds edit session to editor and triggers the 'editor:edit-session-added' event", -> @@ -258,11 +257,11 @@ describe "Editor", -> expect(editor.lineElementForScreenRow(0).text()).toBe 'def' it "removes the opened session from the closed sessions array", -> - editor.edit(rootView.project.buildEditSessionForPath('sample.txt')) + editor.edit(project.buildEditSessionForPath('sample.txt')) expect(editor.closedEditSessions.length).toBe 0 editor.trigger "core:close" expect(editor.closedEditSessions.length).toBe 1 - editor.edit(rootView.project.buildEditSessionForPath('sample.txt')) + editor.edit(project.buildEditSessionForPath('sample.txt')) expect(editor.closedEditSessions.length).toBe 0 describe "switching edit sessions", -> @@ -271,10 +270,10 @@ describe "Editor", -> beforeEach -> session0 = editor.activeEditSession - editor.edit(rootView.project.buildEditSessionForPath('sample.txt')) + editor.edit(project.buildEditSessionForPath('sample.txt')) session1 = editor.activeEditSession - editor.edit(rootView.project.buildEditSessionForPath('two-hundred.txt')) + editor.edit(project.buildEditSessionForPath('two-hundred.txt')) session2 = editor.activeEditSession describe ".setActiveEditSessionIndex(index)", -> @@ -363,7 +362,7 @@ describe "Editor", -> fs.write(tempFilePath, "") new RootView(tempFilePath) editor = rootView.getActiveEditor() - project = rootView.project + project = project expect(editor.getPath()).toBe tempFilePath @@ -382,7 +381,7 @@ describe "Editor", -> describe "when the current buffer has no path", -> selectedFilePath = null beforeEach -> - editor.edit(rootView.project.buildEditSessionForPath()) + editor.edit(project.buildEditSessionForPath()) expect(editor.getPath()).toBeUndefined() editor.getBuffer().setText 'Save me to a new path' @@ -509,7 +508,7 @@ describe "Editor", -> it "emits event when editor receives a new buffer", -> eventHandler = jasmine.createSpy('eventHandler') editor.on 'editor:path-changed', eventHandler - editor.edit(rootView.project.buildEditSessionForPath(path)) + editor.edit(project.buildEditSessionForPath(path)) expect(eventHandler).toHaveBeenCalled() it "stops listening to events on previously set buffers", -> @@ -517,7 +516,7 @@ describe "Editor", -> oldBuffer = editor.getBuffer() editor.on 'editor:path-changed', eventHandler - editor.edit(rootView.project.buildEditSessionForPath(path)) + editor.edit(project.buildEditSessionForPath(path)) expect(eventHandler).toHaveBeenCalled() eventHandler.reset() @@ -1378,7 +1377,7 @@ describe "Editor", -> expect(editor.bufferPositionForScreenPosition(editor.getCursorScreenPosition())).toEqual [3, 60] it "does not wrap the lines of any newly assigned buffers", -> - otherEditSession = rootView.project.buildEditSessionForPath() + otherEditSession = project.buildEditSessionForPath() otherEditSession.buffer.setText([1..100].join('')) editor.edit(otherEditSession) expect(editor.renderedLines.find('.line').length).toBe(1) @@ -1414,7 +1413,7 @@ describe "Editor", -> expect(editor.getCursorScreenPosition()).toEqual [11, 0] it "calls .setSoftWrapColumn() when the editor is attached because now its dimensions are available to calculate it", -> - otherEditor = new Editor(editSession: rootView.project.buildEditSessionForPath('sample.js')) + otherEditor = new Editor(editSession: project.buildEditSessionForPath('sample.js')) spyOn(otherEditor, 'setSoftWrapColumn') otherEditor.setSoftWrap(true) @@ -1710,7 +1709,7 @@ describe "Editor", -> describe "when autoscrolling at the end of the document", -> it "renders lines properly", -> - editor.edit(rootView.project.buildEditSessionForPath('two-hundred.txt')) + editor.edit(project.buildEditSessionForPath('two-hundred.txt')) editor.attachToDom(heightInLines: 5.5) expect(editor.renderedLines.find('.line').length).toBe 8 @@ -2055,7 +2054,7 @@ describe "Editor", -> describe "folding", -> beforeEach -> - editSession = rootView.project.buildEditSessionForPath('two-hundred.txt') + editSession = project.buildEditSessionForPath('two-hundred.txt') buffer = editSession.buffer editor.edit(editSession) editor.attachToDom() @@ -2322,7 +2321,7 @@ describe "Editor", -> rootView.attachToDom() afterEach -> - rootView.project.removeGrammarOverrideForPath(path) + project.removeGrammarOverrideForPath(path) fs.remove(path) if fs.exists(path) it "updates all the rendered lines when the grammar changes", -> @@ -2332,7 +2331,7 @@ describe "Editor", -> jsGrammar = syntax.grammarForFilePath('/tmp/js.js') expect(jsGrammar.name).toBe 'JavaScript' - rootView.project.addGrammarOverrideForPath(path, jsGrammar) + project.addGrammarOverrideForPath(path, jsGrammar) expect(editor.reloadGrammar()).toBeTruthy() expect(editor.getGrammar()).toBe jsGrammar @@ -2365,7 +2364,7 @@ describe "Editor", -> expect(eventHandler).not.toHaveBeenCalled() jsGrammar = syntax.grammarForFilePath('/tmp/js.js') - rootView.project.addGrammarOverrideForPath(path, jsGrammar) + project.addGrammarOverrideForPath(path, jsGrammar) editor.reloadGrammar() expect(eventHandler).toHaveBeenCalled() diff --git a/spec/app/grammar-view-spec.coffee b/spec/app/grammar-view-spec.coffee index ffe864903..11bf646b1 100644 --- a/spec/app/grammar-view-spec.coffee +++ b/spec/app/grammar-view-spec.coffee @@ -8,7 +8,7 @@ describe "GrammarView", -> beforeEach -> path = require.resolve('fixtures/sample.js') rootView = new RootView() - rootView.project.removeGrammarOverrideForPath(path) + project.removeGrammarOverrideForPath(path) rootView.open(path) editor = rootView.getActiveEditor() rootView.attachToDom() diff --git a/spec/app/root-view-spec.coffee b/spec/app/root-view-spec.coffee index b1dc0b701..15e929671 100644 --- a/spec/app/root-view-spec.coffee +++ b/spec/app/root-view-spec.coffee @@ -36,9 +36,9 @@ describe "RootView", -> rootView = new RootView(pathToOpen) rootView.focus() - expect(rootView.project.getPath()).toBe pathToOpen + expect(project.getPath()).toBe pathToOpen expect(rootView.getEditors().length).toBe 0 - expect(rootView.getTitle()).toBe rootView.project.getPath() + expect(rootView.getTitle()).toBe project.getPath() describe "when called with no pathToOpen", -> it "opens an empty buffer", -> @@ -88,10 +88,10 @@ describe "RootView", -> editor3 = editor2.splitRight() editor4 = editor2.splitDown() - editor2.edit(rootView.project.buildEditSessionForPath('dir/b')) - editor3.edit(rootView.project.buildEditSessionForPath('sample.js')) + editor2.edit(project.buildEditSessionForPath('dir/b')) + editor3.edit(project.buildEditSessionForPath('sample.js')) editor3.setCursorScreenPosition([2, 4]) - editor4.edit(rootView.project.buildEditSessionForPath('sample.txt')) + editor4.edit(project.buildEditSessionForPath('sample.txt')) editor4.setCursorScreenPosition([0, 2]) rootView.attachToDom() editor2.focus() @@ -127,7 +127,7 @@ describe "RootView", -> expect(editor3.isFocused).toBeFalsy() expect(editor4.isFocused).toBeFalsy() - expect(rootView.getTitle()).toBe "#{fs.base(editor2.getPath())} – #{rootView.project.getPath()}" + expect(rootView.getTitle()).toBe "#{fs.base(editor2.getPath())} – #{project.getPath()}" describe "where there are no open editors", -> beforeEach -> @@ -450,27 +450,27 @@ describe "RootView", -> rootView.on 'root-view:active-path-changed', pathChangeHandler editor1 = rootView.getActiveEditor() - expect(rootView.getTitle()).toBe "#{fs.base(editor1.getPath())} – #{rootView.project.getPath()}" + expect(rootView.getTitle()).toBe "#{fs.base(editor1.getPath())} – #{project.getPath()}" editor2 = rootView.getActiveEditor().splitLeft() - path = rootView.project.resolve('b') - editor2.edit(rootView.project.buildEditSessionForPath(path)) + path = project.resolve('b') + editor2.edit(project.buildEditSessionForPath(path)) expect(pathChangeHandler).toHaveBeenCalled() - expect(rootView.getTitle()).toBe "#{fs.base(editor2.getPath())} – #{rootView.project.getPath()}" + expect(rootView.getTitle()).toBe "#{fs.base(editor2.getPath())} – #{project.getPath()}" pathChangeHandler.reset() editor1.getBuffer().saveAs("/tmp/should-not-be-title.txt") expect(pathChangeHandler).not.toHaveBeenCalled() - expect(rootView.getTitle()).toBe "#{fs.base(editor2.getPath())} – #{rootView.project.getPath()}" + expect(rootView.getTitle()).toBe "#{fs.base(editor2.getPath())} – #{project.getPath()}" it "sets the project path to the directory of the editor if it was previously unassigned", -> project.setPath(undefined) rootView = new RootView rootView.open() - expect(rootView.project.getPath()?).toBeFalsy() + expect(project.getPath()?).toBeFalsy() rootView.getActiveEditor().getBuffer().saveAs('/tmp/ignore-me') - expect(rootView.project.getPath()).toBe '/tmp' + expect(project.getPath()).toBe '/tmp' describe "when editors are focused", -> it "triggers 'root-view:active-path-changed' events if the path of the active editor actually changes", -> @@ -498,7 +498,7 @@ describe "RootView", -> describe "when the last editor is removed", -> it "updates the title to the project path", -> rootView.getEditors()[0].remove() - expect(rootView.getTitle()).toBe rootView.project.getPath() + expect(rootView.getTitle()).toBe project.getPath() describe "font size adjustment", -> editor = null @@ -635,7 +635,7 @@ describe "RootView", -> expect(buffer1.isModified()).toBe(true) editor2 = editor1.splitRight() - editor2.edit(rootView.project.buildEditSessionForPath('atom-temp2.txt')) + editor2.edit(project.buildEditSessionForPath('atom-temp2.txt')) buffer2 = editor2.activeEditSession.buffer expect(buffer2.getText()).toBe("file2") expect(buffer2.isModified()).toBe(false) diff --git a/spec/app/window-spec.coffee b/spec/app/window-spec.coffee index f595d51ec..8674bdddb 100644 --- a/spec/app/window-spec.coffee +++ b/spec/app/window-spec.coffee @@ -12,7 +12,7 @@ describe "Window", -> afterEach -> window.stopApplication() - atom.setRootViewStateForPath(rootView.project.getPath(), null) + atom.setRootViewStateForPath(project.getPath(), null) $(window).off 'beforeunload' describe "when the window is loaded", -> @@ -89,7 +89,7 @@ describe "Window", -> describe "stopApplication()", -> it "saves the serialized state of the project and root view to the atom object so it can be rehydrated after reload", -> - expect(atom.getRootViewStateForPath(rootView.project.getPath())).toBeUndefined() + expect(atom.getRootViewStateForPath(project.getPath())).toBeUndefined() # JSON.stringify removes keys with undefined values rootViewState = JSON.parse(JSON.stringify(rootView.serialize())) projectState = JSON.parse(JSON.stringify(project.serialize())) diff --git a/src/app/editor.coffee b/src/app/editor.coffee index cf273da6b..56d89b97d 100644 --- a/src/app/editor.coffee +++ b/src/app/editor.coffee @@ -59,7 +59,7 @@ class Editor extends View @deserialize: (state) -> editor = new Editor(mini: state.mini, deserializing: true) - editSessions = state.editSessions.map (state) -> EditSession.deserialize(state, rootView.project) + editSessions = state.editSessions.map (state) -> EditSession.deserialize(state, project) editor.pushEditSession(editSession) for editSession in editSessions editor.setActiveEditSessionIndex(state.activeEditSessionIndex) editor.isFocused = state.isFocused diff --git a/src/app/grammar-view.coffee b/src/app/grammar-view.coffee index 388a6a66e..b20ef13e5 100644 --- a/src/app/grammar-view.coffee +++ b/src/app/grammar-view.coffee @@ -37,9 +37,9 @@ class GrammarView extends SelectList confirmed: (grammar) -> @cancel() if grammar is @autoDetect - rootView.project.removeGrammarOverrideForPath(@path) + project.removeGrammarOverrideForPath(@path) else - rootView.project.addGrammarOverrideForPath(@path, grammar) + project.addGrammarOverrideForPath(@path, grammar) @editor.reloadGrammar() attach: -> diff --git a/src/app/root-view.coffee b/src/app/root-view.coffee index bb7707069..80f036d55 100644 --- a/src/app/root-view.coffee +++ b/src/app/root-view.coffee @@ -38,12 +38,10 @@ class RootView extends View window.rootView = this @handleEvents() - @project = window.project - if not projectOrPathToOpen or _.isString(projectOrPathToOpen) pathToOpen = projectOrPathToOpen else - pathToOpen = @project?.getPath() + pathToOpen = project.getPath() @pathToOpenIsFile = pathToOpen and fs.isFile(pathToOpen) config.load() @@ -79,7 +77,7 @@ class RootView extends View @on 'root-view:active-path-changed', (e, path) => if path - @project.setPath(path) unless @project.getRootDirectory() + project.setPath(path) unless project.getRootDirectory() @setTitle(fs.base(path)) else @setTitle("untitled") @@ -115,7 +113,7 @@ class RootView extends View allowActiveEditorChange = options.allowActiveEditorChange ? false unless editSession = @openInExistingEditor(path, allowActiveEditorChange, changeFocus) - editSession = @project.buildEditSessionForPath(path) + editSession = project.buildEditSessionForPath(path) editor = new Editor({editSession}) pane = new Pane(editor) @panes.append(pane) @@ -130,7 +128,7 @@ class RootView extends View if activeEditor = @getActiveEditor() activeEditor.focus() if changeFocus - path = @project.resolve(path) if path + path = project.resolve(path) if path if editSession = activeEditor.activateEditSessionForPath(path) return editSession @@ -141,7 +139,7 @@ class RootView extends View @makeEditorActive(editor, changeFocus) return editSession - editSession = @project.buildEditSessionForPath(path) + editSession = project.buildEditSessionForPath(path) activeEditor.edit(editSession) editSession @@ -170,7 +168,7 @@ class RootView extends View @title or "untitled" setTitle: (title) -> - projectPath = @project.getPath() + projectPath = project.getPath() if not projectPath @title = "untitled" else if title @@ -227,7 +225,7 @@ class RootView extends View remove: -> editor.remove() for editor in @getEditors() - @project.destroy() + project.destroy() super saveAll: -> @@ -238,10 +236,10 @@ class RootView extends View @on 'editor:attached', (e, editor) -> callback(editor) eachEditSession: (callback) -> - @project.eachEditSession(callback) + project.eachEditSession(callback) eachBuffer: (callback) -> - @project.eachBuffer(callback) + project.eachBuffer(callback) indexOfPane: (pane) -> index = -1 diff --git a/src/app/window.coffee b/src/app/window.coffee index 80e7463d7..bc62157ab 100644 --- a/src/app/window.coffee +++ b/src/app/window.coffee @@ -64,7 +64,7 @@ windowAdditions = $(rootViewParentSelector).append(rootView) stopApplication: -> - atom.setWindowState('pathToOpen', rootView.project.getPath()) + atom.setWindowState('pathToOpen', project.getPath()) atom.setRootViewStateForPath project.getPath(), project: project.serialize() rootView: rootView.serialize() diff --git a/src/packages/command-panel/lib/command-panel-view.coffee b/src/packages/command-panel/lib/command-panel-view.coffee index 2c6a5ceee..0e14cfb79 100644 --- a/src/packages/command-panel/lib/command-panel-view.coffee +++ b/src/packages/command-panel/lib/command-panel-view.coffee @@ -30,7 +30,7 @@ class CommandPanelView extends View maxSerializedHistorySize: 100 initialize: (state) -> - @commandInterpreter = new CommandInterpreter(rootView.project) + @commandInterpreter = new CommandInterpreter(project) @command 'tool-panel:unfocus', => rootView.focus() @command 'core:close', => @detach(); false diff --git a/src/packages/command-panel/spec/command-panel-spec.coffee b/src/packages/command-panel/spec/command-panel-spec.coffee index e60310368..a76fe9174 100644 --- a/src/packages/command-panel/spec/command-panel-spec.coffee +++ b/src/packages/command-panel/spec/command-panel-spec.coffee @@ -3,13 +3,12 @@ CommandPanelView = require 'command-panel/lib/command-panel-view' _ = require 'underscore' describe "CommandPanel", -> - [editor, buffer, commandPanel, project, CommandPanel] = [] + [editor, buffer, commandPanel, CommandPanel] = [] beforeEach -> new RootView rootView.open(require.resolve 'fixtures/sample.js') rootView.enableKeymap() - project = rootView.project editor = rootView.getActiveEditor() buffer = editor.activeEditSession.buffer commandPanelMain = window.loadPackage('command-panel', activateImmediately: true).packageMain diff --git a/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee b/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee index b50136629..8b5c56e7e 100644 --- a/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee +++ b/src/packages/fuzzy-finder/lib/fuzzy-finder-view.coffee @@ -65,13 +65,13 @@ class FuzzyFinderView extends SelectList editor = rootView.getActiveEditor() if editor - fn(editor, rootView.project.buildEditSessionForPath(path)) + fn(editor, project.buildEditSessionForPath(path)) else @openPath(path) confirmed : (path) -> return unless path.length - if fs.isFile(rootView.project.resolve(path)) + if fs.isFile(project.resolve(path)) @cancel() @openPath(path) else @@ -82,7 +82,7 @@ class FuzzyFinderView extends SelectList if @hasParent() @cancel() else - return unless rootView.project.getPath()? + return unless project.getPath()? @allowActiveEditorChange = false @populateProjectPaths() @attach() @@ -99,7 +99,7 @@ class FuzzyFinderView extends SelectList if @hasParent() @cancel() else - return unless rootView.project.getPath()? + return unless project.getPath()? @allowActiveEditorChange = false editor = rootView.getActiveEditor() currentWord = editor.getWordUnderCursor(wordRegex: @filenameRegex) @@ -149,7 +149,7 @@ class FuzzyFinderView extends SelectList @loadPathsTask.start() populateOpenBufferPaths: -> - editSessions = rootView.project.getEditSessions().filter (editSession)-> + editSessions = project.getEditSessions().filter (editSession)-> editSession.getPath()? editSessions = _.sortBy editSessions, (editSession) => @@ -159,13 +159,13 @@ class FuzzyFinderView extends SelectList -(editSession.lastOpened or 1) @paths = _.map editSessions, (editSession) -> - rootView.project.relativize editSession.getPath() + project.relativize editSession.getPath() @setArray(@paths) getOpenedPaths: -> paths = {} - for editSession in rootView.project.getEditSessions() + for editSession in project.getEditSessions() path = editSession.getPath() paths[path] = editSession.lastOpened if path? paths diff --git a/src/packages/fuzzy-finder/lib/fuzzy-finder.coffee b/src/packages/fuzzy-finder/lib/fuzzy-finder.coffee index 9c7e0ffb0..a3de8b204 100644 --- a/src/packages/fuzzy-finder/lib/fuzzy-finder.coffee +++ b/src/packages/fuzzy-finder/lib/fuzzy-finder.coffee @@ -13,12 +13,12 @@ module.exports = rootView.command 'fuzzy-finder:find-under-cursor', => @createView().findUnderCursor() - if rootView.project.getPath()? + if project.getPath()? LoadPathsTask = require 'fuzzy-finder/lib/load-paths-task' @loadPathsTask = new LoadPathsTask((paths) => @projectPaths = paths) @loadPathsTask.start() - for editSession in rootView.project.getEditSessions() + for editSession in project.getEditSessions() editSession.lastOpened = state[editSession.getPath()] deactivate: -> diff --git a/src/packages/fuzzy-finder/lib/load-paths-task.coffee b/src/packages/fuzzy-finder/lib/load-paths-task.coffee index d7129b328..f2ff851b6 100644 --- a/src/packages/fuzzy-finder/lib/load-paths-task.coffee +++ b/src/packages/fuzzy-finder/lib/load-paths-task.coffee @@ -9,7 +9,7 @@ class LoadPathsTask extends Task ignoredNames = config.get('fuzzyFinder.ignoredNames') ? [] ignoredNames = ignoredNames.concat(config.get('core.ignoredNames') ? []) excludeGitIgnoredPaths = config.get('core.hideGitIgnoredFiles') - rootPath = rootView.project.getPath() + rootPath = project.getPath() @callWorkerMethod('loadPaths', rootPath, ignoredNames, excludeGitIgnoredPaths) pathsLoaded: (paths) -> diff --git a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee index d24978fa4..393bfa3df 100644 --- a/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee +++ b/src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee @@ -64,7 +64,7 @@ describe 'FuzzyFinder', -> describe "when root view's project has no path", -> beforeEach -> - rootView.project.setPath(null) + project.setPath(null) it "does not open the FuzzyFinder", -> expect(rootView.find('.fuzzy-finder')).not.toExist() @@ -165,7 +165,7 @@ describe 'FuzzyFinder', -> describe "when the active editor only contains edit sessions for anonymous buffers", -> it "does not open", -> editor = rootView.getActiveEditor() - editor.edit(rootView.project.buildEditSessionForPath()) + editor.edit(project.buildEditSessionForPath()) editor.loadPreviousEditSession() editor.destroyActiveEditSession() expect(editor.getOpenBufferPaths().length).toBe 0 @@ -276,15 +276,15 @@ describe 'FuzzyFinder', -> expect(finderView.loadPathsTask.start).not.toHaveBeenCalled() it "doesn't cache buffer paths", -> - spyOn(rootView.project, "getEditSessions").andCallThrough() + spyOn(project, "getEditSessions").andCallThrough() rootView.trigger 'fuzzy-finder:toggle-buffer-finder' waitsFor -> finderView.list.children('li').length > 0 runs -> - expect(rootView.project.getEditSessions).toHaveBeenCalled() - rootView.project.getEditSessions.reset() + expect(project.getEditSessions).toHaveBeenCalled() + project.getEditSessions.reset() rootView.trigger 'fuzzy-finder:toggle-buffer-finder' rootView.trigger 'fuzzy-finder:toggle-buffer-finder' @@ -292,7 +292,7 @@ describe 'FuzzyFinder', -> finderView.list.children('li').length > 0 runs -> - expect(rootView.project.getEditSessions).toHaveBeenCalled() + expect(project.getEditSessions).toHaveBeenCalled() it "busts the cache when the window gains focus", -> spyOn(LoadPathsTask.prototype, "start").andCallThrough() diff --git a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee index ab5e2d341..c34a311d9 100644 --- a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee +++ b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee @@ -39,7 +39,7 @@ describe "MarkdownPreview", -> gfmGrammar = _.find syntax.grammars, (grammar) -> grammar.scopeName is 'source.gfm' rootView.open('file.js') editor = rootView.getActiveEditor() - rootView.project.addGrammarOverrideForPath(editor.getPath(), gfmGrammar) + project.addGrammarOverrideForPath(editor.getPath(), gfmGrammar) editor.reloadGrammar() expect(rootView.find('.markdown-preview')).not.toExist() editor.trigger('markdown-preview:toggle') diff --git a/src/packages/status-bar/lib/status-bar-view.coffee b/src/packages/status-bar/lib/status-bar-view.coffee index 1e7e38694..ffd51486b 100644 --- a/src/packages/status-bar/lib/status-bar-view.coffee +++ b/src/packages/status-bar/lib/status-bar-view.coffee @@ -99,7 +99,7 @@ class StatusBarView extends View updatePathText: -> if path = @editor.getPath() - @currentPath.text(rootView.project.relativize(path)) + @currentPath.text(project.relativize(path)) else @currentPath.text('untitled') diff --git a/src/packages/status-bar/spec/status-bar-spec.coffee b/src/packages/status-bar/spec/status-bar-spec.coffee index fc702734e..3b7b23833 100644 --- a/src/packages/status-bar/spec/status-bar-spec.coffee +++ b/src/packages/status-bar/spec/status-bar-spec.coffee @@ -114,13 +114,13 @@ describe "StatusBar", -> it "displays the current branch for files in repositories", -> path = require.resolve('fixtures/git/master.git/HEAD') - rootView.project.setPath(require.resolve('fixtures/git/master.git')) + project.setPath(require.resolve('fixtures/git/master.git')) rootView.open(path) expect(statusBar.branchArea).toBeVisible() expect(statusBar.branchLabel.text()).toBe 'master' it "doesn't display the current branch for a file not in a repository", -> - rootView.project.setPath('/tmp') + project.setPath('/tmp') rootView.open('/tmp/temp.txt') expect(statusBar.branchArea).toBeHidden() expect(statusBar.branchLabel.text()).toBe '' @@ -184,7 +184,7 @@ describe "StatusBar", -> describe "when the editor's grammar changes", -> it "displays the new grammar of the editor", -> textGrammar = _.find syntax.grammars, (grammar) -> grammar.name is 'Plain Text' - rootView.project.addGrammarOverrideForPath(editor.getPath(), textGrammar) + project.addGrammarOverrideForPath(editor.getPath(), textGrammar) editor.reloadGrammar() expect(statusBar.find('.grammar-name').text()).toBe textGrammar.name diff --git a/src/packages/symbols-view/lib/symbols-view.coffee b/src/packages/symbols-view/lib/symbols-view.coffee index c95c24559..5fd700e61 100644 --- a/src/packages/symbols-view/lib/symbols-view.coffee +++ b/src/packages/symbols-view/lib/symbols-view.coffee @@ -67,7 +67,7 @@ class SymbolsView extends SelectList populateProjectSymbols: -> @list.empty() @setLoading("Loading symbols...") - TagReader.getAllTags(rootView.project).done (tags) => + TagReader.getAllTags(project).done (tags) => if tags.length > 0 @miniEditor.show() @maxItems = 10 @@ -102,7 +102,7 @@ class SymbolsView extends SelectList getTagLine: (tag) -> pattern = $.trim(tag.pattern?.replace(/(^^\/\^)|(\$\/$)/g, '')) # Remove leading /^ and trailing $/ return unless pattern - file = rootView.project.resolve(tag.file) + file = project.resolve(tag.file) return unless fs.isFile(file) for line, index in fs.read(file).split('\n') return new Point(index, 0) if pattern is $.trim(line) diff --git a/src/packages/symbols-view/lib/tag-reader.coffee b/src/packages/symbols-view/lib/tag-reader.coffee index a70892319..86c96a892 100644 --- a/src/packages/symbols-view/lib/tag-reader.coffee +++ b/src/packages/symbols-view/lib/tag-reader.coffee @@ -11,7 +11,7 @@ find: (editor) -> word = editor.getTextInRange(editor.getCursor().getCurrentWordBufferRange()) return [] unless word.length > 0 - tagsFile = @getTagsFile(rootView.project) + tagsFile = @getTagsFile(project) return [] unless tagsFile $tags.find(tagsFile, word) or [] diff --git a/src/packages/symbols-view/spec/symbols-view-spec.coffee b/src/packages/symbols-view/spec/symbols-view-spec.coffee index 58d6198fb..00cb09844 100644 --- a/src/packages/symbols-view/spec/symbols-view-spec.coffee +++ b/src/packages/symbols-view/spec/symbols-view-spec.coffee @@ -152,15 +152,15 @@ describe "SymbolsView", -> expect(symbolsView.list.children('li').length).toBe 2 expect(symbolsView).toBeVisible() symbolsView.confirmed(symbolsView.array[0]) - expect(rootView.getActiveEditor().getPath()).toBe rootView.project.resolve("tagged-duplicate.js") + expect(rootView.getActiveEditor().getPath()).toBe project.resolve("tagged-duplicate.js") expect(rootView.getActiveEditor().getCursorBufferPosition()).toEqual [0,4] describe "when the tag is in a file that doesn't exist", -> beforeEach -> - fs.move(rootView.project.resolve("tagged-duplicate.js"), rootView.project.resolve("tagged-duplicate-renamed.js")) + fs.move(project.resolve("tagged-duplicate.js"), project.resolve("tagged-duplicate-renamed.js")) afterEach -> - fs.move(rootView.project.resolve("tagged-duplicate-renamed.js"), rootView.project.resolve("tagged-duplicate.js")) + fs.move(project.resolve("tagged-duplicate-renamed.js"), project.resolve("tagged-duplicate.js")) it "doesn't display the tag", -> rootView.open("tagged.js") diff --git a/src/packages/tree-view/lib/tree-view.coffee b/src/packages/tree-view/lib/tree-view.coffee index d0360e3c1..9e71a5a05 100644 --- a/src/packages/tree-view/lib/tree-view.coffee +++ b/src/packages/tree-view/lib/tree-view.coffee @@ -41,7 +41,7 @@ class TreeView extends ScrollView @selectActiveFile() rootView.on 'root-view:active-path-changed', => @selectActiveFile() - rootView.project.on 'path-changed', => @updateRoot() + project.on 'path-changed', => @updateRoot() @observeConfig 'core.hideGitIgnoredFiles', => @updateRoot() if @root @@ -78,7 +78,7 @@ class TreeView extends ScrollView @attach() attach: -> - return unless rootView.project.getPath() + return unless project.getPath() rootView.horizontal.prepend(this) @focus() @@ -122,8 +122,8 @@ class TreeView extends ScrollView updateRoot: -> @root?.remove() - if rootDirectory = rootView.project.getRootDirectory() - @root = new DirectoryView(directory: rootDirectory, isExpanded: true, project: rootView.project) + if rootDirectory = project.getRootDirectory() + @root = new DirectoryView(directory: rootDirectory, isExpanded: true, project: project) @treeViewList.append(@root) else @root = null @@ -137,7 +137,6 @@ class TreeView extends ScrollView return unless activeFilePath = rootView.getActiveEditor()?.getPath() - project = rootView.project activePathComponents = project.relativize(activeFilePath).split('/') currentPath = project.getPath().replace(/\/$/, '') for pathComponent in activePathComponents @@ -217,11 +216,11 @@ class TreeView extends ScrollView dialog = new Dialog prompt: prompt - path: rootView.project.relativize(oldPath) + path: project.relativize(oldPath) select: true iconClass: 'move' onConfirm: (newPath) => - newPath = rootView.project.resolve(newPath) + newPath = project.resolve(newPath) directoryPath = fs.directory(newPath) try fs.makeTree(directoryPath) unless fs.exists(directoryPath) @@ -249,7 +248,7 @@ class TreeView extends ScrollView selectedEntry = @selectedEntry() or @root selectedPath = selectedEntry.getPath() directoryPath = if fs.isFile(selectedPath) then fs.directory(selectedPath) else selectedPath - relativeDirectoryPath = rootView.project.relativize(directoryPath) + relativeDirectoryPath = project.relativize(directoryPath) relativeDirectoryPath += '/' if relativeDirectoryPath.length > 0 dialog = new Dialog @@ -259,7 +258,7 @@ class TreeView extends ScrollView iconClass: 'add' onConfirm: (relativePath) => endsWithDirectorySeparator = /\/$/.test(relativePath) - path = rootView.project.resolve(relativePath) + path = project.resolve(relativePath) try if fs.exists(path) pathType = if fs.isFile(path) then "file" else "directory"