Jelajahi Sumber

destroy ace sessions when no longer in use

also set mode to "latex" when session is created, to avoid setting mode
to "text" (default) and then to "latex" which causes the text worker to
be unnecessarily created and destroyed.
Brian Gough 10 tahun lalu
induk
melakukan
d152095920

+ 4 - 2
services/web/public/coffee/ide/editor/directives/aceEditor.coffee

@@ -178,7 +178,6 @@ define [
 						editor.setValue(text, -1)
 						editor.setValue(text, -1)
 						session = editor.getSession()
 						session = editor.getSession()
 						session.setUseWrapMode(true)
 						session.setUseWrapMode(true)
-						session.setMode("ace/mode/latex")
 
 
 				scope.$watch "annotations", (annotations) ->
 				scope.$watch "annotations", (annotations) ->
 					session = editor.getSession()
 					session = editor.getSession()
@@ -203,7 +202,10 @@ define [
 
 
 				attachToAce = (sharejs_doc) ->
 				attachToAce = (sharejs_doc) ->
 					lines = sharejs_doc.getSnapshot().split("\n")
 					lines = sharejs_doc.getSnapshot().split("\n")
-					editor.setSession(new EditSession(lines))
+					session = editor.getSession()
+					if session?
+						session.destroy()
+					editor.setSession(new EditSession(lines, "ace/mode/latex"))
 					resetSession()
 					resetSession()
 					session = editor.getSession()
 					session = editor.getSession()