eat my own dogfood, subtasks
This commit is contained in:
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)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
21
todo.yaml
Normal file
21
todo.yaml
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user