Editor constructor requires an editSession (unless it is a mini buffer)

This commit is contained in:
Corey Johnson & Nathan Sobo
2012-06-19 12:00:18 -07:00
parent 5efc853c36
commit 1280370fd1
6 changed files with 22 additions and 24 deletions

View File

@@ -53,11 +53,13 @@ class Editor extends View
@deserialize: (state, rootView) ->
editSessions = state.editSessions.map (state) -> EditSession.deserialize(state, editor, rootView)
editor = new Editor(activeEditSessionIndex: state.activeEditSessionIndex, editSessions: editSessions, mini: state.mini)
editSession = editSessions[state.activeEditSessionIndex]
editor = new Editor(editSession: editSession, mini: state.mini)
editor.editSession = editSessions
editor.isFocused = state.isFocused
editor
initialize: ({activeEditSessionIndex, editSessions, @mini} = {}) ->
initialize: ({editSession, @mini} = {}) ->
requireStylesheet 'editor.css'
requireStylesheet 'theme/twilight.css'
@@ -67,13 +69,11 @@ class Editor extends View
@handleEvents()
@cursorViews = []
@selectionViews = []
@editSessions = editSessions ? []
@editSessions = []
if activeEditSessionIndex?
@setActiveEditSessionIndex(activeEditSessionIndex)
else if @editSessions.length > 0
@setActiveEditSessionIndex(0)
else
if editSession?
@setActiveEditSession(editSession)
else if @mini
editSession = new EditSession
softWrapColumn: @calcSoftWrapColumn()
buffer: new Buffer()
@@ -82,6 +82,8 @@ class Editor extends View
softTabs: @softTabs
@setActiveEditSession(editSession)
else
throw new Error("Editor initialization requires an editSession")
serialize: ->
@saveActiveEditSession()

View File

@@ -96,7 +96,7 @@ class RootView extends View
if @activeEditor()
@activeEditor().setActiveEditSession(editSession)
else
editor = new Editor(editSessions: [editSession])
editor = new Editor(editSession: editSession)
pane = new Pane(editor)
@panes.append(pane)
if changeFocus