Replace the implementation that relied on symlinks with the one that
create regular files that act like symlinks: they contain a reference to
the local directory where to find the extension.
The first paragraph uses single quotes when referring to shell arguments
and variables, but the rest of the docs use double quotes. This commit
switches to using single quotes throughout the docs.
I prefer to use single quotes inside string literals because Go uses
double quotes to define a string literal.
On non-Unix-like shells like Windows Command Prompt, single quotes are
handled differently. You need to define aliases using double quotes
instead of single quotes.
I added an inline example to illustrate the quotes. The example is
formatted as inline code blocks in Markdown. Unfortunately, because Go
uses backticks for raw string literals, I needed to do some rather ugly
string concatenation in order to get the backticks included in the doc
string.
This also rearranges the notes so that the platform specific notes are
at the end of the documentation.
- Extensions on Windows now enabled through the `sh.exe` interpreter
- `sh.exe` now found on Windows when git was installed via scoop
- `gh extensions list` command shows origin repo for the extension
- `gh extensions upgrade --all` is required to upgrade all extensions
- Added `gh extensions remove`
- Shell completions now include aliases and extension names
- `gh` help output now lists available extension names
- Extensions are stored to XDG_DATA_HOME
For asserting command output, exact string matches are preferred in most cases. In cases when a pattern match is needed, the test can use regexp ad hoc.