@@ -17,10 +17,8 @@ export default class CodeEditor extends React.Component {
1717 var el = ReactDOM . findDOMNode ( this )
1818 var editor = this . editor = ace . edit ( el )
1919 editor . $blockScrolling = Infinity
20- editor . setValue ( this . props . code )
2120 editor . renderer . setShowGutter ( true )
2221 editor . setTheme ( 'ace/theme/xcode' )
23- editor . clearSelection ( )
2422 editor . moveCursorTo ( 0 , 0 )
2523 editor . setReadOnly ( ! ! this . props . readOnly )
2624
@@ -56,6 +54,7 @@ export default class CodeEditor extends React.Component {
5654 session . setUseSoftTabs ( true )
5755 session . setOption ( 'useWorker' , false )
5856 session . setUseWrapMode ( true )
57+ session . setValue ( this . props . code )
5958
6059 session . on ( 'change' , e => {
6160 if ( this . props . onChange != null ) {
@@ -66,12 +65,11 @@ export default class CodeEditor extends React.Component {
6665 }
6766
6867 componentDidUpdate ( prevProps ) {
68+ var session = this . editor . getSession ( )
6969 if ( this . editor . getValue ( ) !== this . props . code ) {
70- this . editor . setValue ( this . props . code )
71- this . editor . clearSelection ( )
70+ session . setValue ( this . props . code )
7271 }
7372 if ( prevProps . mode !== this . props . mode ) {
74- var session = this . editor . getSession ( )
7573 let mode = _ . findWhere ( modes , { name : this . props . mode } )
7674 let syntaxMode = mode != null
7775 ? mode . mode
0 commit comments