{"name":".gitconfig","scopeName":"source.gitconfig","patterns":[{"include":"#main"}],"repository":{"alias":{"name":"meta.alias.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*([A-Za-z][-A-Za-z]*)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"include":"#aliasInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"aliasInnards":{"patterns":[{"name":"meta.quoted.shell.command.gitconfig","begin":"\\G\\s*(?:(\")(!)|(!)(\"))\\s*+","end":"(?\u003c!\\\\)(?:(\")|(?=$))","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"},"3":{"name":"keyword.operator.shell-script.gitconfig"},"4":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"meta.unquoted.shell.command.gitconfig","begin":"\\G\\s*(!)","end":"(?\u003c!\\\\)(?=$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.shell-script.gitconfig"}}},{"name":"meta.git.subcommands.gitconfig","contentName":"string.unquoted.source.gitconfig","begin":"\\G\\s*([^\\s\"#;!]+)","end":"(?\u003c!\\\\)(?=$|#|;)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.unquoted.source.gitconfig"}}}]},"aliasSection":{"name":"meta.aliases.section.gitconfig","begin":"(?i)(?:^|\\G)\\s*(\\[)\\s*(alias)\\s*(\\])","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#alias"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"comments":{"patterns":[{"name":"comment.line.number-sign.gitconfig","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}},{"name":"comment.line.semicolon.gitconfig","begin":";","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}}]},"dot":{"name":"punctuation.delimiter.separator.meta.dot.period.gitconfig","match":"\\."},"escapedNewline":{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)$\\s*","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},"escapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)\\\\","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.quote.gitconfig","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.tab.gitconfig","match":"(\\\\)t","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.backspace.gitconfig","match":"(\\\\)b","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"include":"#escapedNewline"},{"name":"invalid.illegal.syntax.escape.gitconfig","match":"\\\\."}]},"includeInnards":{"patterns":[{"name":"keyword.operator.tilde.gitconfig","match":"(?:^|\\G)~(?=/)"},{"name":"keyword.operator.config-path.gitconfig","match":"(?:^|\\G)\\.(?=/)"},{"name":"keyword.operator.glob.wildcard.globstar.gitconfig","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.gitconfig","match":"[*?]"},{"name":"punctuation.directory.separator.meta.gitconfig","match":"/"},{"include":"#escapes"}]},"includePath":{"name":"meta.included-file.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(path)\\s*(=)[ \\t]*","end":"(?=\\s*(?:(?\u003c!\\\\)$|#|;))","patterns":[{"name":"string.quoted.double.pathspec.gitconfig","contentName":"string.other.link.pathspec.gitconfig","begin":"\\G\\s*\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#includeInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"match":"([^\"\\s;#][^;#]*?)(?\u003c=\\S)(?=\\s*(?:$|;|#))","captures":{"1":{"name":"string.other.link.pathspec.gitconfig","patterns":[{"include":"#includeInnards"}]}}},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"includeSection":{"name":"meta.include.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(include(?:If)?) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#includePath"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"keyword.control.directive.${2:/downcase}.gitconfig"},"3":{"name":"punctuation.definition.condition.begin.gitconfig"},"4":{"patterns":[{"name":"meta.condition.match-directory.gitconfig","contentName":"string.other.link.gitconfig","begin":"(gitdir)((/)i)?(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"storage.modifier.ignore-case.gitconfig"},"3":{"name":"punctuation.separator.modifier.slash.gitconfig"},"4":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-worktree.gitconfig","contentName":"string.other.file.name.gitconfig","begin":"(onbranch)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-config.gitconfig","contentName":"string.unquoted.argument.gitconfig","begin":"(hasconfig)(:)([^\":]+)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.parameter.gitconfig"},"3":{"name":"variable.parameter.comparison.gitconfig","patterns":[{"include":"#dot"},{"include":"#sectionEscapes"},{"include":"#includeInnards"}]},"4":{"name":"punctuation.separator.key-value.gitconfig"}}}]},"5":{"name":"punctuation.definition.condition.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#includeSection"},{"include":"#aliasSection"},{"include":"#urlSection"},{"include":"#section"}]},"section":{"name":"meta.section.gitconfig","begin":"(?x)\n(?:^|\\G) \\s*\n(?:\n\t(\\[)\\s*(\\]) #1, #2\n\t|\n\t(\\[) #3\n\t\\s*\n\t(?:\n\t\t([-.A-Za-z0-9]+?) #4\n\t\t(?:\n\t\t\t(\\.) #5\n\t\t\t([-A-Za-z0-9]+) #6\n\t\t)?\n\t)\n\t(?:\n\t\t\\s*\n\t\t(\") #7\n\t\t( #8\n\t\t\t(?: [^\\\\\"]\n\t\t\t| \\\\.\n\t\t\t)*+\n\t\t)\n\t\t(\") #9\n\t)?+\n\t\\s* (\\]) #10\n)","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"10":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"2":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"4":{"name":"entity.section.name.gitconfig"},"5":{"patterns":[{"include":"#dot"}]},"6":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"7":{"name":"punctuation.definition.subsection.begin.gitconfig"},"8":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"9":{"name":"punctuation.definition.subsection.end.gitconfig"}}},"sectionEscapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)[\\\\\"]","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.unknown.gitconfig","match":"\\\\(?=[^\\\\\"])","captures":{"0":{"name":"punctuation.definition.escape.backslash.ignored.gitconfig"}}}]},"urlInnards":{"patterns":[{"name":"string.other.link.gitconfig","begin":"\"","end":"\"|(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.quoted.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"string.quoted.string.end.gitconfig"}}},{"name":"string.other.link.gitconfig","match":"(?:[^\\s\";#\\\\]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}}]},"urlSection":{"name":"meta.url.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(url|https?|core.(?:git)?proxy) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"string.other.link.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"variableInnards":{"patterns":[{"match":"\\G\\s*(=)","captures":{"1":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"constant.logical.boolean.$1.gitconfig","match":"(?i)\\b(true|false|on|off|1|0|yes|no)\\b"},{"name":"constant.numeric.decimal.integer.int.gitconfig","match":"[-+]?[0-9]+(?=$|[\\s#;])"},{"name":"constant.numeric.decimal.float.gitconfig","match":"[-+]?(?:[0-9]+\\.[0-9]*|\\.[0-9]+)(?=$|\\s#;)"},{"name":"string.quoted.double.argument.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*?)(?\u003c!\\\\)(?=\\s*$)","captures":{"0":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"},"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"patterns":[{"include":"#escapes"}]}}},{"name":"string.quoted.double.argument.gitconfig","begin":"\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.unquoted.argument.gitconfig","match":"(?:[^\\\\\\s\";#]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}},{"include":"#escapedNewline"}]},"variables":{"patterns":[{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(signingkey)(?=\\s|$)","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"constant.other.signing-key.hex.gitconfig","match":"\\w+"},{"include":"#variableInnards"}],"captures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(email|url)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#urlInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(textconv)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#aliasInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"[0-9A-Za-z][-0-9A-Za-z]*","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#variableInnards"}],"beginCaptures":{"0":{"name":"variable.parameter.assignment.gitconfig"}}}]}}}