1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-12-27 16:00:58 +01:00
phorge-arcanist/resources
epriestley 50dfc9cc41 [Wilds] Update "arc shell-complete" for toolsets
Summary:
Ref T13098. Major changes:

`arc shell-complete` now installs itself to your `~/.profile`. Running `arc shell-complete` again will update the hook and update the completion rules.

Completion rules work for all toolsets, so you can install once and then autocomplete in `arc`, `phage`, etc.

This code supports other shells in theory, and I developed most of it with ZSH support next to the Bash support. However, while actually testing ZSH support, I couldn't get it to even slightly work and found myself falling down a very, very deep rabbit hole of ZSH being entirely written in bash script and `${0🅰️h}` being a legitimate script construction. The existing ZSH support comes from one guy in 2012 and also does not work for me on `master`, so I ultimately removed it. Open to restoring it but I wasn't able to figure it out in 10 minutes of Googling and I'm not convinced it's worth 11 minutes of Googling.

I left a few rough edges here with notes on how to improve/fix them, but the basics all work.

Test Plan:
- Ran `arc shell-complete` under various stages of `~/.profile`, couldn't get it to do anything bad.
- Ran `arc lib<tab>`, `arc shell-complete --curr<tab>`, etc. Got sensible suggestions and completions.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13098

Differential Revision: https://secure.phabricator.com/D19700
2018-09-25 16:02:13 -07:00
..
arclint Add some example .arclint files to un-lie the pending documentation 2014-05-11 20:22:57 -07:00
php [Wilds] Allow "arc liberate" to liberate itself again 2018-09-21 16:50:58 -07:00
spelling Add some more spelling corrections to Spelling linter 2014-12-22 16:08:02 -08:00
ssl [Wilds] Remove libphutil 2018-09-21 16:38:53 -07:00
timezones [Wilds] Remove libphutil 2018-09-21 16:38:53 -07:00