--- name: Strings File fileTypes: - strings scopeName: source.strings uuid: 429E2DB7-EB4F-4B34-A4DF-DBFD3336C581 patterns: - name: comment.block.strings captures: "0": name: punctuation.definition.comment.strings begin: /\* end: \*/ - name: string.quoted.double.strings endCaptures: "0": name: punctuation.definition.string.end.strings begin: "\"" beginCaptures: "0": name: punctuation.definition.string.begin.strings end: "\"" patterns: - name: constant.character.escape.strings match: \\(\\|[abefnrtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-zA-Z0-9]+) - name: invalid.illegal.unknown-escape.strings match: \\. - name: constant.other.placeholder.strings match: "(?x)%\n\ \t\t\t\t\t\t(\\d+\\$)? # field (argument #)\n\ \t\t\t\t\t\t[#0\\- +']* # flags\n\ \t\t\t\t\t\t[,;:_]? # separator character (AltiVec)\n\ \t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n\ \t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n\ \t\t\t\t\t\t(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n\ \t\t\t\t\t\t[@diouxXDOUeEfFgGaACcSspn%] # conversion type\n\ \t\t\t\t\t" - name: invalid.illegal.placeholder.c match: "%"