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"