Wish is now configured by a config file (although WISH_PLUGINS and
WISH_RIGHT_PLUGINS are still used as a fallback if no config file is
found. This way old setups won't break). Config file allows for higher
customization and re-use of plugins and is easier to maintain for
users. Add gINIe parser to Wish. Parse a gINIe config file for wish
config. Wrappers around plugins are created to allow re-use with
multiple configs and themes.
WISH_PATH_POWERLINE_MAX_PERC tries to ensure that the path stays below
the specified percentage of the remaining characters. The path is
shortened by replacing each dir with its initial until it becomes short
enough. The last part is never shortened.
WISH_RPL (i.e. Right Prompt Lengths), WISH_RIGHT_PS1 are now arrays.
WISH_RPLINE tracks the current line. wish_append_right is called by
wish_append to add to WISH_RIGHT_PS1. If wish_append is called with \n
as text, WISH_RPLINE is incremented. (Current limitation: \n can't be
part of any other string passed to wish_append). Right prompt is now printed
using wish_print_right_prompt which iterates over WISH_RPL and
WISH_RIGHT_PS1. Right prompt size is also calculated in
wish_append_right now.
Set WISH_RIGHT_PLUGINS to be displayed on right.
wish_append is stateful now. Appends to WISH_RIGHT_PS1 or WISH_LEFT_PS1
based on WISH_STATE. wish_append also calculates the length of right
prompt. This has the downside that right prompt can't include any text
that expands on PS1. Therefore, a limitation needs to be applied on
plugins to only append text that won't be expanded in PS1. (i.e. no \u,
\h, \w, \W, etc).