@@ -1780,6 +1780,7 @@ var supportedModes = {
17801780 HTML_Ruby : [ "erb|rhtml|html.erb" ] ,
17811781 INI : [ "ini|conf|cfg|prefs" ] ,
17821782 Io : [ "io" ] ,
1783+ Ion : [ "ion" ] ,
17831784 Jack : [ "jack" ] ,
17841785 Jade : [ "jade|pug" ] ,
17851786 Java : [ "java" ] ,
@@ -1821,11 +1822,12 @@ var supportedModes = {
18211822 Nunjucks : [ "nunjucks|nunjs|nj|njk" ] ,
18221823 ObjectiveC : [ "m|mm" ] ,
18231824 OCaml : [ "ml|mli" ] ,
1825+ PartiQL : [ "partiql|pql" ] ,
18241826 Pascal : [ "pas|p" ] ,
18251827 Perl : [ "pl|pm" ] ,
18261828 pgSQL : [ "pgsql" ] ,
1827- PHP : [ "php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module" ] ,
18281829 PHP_Laravel_blade : [ "blade.php" ] ,
1830+ PHP : [ "php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module" ] ,
18291831 Pig : [ "pig" ] ,
18301832 Powershell : [ "ps1" ] ,
18311833 Praat : [ "praat|praatscript|psc|proc" ] ,
@@ -1845,6 +1847,7 @@ var supportedModes = {
18451847 RST : [ "rst" ] ,
18461848 Ruby : [ "rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile" ] ,
18471849 Rust : [ "rs" ] ,
1850+ SaC : [ "sac" ] ,
18481851 SASS : [ "sass" ] ,
18491852 SCAD : [ "scad" ] ,
18501853 Scala : [ "scala|sbt" ] ,
@@ -6831,6 +6834,15 @@ var keyWordCompleter = {
68316834 }
68326835} ;
68336836
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+
68346846var snippetCompleter = {
68356847 getCompletions : function ( editor , session , pos , prefix , callback ) {
68366848 var scopes = [ ] ;
@@ -6863,7 +6875,7 @@ var snippetCompleter = {
68636875 if ( item . type == "snippet" && ! item . docHTML ) {
68646876 item . docHTML = [
68656877 "<b>" , lang . escapeHTML ( item . caption ) , "</b>" , "<hr></hr>" ,
6866- lang . escapeHTML ( item . snippet )
6878+ lang . escapeHTML ( transformSnippetTooltip ( item . snippet ) )
68676879 ] . join ( "" ) ;
68686880 }
68696881 }
@@ -6994,12 +7006,17 @@ function is(token, type) {
69947006exports . singletonTags = [ "area" , "base" , "br" , "col" , "command" , "embed" , "hr" , "html" , "img" , "input" , "keygen" , "link" , "meta" , "param" , "source" , "track" , "wbr" ] ;
69957007exports . blockTags = [ "article" , "aside" , "blockquote" , "body" , "div" , "dl" , "fieldset" , "footer" , "form" , "head" , "header" , "html" , "nav" , "ol" , "p" , "script" , "section" , "style" , "table" , "tbody" , "tfoot" , "thead" , "ul" ] ;
69967008
7009+ exports . formatOptions = {
7010+ lineBreaksAfterCommasInCurlyBlock : true
7011+ } ;
7012+
69977013exports . beautify = function ( session ) {
69987014 var iterator = new TokenIterator ( session , 0 , 0 ) ;
69997015 var token = iterator . getCurrentToken ( ) ;
70007016 var tabString = session . getTabString ( ) ;
70017017 var singletonTags = exports . singletonTags ;
70027018 var blockTags = exports . blockTags ;
7019+ var formatOptions = exports . formatOptions || { } ;
70037020 var nextToken ;
70047021 var breakBefore = false ;
70057022 var spaceBefore = false ;
@@ -7181,7 +7198,7 @@ exports.beautify = function(session) {
71817198 } else if ( token . type === "punctuation.operator" && value . match ( / ^ ( : | , ) $ / ) ) {
71827199 trimCode ( ) ;
71837200 trimNext ( ) ;
7184- if ( value . match ( / ^ ( , ) $ / ) && curlyDepth > 0 && roundDepth === 0 ) {
7201+ if ( value . match ( / ^ ( , ) $ / ) && curlyDepth > 0 && roundDepth === 0 && formatOptions . lineBreaksAfterCommasInCurlyBlock ) {
71857202 rowsToAdd ++ ;
71867203 } else {
71877204 spaceAfter = true ;
@@ -7288,14 +7305,18 @@ exports.beautify = function(session) {
72887305 else
72897306 rowsToAdd = 1 ;
72907307 }
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" ) ) {
72967319 tagName = value ;
7297- } else if ( is ( token , "tag-close" ) && value === "/>" && singletonTags . indexOf ( tagName ) === - 1 ) {
7298- depth -- ;
72997320 }
73007321
73017322 row = curRow ;
0 commit comments