- Re-reunning work_directory every time we redraw the prompt isn't
necessary, since the function is here to generate the zsh supported
syntax for the prompt that will get expanded into a work directory
automatically.
- The function is only here to determine whether we're in TTY and use
ASCII compatible symbols if we are, however it is enough to only check
this once initially, since we can't leave TTY in favor of a graphical
instance without reloading the rc file and neither can we leave.
- However, this function also checks for `USE_SHORTENED_WORKDIR`
variable and decides which prompt to show based on it. This means that
it someone was setting this variable in their profile file it would
now no longer be respected, however this was never the intention of
that variable, if a change is desired, the variable should simply be
edited in the prompt file directly.
- Removing continual calls to this function each time prompt is redrawn
is worth the very minor inconvenience of no longer supporting
shortened workdirs from externally set variable due to the speed
benefit it gives us, though not that noticeable, it is pretty
significant. Not to mention that this wasn't intended/recommended
usage anyway.
- py alias should always preferably use ipython, however if it isn't
available, it does fall back to the pure python interpreter.
- This is useful for running scripts since we would prefer ipython error
output, but also for debugging, etc.
- However since py will use ipython, we didn't have any good way to get
back to pure python unless it's typed in it's full form, which is too
long. Because of this, this adds `ppy` alias, which always points to
the pure python interpreter, no matter if ipython is available or not.
- This also adds a more explicit `ipy` alias, to clearly mark that we
want ipython.