mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-12-27 16:00:58 +01:00
50dfc9cc41
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
38 lines
949 B
Text
38 lines
949 B
Text
# NOTE: Thinking about adding files created by your operating system, IDE,
|
|
# or text editor here? Don't! Add them to your per-user .gitignore instead.
|
|
|
|
# Diviner
|
|
/docs/
|
|
/.divinercache/
|
|
|
|
# libphutil
|
|
/src/.phutil_module_cache
|
|
/src/.cache
|
|
|
|
# User extensions
|
|
/externals/includes/*
|
|
/src/extensions/*
|
|
|
|
# XHPAST
|
|
/support/xhpast/*.a
|
|
/support/xhpast/*.o
|
|
/support/xhpast/parser.yacc.output
|
|
/support/xhpast/node_names.hpp
|
|
/support/xhpast/xhpast
|
|
/src/parser/xhpast/bin/xhpast
|
|
|
|
## NOTE: Don't .gitignore these files! Even though they're build artifacts, we
|
|
## want to check them in so users can build xhpast without flex/bison.
|
|
# /support/xhpast/parser.yacc.cpp
|
|
# /support/xhpast/parser.yacc.hpp
|
|
# /support/xhpast/scanner.lex.cpp
|
|
# /support/xhpast/scanner.lex.hpp
|
|
|
|
# This is an OS X build artifact.
|
|
/support/xhpast/xhpast.dSYM
|
|
|
|
# This file overrides "default.pem" if present.
|
|
/resources/ssl/custom.pem
|
|
|
|
# Generated shell completion rules.
|
|
/support/shell/rules/*
|