Capstone: todo CLI
| The data file | |
| Add a task | |
| List tasks | |
| Mark done |
The data file
The todo list stores tasks in a file called todo.txt. Each line is a task, and the format is [ ] for incomplete and [x] for done.
-module(todo).
-behaviour(gen_server).
-export([start/0, add/1, list/0, mark_done/1]).
-init([]) ->
{ok, file:read_file("todo.txt")}.
-handle_info({add, Task}, Tasks) ->
{ok, [Task|Tasks]}.
-handle_info({list}, Tasks) ->
{ok, lists:reverse(Tasks)}.
-handle_info({mark_done, Task}, Tasks) ->
{ok, lists:keydelete(index(Task), 1, Tasks)}.
Next: Capstone: TCP server
Article author: Arthur Isaev