github-linguist 7.1.3 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/grammars/annotation.liquidhaskell.haskell.json +119 -4
  3. data/grammars/etc.json +148 -0
  4. data/grammars/hint.haskell.json +119 -4
  5. data/grammars/hint.message.haskell.json +119 -4
  6. data/grammars/hint.type.haskell.json +119 -4
  7. data/grammars/injections.etc.json +21 -0
  8. data/grammars/source.abap.json +2 -2
  9. data/grammars/source.ats.json +87 -17
  10. data/grammars/source.ballerina.json +236 -313
  11. data/grammars/source.batchfile.json +1 -1
  12. data/grammars/source.bdf.json +14 -8
  13. data/grammars/source.changelogs.rpm-spec.json +3 -3
  14. data/grammars/source.chapel.json +1 -1
  15. data/grammars/source.coffee.json +98 -0
  16. data/grammars/source.csound-document.json +26 -124
  17. data/grammars/source.curlrc.json +180 -0
  18. data/grammars/source.dart.json +5 -2
  19. data/grammars/source.elixir.json +20 -25
  20. data/grammars/source.emacs.lisp.json +23 -1
  21. data/grammars/source.gdb.json +1 -1
  22. data/grammars/source.gitattributes.json +111 -0
  23. data/grammars/source.gitconfig.json +450 -0
  24. data/grammars/source.gitignore.json +140 -0
  25. data/grammars/source.graphql.json +18 -0
  26. data/grammars/source.haproxy-config.json +10 -10
  27. data/grammars/source.haskell.json +119 -4
  28. data/grammars/source.hgignore.json +34 -0
  29. data/grammars/source.hsig.json +119 -4
  30. data/grammars/source.hx.json +2 -2
  31. data/grammars/source.jison.json +1 -1
  32. data/grammars/source.ltspice.symbol.json +294 -0
  33. data/grammars/source.m4.json +187 -0
  34. data/grammars/source.man-conf.json +141 -0
  35. data/grammars/source.nanorc.json +330 -0
  36. data/grammars/source.nim.comment.json +82 -0
  37. data/grammars/source.nim.json +1 -57
  38. data/grammars/source.nix.json +2 -2
  39. data/grammars/source.opts.json +98 -0
  40. data/grammars/source.reason.json +13 -0
  41. data/grammars/source.rust.json +35 -0
  42. data/grammars/source.terraform.json +4 -1
  43. data/grammars/source.ts.json +307 -39
  44. data/grammars/source.tsx.json +290 -37
  45. data/grammars/source.zig.json +286 -0
  46. data/grammars/text.html.basic.json +1 -1
  47. data/grammars/text.marko.json +61 -9
  48. data/grammars/text.tex.latex.haskell.json +119 -4
  49. data/grammars/text.zone_file.json +2 -2
  50. data/grammars/version +1 -1
  51. data/lib/linguist/VERSION +1 -1
  52. data/lib/linguist/generated.rb +0 -8
  53. data/lib/linguist/heuristics.yml +30 -3
  54. data/lib/linguist/languages.json +1 -1
  55. data/lib/linguist/languages.yml +143 -3
  56. data/lib/linguist/samples.json +4494 -646
  57. data/lib/linguist/vendor.yml +1 -2
  58. metadata +31 -4
  59. data/grammars/source.solidity.json +0 -189
@@ -118,6 +118,9 @@
118
118
  "begin": "/\\*\\*",
119
119
  "end": "\\*/",
120
120
  "patterns": [
121
+ {
122
+ "include": "#comments-doc-oldschool"
123
+ },
121
124
  {
122
125
  "include": "#dartdoc"
123
126
  }
@@ -161,7 +164,7 @@
161
164
  "match": "(?\u003c![a-zA-Z0-9_$])[_$]*[A-Z][a-zA-Z0-9_$]*"
162
165
  },
163
166
  {
164
- "match": "([_$]*[a-z][a-zA-Z0-9_$]*)(\\(|\\s+=\u003e)",
167
+ "match": "([_$]*[a-z][a-zA-Z0-9_$]*)(\u003c|\\(|\\s+=\u003e)",
165
168
  "captures": {
166
169
  "1": {
167
170
  "name": "entity.name.function.dart"
@@ -229,7 +232,7 @@
229
232
  },
230
233
  {
231
234
  "name": "keyword.declaration.dart",
232
- "match": "(?\u003c!\\$)\\b(abstract|class|enum|extends|external|factory|implements|get|mixin|native|operator|set|typedef|with)\\b(?!\\$)"
235
+ "match": "(?\u003c!\\$)\\b(abstract|class|enum|extends|external|factory|implements|get|mixin|native|operator|set|typedef|with|covariant)\\b(?!\\$)"
233
236
  },
234
237
  {
235
238
  "name": "keyword.operator.dart",
@@ -289,7 +289,7 @@
289
289
  },
290
290
  {
291
291
  "name": "keyword.control.elixir",
292
- "match": "(?\u003c!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super|with)\\b(?![?!:])"
292
+ "match": "(?\u003c!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\\b(?![?!:])"
293
293
  },
294
294
  {
295
295
  "name": "keyword.operator.elixir",
@@ -856,7 +856,7 @@
856
856
  "name": "meta.embedded.line.elixir",
857
857
  "contentName": "source.elixir",
858
858
  "begin": "#\\{",
859
- "end": "(\\})",
859
+ "end": "\\}",
860
860
  "patterns": [
861
861
  {
862
862
  "include": "#nest_curly_and_self"
@@ -873,34 +873,29 @@
873
873
  "endCaptures": {
874
874
  "0": {
875
875
  "name": "punctuation.section.embedded.end.elixir"
876
- },
877
- "1": {
878
- "name": "source.elixir"
879
876
  }
880
- },
881
- "repository": {
882
- "nest_curly_and_self": {
877
+ }
878
+ },
879
+ "nest_curly_and_self": {
880
+ "patterns": [
881
+ {
882
+ "begin": "\\{",
883
+ "end": "\\}",
883
884
  "patterns": [
884
885
  {
885
- "begin": "\\{",
886
- "end": "\\}",
887
- "patterns": [
888
- {
889
- "include": "#nest_curly_and_self"
890
- }
891
- ],
892
- "captures": {
893
- "0": {
894
- "name": "punctuation.section.scope.elixir"
895
- }
896
- }
897
- },
898
- {
899
- "include": "$self"
886
+ "include": "#nest_curly_and_self"
900
887
  }
901
- ]
888
+ ],
889
+ "captures": {
890
+ "0": {
891
+ "name": "punctuation.section.scope.elixir"
892
+ }
893
+ }
894
+ },
895
+ {
896
+ "include": "$self"
902
897
  }
903
- }
898
+ ]
904
899
  }
905
900
  }
906
901
  }
@@ -7,6 +7,14 @@
7
7
  }
8
8
  ],
9
9
  "repository": {
10
+ "archive-sources": {
11
+ "match": "(?x)\\b(?\u003c=[\\s()\\[]|^)\n(SC|gnu|marmalade|melpa-stable|melpa|org)\n(?=[\\s()]|$) \\b ",
12
+ "captures": {
13
+ "1": {
14
+ "name": "support.language.constant.archive-source.emacs.lisp"
15
+ }
16
+ }
17
+ },
10
18
  "arg-values": {
11
19
  "patterns": [
12
20
  {
@@ -45,6 +53,10 @@
45
53
  }
46
54
  ]
47
55
  },
56
+ "cask": {
57
+ "name": "support.function.emacs.lisp",
58
+ "match": "\\b(?\u003c=[\\s()\\[]|^)(?:files|source|development|depends-on|package-file|package-descriptor|package)(?=[\\s()]|$)\\b"
59
+ },
48
60
  "comment": {
49
61
  "name": "comment.line.semicolon.emacs.lisp",
50
62
  "begin": ";",
@@ -760,12 +772,18 @@
760
772
  {
761
773
  "include": "#arg-values"
762
774
  },
775
+ {
776
+ "include": "#archive-sources"
777
+ },
763
778
  {
764
779
  "include": "#boolean"
765
780
  },
766
781
  {
767
782
  "include": "#faces"
768
783
  },
784
+ {
785
+ "include": "#cask"
786
+ },
769
787
  {
770
788
  "include": "#stdlib"
771
789
  }
@@ -915,7 +933,7 @@
915
933
  },
916
934
  {
917
935
  "name": "support.function.emacs.lisp",
918
- "match": "(?x)(?\u003c=[()]|^)\n\t(haskell-mode-stylish-buffer|haskell-mode-tag-find|haskell-mode-view-news|haskell-mode|haskell-move-nested-left|haskell-move-nested-right\n\t|haskell-move-nested|haskell-navigate-imports-go|haskell-navigate-imports-return|haskell-navigate-imports|haskell-process-cabal-build\n\t|haskell-process-cabal-macros|haskell-process-cabal|haskell-process-cd|haskell-process-clear|haskell-process-do-info|haskell-process-do-type\n\t|haskell-process-interrupt|haskell-process-load-file|haskell-process-load-or-reload|haskell-process-minimal-imports|haskell-process-reload-devel-main\n\t|haskell-process-reload-file|haskell-process-reload|haskell-process-restart|haskell-process-show-repl-response|haskell-process-unignore|haskell-rgrep\n\t|haskell-session-all-modules|haskell-session-change-target|haskell-session-change|haskell-session-installed-modules|haskell-session-kill\n\t|haskell-session-maybe|haskell-session-process|haskell-session-project-modules|haskell-session|haskell-sort-imports|haskell-tab-indent-mode\n\t|haskell-version|hayoo|help--analyze-key|help--binding-undefined-p|help--docstring-quote|help--filter-info-list|help--load-prefixes|help--loaded-p\n\t|help--make-usage-docstring|help--make-usage|help--read-key-sequence|help--symbol-completion-table|help-definition-prefixes|help-fns--analyze-function\n\t|help-fns-function-description-header|help-fns-short-filename|highlight-uses-mode|hoogle|hyperspec-lookup|ibuffer-jump|ido-dired-other-frame\n\t|ido-dired-other-window|ido-display-buffer-other-frame|ido-find-alternate-file-other-window|if-let\\*|image-dired-minor-mode|image-mode-to-text\n\t|indent--default-inside-comment|indent--funcall-widened|indent-region-line-by-line|indent-relative-first-indent-point|inferior-erlang|inferior-lfe-mode\n\t|inferior-lfe|ini-mode|insert-directory-clean|insert-directory-wildcard-in-dir-p|interactive-haskell-mode|internal--compiler-macro-cXXr\n\t|internal--syntax-propertize|internal-auto-fill|internal-default-interrupt-process|internal-echo-keystrokes-prefix|internal-handle-focus-in\n\t|isearch--describe-regexp-mode|isearch--describe-word-mode|isearch--lax-regexp-function-p|isearch--momentary-message|isearch--yank-char-or-syntax\n\t|isearch-define-mode-toggle|isearch-lazy-highlight-start|isearch-string-propertize|isearch-toggle-char-fold|isearch-update-from-string-properties\n\t|isearch-xterm-paste|isearch-yank-symbol-or-char|jison-mode|jit-lock--run-functions|js-jsx-mode|js2-highlight-unused-variables-mode\n\t|js2-imenu-extras-mode|js2-imenu-extras-setup|js2-jsx-mode|js2-minor-mode|js2-mode|json--check-position|json--decode-utf-16-surrogates\n\t|json--plist-reverse|json--plist-to-alist|json--record-path|json-advance--inliner|json-path-to-position|json-peek--inliner|json-pop--inliner\n\t|json-pretty-print-buffer-ordered|json-pretty-print-ordered|json-readtable-dispatch|json-skip-whitespace--inliner|kill-current-buffer\n\t|kmacro-keyboard-macro-p|kmacro-p|kqueue-add-watch|kqueue-rm-watch|kqueue-valid-p|langdoc-call-fun|langdoc-define-help-mode|langdoc-if-let\n\t|langdoc-insert-link|langdoc-matched-strings|langdoc-while-let|lcms-cam02-ucs|lcms-cie-de2000|lcms-jab-\u003ejch|lcms-jch-\u003ejab|lcms-jch-\u003exyz\n\t|lcms-temp-\u003ewhite-point|lcms-xyz-\u003ejch|lcms2-available-p|less-css-mode|let-when-compile|lfe-indent-function|lfe-mode|lgstring-remove-glyph\n\t|libxml-available-p|line-number-display-width|lisp--el-match-keyword|lisp--el-non-funcall-position-p|lisp-adaptive-fill|lisp-indent-calc-next\n\t|lisp-indent-initial-state|lisp-indent-region|lisp-indent-state-p--cmacro|lisp-indent-state-ppss--cmacro|lisp-indent-state-ppss-point--cmacro\n\t|lisp-indent-state-ppss-point|lisp-indent-state-ppss|lisp-indent-state-p|lisp-indent-state-stack--cmacro|lisp-indent-state-stack|lisp-ppss\n\t|list-timers|literate-haskell-mode|load-user-init-file|loadhist-unload-element|logcount|lread--substitute-object-in-subtree|macroexp-macroexpand\n\t|macroexp-parse-body|macrostep-c-mode-hook|macrostep-expand|macrostep-mode|major-mode-restore|major-mode-suspend|make-condition-variable\n\t|make-empty-file|make-finalizer|make-mutex|make-nearby-temp-file|make-pipe-process|make-process|make-record|make-temp-file-internal|make-thread\n\t|make-xref-elisp-location--cmacro|make-xref-elisp-location|make-yas--exit--cmacro|make-yas--exit|make-yas--field--cmacro|make-yas--field\n\t|make-yas--mirror--cmacro|make-yas--mirror|make-yas--snippet--cmacro|make-yas--snippet|make-yas--table--cmacro|make-yas--table|map--apply-alist\n\t|map--apply-array|map--apply-hash-table|map--do-alist|map--do-array|map--into-hash-table|map--make-pcase-bindings|map--make-pcase-patterns\n\t|map--pcase-macroexpander|map--put|map-apply|map-contains-key|map-copy|map-delete|map-do|map-elt|map-empty-p|map-every-p|map-filter|map-into\n\t|map-keys-apply|map-keys|map-length|map-let|map-merge-with|map-merge|map-nested-elt|map-pairs|map-put|map-remove|map-some|map-values-apply\n\t|map-values|mapbacktrace|mapp|mark-beginning-of-buffer|mark-end-of-buffer|markdown-live-preview-mode|markdown-mode|markdown-view-mode\n\t|mc-hide-unmatched-lines-mode|mc\\/add-cursor-on-click|mc\\/edit-beginnings-of-lines|mc\\/edit-ends-of-lines|mc\\/edit-lines|mc\\/insert-letters\n\t|mc\\/insert-numbers|mc\\/mark-all-dwim|mc\\/mark-all-in-region-regexp|mc\\/mark-all-in-region|mc\\/mark-all-like-this-dwim\n\t|mc\\/mark-all-like-this-in-defun|mc\\/mark-all-like-this|mc\\/mark-all-symbols-like-this-in-defun|mc\\/mark-all-symbols-like-this\n\t|mc\\/mark-all-words-like-this-in-defun|mc\\/mark-all-words-like-this|mc\\/mark-more-like-this-extended|mc\\/mark-next-like-this-word\n\t|mc\\/mark-next-like-this|mc\\/mark-next-lines|mc\\/mark-next-symbol-like-this|mc\\/mark-next-word-like-this|mc\\/mark-pop\n\t|mc\\/mark-previous-like-this-word|mc\\/mark-previous-like-this|mc\\/mark-previous-lines|mc\\/mark-previous-symbol-like-this\n\t|mc\\/mark-previous-word-like-this|mc\\/mark-sgml-tag-pair|mc\\/reverse-regions|mc\\/skip-to-next-like-this|mc\\/skip-to-previous-like-this\n\t|mc\\/sort-regions|mc\\/toggle-cursor-on-click|mc\\/unmark-next-like-this|mc\\/unmark-previous-like-this|mc\\/vertical-align-with-space\n\t|mc\\/vertical-align|menu-bar-bottom-and-right-window-divider|menu-bar-bottom-window-divider|menu-bar-display-line-numbers-mode\n\t|menu-bar-goto-uses-etags-p|menu-bar-no-window-divider|menu-bar-right-window-divider|menu-bar-window-divider-customize|mhtml-mode|midnight-mode\n\t|minibuffer-maybe-quote-filename|minibuffer-prompt-properties--setter|mm-images-in-region-p|mocha-debug-at-point|mocha-debug-file|mocha-debug-project\n\t|mocha-test-at-point|mocha-test-file|mocha-test-project|mocha-toggle-imenu-function|mode-line-default-help-echo|module-function-p|module-load\n\t|mouse--click-1-maybe-follows-link|mouse-absolute-pixel-position|mouse-drag-and-drop-region|mouse-drag-bottom-edge|mouse-drag-bottom-left-corner\n\t|mouse-drag-bottom-right-corner|mouse-drag-frame|mouse-drag-left-edge|mouse-drag-right-edge|mouse-drag-top-edge|mouse-drag-top-left-corner\n\t|mouse-drag-top-right-corner|mouse-resize-frame|move-text--at-first-line-p)\n(?=[\\s()]|$)"
936
+ "match": "(?x)(?\u003c=[()]|^)\n\t(haskell-mode-stylish-buffer|haskell-mode-tag-find|haskell-mode-view-news|haskell-mode|haskell-move-nested-left|haskell-move-nested-right\n\t|haskell-move-nested|haskell-navigate-imports-go|haskell-navigate-imports-return|haskell-navigate-imports|haskell-process-cabal-build\n\t|haskell-process-cabal-macros|haskell-process-cabal|haskell-process-cd|haskell-process-clear|haskell-process-do-info|haskell-process-do-type\n\t|haskell-process-interrupt|haskell-process-load-file|haskell-process-load-or-reload|haskell-process-minimal-imports|haskell-process-reload-devel-main\n\t|haskell-process-reload-file|haskell-process-reload|haskell-process-restart|haskell-process-show-repl-response|haskell-process-unignore|haskell-rgrep\n\t|haskell-session-all-modules|haskell-session-change-target|haskell-session-change|haskell-session-installed-modules|haskell-session-kill\n\t|haskell-session-maybe|haskell-session-process|haskell-session-project-modules|haskell-session|haskell-sort-imports|haskell-tab-indent-mode\n\t|haskell-version|hayoo|help--analyze-key|help--binding-undefined-p|help--docstring-quote|help--filter-info-list|help--load-prefixes|help--loaded-p\n\t|help--make-usage-docstring|help--make-usage|help--read-key-sequence|help--symbol-completion-table|help-definition-prefixes|help-fns--analyze-function\n\t|help-fns-function-description-header|help-fns-short-filename|highlight-uses-mode|hoogle|hyperspec-lookup|ibuffer-jump|ido-dired-other-frame\n\t|ido-dired-other-window|ido-display-buffer-other-frame|ido-find-alternate-file-other-window|if-let\\*|image-dired-minor-mode|image-mode-to-text\n\t|indent--default-inside-comment|indent--funcall-widened|indent-region-line-by-line|indent-relative-first-indent-point|inferior-erlang|inferior-lfe-mode\n\t|inferior-lfe|ini-mode|insert-directory-clean|insert-directory-wildcard-in-dir-p|interactive-haskell-mode|internal--compiler-macro-cXXr\n\t|internal--syntax-propertize|internal-auto-fill|internal-default-interrupt-process|internal-echo-keystrokes-prefix|internal-handle-focus-in\n\t|isearch--describe-regexp-mode|isearch--describe-word-mode|isearch--lax-regexp-function-p|isearch--momentary-message|isearch--yank-char-or-syntax\n\t|isearch-define-mode-toggle|isearch-lazy-highlight-start|isearch-string-propertize|isearch-toggle-char-fold|isearch-update-from-string-properties\n\t|isearch-xterm-paste|isearch-yank-symbol-or-char|jison-mode|jit-lock--run-functions|js-jsx-mode|js2-highlight-unused-variables-mode\n\t|js2-imenu-extras-mode|js2-imenu-extras-setup|js2-jsx-mode|js2-minor-mode|js2-mode|json--check-position|json--decode-utf-16-surrogates\n\t|json--plist-reverse|json--plist-to-alist|json--record-path|json-advance--inliner|json-path-to-position|json-peek--inliner|json-pop--inliner\n\t|json-pretty-print-buffer-ordered|json-pretty-print-ordered|json-readtable-dispatch|json-skip-whitespace--inliner|kill-current-buffer\n\t|kmacro-keyboard-macro-p|kmacro-p|kqueue-add-watch|kqueue-rm-watch|kqueue-valid-p|langdoc-call-fun|langdoc-define-help-mode|langdoc-if-let\n\t|langdoc-insert-link|langdoc-matched-strings|langdoc-while-let|lcms-cam02-ucs|lcms-cie-de2000|lcms-jab-\u003ejch|lcms-jch-\u003ejab|lcms-jch-\u003exyz\n\t|lcms-temp-\u003ewhite-point|lcms-xyz-\u003ejch|lcms2-available-p|less-css-mode|let-when-compile|lfe-indent-function|lfe-mode|lgstring-remove-glyph\n\t|libxml-available-p|line-number-display-width|lisp--el-match-keyword|lisp--el-non-funcall-position-p|lisp-adaptive-fill|lisp-indent-calc-next\n\t|lisp-indent-initial-state|lisp-indent-region|lisp-indent-state-p--cmacro|lisp-indent-state-ppss--cmacro|lisp-indent-state-ppss-point--cmacro\n\t|lisp-indent-state-ppss-point|lisp-indent-state-ppss|lisp-indent-state-p|lisp-indent-state-stack--cmacro|lisp-indent-state-stack|lisp-ppss\n\t|list-timers|literate-haskell-mode|load-user-init-file|loadhist-unload-element|logcount|lread--substitute-object-in-subtree|macroexp-macroexpand\n\t|macroexp-parse-body|macrostep-c-mode-hook|macrostep-expand|macrostep-mode|major-mode-restore|major-mode-suspend|make-condition-variable\n\t|make-empty-file|make-finalizer|make-mutex|make-nearby-temp-file|make-pipe-process|make-process|make-record|make-temp-file-internal|make-thread\n\t|make-xref-elisp-location--cmacro|make-xref-elisp-location|make-yas--exit--cmacro|make-yas--exit|make-yas--field--cmacro|make-yas--field\n\t|make-yas--mirror--cmacro|make-yas--mirror|make-yas--snippet--cmacro|make-yas--snippet|make-yas--table--cmacro|make-yas--table|map--apply-alist\n\t|map--apply-array|map--apply-hash-table|map--do-alist|map--do-array|map--into-hash-table|map--make-pcase-bindings|map--make-pcase-patterns\n\t|map--pcase-macroexpander|map--put|map-apply|map-contains-key|map-copy|map-delete|map-do|map-elt|map-empty-p|map-every-p|map-filter|map-into\n\t|map-keys-apply|map-keys|map-length|map-let|map-merge-with|map-merge|map-nested-elt|map-pairs|map-put|map-remove|map-some|map-values-apply\n\t|map-values|mapbacktrace|mapp|mark-beginning-of-buffer|mark-end-of-buffer|markdown-live-preview-mode|markdown-mode|markdown-view-mode\n\t|mc-hide-unmatched-lines-mode|mc\\/add-cursor-on-click|mc\\/edit-beginnings-of-lines|mc\\/edit-ends-of-lines|mc\\/edit-lines|mc\\/insert-letters\n\t|mc\\/insert-numbers|mc\\/mark-all-dwim|mc\\/mark-all-in-region-regexp|mc\\/mark-all-in-region|mc\\/mark-all-like-this-dwim\n\t|mc\\/mark-all-like-this-in-defun|mc\\/mark-all-like-this|mc\\/mark-all-symbols-like-this-in-defun|mc\\/mark-all-symbols-like-this\n\t|mc\\/mark-all-words-like-this-in-defun|mc\\/mark-all-words-like-this|mc\\/mark-more-like-this-extended|mc\\/mark-next-like-this-word\n\t|mc\\/mark-next-like-this|mc\\/mark-next-lines|mc\\/mark-next-symbol-like-this|mc\\/mark-next-word-like-this|mc\\/mark-pop\n\t|mc\\/mark-previous-like-this-word|mc\\/mark-previous-like-this|mc\\/mark-previous-lines|mc\\/mark-previous-symbol-like-this\n\t|mc\\/mark-previous-word-like-this|mc\\/mark-sgml-tag-pair|mc\\/reverse-regions|mc\\/skip-to-next-like-this|mc\\/skip-to-previous-like-this\n\t|mc\\/sort-regions|mc\\/toggle-cursor-on-click|mc\\/unmark-next-like-this|mc\\/unmark-previous-like-this|mc\\/vertical-align-with-space\n\t|mc\\/vertical-align|menu-bar-bottom-and-right-window-divider|menu-bar-bottom-window-divider|menu-bar-display-line-numbers-mode\n\t|menu-bar-goto-uses-etags-p|menu-bar-no-window-divider|menu-bar-right-window-divider|menu-bar-window-divider-customize|mhtml-mode|midnight-mode\n\t|minibuffer-maybe-quote-filename|minibuffer-prompt-properties--setter|mm-images-in-region-p|mocha--get-callsite-name|mocha-attach-indium\n\t|mocha-check-debugger|mocha-compilation-filter|mocha-debug-at-point|mocha-debug-file|mocha-debug-project|mocha-debugger-get|mocha-debugger-name-p\n\t|mocha-debug|mocha-find-current-test|mocha-find-project-root|mocha-generate-command|mocha-list-of-strings-p|mocha-make-imenu-alist|mocha-opts-file\n\t|mocha-realgud:nodejs-attach|mocha-run|mocha-test-at-point|mocha-test-file|mocha-test-project|mocha-toggle-imenu-function|mocha-walk-up-to-it\n\t|mode-line-default-help-echo|module-function-p|module-load|mouse--click-1-maybe-follows-link|mouse-absolute-pixel-position|mouse-drag-and-drop-region\n\t|mouse-drag-bottom-edge|mouse-drag-bottom-left-corner|mouse-drag-bottom-right-corner|mouse-drag-frame|mouse-drag-left-edge|mouse-drag-right-edge\n\t|mouse-drag-top-edge|mouse-drag-top-left-corner|mouse-drag-top-right-corner|mouse-resize-frame|move-text--at-first-line-p)\n(?=[\\s()]|$)"
919
937
  },
920
938
  {
921
939
  "name": "support.function.emacs.lisp",
@@ -945,6 +963,10 @@
945
963
  "name": "support.function.emacs.lisp",
946
964
  "match": "(?x)(?\u003c=[()]|^)\n\t(safe-local-eval-forms|safe-local-variable-p|safe-local-variable-values|same-window-buffer-names|same-window-p\n\t|same-window-regexps|save-abbrevs|save-buffer|save-buffer-coding-system|save-current-buffer|save-excursion|save-match-data|save-restriction\n\t|save-selected-window|save-some-buffers|save-window-excursion|scalable-fonts-allowed|scan-lists|scan-sexps|scroll-bar-event-ratio|scroll-bar-mode\n\t|scroll-bar-scale|scroll-bar-width|scroll-conservatively|scroll-down|scroll-down-aggressively|scroll-down-command|scroll-error-top-bottom|scroll-left\n\t|scroll-margin|scroll-other-window|scroll-preserve-screen-position|scroll-right|scroll-step|scroll-up|scroll-up-aggressively|scroll-up-command\n\t|search-backward|search-failed|search-forward|search-map|search-spaces-regexp|seconds-to-time|secure-hash|select-frame|select-frame-set-input-focus\n\t|select-safe-coding-system|select-safe-coding-system-accept-default-p|select-window|selected-frame|selected-window|selection-coding-system\n\t|selective-display|selective-display-ellipses|self-insert-and-exit|self-insert-command|send-string-to-terminal|sentence-end|sentence-end-double-space\n\t|sentence-end-without-period|sentence-end-without-space|sequencep|serial-process-configure|serial-term|set-advertised-calling-convention|set-auto-coding\n\t|set-auto-mode|set-buffer|set-buffer-auto-saved|set-buffer-major-mode|set-buffer-modified-p|set-buffer-multibyte|set-case-syntax|set-case-syntax-delims\n\t|set-case-syntax-pair|set-case-table|set-category-table|set-char-table-extra-slot|set-char-table-parent|set-char-table-range|set-charset-priority\n\t|set-coding-system-priority|set-default|set-default-file-modes|set-display-table-slot|set-face-attribute|set-face-background|set-face-bold|set-face-font\n\t|set-face-foreground|set-face-inverse-video|set-face-italic|set-face-stipple|set-face-underline|set-file-acl|set-file-extended-attributes|set-file-modes\n\t|set-file-selinux-context|set-file-times|set-fontset-font|set-frame-configuration|set-frame-height|set-frame-parameter|set-frame-position|set-frame-selected-window\n\t|set-frame-size|set-frame-width|set-fringe-bitmap-face|set-input-method|set-input-mode|set-keyboard-coding-system|set-keymap-parent|set-left-margin|set-mark|set-marker\n\t|set-marker-insertion-type|set-match-data|set-minibuffer-window|set-mouse-pixel-position|set-mouse-position|set-network-process-option|set-process-buffer\n\t|set-process-coding-system|set-process-datagram-address|set-process-filter|set-process-plist|set-process-query-on-exit-flag|set-process-sentinel\n\t|set-register|set-right-margin|set-standard-case-table|set-syntax-table|set-terminal-coding-system|set-terminal-parameter|set-text-properties|set-transient-map\n\t|set-visited-file-modtime|set-visited-file-name|set-window-buffer|set-window-combination-limit|set-window-configuration|set-window-dedicated-p|set-window-display-table\n\t|set-window-fringes|set-window-hscroll|set-window-margins|set-window-next-buffers|set-window-parameter|set-window-point|set-window-prev-buffers|set-window-scroll-bars\n\t|set-window-start|set-window-vscroll|setenv|setplist|setq-default|setq-local|shell-command-history|shell-command-to-string|shell-quote-argument|show-help-function\n\t|shr-insert-document|shrink-window-if-larger-than-buffer|signal|signal-process|sin|single-key-description|sit-for|site-run-file|skip-chars-backward|skip-chars-forward\n\t|skip-syntax-backward|skip-syntax-forward|sleep-for|small-temporary-file-directory|smie-bnf-\u003eprec2|smie-close-block|smie-config|smie-config-guess|smie-config-local\n\t|smie-config-save|smie-config-set-indent|smie-config-show-indent|smie-down-list|smie-merge-prec2s|smie-prec2-\u003egrammar|smie-precs-\u003eprec2|smie-rule-bolp|smie-rule-hanging-p\n\t|smie-rule-next-p|smie-rule-parent|smie-rule-parent-p|smie-rule-prev-p|smie-rule-separator|smie-rule-sibling-p|smie-setup|Snarf-documentation|sort|sort-columns|sort-fields\n\t|sort-fold-case|sort-lines|sort-numeric-base|sort-numeric-fields|sort-pages|sort-paragraphs|sort-regexp-fields|sort-subr|special-event-map|special-form-p|special-mode\n\t|special-variable-p|split-height-threshold|split-string|split-string-and-unquote|split-string-default-separators|split-width-threshold|split-window|split-window-below\n\t|split-window-keep-point|split-window-preferred-function|split-window-right|split-window-sensibly|sqrt|standard-case-table|standard-category-table|standard-display-table\n\t|standard-input|standard-output|standard-syntax-table|standard-translation-table-for-decode|standard-translation-table-for-encode|start-file-process\n\t|start-file-process-shell-command|start-process|start-process-shell-command|stop-process|store-match-data|store-substring|string|string-as-multibyte|string-as-unibyte\n\t|string-bytes|string-chars-consed|string-equal|string-lessp|string-match|string-match-p|string-or-null-p|string-prefix-p|string-suffix-p|string-to-char|string-to-int\n\t|string-to-multibyte|string-to-number|string-to-syntax|string-to-unibyte|string-width|string\u003c|string=|stringp|strings-consed|subr-arity|subrp|subst-char-in-region\n\t|substitute-command-keys|substitute-in-file-name|substitute-key-definition|substring|substring-no-properties|suppress-keymap|suspend-emacs|suspend-frame|suspend-hook\n\t|suspend-resume-hook|suspend-tty|suspend-tty-functions|switch-to-buffer|switch-to-buffer-other-frame|switch-to-buffer-other-window|switch-to-buffer-preserve-window-point\n\t|switch-to-next-buffer|switch-to-prev-buffer|switch-to-visible-buffer|sxhash|symbol-file|symbol-function|symbol-name|symbol-plist|symbol-value|symbolp|symbols-consed\n\t|syntax-after|syntax-begin-function|syntax-class|syntax-ppss|syntax-ppss-flush-cache|syntax-ppss-toplevel-pos|syntax-propertize-extend-region-functions|syntax-propertize-function\n\t|syntax-table|syntax-table-p|system-configuration|system-groups|system-key-alist|system-messages-locale|system-name|system-time-locale|system-type|system-users|tab-always-indent\n\t|tab-stop-list|tab-to-tab-stop|tab-width|tabulated-list-entries|tabulated-list-format|tabulated-list-init-header|tabulated-list-mode|tabulated-list-print|tabulated-list-printer\n\t|tabulated-list-revert-hook|tabulated-list-sort-key|tan|temacs|temp-buffer-setup-hook|temp-buffer-show-function|temp-buffer-show-hook|temp-buffer-window-setup-hook\n\t|temp-buffer-window-show-hook|temporary-file-directory|term-file-prefix|terminal-coding-system|terminal-list|terminal-live-p|terminal-name|terminal-parameter\n\t|terminal-parameters|terpri|test-completion|testcover-mark-all|testcover-next-mark|testcover-start|text-char-description|text-mode|text-mode-abbrev-table\n\t|text-properties-at|text-property-any|text-property-default-nonsticky|text-property-not-all|thing-at-point|this-command|this-command-keys|this-command-keys-shift-translated\n\t|this-command-keys-vector|this-original-command|three-step-help|time-add|time-less-p|time-subtract|time-to-day-in-year|time-to-days|timer-max-repeats\n\t|toggle-enable-multibyte-characters|tool-bar-add-item|tool-bar-add-item-from-menu|tool-bar-border|tool-bar-button-margin|tool-bar-button-relief\n\t|tool-bar-local-item-from-menu|tool-bar-map|top-level|tq-close|tq-create|tq-enqueue|track-mouse|transient-mark-mode|translate-region|translation-table-for-input\n\t|transpose-regions|truncate|truncate-lines|truncate-partial-width-windows|truncate-string-to-width|try-completion|tty-color-alist|tty-color-approximate|tty-color-clear\n\t|tty-color-define|tty-color-translate|tty-erase-char|tty-setup-hook|tty-top-frame|type-of|unbury-buffer|undefined|underline-minimum-offset|undo-ask-before-discard\n\t|undo-boundary|undo-in-progress|undo-limit|undo-outer-limit|undo-strong-limit|unhandled-file-name-directory|unibyte-char-to-multibyte|unibyte-string|unicode-category-table\n\t|unintern|universal-argument|universal-argument-map|unload-feature|unload-feature-special-hooks|unlock-buffer|unread-command-events|unsafep|up-list|upcase|upcase-initials\n\t|upcase-region|upcase-word|update-directory-autoloads|update-file-autoloads|use-empty-active-region|use-global-map|use-hard-newlines|use-local-map|use-region-p\n\t|user-emacs-directory|user-error|user-full-name|user-init-file|user-login-name|user-mail-address|user-real-login-name|user-real-uid|user-uid|values|vc-mode\n\t|vc-prefix-map|vconcat|vector|vector-cells-consed|vectorp|verify-visited-file-modtime|version-control|vertical-motion|vertical-scroll-bar|view-register\n\t|visible-bell|visible-frame-list|visited-file-modtime|void-function|void-text-area-pointer|waiting-for-user-input-p|walk-windows|warn|warning-fill-prefix\n\t|warning-levels|warning-minimum-level|warning-minimum-log-level|warning-prefix-function|warning-series|warning-suppress-log-types|warning-suppress-types\n\t|warning-type-format|where-is-internal|while-no-input|wholenump|widen|window-absolute-pixel-edges|window-at|window-body-height|window-body-size\n\t|window-body-width|window-bottom-divider-width|window-buffer|window-child|window-combination-limit|window-combination-resize|window-combined-p\n\t|window-configuration-change-hook|window-configuration-frame|window-configuration-p|window-current-scroll-bars|window-dedicated-p|window-display-table\n\t|window-edges|window-end|window-frame|window-fringes|window-full-height-p|window-full-width-p|window-header-line-height|window-hscroll|window-in-direction\n\t|window-inside-absolute-pixel-edges|window-inside-edges|window-inside-pixel-edges|window-left-child|window-left-column|window-line-height|window-list\n\t|window-live-p|window-margins|window-min-height|window-min-size|window-min-width|window-minibuffer-p|window-mode-line-height|window-next-buffers\n\t|window-next-sibling|window-parameter|window-parameters|window-parent|window-persistent-parameters|window-pixel-edges|window-pixel-height\n\t|window-pixel-left|window-pixel-top|window-pixel-width|window-point|window-point-insertion-type|window-prev-buffers|window-prev-sibling\n\t|window-resizable|window-resize|window-resize-pixelwise|window-right-divider-width|window-scroll-bar-width|window-scroll-bars|window-scroll-functions\n\t|window-setup-hook|window-size-change-functions|window-size-fixed|window-start|window-state-get|window-state-put|window-system\n\t|window-system-initialization-alist|window-text-change-functions|window-text-pixel-size|window-top-child|window-top-line|window-total-height\n\t|window-total-size|window-total-width|window-tree|window-valid-p|window-vscroll|windowp|with-case-table|with-coding-priority|with-current-buffer\n\t|with-current-buffer-window|with-demoted-errors|with-eval-after-load|with-help-window|with-local-quit|with-no-warnings|with-output-to-string\n\t|with-output-to-temp-buffer|with-selected-window|with-syntax-table|with-temp-buffer|with-temp-buffer-window|with-temp-file|with-temp-message\n\t|with-timeout|word-search-backward|word-search-backward-lax|word-search-forward|word-search-forward-lax|word-search-regexp|words-include-escapes\n\t|wrap-prefix|write-abbrev-file|write-char|write-contents-functions|write-file|write-file-functions|write-region|write-region-annotate-functions\n\t|write-region-post-annotation-function|wrong-number-of-arguments|wrong-type-argument|x-alt-keysym|x-alternatives-map|x-bitmap-file-path\n\t|x-close-connection|x-color-defined-p|x-color-values|x-defined-colors|x-display-color-p|x-display-list|x-dnd-known-types|x-dnd-test-function\n\t|x-dnd-types-alist|x-family-fonts|x-get-resource|x-get-selection|x-hyper-keysym|x-list-fonts|x-meta-keysym|x-open-connection|x-parse-geometry\n\t|x-pointer-shape|x-popup-dialog|x-popup-menu|x-resource-class|x-resource-name|x-sensitive-text-pointer-shape|x-server-vendor|x-server-version\n\t|x-set-selection|x-setup-function-keys|x-super-keysym|y-or-n-p|y-or-n-p-with-timeout|yank|yank-excluded-properties|yank-handled-properties\n\t|yank-pop|yank-undo-function|yes-or-no-p|zerop|zlib-available-p|zlib-decompress-region)\n(?=[\\s()]|$)"
947
965
  },
966
+ {
967
+ "name": "support.variable.emacs.lisp",
968
+ "match": "(?x)(?\u003c=[()]|^)(?:\n\t mocha--other-js2-imenu-function|mocha-command|mocha-debug-port|mocha-debuggers|mocha-debugger|mocha-environment-variables|mocha-imenu-functions\n\t|mocha-options|mocha-project-test-directory|mocha-reporter|mocha-test-definition-nodes|mocha-which-node|node-error-regexp-alist|node-error-regexp)\n(?=[\\s()]|$)"
969
+ },
948
970
  {
949
971
  "name": "support.function.cl-lib.emacs.lisp",
950
972
  "match": "(?x)(?\u003c=[()]|^)(?:\n\tdefine-modify-macro|define-setf-method|defsetf|eval-when-compile|flet|labels|lexical-let\\*?|\n\t\n\tcl-(?:acons|adjoin|assert|assoc|assoc-if|assoc-if-not|block|caddr|callf|callf2|case|ceiling|check-type|coerce\n\t|compiler-macroexpand|concatenate|copy-list|count|count-if|count-if-not|decf|declaim|declare|define-compiler-macro\n\t|defmacro|defstruct|defsubst|deftype|defun|delete|delete-duplicates|delete-if|delete-if-not|destructuring-bind\n\t|do\\*?|do-all-symbols|do-symbols|dolist|dotimes|ecase|endp|equalp|etypecase|eval-when|evenp|every|fill|find|find-if\n\t|find-if-not|first|flet|float-limits|floor|function|gcd|gensym|gentemp|getf?|incf|intersection|isqrt|labels\n\t|lcm|ldiff|letf\\*?|list\\*|list-length|load-time-value|locally|loop|macrolet|make-random-state|map|mapc|mapcan\n\t|mapcar|mapcon|mapl|maplist|member|member-if|member-if-not|merge|minusp|mismatch|mod|multiple-value-bind\n\t|multiple-value-setq|nintersection|notany|notevery|nset-difference|nset-exclusive-or|nsublis|nsubst|nsubst-if\n\t|nsubst-if-not|nsubstitute|nsubstitute-if|nsubstitute-if-not|nunion|oddp|pairlis|plusp|position|position-if\n\t|position-if-not|prettyexpand|proclaim|progv|psetf|psetq|pushnew|random|random-state-p|rassoc|rassoc-if|rassoc-if-not\n\t|reduce|remf?|remove|remove-duplicates|remove-if|remove-if-not|remprop|replace|rest|return|return-from|rotatef\n\t|round|search|set-difference|set-exclusive-or|shiftf|some|sort|stable-sort|sublis|subseq|subsetp|subst|subst-if\n\t|subst-if-not|substitute|substitute-if|substitute-if-not|symbol-macrolet|tagbody|tailp|the|tree-equal|truncate\n\t|typecase|typep|union)\n)(?=[\\s()]|$)"
@@ -132,7 +132,7 @@
132
132
  },
133
133
  {
134
134
  "name": "keyword.other.gdb",
135
- "match": "^\\s*(?:actions|apply|attach|awatch|backtrace|break|bt|call|catch|cd|clear|collect|commands|complete|condition|continue|delete|detach|directory|disable|disassemble|display|down|else|enable|end|file|finish|frame|handle|hbreak|help|if|ignore|inspect|jump|kill|list|load|maintenance|make|next|nexti|ni|output|overlay|passcount|path|print|printf|ptype|pwd|quit|rbreak|remote|return|run|rwatch|search|section|set|sharedlibrary|shell|show|si|signal|source|step|stepi|stepping|stop|target|tbreak|tdump|tfind|thbreak|thread|tp|trace|tstart|tstatus|tstop|tty|undisplay|unset|until|up|watch|whatis|where|while|ws|x|add-shared-symbol-files|add-symbol-file|core-file|dont-repeat|down-silently|exec-file|forward-search|reverse-search|save-tracepoints|select-frame|symbol-file|up-silently|while-stepping)\\b"
135
+ "match": "^\\s*(?:actions|apply|apropos|attach|awatch|backtrace|break|bt|call|catch|cd|clear|collect|commands|complete|condition|continue|delete|detach|directory|disable|disassemble|display|down|dump|else|enable|end|file|finish|frame|handle|hbreak|help|if|ignore|inspect|jump|kill|list|load|maintenance|make|next|n|nexti|ni|output|overlay|passcount|path|po|print|p|printf|ptype|pwd|quit|rbreak|remote|return|run|r|rwatch|search|section|set|sharedlibrary|shell|show|si|signal|source|step|s|stepi|stepping|stop|target|tbreak|tdump|tfind|thbreak|thread|tp|trace|tstart|tstatus|tstop|tty|undisplay|unset|until|up|watch|whatis|where|while|ws|x|add-shared-symbol-files|add-symbol-file|core-file|dont-repeat|down-silently|exec-file|forward-search|reverse-search|save-tracepoints|select-frame|symbol-file|up-silently|while-stepping)\\b"
136
136
  },
137
137
  {
138
138
  "name": "support.constant.gdb",
@@ -0,0 +1,111 @@
1
+ {
2
+ "name": ".gitattributes",
3
+ "scopeName": "source.gitattributes",
4
+ "patterns": [
5
+ {
6
+ "include": "#main"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "attribute": {
11
+ "patterns": [
12
+ {
13
+ "name": "meta.attribute.gitattributes",
14
+ "match": "([-!](?=\\S))?+([^-A-Za-z0-9_.\\s]\\S*)|([-!])(?=\\s|$)",
15
+ "captures": {
16
+ "1": {
17
+ "patterns": [
18
+ {
19
+ "include": "#attributePrefix"
20
+ }
21
+ ]
22
+ },
23
+ "2": {
24
+ "name": "invalid.illegal.syntax.bad-name.gitattributes"
25
+ },
26
+ "3": {
27
+ "name": "invalid.illegal.syntax.bad-name.gitattributes"
28
+ }
29
+ }
30
+ },
31
+ {
32
+ "name": "meta.attribute.gitattributes",
33
+ "match": "(-|!)?([^\\s=]+)(?:(=)([^\\s]*))?",
34
+ "captures": {
35
+ "1": {
36
+ "patterns": [
37
+ {
38
+ "include": "#attributePrefix"
39
+ }
40
+ ]
41
+ },
42
+ "2": {
43
+ "name": "variable.parameter.attribute.gitattributes"
44
+ },
45
+ "3": {
46
+ "name": "punctuation.definition.assignment.equals-sign.gitattributes"
47
+ },
48
+ "4": {
49
+ "name": "constant.language.other.gitattributes"
50
+ }
51
+ }
52
+ }
53
+ ]
54
+ },
55
+ "attributePrefix": {
56
+ "patterns": [
57
+ {
58
+ "name": "keyword.operator.logical.not.negation.gitattributes",
59
+ "match": "-"
60
+ },
61
+ {
62
+ "name": "keyword.operator.unset.delete.gitattributes",
63
+ "match": "!"
64
+ }
65
+ ]
66
+ },
67
+ "comment": {
68
+ "name": "comment.line.number-sign.gitattributes",
69
+ "begin": "#",
70
+ "end": "$",
71
+ "beginCaptures": {
72
+ "0": {
73
+ "name": "punctuation.definition.comment.gitattributes"
74
+ }
75
+ }
76
+ },
77
+ "main": {
78
+ "patterns": [
79
+ {
80
+ "include": "#comment"
81
+ },
82
+ {
83
+ "include": "#pattern"
84
+ },
85
+ {
86
+ "include": "source.gitignore#escape"
87
+ }
88
+ ]
89
+ },
90
+ "pattern": {
91
+ "name": "meta.pattern.gitattributes",
92
+ "begin": "(?=[^#\\s])",
93
+ "end": "$|(?=#)",
94
+ "patterns": [
95
+ {
96
+ "include": "source.gitignore#patternInnards"
97
+ },
98
+ {
99
+ "name": "meta.attribute-list.gitattributes",
100
+ "begin": "\\s",
101
+ "end": "(?=$)",
102
+ "patterns": [
103
+ {
104
+ "include": "#attribute"
105
+ }
106
+ ]
107
+ }
108
+ ]
109
+ }
110
+ }
111
+ }
@@ -0,0 +1,450 @@
1
+ {
2
+ "name": ".gitconfig",
3
+ "scopeName": "source.gitconfig",
4
+ "patterns": [
5
+ {
6
+ "include": "#main"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "alias": {
11
+ "name": "meta.alias.gitconfig",
12
+ "begin": "^\\s*([A-Za-z][-A-Za-z]*)\\s*(=)",
13
+ "end": "(?\u003c!\\\\)$|(?=#)",
14
+ "patterns": [
15
+ {
16
+ "include": "#aliasInnards"
17
+ }
18
+ ],
19
+ "beginCaptures": {
20
+ "1": {
21
+ "name": "variable.parameter.assignment.gitconfig"
22
+ },
23
+ "2": {
24
+ "name": "keyword.operator.assignment.key-value.gitconfig"
25
+ }
26
+ }
27
+ },
28
+ "aliasInnards": {
29
+ "patterns": [
30
+ {
31
+ "name": "meta.quoted.shell.command.gitconfig",
32
+ "begin": "\\G\\s*(?:(\")(!)|(!)(\"))\\s*+",
33
+ "end": "(?\u003c!\\\\)(?:(\")|(?=$))",
34
+ "patterns": [
35
+ {
36
+ "include": "source.shell"
37
+ }
38
+ ],
39
+ "beginCaptures": {
40
+ "1": {
41
+ "name": "punctuation.definition.string.begin.gitconfig"
42
+ },
43
+ "2": {
44
+ "name": "keyword.operator.shell-script.gitconfig"
45
+ },
46
+ "3": {
47
+ "name": "keyword.operator.shell-script.gitconfig"
48
+ },
49
+ "4": {
50
+ "name": "punctuation.definition.string.begin.gitconfig"
51
+ }
52
+ },
53
+ "endCaptures": {
54
+ "1": {
55
+ "name": "punctuation.definition.string.end.gitconfig"
56
+ }
57
+ }
58
+ },
59
+ {
60
+ "name": "meta.unquoted.shell.command.gitconfig",
61
+ "begin": "\\G\\s*(!)",
62
+ "end": "(?\u003c!\\\\)(?=$)",
63
+ "patterns": [
64
+ {
65
+ "include": "source.shell"
66
+ }
67
+ ],
68
+ "beginCaptures": {
69
+ "1": {
70
+ "name": "keyword.operator.shell-script.gitconfig"
71
+ }
72
+ }
73
+ },
74
+ {
75
+ "name": "meta.git.subcommands.gitconfig",
76
+ "contentName": "string.unquoted.source.gitconfig",
77
+ "begin": "\\G\\s*([^\\s\"#;!]+)",
78
+ "end": "(?\u003c!\\\\)(?=$|[#;])",
79
+ "patterns": [
80
+ {
81
+ "include": "#escapedNewline"
82
+ }
83
+ ],
84
+ "beginCaptures": {
85
+ "0": {
86
+ "name": "string.unquoted.source.gitconfig"
87
+ }
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ "aliasSection": {
93
+ "name": "meta.aliases.section.gitconfig",
94
+ "begin": "(?i)^(\\[)\\s*(alias)\\s*(\\])",
95
+ "end": "^(?=\\[)",
96
+ "patterns": [
97
+ {
98
+ "include": "#alias"
99
+ },
100
+ {
101
+ "include": "#comments"
102
+ },
103
+ {
104
+ "include": "#variables"
105
+ }
106
+ ],
107
+ "beginCaptures": {
108
+ "0": {
109
+ "name": "meta.section.header.gitconfig"
110
+ },
111
+ "1": {
112
+ "name": "punctuation.definition.bracket.square.begin.gitconfig"
113
+ },
114
+ "2": {
115
+ "name": "entity.section.name.gitconfig"
116
+ },
117
+ "6": {
118
+ "name": "punctuation.definition.bracket.square.end.gitconfig"
119
+ }
120
+ }
121
+ },
122
+ "comments": {
123
+ "patterns": [
124
+ {
125
+ "name": "comment.line.number-sign.gitconfig",
126
+ "begin": "#",
127
+ "end": "$",
128
+ "beginCaptures": {
129
+ "0": {
130
+ "name": "punctuation.definition.comment.gitconfig"
131
+ }
132
+ }
133
+ },
134
+ {
135
+ "name": "comment.line.semicolon.gitconfig",
136
+ "begin": ";",
137
+ "end": "$",
138
+ "beginCaptures": {
139
+ "0": {
140
+ "name": "punctuation.definition.comment.gitconfig"
141
+ }
142
+ }
143
+ }
144
+ ]
145
+ },
146
+ "escapedNewline": {
147
+ "name": "constant.character.escape.newline.gitconfig",
148
+ "match": "(\\\\)$\\s*",
149
+ "captures": {
150
+ "1": {
151
+ "name": "punctuation.definition.escape.backslash.gitconfig"
152
+ }
153
+ }
154
+ },
155
+ "escapes": {
156
+ "patterns": [
157
+ {
158
+ "include": "#stringEscapes"
159
+ },
160
+ {
161
+ "name": "constant.character.escape.newline.gitconfig",
162
+ "match": "(\\\\)n",
163
+ "captures": {
164
+ "1": {
165
+ "name": "punctuation.definition.escape.backslash.gitconfig"
166
+ }
167
+ }
168
+ },
169
+ {
170
+ "name": "constant.character.escape.tab.gitconfig",
171
+ "match": "(\\\\)t",
172
+ "captures": {
173
+ "1": {
174
+ "name": "punctuation.definition.escape.backslash.gitconfig"
175
+ }
176
+ }
177
+ },
178
+ {
179
+ "name": "constant.character.escape.backspace.gitconfig",
180
+ "match": "(\\\\)b",
181
+ "captures": {
182
+ "1": {
183
+ "name": "punctuation.definition.escape.backslash.gitconfig"
184
+ }
185
+ }
186
+ },
187
+ {
188
+ "name": "invalid.illegal.syntax.escape.gitconfig",
189
+ "match": "\\\\."
190
+ }
191
+ ]
192
+ },
193
+ "main": {
194
+ "patterns": [
195
+ {
196
+ "include": "#comments"
197
+ },
198
+ {
199
+ "include": "#aliasSection"
200
+ },
201
+ {
202
+ "include": "#urlSection"
203
+ },
204
+ {
205
+ "include": "#section"
206
+ }
207
+ ]
208
+ },
209
+ "section": {
210
+ "name": "meta.section.gitconfig",
211
+ "begin": "(?x)\n^ (\\[)\\s*(\\]) #1, #2\n|\n^ (\\[) #3\n\\s*\n(?:\n\t([-.A-Za-z0-9]+?) #4\n\t(?:\n\t\t(\\.) #5\n\t\t([-A-Za-z0-9]+) #6\n\t)?\n)\n(?:\n\t\\s*\n\t(\") #7\n\t( #8\n\t\t(?: \\\\[\\\\\"]\n\t\t| \\\\[^\\\\\"]\n\t\t| [^\\\\\"]+\n\t\t)*\n\t)\n\t(\") #9\n)?+\n\\s* (\\]) #10",
212
+ "end": "^(?=\\[)",
213
+ "patterns": [
214
+ {
215
+ "include": "#comments"
216
+ },
217
+ {
218
+ "include": "#variables"
219
+ }
220
+ ],
221
+ "beginCaptures": {
222
+ "0": {
223
+ "name": "meta.section.header.gitconfig"
224
+ },
225
+ "1": {
226
+ "name": "punctuation.definition.bracket.square.begin.gitconfig"
227
+ },
228
+ "10": {
229
+ "name": "punctuation.definition.bracket.square.end.gitconfig"
230
+ },
231
+ "2": {
232
+ "name": "punctuation.definition.bracket.square.end.gitconfig"
233
+ },
234
+ "3": {
235
+ "name": "punctuation.definition.bracket.square.begin.gitconfig"
236
+ },
237
+ "4": {
238
+ "name": "entity.section.name.gitconfig"
239
+ },
240
+ "5": {
241
+ "name": "punctuation.delimiter.separator.meta.dot.period.gitconfig"
242
+ },
243
+ "6": {
244
+ "name": "entity.subsection.name.deprecated-syntax.gitconfig"
245
+ },
246
+ "7": {
247
+ "name": "punctuation.definition.subsection.begin.gitconfig"
248
+ },
249
+ "8": {
250
+ "name": "entity.subsection.name.gitconfig",
251
+ "patterns": [
252
+ {
253
+ "include": "#stringEscapes"
254
+ }
255
+ ]
256
+ },
257
+ "9": {
258
+ "name": "punctuation.definition.subsection.end.gitconfig"
259
+ }
260
+ }
261
+ },
262
+ "stringEscapes": {
263
+ "patterns": [
264
+ {
265
+ "name": "constant.character.escape.backslash.gitconfig",
266
+ "match": "(\\\\)[\\\\\"]",
267
+ "captures": {
268
+ "1": {
269
+ "name": "punctuation.definition.escape.backslash.gitconfig"
270
+ }
271
+ }
272
+ },
273
+ {
274
+ "name": "punctuation.definition.escape.backslash.ignored.gitconfig",
275
+ "match": "\\\\(?=[^\\\\\"])"
276
+ }
277
+ ]
278
+ },
279
+ "urlSection": {
280
+ "name": "meta.url.section.gitconfig",
281
+ "begin": "(?ix)\n^ (\\[) #1\n\\s*\n(url) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: \\\\[\\\\\"]\n\t\t| \\\\[^\\\\\"]\n\t\t| [^\\\\\"]+\n\t\t)*\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6",
282
+ "end": "^(?=\\[)",
283
+ "patterns": [
284
+ {
285
+ "include": "#comments"
286
+ },
287
+ {
288
+ "include": "#variables"
289
+ }
290
+ ],
291
+ "beginCaptures": {
292
+ "0": {
293
+ "name": "meta.section.header.gitconfig"
294
+ },
295
+ "1": {
296
+ "name": "punctuation.definition.bracket.square.begin.gitconfig"
297
+ },
298
+ "2": {
299
+ "name": "entity.section.name.gitconfig"
300
+ },
301
+ "3": {
302
+ "name": "punctuation.definition.subsection.begin.gitconfig"
303
+ },
304
+ "4": {
305
+ "name": "string.other.link.gitconfig",
306
+ "patterns": [
307
+ {
308
+ "include": "#stringEscapes"
309
+ }
310
+ ]
311
+ },
312
+ "5": {
313
+ "name": "punctuation.definition.subsection.end.gitconfig"
314
+ },
315
+ "6": {
316
+ "name": "punctuation.definition.bracket.square.end.gitconfig"
317
+ }
318
+ }
319
+ },
320
+ "variableInnards": {
321
+ "patterns": [
322
+ {
323
+ "match": "\\G\\s*(=)",
324
+ "captures": {
325
+ "1": {
326
+ "name": "keyword.operator.assignment.key-value.gitconfig"
327
+ }
328
+ }
329
+ },
330
+ {
331
+ "name": "constant.logical.boolean.$1.gitconfig",
332
+ "match": "(?i)\\b(true|false|on|off|1|0|yes|no)\\b"
333
+ },
334
+ {
335
+ "name": "constant.numeric.decimal.integer.int.gitconfig",
336
+ "match": "[-+]?[0-9]+(?=$|[\\s#;])"
337
+ },
338
+ {
339
+ "name": "constant.numeric.decimal.float.gitconfig",
340
+ "match": "[-+]?(?:[0-9]+\\.[0-9]*|\\.[0-9]+)(?=$|\\s#;)"
341
+ },
342
+ {
343
+ "name": "string.unquoted.argument.gitconfig",
344
+ "match": "(?:[^\\\\\\s]|\\\\(?!$))+"
345
+ },
346
+ {
347
+ "include": "#escapedNewline"
348
+ }
349
+ ]
350
+ },
351
+ "variables": {
352
+ "patterns": [
353
+ {
354
+ "name": "meta.variable-field.gitconfig",
355
+ "begin": "(?i)\\b(signingkey)(?=\\s|$)",
356
+ "end": "$|(?=#|;)",
357
+ "patterns": [
358
+ {
359
+ "name": "constant.other.signing-key.hex.gitconfig",
360
+ "match": "\\w+"
361
+ },
362
+ {
363
+ "include": "#variableInnards"
364
+ }
365
+ ],
366
+ "captures": {
367
+ "1": {
368
+ "name": "variable.parameter.assignment.gitconfig"
369
+ },
370
+ "2": {
371
+ "name": "keyword.operator.assignment.key-value.gitconfig"
372
+ }
373
+ }
374
+ },
375
+ {
376
+ "name": "meta.variable-field.gitconfig",
377
+ "begin": "(?i)\\b(email)\\s*(=)",
378
+ "end": "$|(?=#|;)",
379
+ "patterns": [
380
+ {
381
+ "name": "string.other.link.gitconfig",
382
+ "begin": "\"",
383
+ "end": "\"|(?=$)",
384
+ "patterns": [
385
+ {
386
+ "include": "#stringEscapes"
387
+ }
388
+ ],
389
+ "beginCaptures": {
390
+ "0": {
391
+ "name": "string.quoted.string.begin.gitconfig"
392
+ }
393
+ },
394
+ "endCaptures": {
395
+ "0": {
396
+ "name": "string.quoted.string.end.gitconfig"
397
+ }
398
+ }
399
+ },
400
+ {
401
+ "name": "string.other.link.gitconfig",
402
+ "match": "[^\\s\"]+"
403
+ }
404
+ ],
405
+ "beginCaptures": {
406
+ "1": {
407
+ "name": "variable.parameter.assignment.gitconfig"
408
+ },
409
+ "2": {
410
+ "name": "keyword.operator.assignment.key-value.gitconfig"
411
+ }
412
+ }
413
+ },
414
+ {
415
+ "name": "meta.variable-field.gitconfig",
416
+ "begin": "(?i)\\b(textconv)\\s*(=)",
417
+ "end": "$|(?=#|;)",
418
+ "patterns": [
419
+ {
420
+ "include": "#aliasInnards"
421
+ }
422
+ ],
423
+ "beginCaptures": {
424
+ "1": {
425
+ "name": "variable.parameter.assignment.gitconfig"
426
+ },
427
+ "2": {
428
+ "name": "keyword.operator.assignment.key-value.gitconfig"
429
+ }
430
+ }
431
+ },
432
+ {
433
+ "name": "meta.variable-field.gitconfig",
434
+ "begin": "[A-Za-z][-A-Za-z]*",
435
+ "end": "$|(?=#|;)",
436
+ "patterns": [
437
+ {
438
+ "include": "#variableInnards"
439
+ }
440
+ ],
441
+ "beginCaptures": {
442
+ "0": {
443
+ "name": "variable.parameter.assignment.gitconfig"
444
+ }
445
+ }
446
+ }
447
+ ]
448
+ }
449
+ }
450
+ }