https://github.com/poggingfish/studu
a todo list app in C++
https://github.com/poggingfish/studu
Last synced: 9 months ago
JSON representation
a todo list app in C++
- Host: GitHub
- URL: https://github.com/poggingfish/studu
- Owner: poggingfish
- Created: 2025-08-23T00:40:03.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-08-23T02:01:52.000Z (10 months ago)
- Last Synced: 2025-09-12T14:08:38.385Z (10 months ago)
- Language: C++
- Size: 139 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# studu
a expiremental todo software made in c++
# Usage
Build the project with `make`, the only dependency is C++.
Run `/bin/studu`, it is a stack based language.
# Examples
Adding an item is simple!
```
todo> "I want to do this thing" add
todo> list
ckbxsi [todo] I want to do this thing
todo> "ckbxsi" done
todo> list
ckbxsi [done] I want to do this thing
todo>
```
Lets filter the list to only show items that are waiting to be done.
```
todo> list
hiirlo [todo] Thing 1
sycqdx [todo] Thing 2
plpcxv [todo] Thing 3
todo> "hiirlo" done
todo> "todo" filter
sycqdx [todo] Thing 2
plpcxv [todo] Thing 3
todo>
```
Lets save it to a file named `todolist`
```
todo> "todolist" save
```
Now, lets close the program and load it up!
```
todo> "todolist" load
todo> list
hiirlo [done] Thing 1
sycqdx [todo] Thing 2
plpcxv [todo] Thing 3
todo>
```
# Commands
## Add
Adds a item to the todo list.
```
todo> list
sefkmq [todo] I am a item!
todo> "I am another item!" add
todo> list
sefkmq [todo] I am a item!
rjvzck [todo] I am another item!
todo>
```
## Done, Todo, Inpr and Drop
Sets an item to one of the four statuses
Done means it is completed,
Todo means it is planned,
Inpr means it is in progress,
Drop means it wont be done or is postponed indefinetly.
```
todo> list
kzflmc [done] I will be unfinished
xqiayb [todo] I will be finished
fcphhd [todo] I will be dropped
abzoef [todo] I will be in progress
todo> "kzflmc" todo
todo> "xqiayb" done
todo> "fcphhd" drop
todo> "abzoef" inpr
todo> list
kzflmc [todo] I will be unfinished
xqiayb [done] I will be finished
fcphhd [drop] I will be dropped
abzoef [inpr] I will be in progress
todo>
```
## Index
Gets an index from the content.
```
todo> "search for me!" add
todo> list
fbqrwg [todo] search for me!
todo> "search for me!" index
todo> stack
Stack items:
#0 fbqrwg
todo>
```
## Remove
Removes an item from the list
```
todo> list
aemvrp [todo] I don't want to do this!
todo> "aemvrp" remove
todo> list
todo>
```
## List
Displays the todo list.
```
todo> "I am an item!" add
todo> list
deknxn [todo] I am an item!
todo>
```
## Filter
Filters based on status.
```
todo> list
fytvmp [done] I am done!
sdqand [todo] I am not!
todo> "done" filter
fytvmp [done] I am done!
todo>
```
## Stack
Prints the stack.
(PS. The stack starts at the top, so #2 is the current item.)
```
todo> "a" "b" "c"
todo> stack
Stack items:
#0 a
#1 b
#2 c
```
## Dup
Duplicates the top element of the Stack
```
todo> "a" "b"
todo> stack
Stack items:
#0 a
#1 b
todo> dup
todo> stack
Stack items:
#0 a
#1 b
#2 b
todo>
```
## Save / load
```
todo> list
hiirlo [todo] Thing 1
sycqdx [todo] Thing 2
plpcxv [todo] Thing 3
todo> "hiirlo" done
todo> "todolist" save
todo>
```
(in a new instance)
```
todo> "todolist" load
todo> list
hiirlo [done] Thing 1
sycqdx [todo] Thing 2
plpcxv [todo] Thing 3
todo>
```