An open API service indexing awesome lists of open source software.

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++

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>
```