All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- ✨ Tracking how often a command is used or edited and some timestamps
- ✨ Sorting commands by their usage count
- ✨ Display usage count in TUI
- 🧹 Untangled a bunch of spaghetti code. Hopefully now much easier to digest.
- 🔧 Better error handling and better documentation
- 🧪 Bunch more testing
- 🐛 Fix a lifetime longevity issue around theming password prompts
- ✨ List available namespaces when creating a new command
- Move from tui to ratatui. Thanks a-kenji
- 🐛 Fix a bunch of pipelines issues
- ✨ chatGPT integration. Generate commands which you have not yet hoarded
- Clean up code
- skip badly chosen release version tags
- 🐛 Fix bug, where
hoard pick
would not properly replace named parameterized commands - Tab highlight now also uses customizable color from config file
- Added update checker on startup, to notify the user about a new version
- ✨ Inline command editing in the GUI. Press
<TAB>
to get started. Only editing the command, its description and the tags are supported for now - ✨ Inline command deletion in the GUI. Press
<Ctrl-X>
to delete a command in the GUI view - ✨ Inline command creation in the GUI. Press
<Ctrl-W>
to create a new command in the GUI view
- ✨ You can now synchronize your commands across multiple terminals! Run
hoard sync --help
to start
- ✨ Fully named parameters. When saving a parameter, you can now end the parameter name with
!
. This enables you to use spaces in the parameter name. Additionally, using the ending token!
enables you to use a named parameter in a command where no space is between the parameter token and the rest of the command (Set a different token in your config) - ✨ Add filtered commands outpout
hoard list --json --filter <query_string>
to enable easier downstream usage - 👿 Temporarily disabled windows support. Switching the TUI backend to crossterm from termion broke zsh support on MacOS, which is deemed more important until a fix is prepared.
- ✨ Named Parameters. You can now add any string after your token
#
. Tokens with the same name will be filled out automatically after being prompted once for them when selecting a command fromhoard list
- ✨ Read out local
trove.yml
file in current directory if available ( Edit ~/.config/hoard/config.ymlread_from_current_directory
to disable ) - ✨
hoard set_parameter_token
to customize which parameter token is used - ✨
hoard info
shows whereconfig.yml
andtrove.yml
files are located
- ✨ Advanced export allowing subset of namespaces or commands to be exported
- 🐛 Fix bug where selecting a command when running
hoard
as azsh
plugin produces gibberish rendered text in the terminal - ✨ Customizable GUI colors through ~/config/.hoard/config.yml
- ✨ Support parameterized commands. Put '#' in place where a parameter is expected. When running
hoard pick <command_name>
orhoard list
as a shell plugin and selecting a parameterized command,hoard
will ask for all missing parameters to input before sending the complete command to your shell input. - ✨ Press
<F1>
when runninghoard list
to see all shortcuts - ✨ Make tags optional
Breaking changes:
- 🔨 Find your hoard config files at
~/.config/hoard
(Used to be~/.config/.hoard
. Copy them over or import your old trove file by runninghoard import ~/.config/.hoard/trove.yml
)
- Wrap command text in UI
- Left align command text in UI
- combine import url/path into one argument. Use
hoard import <path/url>
- When picking a command not as a shell plugin, the command will be printed to the console
hoard pick
does not require--name
argument anymore. To print a command runhoard pick <name>
hoard remove
does not require--name
argument anymore. To remove a command runhoard remove <name>
hoard edit
does not require--name
argument anymore. To remove a command runhoard edit <name>
- Add simple export functionality. Run
hoard export /path/to/exported/trove.yml
- Enable short aliases for basic commands
new[n]
,list[l]
,copy[c]
,pick[p]
,remove[r]
,import[i]
,export[x]
,edit[e]
- 🔧 Fix empty defaults for command field inputs
- Edit commands with
hoard edit --name <command_name>
- Ask user for new command name if a collision is detected on creating a new command and importing troves. Name + namespace have to be unique.
- Import other trove files
hoard import --file /path/to/trove.yml
- Import trove files from url
hoard import --url https://this.trove.com/trove.yml
- Move config files to
.config/.hoard
instead of.hoard
- Can now delete all commands in a specific namespace
hoard remove --namespace <name>
- Add 🐟
fish
shell autocomplete support - Add 🐟
fish
installer script
- Strip autocompleted command of its leading spaces
- 🐛 Fix 'sending on a disconnected channel' bug when autocompleting
- Enable installation with cargo
- Generally improve installation script flow
- 🚀 Initial release. All basic features compoleted
- Add zsh support for autocomplete (zsh widget)
- Add Linux Ubuntu installer for bash and zsh support
- Add bash support for autocomplete
- Rework list UI
- Add namespace tab
- Enable filtering commands in UI
- Replace crossterm UI backend with termion
- When starting
hoard
the first time, it asks the user for a default namespace hoard list
won't show UI anymore and break if no command has been saved before- Show help if no command is supplied
- Add command removal command
Initial beta release