{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":241928033,"defaultBranch":"main","name":"swift-argument-parser","ownerLogin":"apple","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-02-20T16:07:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10639145?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714580599.0","currentOid":""},"activityList":{"items":[{"before":"7f4ce2deef0560c69fa0462a4e67c311e259ccb2","after":"bbcf123d2e859124affbe6bbd073165c67ad21b4","ref":"refs/heads/main","pushedAt":"2024-05-06T18:02:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rauhul","name":"Rauhul Varma","path":"/rauhul","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9739930?s=80&v=4"},"commit":{"message":"Fix typo in the CHANGELOG file (#639)","shortMessageHtmlLink":"Fix typo in the CHANGELOG file (#639)"}},{"before":"04e55ac566ceb2cef0704dbfae443b84b5b2d4d8","after":null,"ref":"refs/heads/eliminate-warnings","pushedAt":"2024-05-01T16:23:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"}},{"before":"cfac15f2cde2d8317cce9cec07a217d98001b366","after":"7f4ce2deef0560c69fa0462a4e67c311e259ccb2","ref":"refs/heads/main","pushedAt":"2024-05-01T16:23:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Eliminate warnings re: CommandConfiguration init (#636)\n\nWhen the old (pre-aliases) initializer has all its default parameter\r\nvalues, it is selected as the overload because it has fewer parameters\r\noverall. Removing the default parameters allows it to still satisfy\r\n(very niche) source compat requirements without actually being\r\navailable as an overload.\r\n\r\n(Also resolves an extra warning in the tests)","shortMessageHtmlLink":"Eliminate warnings re: CommandConfiguration init (#636)"}},{"before":null,"after":"04e55ac566ceb2cef0704dbfae443b84b5b2d4d8","ref":"refs/heads/eliminate-warnings","pushedAt":"2024-05-01T14:43:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Resolve an extra warning in the tests","shortMessageHtmlLink":"Resolve an extra warning in the tests"}},{"before":"6b79ae626249ec6e1b031710bcf1ae1179bb13a2","after":null,"ref":"refs/heads/rauhul/usageString","pushedAt":"2024-05-01T00:12:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rauhul","name":"Rauhul Varma","path":"/rauhul","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9739930?s=80&v=4"}},{"before":"2b962934d16d1b534552ee863b4842d066a8fea1","after":"cfac15f2cde2d8317cce9cec07a217d98001b366","ref":"refs/heads/main","pushedAt":"2024-05-01T00:12:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rauhul","name":"Rauhul Varma","path":"/rauhul","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9739930?s=80&v=4"},"commit":{"message":"Add ParsableArguments/Command.usageString (#634)\n\nAdds a new API to ParsableArguments and ParsableCommand for getting the\r\nusage string. This allows clients to use argument-parser in a more\r\npiecemeal way to construct their own error screens.","shortMessageHtmlLink":"Add ParsableArguments/Command.usageString (#634)"}},{"before":"c2c96f9f92e7f9611e4569e8d007475afd3033e4","after":"6b79ae626249ec6e1b031710bcf1ae1179bb13a2","ref":"refs/heads/rauhul/usageString","pushedAt":"2024-05-01T00:10:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rauhul","name":"Rauhul Varma","path":"/rauhul","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9739930?s=80&v=4"},"commit":{"message":"add test coverage for subcommands","shortMessageHtmlLink":"add test coverage for subcommands"}},{"before":"f14f2ebb697a4aab439f73643448f207ce0c4c4f","after":"c2c96f9f92e7f9611e4569e8d007475afd3033e4","ref":"refs/heads/rauhul/usageString","pushedAt":"2024-05-01T00:04:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rauhul","name":"Rauhul Varma","path":"/rauhul","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9739930?s=80&v=4"},"commit":{"message":"add test coverage for subcommands","shortMessageHtmlLink":"add test coverage for subcommands"}},{"before":"46989693916f56d1186bd59ac15124caef896560","after":"2b962934d16d1b534552ee863b4842d066a8fea1","ref":"refs/heads/main","pushedAt":"2024-04-30T23:20:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Add aliases support for sub commands (#627)\n\nThis adds support for aliases for subcommands via a new parameter to\nCommandConfigurations constructors. The aliases are passed as an array\nof strings, where the default is just an empty array that signifies there\nare no aliases. The aliases are supported regardless of if a different\ncommandName is chosen or not. This also updates how subcommands show up\nin the help text. Any aliases are now displayed to the right of the original\ncommand.\n\nIn addition to the functionality itself, this change:\n\n1. Updates some of the EndToEnd parsing tests to make sure they function\nwhile using aliases.\n2. Sprinkles mentions where I saw fit in the documentation.\n3. Updates the Math example to have aliases for `math stats average`\n(`math stats avg`), and `math multiply` (`math mul`).\n\n`math`'s help text now looks like the below:\n\n```\n~ math --help\nOVERVIEW: A utility for performing maths.\n\nUSAGE: math \n\nOPTIONS:\n --version Show the version.\n -h, --help Show help information.\n\nSUBCOMMANDS:\n add (default) Print the sum of the values.\n multiply, mul Print the product of the values.\n stats Calculate descriptive statistics.\n\n See 'math help ' for detailed help.\n\n~ math stats --help\nOVERVIEW: Calculate descriptive statistics.\n\nUSAGE: math stats \n\nOPTIONS:\n --version Show the version.\n -h, --help Show help information.\n\nSUBCOMMANDS:\n average, avg Print the average of the values.\n stdev Print the standard deviation of the values.\n quantiles Print the quantiles of the values (TBD).\n\n See 'math help stats ' for detailed help.\n```\n\nand use of the aliases:\n\n```\n~ math mul 10 10\n100\n\n~ math stats avg 10 20\n15.0\n```\n\nThis change does NOT add any updates to the shell completion logic for\nthis feature.\n\nFixes #248","shortMessageHtmlLink":"Add aliases support for sub commands (#627)"}},{"before":null,"after":"f14f2ebb697a4aab439f73643448f207ce0c4c4f","ref":"refs/heads/rauhul/usageString","pushedAt":"2024-04-23T20:22:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rauhul","name":"Rauhul Varma","path":"/rauhul","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9739930?s=80&v=4"},"commit":{"message":"Add ParsableArguments/Command.usageString\n\nAdds a new API to ParsableArguments and ParsableCommand for getting the\nusage string. This allows clients to use argument-parser in a more\npiecemeal way to construct their own error screens.","shortMessageHtmlLink":"Add ParsableArguments/Command.usageString"}},{"before":"e04f101be4349267c090311d679143760da25d6f","after":null,"ref":"refs/heads/changelog-date","pushedAt":"2024-03-16T18:15:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"}},{"before":"985dba101b53b3a2b7ae36ebf8f76d1e80ef0aa2","after":"46989693916f56d1186bd59ac15124caef896560","ref":"refs/heads/main","pushedAt":"2024-03-16T18:15:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Update CHANGELOG date (#625)","shortMessageHtmlLink":"Update CHANGELOG date (#625)"}},{"before":null,"after":"e04f101be4349267c090311d679143760da25d6f","ref":"refs/heads/changelog-date","pushedAt":"2024-03-16T18:11:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Update CHANGELOG date","shortMessageHtmlLink":"Update CHANGELOG date"}},{"before":"4d1244f043f361f576fa1fea69fe86a318d2bbe0","after":null,"ref":"refs/heads/changelog_1.3.1","pushedAt":"2024-03-15T23:33:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"}},{"before":"3dcbdb06ffd57004a37532671eadbcf3aed6d77f","after":"985dba101b53b3a2b7ae36ebf8f76d1e80ef0aa2","ref":"refs/heads/main","pushedAt":"2024-03-15T23:33:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Update CHANGELOG for release 1.3.1 (#624)","shortMessageHtmlLink":"Update CHANGELOG for release 1.3.1 (#624)"}},{"before":null,"after":"4d1244f043f361f576fa1fea69fe86a318d2bbe0","ref":"refs/heads/changelog_1.3.1","pushedAt":"2024-03-15T23:29:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Update CHANGELOG for release 1.3.1","shortMessageHtmlLink":"Update CHANGELOG for release 1.3.1"}},{"before":"376e3196c9b841ae74badbf064e959ff55b523a5","after":null,"ref":"refs/heads/post-terminator-docs","pushedAt":"2024-03-05T19:53:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"}},{"before":"7191549c8865a3608d47c7949ff8fd8a0ab64dec","after":"3dcbdb06ffd57004a37532671eadbcf3aed6d77f","ref":"refs/heads/main","pushedAt":"2024-03-05T19:53:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Clarify `postTerminator` parsing strategy behavior (#621)\n\nFixes #597.","shortMessageHtmlLink":"Clarify postTerminator parsing strategy behavior (#621)"}},{"before":null,"after":"376e3196c9b841ae74badbf064e959ff55b523a5","ref":"refs/heads/post-terminator-docs","pushedAt":"2024-03-05T19:50:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Clarify `postTerminator` parsing strategy behavior\n\nFixes #597.","shortMessageHtmlLink":"Clarify postTerminator parsing strategy behavior"}},{"before":"e7fba0d41d719f78519045b252621a1895251c55","after":null,"ref":"refs/heads/optional-transform-ambiguity","pushedAt":"2024-03-05T19:20:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"}},{"before":"1c8215f18a812a1396d53948d66820552697f437","after":"7191549c8865a3608d47c7949ff8fd8a0ab64dec","ref":"refs/heads/main","pushedAt":"2024-03-05T19:20:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Fix for `@Option(transform:)` with optional type (#619)\n\nDue to the restructuring in #477, there was ambiguity between the\r\nunconstrained `@Option` initializer that uses a transform (but no\r\ninitial value) and the one that is constrained to the property being\r\noptional. This marks the unconstrained version as disfavored, which\r\nallows overload resolution to select the optional version when\r\nappropriate.\r\n\r\nAlso fixes this for `@Argument` and improves documentation\r\nconsistency for `@Option`.\r\n\r\nFixes #618.","shortMessageHtmlLink":"Fix for @Option(transform:) with optional type (#619)"}},{"before":"96091b816b733ff88d18854132d27beeb80fc84a","after":"e7fba0d41d719f78519045b252621a1895251c55","ref":"refs/heads/optional-transform-ambiguity","pushedAt":"2024-03-05T19:15:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Minor documentation edits","shortMessageHtmlLink":"Minor documentation edits"}},{"before":"ce764e3a165aa149218836c43c9179bfabe46f40","after":"96091b816b733ff88d18854132d27beeb80fc84a","ref":"refs/heads/optional-transform-ambiguity","pushedAt":"2024-03-01T22:34:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Improve `@Option` documentation consistency","shortMessageHtmlLink":"Improve @Option documentation consistency"}},{"before":"460c6cdcb9f26129de9fa8c2d65416dde95d14d7","after":"ce764e3a165aa149218836c43c9179bfabe46f40","ref":"refs/heads/optional-transform-ambiguity","pushedAt":"2024-03-01T00:41:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Fix the same for `@Argument`","shortMessageHtmlLink":"Fix the same for @Argument"}},{"before":null,"after":"460c6cdcb9f26129de9fa8c2d65416dde95d14d7","ref":"refs/heads/optional-transform-ambiguity","pushedAt":"2024-02-29T17:26:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Fix for @Option(transform:) with optional type\n\nDue to the restructuring in #477, there was ambiguity between the\nunconstrained `@Option` initializer that uses a transform (but no\ninitial value) and the one that is constrained to the property being\noptional. This marks the unconstrained version as disfavored, which\nallows overload resolution to select the optional version when\nappropriate.\n\nFixes #618.","shortMessageHtmlLink":"Fix for @option(transform:) with optional type"}},{"before":"76466cc8709032a542e013a736dd892664862ba7","after":"1c8215f18a812a1396d53948d66820552697f437","ref":"refs/heads/main","pushedAt":"2024-02-28T17:29:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Prefer `let` for private configurations (#617)","shortMessageHtmlLink":"Prefer let for private configurations (#617)"}},{"before":"c4138099b4d238cf0549a0203102b98133334c63","after":"76466cc8709032a542e013a736dd892664862ba7","ref":"refs/heads/main","pushedAt":"2024-02-24T19:36:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Improve zsh completion for repeatable options (#614)\n\nSome commands allow an option to be repeated to provide multiple values.\r\nFor example, ssh allows the -L flag to be repeated to establish multiple\r\nport forwardings.\r\n\r\nArgumentParser supports this style when the Option value is an Array\r\nand the parsingStrategy is ArrayParsingStrategy.singleValue or\r\n.unconditionalSingleValue.\r\n\r\nWithout this patch, ArgumentParser generates a zsh completion script\r\nthat does not handle repeatable options correctly. The generated script\r\nsuppresses completion of any option after that option's first use, even\r\nif the option is repeatable.\r\n\r\nWith this patch, ArgumentParser generates a zsh completion script that\r\nallows a repeatable option to be completed each time it is used.\r\n\r\nThe relevant zsh _arguments syntax is documented here:\r\nhttps://zsh.sourceforge.io/Doc/Release/Completion-System.html#Completion-Functions\r\n\r\nSpecifically, a repeatable option's optspec needs to start with '*'.\r\nFurthermore, a repeatable argument must not list itself or its synonyms\r\nin its own parenthesized suppression list. (This is not clearly\r\ndocumented.)\r\n\r\nfixes #564\r\n\r\n* Add test for repeated flag completions","shortMessageHtmlLink":"Improve zsh completion for repeatable options (#614)"}},{"before":"a0f43bb719eb3ade9005818e72557ea023af0e60","after":"c4138099b4d238cf0549a0203102b98133334c63","ref":"refs/heads/main","pushedAt":"2024-02-24T19:12:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Remove `@_implementationOnly` annotations (#616)\n\nThese annotations produce warnings when compiling swift-syntax without library evolution using Swift ≥5.10.\r\n\r\nReplace them by `private import` when compiling using Swift ≥5.11.\r\n\r\nMirrors https://github.com/apple/swift-syntax/pull/2429","shortMessageHtmlLink":"Remove @_implementationOnly annotations (#616)"}},{"before":"6c7ec363da47357aaf1f2f423d30117ff077f696","after":"a0f43bb719eb3ade9005818e72557ea023af0e60","ref":"refs/heads/main","pushedAt":"2024-02-07T05:17:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"},"commit":{"message":"Mark `CommandConfiguration` as `Sendable` (#615)\n\nLack of this marker protocol conformance causes warnings with strict concurrency checks, such as `Static property 'configuration' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6`","shortMessageHtmlLink":"Mark CommandConfiguration as Sendable (#615)"}},{"before":"01618a3a754e765e5a66f357556416c54c2840b2","after":null,"ref":"refs/heads/maxd/sendable-command-configuration","pushedAt":"2024-02-07T05:17:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"natecook1000","name":"Nate Cook","path":"/natecook1000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7053374?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQs0uQQA","startCursor":null,"endCursor":null}},"title":"Activity · apple/swift-argument-parser"}