diff --git a/Snippets/service.tmSnippet b/Snippets/service.tmSnippet index 02fb1b1..3207499 100644 --- a/Snippets/service.tmSnippet +++ b/Snippets/service.tmSnippet @@ -3,7 +3,7 @@ content - service ${1:Name} ${2/.+/extends /m}${2:Super} { + service ${1:Name}${2/.+/ extends /m}${2:Super} { ${3:void} ${4:method}(${5:args}) } name diff --git a/Syntaxes/Thrift.tmLanguage b/Syntaxes/Thrift.tmLanguage index 63b10b8..f68e7b7 100644 --- a/Syntaxes/Thrift.tmLanguage +++ b/Syntaxes/Thrift.tmLanguage @@ -144,7 +144,7 @@ comment begin the definition list end - $ ^ + (?x)$.^ # this regex should never end patterns @@ -173,11 +173,15 @@ end - $ + $|^ name meta.const.thrift patterns + + include + #comments + include #value @@ -206,9 +210,16 @@ end - $ + $|^ name meta.typedef.thrift + patterns + + + include + #comments + + begin @@ -223,11 +234,11 @@ 2 name - entity.name.enum.thrift + entity.name.type.enum.thrift end - $ + (?<=\})|$ name meta.enum.thrift patterns @@ -235,8 +246,24 @@ begin \{ + beginCaptures + + 0 + + name + punctuation.section.enum.begin.thrift + + end \} + endCaptures + + 0 + + name + punctuation.section.enum.end.thrift + + patterns @@ -283,11 +310,11 @@ 2 name - entity.name.senum.thrift + entity.name.type.senum.thrift end - $ + (?<=\})|$ name meta.senum.thrift patterns @@ -295,8 +322,24 @@ begin \{ + beginCaptures + + 0 + + name + punctuation.section.senum.begin.thrift + + end \} + endCaptures + + 0 + + name + punctuation.section.senum.end.thrift + + patterns @@ -338,11 +381,11 @@ 2 name - entity.name.struct.thrift + entity.name.type.struct.thrift end - $ + (?<=\})|$ name meta.struct.thrift patterns @@ -356,8 +399,24 @@ begin \{ + beginCaptures + + 0 + + name + punctuation.section.struct.begin.thrift + + end \} + endCaptures + + 0 + + name + punctuation.section.struct.end.thrift + + patterns @@ -385,11 +444,11 @@ 2 name - entity.name.exception.thrift + entity.name.type.exception.thrift end - $ + (?<=\})|$ name meta.exception.thrift patterns @@ -397,8 +456,24 @@ begin \{ + beginCaptures + + 0 + + name + punctuation.section.exception.begin.thrift + + end \} + endCaptures + + 0 + + name + punctuation.section.exception.end.thrift + + patterns @@ -426,7 +501,7 @@ 2 name - entity.name.service.thrift + entity.name.type.service.thrift 3 @@ -436,11 +511,11 @@ 4 name - entity.name.service.extends.thrift + entity.other.inherited-class.thrift end - $ + (?<=\})|$ name meta.service.thrift patterns @@ -448,8 +523,24 @@ begin \{ + beginCaptures + + 0 + + name + punctuation.section.service.begin.thrift + + end \} + endCaptures + + 0 + + name + punctuation.section.service.end.thrift + + patterns @@ -493,7 +584,7 @@ end - $ + $|^ name meta.service.function.thrift patterns @@ -501,8 +592,24 @@ begin \( + beginCaptures + + 0 + + name + punctuation.definition.arguments.begin.thrift + + end \) + endCaptures + + 0 + + name + punctuation.definition.arguments.end.thrift + + patterns @@ -533,8 +640,24 @@ begin \( + beginCaptures + + 0 + + name + punctuation.definition.arguments.begin.thrift + + end \) + endCaptures + + 0 + + name + punctuation.definition.arguments.end.thrift + + patterns @@ -549,6 +672,10 @@ + + include + #comments + @@ -565,30 +692,78 @@ patterns + captures + + 1 + + name + punctuation.definition.comment.thrift + + match - #.* + (#).*\n? name comment.line.number-sign.thrift + captures + + 1 + + name + punctuation.definition.comment.thrift + + match - //.* + (//).*\n? name comment.line.double-slash.thrift begin /\*\* + beginCaptures + + 0 + + name + punctuation.definition.comment.begin.thrift + + end \*/ + endCaptures + + 0 + + name + punctuation.definition.comment.end.thrift + + name comment.block.documentation.thrift begin /\* + beginCaptures + + 0 + + name + punctuation.definition.comment.begin.thrift + + end \*/ + endCaptures + + 0 + + name + punctuation.definition.comment.end.thrift + + name comment.block.thrift @@ -617,7 +792,15 @@ end - [,;]|$ + [,;]|(?=[)#])|$ + endCaptures + + 0 + + name + punctuation.separator.fields.thrift + + name meta.field.thrift patterns @@ -652,14 +835,14 @@ end - (?=[,;])|$ + (?=[,;]|[)#])|$ patterns begin = end - [,;]|$ + (?=[,;]|[)#])|$ patterns @@ -711,7 +894,7 @@ ' beginCaptures - 1 + 0 name punctuation.definition.string.begin.thrift @@ -721,7 +904,7 @@ ' endCaptures - 1 + 0 name punctuation.definition.string.end.thrift @@ -735,7 +918,7 @@ " beginCaptures - 1 + 0 name punctuation.definition.string.begin.thrift @@ -745,20 +928,36 @@ " endCaptures - 1 + 0 name punctuation.definition.string.begin.thrift name - string.quoted.double..thrift + string.quoted.double.thrift begin \[ + beginCaptures + + 0 + + name + punctuation.definition.array.begin.thrift + + end \] + endCaptures + + 0 + + name + punctuation.definition.array.end.thrift + + name meta.array.thrift patterns @@ -776,8 +975,24 @@ begin \{ + beginCaptures + + 0 + + name + punctuation.definition.map.begin.thrift + + end \} + endCaptures + + 0 + + name + punctuation.definition.map.end.thrift + + name meta.map.thrift patterns