eat my own dogfood, subtasks
parent
6c83f4197d
commit
141a374441
10
TODO.md
10
TODO.md
|
|
@ -5,6 +5,14 @@ Goals
|
||||||
* YAML based todo
|
* YAML based todo
|
||||||
* because goddamnit a year of this shit isn't significant on disk or in RAM for vim
|
* because goddamnit a year of this shit isn't significant on disk or in RAM for vim
|
||||||
* ez edit on many platforms, even offline and mobile
|
* ez edit on many platforms, even offline and mobile
|
||||||
|
* ez start on many platforms
|
||||||
* defer, schedule, looping, details
|
* defer, schedule, looping, details
|
||||||
* let UI be UI and plaintext be plaintext, cause I dont use ledger.scratch.com
|
* let UI be UI and plaintext be plaintext, cause I dont use ledger.scratch.com anyhow
|
||||||
|
* of course I can't read ledger from mobile so incomplete example there but w/e
|
||||||
|
* if mobile, then need view + complete
|
||||||
|
* else fuckit get a damned keyboard
|
||||||
* tags
|
* tags
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
See todo.yaml
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ package main
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"flag"
|
"flag"
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"local/pt-todo-server/pttodo"
|
"local/pt-todo-server/pttodo"
|
||||||
"log"
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
|
|
@ -48,6 +48,6 @@ func _main() error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
log.Printf("%s", b2)
|
fmt.Printf("%s\n", b2)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
package pttodo
|
package pttodo
|
||||||
|
|
||||||
import "time"
|
import (
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
type Todo struct {
|
type Todo struct {
|
||||||
Todo string
|
Todo string
|
||||||
|
|
@ -8,6 +11,7 @@ type Todo struct {
|
||||||
TS TS `yaml:",omitempty"`
|
TS TS `yaml:",omitempty"`
|
||||||
Schedule Schedule `yaml:",omitempty"`
|
Schedule Schedule `yaml:",omitempty"`
|
||||||
Tags string `yaml:",omitempty"`
|
Tags string `yaml:",omitempty"`
|
||||||
|
Subtasks []Todo `yaml:",omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (todo Todo) Triggered() bool {
|
func (todo Todo) Triggered() bool {
|
||||||
|
|
@ -17,7 +21,7 @@ func (todo Todo) Triggered() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (todo Todo) MarshalYAML() (interface{}, error) {
|
func (todo Todo) MarshalYAML() (interface{}, error) {
|
||||||
if todo == (Todo{Todo: todo.Todo}) {
|
if fmt.Sprint(todo) == fmt.Sprint(Todo{Todo: todo.Todo}) {
|
||||||
return todo.Todo, nil
|
return todo.Todo, nil
|
||||||
}
|
}
|
||||||
type Alt Todo
|
type Alt Todo
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package pttodo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
|
@ -26,7 +27,7 @@ func TestJSONTodo(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
} else if err := json.Unmarshal(b, &todo2); err != nil {
|
} else if err := json.Unmarshal(b, &todo2); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
} else if todo != todo2 {
|
} else if fmt.Sprint(todo) != fmt.Sprint(todo2) {
|
||||||
t.Fatal(todo2)
|
t.Fatal(todo2)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
todo:
|
||||||
|
- todo: ez edit on many platforms, even offline and mobile
|
||||||
|
subtasks:
|
||||||
|
- mobile view + complete method
|
||||||
|
done:
|
||||||
|
- todo: YAML based todo
|
||||||
|
detail:
|
||||||
|
because goddamnit a year of this shit
|
||||||
|
isn't significant on disk or in RAM for vim
|
||||||
|
- todo: yaml based todo for plaintext
|
||||||
|
detail: a year isnt even a mb
|
||||||
|
- ez edit, start on many platforms
|
||||||
|
- defer
|
||||||
|
- schedule
|
||||||
|
- looping
|
||||||
|
- details
|
||||||
|
- todo: let UI be UI for whatever platform
|
||||||
|
- tags
|
||||||
|
- todo: sub tasks
|
||||||
|
subtasks:
|
||||||
|
- a
|
||||||
Loading…
Reference in New Issue