Currently, if you add a new file to a directory, then cd to a sibling directory, the untracked glyph will not appear. This is inconsistent with the behavior of the other git colors and flags, e.g. if you modify a file and cd into a sibling directory, the prompt will still be red and the dirty working directory glyph will still appear.
This PR modifies the query used to find untracked files so it searches from the repo root instead of the current directory.
- Clean up README formatting.
- Move all configuration documentation from functions into the README.
- Add missing documentation for a bunch of other options.
Fixes#337
Why:
1. `$_` is marked as deprecated
https://fishshell.com/docs/current/language.html#envvar-_
2. `$_` contains wrong process name in cases like this one:
```fish
sleep 1000 # `sleep` is the process, now press Ctrl-Z to suspend
fg # unsuspend it, now `fg` is shown as the process
```
`status current-command` will show `sleep` instead, which makes more
sense.
A refactor changed this block from a `set git_dir $PWD` to
`set git_dir $real_pwd`, but as `real_pwd` is a "static" variable and
not dynamically computed, this breaks within the `pushd` / `popd` flow.
Instead of using `$real_pwd`, we need to compute the *current* directory
by calling `__bobthefish_pwd` again.
Fixes#249.
Linux Git is unusably slow when accessing repos in the Windows filesystem when using WSL; using Windows Git fixes this issue but it breaks the prompt since Windows Git returns Windows paths.
This converts the path to the equivalent POSIX path which restores the prompt under this setup; it should just return the original path when passed a POSIX path, and do nothing on non-WSL systems.
First checks to see if `asdf` is installed. If it is, checks to see if either of
the plugins ( `golang` or `go-sdk` ) that install a version of Go have an
installed version. If they do, use that version.
If `asdf` isn't installed, check the `go.mod` file. If in a folder that has a
`go.mod` or a parent folder has a `go.mod`, check that file for the Go version.
Lastly, check if there's a `go` executable on the current path. If there isn't
set a flag so that the go version will be printed out in red rather than blue.