{"thread":{"id":"48276","subject":"git blame completion add <rev> completion?","startedAt":"2018-04-12T22:19:07Z","lastAt":"2018-04-12T22:19:07Z","messageCount":1,"participants":["Jacob Keller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"344567","messageId":"CA+P7+xrQhGdifOGVKCqw3bEBp-YVQwNNQiXzvECJfFpMRipu2g@mail.gmail.com","threadId":"48276","inReplyTo":null,"subject":"git blame completion add <rev> completion?","fromName":"Jacob Keller","fromEmail":"jacob.keller@gmail.com","sentAt":"2018-04-12T22:18:41Z","receivedAt":"2018-04-12T22:19:07Z","isPatch":false,"sender":{"key":"jacob.keller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/874719?v=4"},"body":"Hi,\n\nI use git blame sometimes to blame against specific revisions, i.e.\n\"git blame <branch> -- <file>\" and it would be nice if blame could\nfigure out how to complete the <branch> or revision reference..\n\nI tried to take a stab at adding support for this, but I couldn't\nfigure out which completion function to use...\n\nI want \"git blame <TAB>\" to complete files like normal, (as this is\nthe most general use case), but to have \"git blame xyz<TAB>\" to\ncomplete revisions if there's any that match, (while still also\ncompleting files). Additionally, it should only complete a revision\nfor the first argument, and go back to strict file names after.\n\nIn an *ideal* world, it'd be nice if it could figure out say:\n\ngit blame <branch> xyz<TAB>\n\nand complete xyz as a file found in branch, not actually checking\nlocal files but the ls-files of that branch instead. (i.e. it should\nbe able to complete a file that was deleted in the current checkout\nbut exists on that ref).\n\nany ideas on where to start with that?\n\nThanks,\nJake\n"}]}