Ingo Karkat ee94a3fac5 Return from user prompt without requiring Enter (#354)
* Tests: Add coverage for del / move without -f, but with prompting

Supplying the user confirmation via "yes".

* Cosmetics: Align inconsistent spacing for before (y/n) prompt

* Refactoring: Extract confirm() function

The user confirmation query had been duplicated (once) in the code.

* Refactoring: confirm(): Leave early if forced

* Return from user prompt without requiring Enter

By just reading a single character (y for yes, anything else: no).



* Tests: Ensure that only a single "y" concludes the confirmation

By switching from "yes" (that endlessly prints newline-separated "y"s) to "printf y".

* t1800-del: Add coverage for negative confirmation

Negative means "anything but y", so "n", "x", and Enter all apply.

* Cosmetics: Add trailing space after (y/n) prompt

So that the user's typed answer is not recorded directly after it, but with separation: "Foo? (y/n) y" instead of "Foo? (y/n)y".

*Compatibility: "read -N 1" is only available in Bash 4.1+

Mac OS still ships with Bash 3.2 :-( Fall back to the original prompting that requires conclusion via Enter then.
Note: Even though the tests use "printf y", this still gets accepted, as there'll be EOF after that. In real use (when stdin from the terminal stays open), a concluding Enter is mandatory, though.

Closes #152
2021-08-06 15:05:11 -05:00
2021-08-03 17:53:35 -05:00
2012-03-19 11:00:51 -05:00
2020-08-11 23:36:30 -05:00
2018-03-26 11:09:35 -05:00
2020-12-11 13:07:11 -06:00

todo.txt-cli

A simple and extensible shell script for managing your todo.txt file.

CI GitHub issues GitHub forks GitHub stars GitHub license Gitter

gif

Read our contributing guide if you're looking to contribute (issues/PRs/etc).

Installation

Download

Download the latest stable release for use on your desktop or server.

OS X / macOS

brew install todo-txt
cp -n /usr/local/opt/todo-txt/todo.cfg ~/.todo.cfg

Note: The -n flag for cp makes sure you do not overwrite an existing file.

Linux

From command line

make
make install
make test

NOTE: Makefile defaults to several default paths for installed files. Adjust to your system:

  • INSTALL_DIR: PATH for executables (default /usr/local/bin)
  • CONFIG_DIR: PATH for todo.txt config
  • BASH_COMPLETION: PATH for autocompletion scripts (default to /etc/bash_completion.d)
make install CONFIG_DIR=/etc INSTALL_DIR=/usr/bin BASH_COMPLETION=/usr/share/bash-completion/completions

Arch Linux (AUR)

https://aur.archlinux.org/packages/todotxt/

Usage

todo.sh [-fhpantvV] [-d todo_config] action [task_number] [task_description]

For example, to add a todo item, you can do:

todo.sh add "THING I NEED TO DO +project @context"

Read about all the possible commands in the USAGE file.

Release History

See CHANGELOG.md

Support

Code of Conduct

Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Contributing

We welcome all contributations. First read our Contributor Code of Conduct and then get started contributing.

License

GNU General Public License v3.0 © todo.txt org

Description
☑ A simple and extensible shell script for managing your todo.txt file.
http://todotxt.org
Readme 6.3 MiB
Languages
Shell 98.7%
Makefile 1.3%