name Miscellaneous scope text.html settings decreaseIndentPattern ]*+]*> # optionally, anything that's not an angle bracket, followed by any valid HTML close tag except "html" | ( # closing comment punctuation, optionally preceded by an end "comment selector" | \} # a closing curly brace ) ]]> increaseIndentPattern for|foreach|while)\b.*:(?!.*?end\k\b) # PHP control keywords that don't end themselves on the same line ) | \{[^}"']*$ # open curly braces that don't have close braces or string punctuation after them | ) # comments that don't close themselves on the same line | .*<(?!\?|(?i:area|base|br|col|frame|hr|html|img|input|link|meta|param)\b|[^>]*/>) # skip self closing tags (tags that end with />, as well as known self closing tags) (?[A-Za-z0-9-]+)(?=\s|>)\b[^>]*>(?!.*\s*>) # a valid non-self-closing HTML tag that doesn't close itself on the same line ) ]]> bracketIndentNextLinePattern )]]>