- Auto save command on new event (opening a man page, switch to other command or collection)
- Command save button is now orange when command is modified to hint user.
- Fix failure to view command for newly created collections.
- Add GitHub action for Linux build.
- GUI improvements for maintaining similar layout across platforms.
- Refactor main window code to make them more readable and maintainable.
- CommentBox and CommandBodyBox no longer cut off words when starting a new line.
- Fix failure to load html page when man page exist but html file missing.
- Create dmg installer for Mac build
- Add a new window to allow user to set their defined man page for a command with hint from the db.
- Add GitHub action for Windows build.
- GUI improvements.
- Reset man page to empty for each load.
- Fix command heightening unable to highlight
−
(a way to represent-
in html). - Fix Html not being loaded in some cases.
- Add man pages loader to be able to dynamically download and extract man pages for a given package name.
- Add
man_pages_kv.db
to serve as the kv storage that maps a command to its package name. (They can indeed be different) - Add html_converter.py to convert man pages to html files, with support for Windows, Mac, and Linux.
- Add Windows binary for
groff
. (Since it cannot be installed on Windows natively) - Add GUI and logic to get man pages for a command and display the man pages as html.
- Use a Tab to toggle between comment and man pages.
- Add html man pages for core utils
- Support Command Templating and copy to clipboard.
- Create a progress update window to update the progress while downloading packages and extract man pages.
- Add command deletion button to each command in the list.
- Detect user input for CommandBodyBox and CommentBox and create a save button in such events.]
- Add a button beside the command body to copy the command to clipboard.
- Add a button to create a command for the current selected collection.
- Add extract_options() for command model class to extract options(with -- or -) as a list.
- Add unit tests for extract_options() and get_template_variables() for the command model class.
- Add GitHub Action to build executable on Mac
- Use static images for some buttons.
- GitHub Action for Mac build now build on MACOS 12 to support for more systems.
- Use the App support dir on Mac for /data and /static
- Fix
extract_options
that was unable to identify options start with--
but contains-
like--convert-links
.
Command
model with attributes for command string, description, tags.Collection
model to group commands with attributes for name, description, and a list of commands.DataManager
class to handle data persistence (loading, saving, adding, deleting, updating collections and commands).- Command parsing functionality in Command class to replace variables and handle errors.
- Unit tests for Command, Collection, and DataManager.
- Mock JSON file for testing data loading and saving.
- GUI implementation using CustomTkinter:
- Main window structure with left and right panels.
- Collection dropdown list to select collections.
- Scrollable command list.
- Custom CommandBox to display commands and tags.
- Theme toggle button to switch between dark and light modes.
- Display command and comment in CommandBodyBox and CommentBox when a command is selected from left plane.
- Add new collection button ( ) with hover text and logic to add new collections with user input and duplicate name handling.
- Remove collection button (X) with hover text and logic to remove the currently selected collection with a confirmation dialog.
- Implemented "Add/Create Tag" window functionality
- Added buttons to each CommandBox to open the "Add/Create Tag" window.
- Created a TagOperation class to handle tag-related operations.
- Implemented logic to add existing tags to commands and create new tags with user-specified names and colors.
- Added autogenerated uuid for Command to uniqly identify them.
- Added select button to CommandBox and implemented selection logic.
- Improved command list appearance with custom CommandBox.
- Collection model no longer need
description
filed - Updated DataManager to include methods for adding, removing, and managing tags.
- Updated unit tests to cover the new tag management functionality in DataManager.
- Resolved tag parsing issue in DataManager.