@@ -60,6 +60,7 @@ export default class CodeEditor extends React.Component {
6060 indentUsingTab,
6161 highlightCurrentLine
6262 } = config . editor
63+ const langConf = config . language
6364 const file = snippet . files [ selectedFile ]
6465 const fileExtension = getExtension ( file . name )
6566 const resultMode = CodeMirror . findModeByExtension ( fileExtension )
@@ -71,6 +72,13 @@ export default class CodeEditor extends React.Component {
7172 }
7273 }
7374
75+ if ( snippetMode === 'php' ) {
76+ snippetMode = {
77+ name : 'php' ,
78+ startOpen : ! langConf . php . requireOpenTag
79+ }
80+ }
81+
7482 const gutters = showLineNumber
7583 ? [ 'CodeMirror-linenumbers' , 'CodeMirror-foldgutter' ]
7684 : [ ]
@@ -115,17 +123,26 @@ export default class CodeEditor extends React.Component {
115123 }
116124
117125 onUpdateSingleFileSnippet ( props ) {
118- const { snippet } = props
119- const snippetMode = CodeMirror . findModeByName ( snippet . lang ) . mode
126+ const { snippet, config } = props
127+ const langConf = config . language
128+ let snippetMode = CodeMirror . findModeByName ( snippet . lang ) . mode
120129 if ( snippetMode && snippetMode !== 'null' ) {
121130 require ( `codemirror/mode/${ snippetMode } /${ snippetMode } ` )
122131 }
123132 this . editor . setValue ( snippet . value )
133+ if ( snippetMode === 'php' ) {
134+ snippetMode = {
135+ name : 'php' ,
136+ startOpen : ! langConf . php . requireOpenTag
137+ }
138+ }
124139 this . editor . setOption ( 'mode' , snippetMode )
125140 }
126141
127142 onUpdateMultiFileSnippet ( ) {
128143 const { snippet, selectedFile, isEditing } = this . props
144+ const { config } = this . props
145+ const langConf = config . language
129146
130147 if ( ! isEditing ) {
131148 const file = snippet . files [ selectedFile ]
@@ -139,7 +156,12 @@ export default class CodeEditor extends React.Component {
139156 require ( `codemirror/mode/${ snippetMode } /${ snippetMode } ` )
140157 }
141158 }
142-
159+ if ( snippetMode === 'php' ) {
160+ snippetMode = {
161+ name : 'php' ,
162+ startOpen : ! langConf . php . requireOpenTag
163+ }
164+ }
143165 this . editor . setOption ( 'mode' , snippetMode )
144166 this . editor . setValue ( file . value )
145167 }
0 commit comments