{"id":18306207,"url":"https://github.com/joechrisellis/vim-git-arglist","last_synced_at":"2025-04-05T16:33:01.443Z","repository":{"id":46020775,"uuid":"366678305","full_name":"joechrisellis/vim-git-arglist","owner":"joechrisellis","description":"Vim commands for manipulating the arglist based on the current Git repository","archived":false,"fork":false,"pushed_at":"2021-08-11T17:50:23.000Z","size":32,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T02:51:54.952Z","etag":null,"topics":["arglist","git","integration","plugin","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joechrisellis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-12T10:31:09.000Z","updated_at":"2025-03-04T21:51:10.000Z","dependencies_parsed_at":"2022-07-18T16:28:45.143Z","dependency_job_id":null,"html_url":"https://github.com/joechrisellis/vim-git-arglist","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joechrisellis%2Fvim-git-arglist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joechrisellis%2Fvim-git-arglist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joechrisellis%2Fvim-git-arglist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joechrisellis%2Fvim-git-arglist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joechrisellis","download_url":"https://codeload.github.com/joechrisellis/vim-git-arglist/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247367103,"owners_count":20927662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arglist","git","integration","plugin","vim"],"created_at":"2024-11-05T15:38:13.838Z","updated_at":"2025-04-05T16:33:01.016Z","avatar_url":"https://github.com/joechrisellis.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vim-git-arglist\n\nA plugin which adds helper commands for manipulating the arglist based on the\ncurrent Git repository.\n\nVi/Vim's arglist is useful for grouping together a collection of files for easy\nnavigation. This plugin adds helper commands that interface with Git for\nmanipulating the arglist based on the repository you're working with.\n\nAs a quick example, you can add all of the files modified/added by a particular\ncommit to the arglist with `:ArgsTreeish \u003ccommit_hash\u003e`. Or, you can add all of\nthe files modified/created in your working tree to the arglist using\n`:ArgsDiffed`. For more, check out `:h git-arglist-example-workflow`, which\nexplains one of my personal workflows with this plugin.\n\nYou can also use `:h git-arglist` for help.\n\n# Installation\n\nThe plugin is plain Vimscript, so the installation doesn't require anything\nspecial. You can install the plugin using whichever plugin manager you normally\nuse. For example, if you use vim-plug, add:\n\n```\nPlug 'joechrisellis/vim-git-arglist'\n```\n\nto your vimrc.\n\n# Examples\n\nYou can take full advantage of Git pathspecs with vim-git-arglist:\n\n- `:ArgsDiffed HEAD :/'**'.{cpp,h}` -- open all C++ source/header files that\n  have changed in the working tree. Strictly, this means \"set the arglist to\n  all files modified in the working tree with extension `.cpp` and `.h`\".\n- `:ArgsTreeish \u003ccommit\u003e ':**/test/**'` -- open all tests touched by\n  `\u003ccommit\u003e`. Strictly, this means \"set the arglist to all files in the\n  repository touched by `\u003ccommit\u003e` that are beneath a `test` subdirectory\".\n- `:ArgsTreeish \u003ccommit\u003e ':!/**/docs/**'` -- open everything touched by\n  `\u003ccommit\u003e` except for documentation changes. Strictly, this means \"set the\n  arglist to all files in the repository touched by `\u003ccommit\u003e` that are not\n  beneath a `docs` subdirectory\".\n\nYou can also take advantage of Git revision specifiers:\n\n- `:ArgsDiffed @{u}` -- open all of the files that have been modified on the\n  current branch since the last push to upstream. If you want to exclude\n  uncommitted changes in your working directory, you can use\n  `:ArgsDiffed @{u}..`.\n\n# License\n\nCopyright (c) Joe Ellis. Distributed under the same terms as Vim itself. See\n`:help license`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoechrisellis%2Fvim-git-arglist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoechrisellis%2Fvim-git-arglist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoechrisellis%2Fvim-git-arglist/lists"}