- We can't simply define `pip3.6`,... because the aliases support both
cpython and pypy version, which means these needs to differ. For that
reason, I decided to use `ppip3` for pypy and `pip3` for cpython.
However there's also an option to use the full version like this:
`pypy3pip` or `py3.7pip`.
- 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.
- Default args cause problems when we have other custom flake8 rules
defined in files such as tox.ini since these project-specifc settings
were simply getting ignored in favor of the default args. We should
instead always rely on the project's settings
- This encapsulates all plugin related functionalities into the plugins/
folder (and pluginconfig/) instead of relying on utility file.
- It also renames utility/plugins.lua to a more sensible
plugins/packer.lua as it actually only applies for packer plugin
manager.
- The plugins.lua file is now split into 2 files, first holding the list
of all plugins plugins/plugin_list.lua and second one holding the
logic of bootstrapping and running startup on packer.