5 stable releases
1.5.0 | Feb 28, 2020 |
---|---|
1.2.0 | Feb 17, 2020 |
1.1.1 | Feb 16, 2020 |
1.0.0 | Feb 16, 2020 |
#234 in Text editors
52KB
1.5K
SLoC
Forget
Customizable, Simple, Cross-platform Terminal "todo" app.
A beautiful (thanks to tui.rs) command line app to keep you from forgetting!! forget
uses termion for rendering as such it is cross platform (fonts may differ). forget
is highly
customizable, key bindings, colors, icons, text and titles. forget
's configuration and "database" files will save
to $HOME/.forget/ this is where the config file can be edited. forget
is a multi-threaded application the
UI event loop and input loop each run on a separate thread as well as any command spawned, everything is cleaned up
when the main thread exits.
forget
keeps track of adding and removing sticky notes, sticky note items (todos), and editing the items that have
been created. Along with each sticky note item a command can be run when the item is selected (press Enter while highlighted)
this will run in a separate process and will not affect the UI.
Install
cargo install forget
Run
forget
Use
In order to navigate around forget
:
- up arrow & down arrow
- selects item or question.
- left arrow & right arrow
- selects "tab" or Sticky Note.
- backspace
- cross an item off without removing it.
- delete
- remove an item.
- ctrl-h
- add new sticky note.
- ctrl-n
- add new todo item to current sticky note.
- ctrl-e
- edit currently selected todo item of current sticky note.
- ctrl-k
- add new note to current sticky note.
- ctrl-u
- removes current sticky note.
- ctrl-s
- save everything to "data base".
Customize
Everything is customizable with the ./.forget/config.json
file unfortunately spelling
and capitalization matter.
Note: Ctrl-j, Ctrl-i and Ctrl-m are all highjacked by bash to be output as different characters
DO NOT USE THEM FOR KEY MAPPINGS.
{
"title": "Forget It",
"new_sticky_note_char_ctrl": "h",
"new_note_char_ctrl": "k",
"new_todo_char_ctrl": "n",
"edit_todo_char_ctrl": "e",
"mark_done": "Backspace",
"remove_todo": "Delete",
"remove_sticky_note_char_ctrl": "u",
"save_state_to_db_char_ctrl": "s",
"exit_key_char_ctrl": "q",
"highlight_string": "✔️",
"app_colors": {
"normal": {
"fg": "White",
"bg": "Reset",
"modifier": "RESET"
},
"highlight": {
"fg": "Yellow",
"bg": "Reset",
"modifier": "BOLD"
},
"tabs": {
"fg": "Cyan",
"bg": "Reset",
"modifier": "BOLD"
},
"titles": {
"fg": "Red",
"bg": "Reset",
"modifier": "BOLD"
},
"text": {
"fg": "Green",
"bg": "Reset",
"modifier": "UNDERLINED"
}
}
}
Options are listed below.
Options
When changing any of these care must be taken to match capitalization and spelling.
Character
All Valid Utf-8 single character byte sequences.
Keys, not characters or strings
Backspace Left Right Up Down Home End PageUp PageDown BackTab Delete Insert F(u8) Null Esc
Colors
Reset, Black, Red, Green, Yellow, Blue, Magenta, Cyan, Gray, DarkGray, LightRed, LightGreen, LightYellow, LightBlue, LightMagenta, LightCyan, White, Rgb(u8, u8, u8), Indexed(u8),
Text Modifiers
BOLD DIM ITALIC UNDERLINED SLOW_BLINK RAPID_BLINK REVERSED HIDDEN CROSSED_OUT RESET
Titles and Icons
Any valid Utf-8 characters will work.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~3.5–5MB
~92K SLoC