@@ -1780,6 +1780,7 @@ var supportedModes = {
1780
1780
HTML_Ruby : [ "erb|rhtml|html.erb" ] ,
1781
1781
INI : [ "ini|conf|cfg|prefs" ] ,
1782
1782
Io : [ "io" ] ,
1783
+ Ion : [ "ion" ] ,
1783
1784
Jack : [ "jack" ] ,
1784
1785
Jade : [ "jade|pug" ] ,
1785
1786
Java : [ "java" ] ,
@@ -1821,11 +1822,12 @@ var supportedModes = {
1821
1822
Nunjucks : [ "nunjucks|nunjs|nj|njk" ] ,
1822
1823
ObjectiveC : [ "m|mm" ] ,
1823
1824
OCaml : [ "ml|mli" ] ,
1825
+ PartiQL : [ "partiql|pql" ] ,
1824
1826
Pascal : [ "pas|p" ] ,
1825
1827
Perl : [ "pl|pm" ] ,
1826
1828
pgSQL : [ "pgsql" ] ,
1827
- PHP : [ "php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module" ] ,
1828
1829
PHP_Laravel_blade : [ "blade.php" ] ,
1830
+ PHP : [ "php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module" ] ,
1829
1831
Pig : [ "pig" ] ,
1830
1832
Powershell : [ "ps1" ] ,
1831
1833
Praat : [ "praat|praatscript|psc|proc" ] ,
@@ -1845,6 +1847,7 @@ var supportedModes = {
1845
1847
RST : [ "rst" ] ,
1846
1848
Ruby : [ "rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile" ] ,
1847
1849
Rust : [ "rs" ] ,
1850
+ SaC : [ "sac" ] ,
1848
1851
SASS : [ "sass" ] ,
1849
1852
SCAD : [ "scad" ] ,
1850
1853
Scala : [ "scala|sbt" ] ,
@@ -6831,6 +6834,15 @@ var keyWordCompleter = {
6831
6834
}
6832
6835
} ;
6833
6836
6837
+ var transformSnippetTooltip = function ( str ) {
6838
+ var record = { } ;
6839
+ return str . replace ( / \$ { ( \d + ) ( : ( .* ?) ) ? } / g, function ( _ , p1 , p2 , p3 ) {
6840
+ return ( record [ p1 ] = p3 || '' ) ;
6841
+ } ) . replace ( / \$ ( \d + ?) / g, function ( _ , p1 ) {
6842
+ return record [ p1 ] ;
6843
+ } ) ;
6844
+ } ;
6845
+
6834
6846
var snippetCompleter = {
6835
6847
getCompletions : function ( editor , session , pos , prefix , callback ) {
6836
6848
var scopes = [ ] ;
@@ -6863,7 +6875,7 @@ var snippetCompleter = {
6863
6875
if ( item . type == "snippet" && ! item . docHTML ) {
6864
6876
item . docHTML = [
6865
6877
"<b>" , lang . escapeHTML ( item . caption ) , "</b>" , "<hr></hr>" ,
6866
- lang . escapeHTML ( item . snippet )
6878
+ lang . escapeHTML ( transformSnippetTooltip ( item . snippet ) )
6867
6879
] . join ( "" ) ;
6868
6880
}
6869
6881
}
@@ -6994,12 +7006,17 @@ function is(token, type) {
6994
7006
exports . singletonTags = [ "area" , "base" , "br" , "col" , "command" , "embed" , "hr" , "html" , "img" , "input" , "keygen" , "link" , "meta" , "param" , "source" , "track" , "wbr" ] ;
6995
7007
exports . blockTags = [ "article" , "aside" , "blockquote" , "body" , "div" , "dl" , "fieldset" , "footer" , "form" , "head" , "header" , "html" , "nav" , "ol" , "p" , "script" , "section" , "style" , "table" , "tbody" , "tfoot" , "thead" , "ul" ] ;
6996
7008
7009
+ exports . formatOptions = {
7010
+ lineBreaksAfterCommasInCurlyBlock : true
7011
+ } ;
7012
+
6997
7013
exports . beautify = function ( session ) {
6998
7014
var iterator = new TokenIterator ( session , 0 , 0 ) ;
6999
7015
var token = iterator . getCurrentToken ( ) ;
7000
7016
var tabString = session . getTabString ( ) ;
7001
7017
var singletonTags = exports . singletonTags ;
7002
7018
var blockTags = exports . blockTags ;
7019
+ var formatOptions = exports . formatOptions || { } ;
7003
7020
var nextToken ;
7004
7021
var breakBefore = false ;
7005
7022
var spaceBefore = false ;
@@ -7181,7 +7198,7 @@ exports.beautify = function(session) {
7181
7198
} else if ( token . type === "punctuation.operator" && value . match ( / ^ ( : | , ) $ / ) ) {
7182
7199
trimCode ( ) ;
7183
7200
trimNext ( ) ;
7184
- if ( value . match ( / ^ ( , ) $ / ) && curlyDepth > 0 && roundDepth === 0 ) {
7201
+ if ( value . match ( / ^ ( , ) $ / ) && curlyDepth > 0 && roundDepth === 0 && formatOptions . lineBreaksAfterCommasInCurlyBlock ) {
7185
7202
rowsToAdd ++ ;
7186
7203
} else {
7187
7204
spaceAfter = true ;
@@ -7288,14 +7305,18 @@ exports.beautify = function(session) {
7288
7305
else
7289
7306
rowsToAdd = 1 ;
7290
7307
}
7291
- if ( is ( token , "tag-open" ) && value === "</" ) {
7292
- depth -- ;
7293
- } else if ( is ( token , "tag-open" ) && value === "<" && singletonTags . indexOf ( nextToken . value ) === - 1 ) {
7294
- depth ++ ;
7295
- } else if ( is ( token , "tag-name" ) ) {
7308
+ if ( nextToken && singletonTags . indexOf ( nextToken . value ) === - 1 ) {
7309
+ if ( is ( token , "tag-open" ) && value === "</" ) {
7310
+ depth -- ;
7311
+ } else if ( is ( token , "tag-open" ) && value === "<" ) {
7312
+ depth ++ ;
7313
+ } else if ( is ( token , "tag-close" ) && value === "/>" ) {
7314
+ depth -- ;
7315
+ }
7316
+ }
7317
+
7318
+ if ( is ( token , "tag-name" ) ) {
7296
7319
tagName = value ;
7297
- } else if ( is ( token , "tag-close" ) && value === "/>" && singletonTags . indexOf ( tagName ) === - 1 ) {
7298
- depth -- ;
7299
7320
}
7300
7321
7301
7322
row = curRow ;
0 commit comments