fileTypes scala foldingStartMarker /\*\*|\{\s*$ foldingStopMarker \*\*/|^\s*\} name Scala patterns include #comments match '[a-zA-Z0-9_]+ name symbol.scala include #strings match \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\b name constant.numeric.scala captures 1 name storage.modifier.scala 4 name storage.modifier.scala match \b(class|trait|object|type|case\s+object|case\s+class)\s+([a-zA-Z0-9_]*) name meta.typedefn.scala captures 1 name storage.modifier.scala match \b(def)\s+([^:(\s]*) name meta.fundefn.scala match \b(catch|do|extends|false|finally|forSome|implicit|lazy|match|null|protected|private|requires|sealed|super|this|throw|try|true|with|yield|new|package|override|import|abstract|case|final|val|var|if|else|while|for|return)\b name keyword.control.scala match \b(override|abstract|final|sealed|implicit|private|protected|private\s*\[\s*this\s*\s*]|protected\s*\[\s*this\s*\])\b name keyword.modifier.scala begin (?<=\)|\}|[A-Za-z0-9]|_|\s):\s(=>)? beginCaptures 1 name storage.type.scala end (?=\)|(=)|//|\n|\bif|,|(;(\s)*\n)) patterns match \{(?<balanced>[^\{\}]|\{\g<balanced>*\})*\} name storage.type.scala match \((?<balanced>[^\(\)]|\(\g<balanced>*\))*\) name storage.type.scala match (\w|(\[(?<balanced>[^\[\]]|\[\g<balanced>*\])*\])|\W) name storage.type.scala begin (?<=\)|\}|[A-Za-z0-9]|_|\s):([A-Za-z]) beginCaptures 1 name storage.type.scala end (?=\)|(=)|//|\n|\bif|,|(;(\s)*\n)) patterns match \{(?<balanced>[^\{\}]|\{\g<balanced>*\})*\} name storage.type.scala match \((?<balanced>[^()]|\(\g<balanced>*\))*\) name storage.type.scala match (\w|(\[(?<balanced>[^\[\]]|\[\g<balanced>*\])*\])|\W) name storage.type.scala begin \[ end \] patterns match [A-Za-z0-9]+ name storage.type.scala match \{(?<balanced>[^\{\}]|\{\g<balanced>*\})*\} name storage.type.scala match \((?<balanced>[^()]|\(\g<balanced>*\))*\) name storage.type.scala match (\w|(\[(?<balanced>[^\[\]]|\[\g<balanced>*\])*\])|\W) name storage.type.scala repository comments patterns begin /\* captures 0 name punctuation.definition.comment.scala end \*/ name comment.block.scala captures 1 name punctuation.definition.comment.scala match ^ *(//) ___.*___*\s*$\n? name comment.line.marker.scala captures 1 name punctuation.definition.comment.scala match (//).*$\n? name comment.line.double-slash.scala strings patterns begin " beginCaptures 0 name punctuation.definition.string.begin.scala end " endCaptures 0 name punctuation.definition.string.end.scala name string.quoted.double.scala patterns match \\. name constant.character.escape.scala begin ' beginCaptures 0 name punctuation.definition.string.begin.scala end '|(\w(\s|\W)) endCaptures 0 name punctuation.definition.string.end.scala name string.quoted.single.scala patterns match \\. name constant.character.escape.scala scopeName source.scala uuid 149A0FEC-B351-4DB4-AC6D-8462972C3A1F