aboutsummaryrefslogtreecommitdiff
path: root/todo/open.ha
blob: 7692635be1cdd5576003dac3de540a3b666183b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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")!;

	lib::slice_remove_empty(&todos);

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