aboutsummaryrefslogtreecommitdiff
path: root/todo/open.ha
blob: 092ea247fef93e0ae2da7643db013549f1592be4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use fs;
use io;
use lib;
use os;
use strings;

export fn open(file: str) ([]str | fs::error) = {

	// open
	const todos = os::open(file)?;
	defer io::close(todos)!;

	const todos = io::drain(todos)!;
	defer free(todos);

	// read
	const todos = strings::fromutf8(todos)!;
	const todos = strings::split(todos, "\n")!;
	defer free(todos);

	lib::slice_remove_empty(&todos);

	return strings::dupall(todos)?;
};