diff --git a/extensions/gitsyntax/package.json b/extensions/gitsyntax/package.json
index 8ce5bd1ba32..bc1a1810f91 100644
--- a/extensions/gitsyntax/package.json
+++ b/extensions/gitsyntax/package.json
@@ -10,6 +10,9 @@
"categories": [
"Other"
],
+ "scripts": {
+ "update-grammar": "node ../../build/npm/update-grammar.js textmate/git.tmbundle Syntaxes/Git%20Commit%20Message.tmLanguage ./syntaxes/git-commit.tmLanguage.json Syntaxes/Git%20Rebase%20Message.tmLanguage ./syntaxes/git-rebase.tmLanguage.json"
+ },
"contributes": {
"languages": [
{
@@ -40,12 +43,12 @@
{
"language": "git-commit",
"scopeName": "text.git-commit",
- "path": "./syntaxes/git-commit.tmLanguage"
+ "path": "./syntaxes/git-commit.tmLanguage.json"
},
{
"language": "git-rebase",
"scopeName": "text.git-rebase",
- "path": "./syntaxes/git-rebase.tmLanguage"
+ "path": "./syntaxes/git-rebase.tmLanguage.json"
}
]
}
diff --git a/extensions/gitsyntax/syntaxes/git-commit.tmLanguage b/extensions/gitsyntax/syntaxes/git-commit.tmLanguage
deleted file mode 100644
index 705fc0a36f9..00000000000
--- a/extensions/gitsyntax/syntaxes/git-commit.tmLanguage
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
- fileTypes
-
- COMMIT_EDITMSG
- MERGE_MSG
-
- foldingStartMarker
- ^\+\+\+
- foldingStopMarker
- ^---
- name
- Git Commit Message
- patterns
-
-
- begin
- \A(?!# Please enter the commit message)
- end
- ^(?=# Please enter the commit message)
- name
- meta.scope.message.git-commit
- patterns
-
-
- begin
- \A(?=#)
- end
- ^(?!#)
- patterns
-
-
- include
- #comment
-
-
-
-
- begin
- ^(?!# Please enter the commit message)
- end
- ^(?=# Please enter the commit message)
- patterns
-
-
- begin
- \G
- end
- ^(?!\G)
- name
- meta.scope.subject.git-commit
- patterns
-
-
- captures
-
- 1
-
- name
- keyword.other.$2.git-commit
-
-
- match
- \G((fixup|squash)!)\s*
-
-
- match
- .{66,}$
- name
- invalid.illegal.line-too-long.git-commit
-
-
- match
- .{51,}$
- name
- invalid.deprecated.line-too-long.git-commit
-
-
-
-
- begin
- ^(?!# Please enter the commit message)
- end
- ^(?=# Please enter the commit message)
- patterns
-
-
- include
- #comment
-
-
-
-
-
-
-
-
- begin
- ^(?=# Please enter the commit message)
- end
- \z
- name
- meta.scope.metadata.git-commit
- patterns
-
-
- include
- #metadata
-
-
-
-
- repository
-
- comment
-
- begin
- ^(#)
- captures
-
- 1
-
- name
- punctuation.definition.comment.git-commit
-
-
- end
- \n
- name
- comment.line.number-sign.git-commit
-
- metadata
-
- patterns
-
-
- begin
- (?=^# Changes to be committed:)
- end
- (?!\G)((?=^# \w)|(?!^#))
- patterns
-
-
- begin
- (^[ \t]+)?(?=#)
- beginCaptures
-
- 1
-
- name
- punctuation.whitespace.comment.leading.git-commit
-
-
- contentName
- comment.line.number-sign.git-commit
- end
- (?!\G)^
- patterns
-
-
- match
- \G#
- name
- punctuation.definition.comment.git-commit
-
-
- match
- ((modified|renamed):.*)$\n?
- name
- markup.changed.git-commit
-
-
- match
- (new file:.*)$\n?
- name
- markup.inserted.git-commit
-
-
- match
- (deleted:.*)$\n?
- name
- markup.deleted.git-commit
-
-
-
-
-
-
- include
- #comment
-
-
- begin
- (?=diff\ \-\-git)
- comment
- diff presented at the end of the commit message when using commit -v.
- contentName
- source.diff
- end
- \z
- name
- meta.embedded.diff.git-commit
- patterns
-
-
- include
- source.diff
-
-
-
-
-
-
- scopeName
- text.git-commit
- uuid
- BFE83C06-8508-44BE-A975-95A57BF619A7
-
-
diff --git a/extensions/gitsyntax/syntaxes/git-commit.tmLanguage.json b/extensions/gitsyntax/syntaxes/git-commit.tmLanguage.json
new file mode 100644
index 00000000000..5f5db8762fa
--- /dev/null
+++ b/extensions/gitsyntax/syntaxes/git-commit.tmLanguage.json
@@ -0,0 +1,143 @@
+{
+ "fileTypes": [
+ "COMMIT_EDITMSG",
+ "MERGE_MSG"
+ ],
+ "foldingStartMarker": "^\\+\\+\\+",
+ "foldingStopMarker": "^---",
+ "name": "Git Commit Message",
+ "patterns": [
+ {
+ "begin": "\\A(?!# Please enter the commit message)",
+ "end": "^(?=# Please enter the commit message)",
+ "name": "meta.scope.message.git-commit",
+ "patterns": [
+ {
+ "begin": "\\A(?=#)",
+ "end": "^(?!#)",
+ "patterns": [
+ {
+ "include": "#comment"
+ }
+ ]
+ },
+ {
+ "begin": "^(?!# Please enter the commit message)",
+ "end": "^(?=# Please enter the commit message)",
+ "patterns": [
+ {
+ "begin": "\\G",
+ "end": "^(?!\\G)",
+ "name": "meta.scope.subject.git-commit",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "keyword.other.$2.git-commit"
+ }
+ },
+ "match": "\\G((fixup|squash)!)\\s*"
+ },
+ {
+ "match": ".{73,}$",
+ "name": "invalid.illegal.line-too-long.git-commit"
+ },
+ {
+ "match": ".{51,}$",
+ "name": "invalid.deprecated.line-too-long.git-commit"
+ }
+ ]
+ },
+ {
+ "begin": "^(?!# Please enter the commit message)",
+ "end": "^(?=# Please enter the commit message)",
+ "patterns": [
+ {
+ "include": "#comment"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "^(?=# Please enter the commit message)",
+ "end": "\\z",
+ "name": "meta.scope.metadata.git-commit",
+ "patterns": [
+ {
+ "include": "#metadata"
+ }
+ ]
+ }
+ ],
+ "repository": {
+ "comment": {
+ "begin": "^(#)",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.comment.git-commit"
+ }
+ },
+ "end": "\\n",
+ "name": "comment.line.number-sign.git-commit"
+ },
+ "metadata": {
+ "patterns": [
+ {
+ "begin": "(?=^# Changes to be committed:)",
+ "end": "(?!\\G)((?=^# \\w)|(?!^#))",
+ "patterns": [
+ {
+ "begin": "(^[ \\t]+)?(?=#)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.whitespace.comment.leading.git-commit"
+ }
+ },
+ "contentName": "comment.line.number-sign.git-commit",
+ "end": "(?!\\G)^",
+ "patterns": [
+ {
+ "match": "\\G#",
+ "name": "punctuation.definition.comment.git-commit"
+ },
+ {
+ "match": "((modified|renamed):.*)$\\n?",
+ "name": "markup.changed.git-commit"
+ },
+ {
+ "match": "(new file:.*)$\\n?",
+ "name": "markup.inserted.git-commit"
+ },
+ {
+ "match": "(deleted:.*)$\\n?",
+ "name": "markup.deleted.git-commit"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "include": "#comment"
+ },
+ {
+ "begin": "(?=diff\\ \\-\\-git)",
+ "comment": "diff presented at the end of the commit message when using commit -v.",
+ "contentName": "source.diff",
+ "end": "\\z",
+ "name": "meta.embedded.diff.git-commit",
+ "patterns": [
+ {
+ "include": "source.diff"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "scopeName": "text.git-commit",
+ "uuid": "BFE83C06-8508-44BE-A975-95A57BF619A7",
+ "version": "https://github.com/textmate/git.tmbundle/commit/93897a78c6e52bef13dadc0d4091d203c5facb40"
+}
\ No newline at end of file
diff --git a/extensions/gitsyntax/syntaxes/git-rebase.tmLanguage b/extensions/gitsyntax/syntaxes/git-rebase.tmLanguage
deleted file mode 100644
index a53ee1533fd..00000000000
--- a/extensions/gitsyntax/syntaxes/git-rebase.tmLanguage
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
- fileTypes
-
- git-rebase-todo
-
- name
- Git Rebase Message
- patterns
-
-
- captures
-
- 1
-
- name
- punctuation.definition.comment.git-rebase
-
-
- match
- ^\s*(#).*$\n?
- name
- comment.line.number-sign.git-rebase
-
-
- captures
-
- 1
-
- name
- support.function.git-rebase
-
- 2
-
- name
- constant.sha.git-rebase
-
- 3
-
- name
- meta.commit-message.git-rebase
-
-
- match
- ^\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|d|drop|x|exec)\s+([0-9a-f]+)\s+(.*)$
- name
- meta.commit-command.git-rebase
-
-
- scopeName
- text.git-rebase
- uuid
- 7F1CC209-5F6D-486A-8180-09FA282381A1
-
-
diff --git a/extensions/gitsyntax/syntaxes/git-rebase.tmLanguage.json b/extensions/gitsyntax/syntaxes/git-rebase.tmLanguage.json
new file mode 100644
index 00000000000..c8bf731d9cb
--- /dev/null
+++ b/extensions/gitsyntax/syntaxes/git-rebase.tmLanguage.json
@@ -0,0 +1,35 @@
+{
+ "fileTypes": [
+ "git-rebase-todo"
+ ],
+ "name": "Git Rebase Message",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.comment.git-rebase"
+ }
+ },
+ "match": "^\\s*(#).*$\\n?",
+ "name": "comment.line.number-sign.git-rebase"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "support.function.git-rebase"
+ },
+ "2": {
+ "name": "constant.sha.git-rebase"
+ },
+ "3": {
+ "name": "meta.commit-message.git-rebase"
+ }
+ },
+ "match": "^\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|exec|x|drop|d)\\s+([0-9a-f]+)\\s+(.*)$",
+ "name": "meta.commit-command.git-rebase"
+ }
+ ],
+ "scopeName": "text.git-rebase",
+ "uuid": "7F1CC209-5F6D-486A-8180-09FA282381A1",
+ "version": "https://github.com/textmate/git.tmbundle/commit/d1db42c2d71948662098183a6df519fb53a7a15b"
+}
\ No newline at end of file