lib/code_rippa/syntax/sql.syntax in code_rippa-0.0.7 vs lib/code_rippa/syntax/sql.syntax in code_rippa-1.0.0

- old
+ new

@@ -1,237 +1,235 @@ ---- +--- name: SQL -fileTypes: +fileTypes: - sql - ddl - dml scopeName: source.sql -repository: - string_interpolation: +repository: + string_interpolation: name: string.interpolated.sql - captures: - "1": + captures: + '1': name: punctuation.definition.string.end.sql - match: (#\{)([^\}]*)(\}) - comments: - patterns: + match: "(#\\{)([^\\}]*)(\\})" + comments: + patterns: - name: comment.line.double-dash.sql - captures: - "1": + captures: + '1': name: punctuation.definition.comment.sql - match: (--).*$\n? + match: "(--).*$\\n?" - name: comment.line.number-sign.sql - captures: - "1": + captures: + '1': name: punctuation.definition.comment.sql - match: (#).*$\n? + match: "(#).*$\\n?" - name: comment.block.c - captures: - "0": + captures: + '0': name: punctuation.definition.comment.sql - begin: /\* - end: \*/ - string_escape: + begin: "/\\*" + end: "\\*/" + string_escape: name: constant.character.escape.sql - match: \\. - strings: - patterns: + match: "\\\\." + strings: + patterns: - name: string.quoted.single.sql - captures: - "1": + captures: + '1': name: punctuation.definition.string.begin.sql - "3": + '3': name: punctuation.definition.string.end.sql - match: (')[^'\\]*(') - comment: this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines. + match: "(')[^'\\\\]*(')" + comment: this is faster than the next begin/end rule since sub-pattern will + match till end-of-line and SQL files tend to have very long lines. - name: string.quoted.single.sql - endCaptures: - "0": + endCaptures: + '0': name: punctuation.definition.string.end.sql begin: "'" - beginCaptures: - "0": + beginCaptures: + '0': name: punctuation.definition.string.begin.sql end: "'" - patterns: + patterns: - include: "#string_escape" - name: string.quoted.other.backtick.sql - captures: - "1": + captures: + '1': name: punctuation.definition.string.begin.sql - "3": + '3': name: punctuation.definition.string.end.sql - match: (`)[^`\\]*(`) - comment: this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines. + match: "(`)[^`\\\\]*(`)" + comment: this is faster than the next begin/end rule since sub-pattern will + match till end-of-line and SQL files tend to have very long lines. - name: string.quoted.other.backtick.sql - endCaptures: - "0": + endCaptures: + '0': name: punctuation.definition.string.end.sql - begin: ` - beginCaptures: - "0": + begin: "`" + beginCaptures: + '0': name: punctuation.definition.string.begin.sql - end: ` - patterns: + end: "`" + patterns: - include: "#string_escape" - name: string.quoted.double.sql - captures: - "1": + captures: + '1': name: punctuation.definition.string.begin.sql - "3": + '3': name: punctuation.definition.string.end.sql - match: (")[^"#]*(") - comment: this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines. + match: "(\")[^\"#]*(\")" + comment: this is faster than the next begin/end rule since sub-pattern will + match till end-of-line and SQL files tend to have very long lines. - name: string.quoted.double.sql - endCaptures: - "0": + endCaptures: + '0': name: punctuation.definition.string.end.sql begin: "\"" - beginCaptures: - "0": + beginCaptures: + '0': name: punctuation.definition.string.begin.sql end: "\"" - patterns: + patterns: - include: "#string_interpolation" - name: string.other.quoted.brackets.sql - endCaptures: - "0": + endCaptures: + '0': name: punctuation.definition.string.end.sql begin: "%\\{" - beginCaptures: - "0": + beginCaptures: + '0': name: punctuation.definition.string.begin.sql - end: \} - patterns: + end: "\\}" + patterns: - include: "#string_interpolation" - regexps: - patterns: + regexps: + patterns: - name: string.regexp.sql - endCaptures: - "0": + endCaptures: + '0': name: punctuation.definition.string.end.sql - begin: /(?=\S.*/) - beginCaptures: - "0": + begin: "/(?=\\S.*/)" + beginCaptures: + '0': name: punctuation.definition.string.begin.sql - end: / - patterns: + end: "/" + patterns: - include: "#string_interpolation" - name: constant.character.escape.slash.sql - match: \\/ + match: "\\\\/" - name: string.regexp.modr.sql - endCaptures: - "0": + endCaptures: + '0': name: punctuation.definition.string.end.sql begin: "%r\\{" - beginCaptures: - "0": + beginCaptures: + '0': name: punctuation.definition.string.begin.sql - end: \} - patterns: + end: "\\}" + patterns: - include: "#string_interpolation" comment: We should probably handle nested bracket pairs!?! -- Allan uuid: C49120AC-6ECC-11D9-ACC8-000D93589AF6 -foldingStartMarker: \s*\(\s*$ -patterns: +foldingStartMarker: "\\s*\\(\\s*$" +patterns: - name: meta.create.sql - captures: - "1": + captures: + '1': name: keyword.other.create.sql - "2": + '2': name: keyword.other.sql - "5": + '5': name: entity.name.function.sql - match: (?i:^\s*(create)\s+(aggregate|conversion|database|domain|function|group|(unique\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\s+)(['"`]?)(\w+)\4 + match: "(?i:^\\s*(create)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator + class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)(['\"`]?)(\\w+)\\4" - name: meta.drop.sql - captures: - "1": + captures: + '1': name: keyword.other.create.sql - "2": + '2': name: keyword.other.sql - match: (?i:^\s*(drop)\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)) + match: "(?i:^\\s*(drop)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator + class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))" - name: meta.drop.sql - captures: - "1": + captures: + '1': name: keyword.other.create.sql - "2": + '2': name: keyword.other.table.sql - "3": + '3': name: entity.name.function.sql - "4": + '4': name: keyword.other.cascade.sql - match: (?i:\s*(drop)\s+(table)\s+(\w+)(\s+cascade)?\b) + match: "(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)" - name: meta.alter.sql - captures: - "1": + captures: + '1': name: keyword.other.create.sql - "2": + '2': name: keyword.other.table.sql - match: (?i:^\s*(alter)\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\s+) -- captures: - "6": + match: "(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator + class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)" +- captures: + '6': name: storage.type.sql - "11": + '11': name: storage.type.sql - "7": + '7': name: constant.numeric.sql - "12": + '12': name: storage.type.sql - "8": + '8': name: constant.numeric.sql - "13": + '13': name: storage.type.sql - "9": + '9': name: storage.type.sql - "14": + '14': name: constant.numeric.sql - "15": + '15': name: storage.type.sql - "1": + '1': name: storage.type.sql - "2": + '2': name: storage.type.sql - "3": + '3': name: constant.numeric.sql - "4": + '4': name: storage.type.sql - "10": + '10': name: constant.numeric.sql - "5": + '5': name: constant.numeric.sql - match: "(?xi)\n\n\ - \t\t\t\t# normal stuff, capture 1\n\ - \t\t\t\t \\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b\n\n\ - \t\t\t\t# numeric suffix, capture 2 + 3i\n\ - \t\t\t\t|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)\n\n\ - \t\t\t\t# optional numeric suffix, capture 4 + 5i\n\ - \t\t\t\t|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?\n\n\ - \t\t\t\t# special case, capture 6 + 7i + 8i\n\ - \t\t\t\t|\\b(numeric)\\b(?:\\((\\d+),(\\d+)\\))?\n\n\ - \t\t\t\t# special case, captures 9, 10i, 11\n\ - \t\t\t\t|\\b(times)(?:\\((\\d+)\\))(\\swithoutstimeszone\\b)?\n\n\ - \t\t\t\t# special case, captures 12, 13, 14i, 15\n\ - \t\t\t\t|\\b(timestamp)(?:(s)\\((\\d+)\\)(\\swithoutstimeszone\\b)?)?\n\n\ - \t\t\t" + match: "(?xi)\n\n\t\t\t\t# normal stuff, capture 1\n\t\t\t\t \\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b\n\n\t\t\t\t# + numeric suffix, capture 2 + 3i\n\t\t\t\t|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)\n\n\t\t\t\t# + optional numeric suffix, capture 4 + 5i\n\t\t\t\t|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?\n\n\t\t\t\t# + special case, capture 6 + 7i + 8i\n\t\t\t\t|\\b(numeric)\\b(?:\\((\\d+),(\\d+)\\))?\n\n\t\t\t\t# + special case, captures 9, 10i, 11\n\t\t\t\t|\\b(times)(?:\\((\\d+)\\))(\\swithoutstimeszone\\b)?\n\n\t\t\t\t# + special case, captures 12, 13, 14i, 15\n\t\t\t\t|\\b(timestamp)(?:(s)\\((\\d+)\\)(\\swithoutstimeszone\\b)?)?\n\n\t\t\t" - name: storage.modifier.sql - match: (?i:\b((?:primary|foreign)\s+key|references|on\sdelete(\s+cascade)?|check|constraint)\b) + match: "(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|check|constraint)\\b)" - name: constant.numeric.sql - match: \d+ + match: "\\d+" - name: keyword.other.DML.sql - match: (?i:\b(select(\s+distinct)?|insert\s+(ignore\s+)?into|update|delete|from|set|where|group\sby|and|union(\s+all)?|having|order\sby|limit|(inner|cross)\s+join|straight_join|(left|right)(\s+outer)?\s+join|natural(\s+(left|right)(\s+outer)?)?\s+join)\b) + match: "(?i:\\b(select(\\s+distinct)?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\sby|and|union(\\s+all)?|having|order\\sby|limit|(inner|cross)\\s+join|straight_join|(left|right)(\\s+outer)?\\s+join|natural(\\s+(left|right)(\\s+outer)?)?\\s+join)\\b)" - name: keyword.other.DDL.create.II.sql - match: (?i:\b(on\s+|(not\s+)?null)\b) + match: "(?i:\\b(on\\s+|(not\\s+)?null)\\b)" - name: keyword.other.DML.II.sql - match: (?i:\bvalues\b) + match: "(?i:\\bvalues\\b)" - name: keyword.other.LUW.sql - match: (?i:\b(begin(\s+work)?|start\s+transaction|commit(\s+work)?|rollback(\s+work)?)\b) + match: "(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)" - name: keyword.other.authorization.sql - match: (?i:\b(grant(\swith\sgrant\soption)?|revoke)\b) + match: "(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)" - name: keyword.other.data-integrity.sql - match: (?i:\bin\b) + match: "(?i:\\bin\\b)" - name: keyword.other.object-comments.sql - match: (?i:^\s*(comment\s+on\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\s+.*?\s+(is)\s+) + match: "(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+.*?\\s+(is)\\s+)" - include: "#comments" - include: "#strings" - include: "#regexps" -foldingStopMarker: ^\s*\) -keyEquivalent: ^~S +foldingStopMarker: "^\\s*\\)" +keyEquivalent: "^~S"