diff --git a/src/atom/editor-pane.coffee b/src/atom/editor-pane.coffee index daa1abdb6..e52477e5d 100644 --- a/src/atom/editor-pane.coffee +++ b/src/atom/editor-pane.coffee @@ -7,16 +7,20 @@ ace = require 'ace/ace' module.exports = class EditorPane extends Pane - html: $ "
" + id: null + + html: null position: 'main' editor: null constructor: -> + @id = _.uniqueId 'editor-' + @html = $ "" @show() - @ace = ace.edit 'ace-editor' + @ace = ace.edit @id # This stuff should all be grabbed from the .atomicity dir @ace.setTheme require "ace/theme/twilight" diff --git a/src/atom/editor.coffee b/src/atom/editor.coffee index d0d5c1793..fb0cd30c7 100644 --- a/src/atom/editor.coffee +++ b/src/atom/editor.coffee @@ -56,18 +56,17 @@ class Editor extends Resource if @url then _.last @url.split '/' else 'untitled' show: -> - @ace.setSession @session @pane.show() @ace.resize() - window.setTitle @title() open: (url) -> if url return false if not fs.isFile url return false if @url - # HACK! We want only one EditorPane for all the Editors. - @pane = Editor.pane ?= new EditorPane + window.setTitle @title() + + @pane ?= new EditorPane @ace = @pane.ace @url = url @@ -77,6 +76,7 @@ class Editor extends Resource @session.setTabSize if useSoftTabs then @guessTabSize code else 8 @session.setUndoManager new UndoManager @session.on 'change', => @dirty = true + @ace.setSession @session @show() @setModeForURL @url if @url