1.0.0
π Version 1.0.0
is a major reimagining of the project and includes numerous breaking changes. The primary focus has been shifted away from managing flat environment variable files (and sourcing them into new shell sessions via symbolic links) to managing collections of autoloaded functions. This change enables a great deal more functionality and makes pond
a more flexible tool to work with.
The following list details some of the major functional changes and improvements being introduced:
- It is now possible to add your own custom functions to a pond! π¨π»βπ¬
pond dir <name>
puts you in a pond directory from where you can add any number of function files with.fish
extension - The
load
command now modifiesfish_funtion_path
to expose functions in a pond to the current shell session using autoloading; similarly, theenable
command maintains a list of enabled ponds which will be added tofish_funtion_path
whenever a newfish
session is started - Pond no longer creates, nor does it
source
, anenv_vars.fish
file for each pond; this functionality has been replaced by specialinit
anddeinit
functions that can optionally be created on a per-pond basis (refer to theinit
anddeinit
commands for usage) - The
edit
command has been removed; environment variables should be added to aninit
function which can be created (and opened in an interactive editor) using theinit
command - Support for 'private' ponds has been removed; this functionality only made sense in the context of proposed future command additions (e.g.
import
,export
) - The
unload
command no longer attempts to parse variable names fromenv_vars.fish
or erase them from the shell environment, instead add a suitabledeinit
function to each pond and perform any cleanup operations such asset -e ...
there - Workflow tests have been refactored and plugin installation tests added for fisher, oh-my-fish, and plug.fish π§ͺ
- Numerous other small fixes and improvements too numerous to list here π€