Versions in this module Expand all Collapse all v1 v1.1.0 Apr 18, 2022 v1.0.0 Apr 18, 2022 Changes in this version + const AddEvent + const DATE_FORMAT + const Daily + const DeleteEvent + const Monthly + const TodosJSONFile + const UpdateEvent + const VERSION + const Weekdays + const Weekly + const Yearly + func AddIfNotThere(arr []string, items []string) []string + func EditTodo(todo *Todo, todoList *TodoList, filter *Filter) error + func UserHomeDir() string + type App struct + EventLogger *EventLogger + Printer Printer + TodoList *TodoList + TodoStore Store + func NewApp() *App + func NewAppWithPrintOptions(unicodeSupport bool, colorSupport bool) *App + func (a *App) AddNote(todoID int, note string) + func (a *App) AddTodo(input string) + func (a *App) ArchiveCompleted() + func (a *App) ArchiveTodo(input string) + func (a *App) CompleteTodo(input string, archive bool) + func (a *App) DeleteNote(todoID int, noteID int) + func (a *App) DeleteTodo(input string) + func (a *App) EditNote(todoID int, noteID int, note string) + func (a *App) EditTodo(todoID int, input string) + func (a *App) GarbageCollect() + func (a *App) InitializeRepo() + func (a *App) ListTodos(input string, showNotes bool, showStatus bool) + func (a *App) PrioritizeTodo(input string) + func (a *App) SetTodoStatus(input string) + func (a *App) UnarchiveTodo(input string) + func (a *App) UncompleteTodo(input string) + func (a *App) UnprioritizeTodo(input string) + type ByDate []*Todo + func (a ByDate) Len() int + func (a ByDate) Less(i, j int) bool + func (a ByDate) Swap(i, j int) + type DateParser struct + func (dp *DateParser) ParseDate(dateString string, pivotDay time.Time) (date time.Time, err error) + type EventLog struct + EventType string + Object *Todo + ObjectType string + TodoListUUID string + type EventLogger struct + CurrentSyncedList *SyncedList + CurrentTodoList *TodoList + Events []*EventLog + PreviousTodoList *TodoList + Store Store + SyncedLists []*SyncedList + func NewEventLogger(todolist *TodoList, store Store) *EventLogger + type FileStore struct + Loaded bool + func NewFileStore() *FileStore + func (f *FileStore) GetLocation() string + func (f *FileStore) Initialize() + func (f *FileStore) Load() ([]*Todo, error) + func (f *FileStore) LocalTodosFileExists() bool + func (f *FileStore) Save(todos []*Todo) + type Filter struct + Archived bool + Completed bool + CompletedAt []string + Contexts []string + Due string + DueAfter string + DueBefore string + ExcludeContexts []string + ExcludeProjects []string + ExcludeStatus []string + HasArchived bool + HasCompleted bool + HasCompletedAt bool + HasContextFilter bool + HasDue bool + HasDueAfter bool + HasDueBefore bool + HasIsPriority bool + HasProjectFilter bool + HasRecur bool + HasStatus bool + IsPriority bool + Projects []string + Recur string + RecurUntil string + Status []string + Subject string + func (f *Filter) LastStatus() string + type GroupedTodos struct + Groups map[string][]*Todo + type Grouper struct + func (g *Grouper) GroupByContext(todos []*Todo) *GroupedTodos + func (g *Grouper) GroupByNothing(todos []*Todo) *GroupedTodos + func (g *Grouper) GroupByProject(todos []*Todo) *GroupedTodos + func (g *Grouper) GroupByStatus(todos []*Todo) *GroupedTodos + type InputParser struct + func (p *InputParser) Parse(input string) (*Filter, error) + type MemoryPrinter struct + Groups *GroupedTodos + func (m *MemoryPrinter) Print(groupedTodos *GroupedTodos, printNotes bool) + type MemoryStore struct + Todos []*Todo + func NewMemoryStore() *MemoryStore + func (m *MemoryStore) GetLocation() string + func (m *MemoryStore) Initialize() + func (m *MemoryStore) Load() ([]*Todo, error) + func (m *MemoryStore) LocalTodosFileExists() bool + func (m *MemoryStore) Save(todos []*Todo) + type Printer interface + Print func(*GroupedTodos, bool, bool) + type Recurrence struct + func (r *Recurrence) HasNextRecurringTodo(todo *Todo) bool + func (r *Recurrence) NextRecurringTodo(todo *Todo, completedDate time.Time) *Todo + func (r *Recurrence) ValidRecurrence(input string) bool + type ScreenPrinter struct + UnicodeSupport bool + Writer *io.Writer + func NewScreenPrinter(unicodeSupport bool) *ScreenPrinter + func (f *ScreenPrinter) Print(groupedTodos *GroupedTodos, printNotes bool, showStatus bool) + type SimpleScreenPrinter struct + UnicodeSupport bool + Writer *io.Writer + func NewSimpleScreenPrinter(unicodeSupport bool) *SimpleScreenPrinter + func (f *SimpleScreenPrinter) Print(groupedTodos *GroupedTodos, printNotes bool, showStatus bool) + type Store interface + GetLocation func() string + Initialize func() + Load func() ([]*Todo, error) + LocalTodosFileExists func() bool + Save func(todos []*Todo) + type SyncedList struct + Events []*EventLog + Filename string + Name string + UUID string + type Todo struct + Archived bool + Completed bool + CompletedDate string + Contexts []string + Due string + ID int + IsPriority bool + Notes []string + PrevRecurTodoUUID string + Projects []string + Recur string + RecurUntil string + Status string + Subject string + UUID string + func AddTodoIfNotThere(arr []*Todo, item *Todo) []*Todo + func CreateTodo(filter *Filter) (*Todo, error) + func NewTodo() *Todo + func (t *Todo) Archive() + func (t *Todo) Complete() + func (t *Todo) Prioritize() + func (t *Todo) Unarchive() + func (t *Todo) Uncomplete() + func (t *Todo) Unprioritize() + func (t Todo) CalculateDueTime() time.Time + func (t Todo) CompletedDateToDate() string + func (t Todo) Equals(other *Todo) bool + func (t Todo) HasNotes() bool + func (t Todo) Valid() bool + type TodoFilter struct + Filter *Filter + Todos []*Todo + func (f *TodoFilter) ApplyFilter() []*Todo + type TodoList struct + Data []*Todo + Name string + UUID string + func (t *TodoList) Add(todo *Todo) + func (t *TodoList) Archive(ids ...int) + func (t *TodoList) Complete(ids ...int) + func (t *TodoList) Delete(ids ...int) + func (t *TodoList) FindByID(id int) *Todo + func (t *TodoList) GarbageCollector() + func (t *TodoList) IndexOf(todoToFind *Todo) int + func (t *TodoList) Load(todos []*Todo) + func (t *TodoList) MaxID() int + func (t *TodoList) NextID() int + func (t *TodoList) Prioritize(ids ...int) + func (t *TodoList) SetStatus(status string, ids ...int) + func (t *TodoList) Todos() []*Todo + func (t *TodoList) Unarchive(ids ...int) + func (t *TodoList) Uncomplete(ids ...int) + func (t *TodoList) Unprioritize(ids ...int)