{"id":"gitconfig-key-list","version":"1.0.0","description":"List git config keys in file order with qualified names and occurrences.","supported_operations":["list git config keys in file order","flatten gitconfig multivar occurrences","enumerate qualified git config names","git config key list with subsections","count repeated git config variables","ordered keys from gitconfig text","רשימת מפתחות לפי סדר הופעה בקובץ ההגדרות"],"unsupported_operations":["follow include or includeIf files","accept deprecated dotted subsection headers","return only the last multivar value","canonicalize boolean integer or path values"],"semantics":["Whitespace is only SP and HT. CRLF is one line break. A lone CR, NUL, DEL, or any other C0 control except HT, LF, and BS is invalid_input. A leading U+FEFF is not skipped.","Section and variable names are ASCII case-folded. A variable must start with a letter. A subsection is case-sensitive and is not folded. A dot in the unquoted section token is unsupported_input reason dotted_section_name.","Value escapes, inside or outside quotes, are only \\\" \\\\ \\n \\t and \\b. A backslash before LF continues the value. Quotes are delimiters, so adjacent quotes concatenate. # and ; comment only outside quotes. A bare name is implicit_bool true with a null value. Explicit values stay strings: yes, no, true, false, integers, paths, and the empty string are not canonicalized.","include and includeIf headers are unsupported_input reason include_not_supported. A truncated header is invalid_input even when the partial name looks like include.","Duplicate sections are not merged. Repeated variables stay in file order.","A missing subsection produces section.key. A present subsection, even when empty or containing dots, produces section.subsection.key. Occurrence counts the same section, subsection, and key triple from 1 in file order. Output bytes are the UTF-8 size of this tool's JSON, not the parse tool's JSON."],"limits":{"max_input_bytes":65536,"max_output_bytes":16384,"max_sections":128,"max_entries":512,"max_value_bytes":8192,"max_subsection_bytes":1024,"max_line_bytes":4096},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string","maxLength":65536,"description":"Git config file text. UTF-8 byte length is enforced separately."}}},"output_schema":{"type":"object","additionalProperties":false,"required":["keys","key_count"],"properties":{"keys":{"type":"array","maxItems":512,"items":{"type":"object","additionalProperties":false,"required":["section","subsection","key","canonical","value","implicit_bool","occurrence","line"],"properties":{"section":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[a-z0-9-][a-z0-9-]*$"},"subsection":{"oneOf":[{"type":"string","maxLength":1024},{"type":"null"}]},"key":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[a-z][a-z0-9-]*$"},"canonical":{"type":"string","minLength":3,"maxLength":9218},"value":{"oneOf":[{"type":"string","maxLength":8192},{"type":"null"}]},"implicit_bool":{"type":"boolean"},"occurrence":{"type":"integer","minimum":1,"maximum":512},"line":{"type":"integer","minimum":1}}}},"key_count":{"type":"integer","minimum":0,"maximum":512}}},"examples":[{"input":{"text":"[core]\n\tfilemode = false\n"},"output":{"keys":[{"section":"core","subsection":null,"key":"filemode","canonical":"core.filemode","value":"false","implicit_bool":false,"occurrence":1,"line":2}],"key_count":1}},{"input":{"text":"[core]\n\tgitProxy=\"ssh\" for \"kernel.org\"\n\tgitProxy=default-proxy ; for the rest\n"},"output":{"keys":[{"section":"core","subsection":null,"key":"gitproxy","canonical":"core.gitproxy","value":"ssh for kernel.org","implicit_bool":false,"occurrence":1,"line":2},{"section":"core","subsection":null,"key":"gitproxy","canonical":"core.gitproxy","value":"default-proxy","implicit_bool":false,"occurrence":2,"line":3}],"key_count":2}}],"execute_url":"/v1/tools/gitconfig-key-list/versions/1.0.0/execute"}