171 r'implements|public|private|protected|abstract|clone|try|' |
171 r'implements|public|private|protected|abstract|clone|try|' |
172 r'catch|throw|this|use|namespace|trait|yield|' |
172 r'catch|throw|this|use|namespace|trait|yield|' |
173 r'finally)\b', Keyword), |
173 r'finally)\b', Keyword), |
174 (r'(true|false|null)\b', Keyword.Constant), |
174 (r'(true|false|null)\b', Keyword.Constant), |
175 include('magicconstants'), |
175 include('magicconstants'), |
176 (r'\$\{\$+' + _ident_inner + '\}', Name.Variable), |
176 (r'\$\{\$+' + _ident_inner + r'\}', Name.Variable), |
177 (r'\$+' + _ident_inner, Name.Variable), |
177 (r'\$+' + _ident_inner, Name.Variable), |
178 (_ident_inner, Name.Other), |
178 (_ident_inner, Name.Other), |
179 (r'(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?', Number.Float), |
179 (r'(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?', Number.Float), |
180 (r'\d+e[+-]?[0-9]+', Number.Float), |
180 (r'\d+e[+-]?[0-9]+', Number.Float), |
181 (r'0[0-7]+', Number.Oct), |
181 (r'0[0-7]+', Number.Oct), |
212 ], |
212 ], |
213 'string': [ |
213 'string': [ |
214 (r'"', String.Double, '#pop'), |
214 (r'"', String.Double, '#pop'), |
215 (r'[^{$"\\]+', String.Double), |
215 (r'[^{$"\\]+', String.Double), |
216 (r'\\([nrt"$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})', String.Escape), |
216 (r'\\([nrt"$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})', String.Escape), |
217 (r'\$' + _ident_inner + '(\[\S+?\]|->' + _ident_inner + ')?', |
217 (r'\$' + _ident_inner + r'(\[\S+?\]|->' + _ident_inner + ')?', |
218 String.Interpol), |
218 String.Interpol), |
219 (r'(\{\$\{)(.*?)(\}\})', |
219 (r'(\{\$\{)(.*?)(\}\})', |
220 bygroups(String.Interpol, using(this, _startinline=True), |
220 bygroups(String.Interpol, using(this, _startinline=True), |
221 String.Interpol)), |
221 String.Interpol)), |
222 (r'(\{)(\$.*?)(\})', |
222 (r'(\{)(\$.*?)(\})', |