Implement report system and fix template task filtering
- Fix template task filtering bug: templates now hidden from all reports except 'template' and 'all' reports, even when using custom filters - Add support for status:template filter to explicitly show templates - Implement comprehensive report system with 12 predefined reports: * active - Started tasks * all - All tasks including templates * completed - Completed tasks * list - Pending tasks (default) * minimal - Pending tasks in minimal format * newest - Most recent pending tasks * oldest - Oldest pending tasks * overdue - Overdue tasks * ready - Tasks ready to work on * recurring - Pending recurring instances * template - Recurring template tasks * waiting - Hidden/waiting tasks - Replace list command with report-based architecture - Add configurable default_report option (defaults to 'list') - Add minimal display format (ID + description only) - Support flexible syntax: 'opal <report> [filters]' or 'opal [filters] <report>' - Add 'opal reports' command to list all available reports
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
type Config struct {
|
||||
DefaultFilter string `mapstructure:"default_filter"`
|
||||
DefaultSort string `mapstructure:"default_sort"`
|
||||
DefaultReport string `mapstructure:"default_report"`
|
||||
ColorOutput bool `mapstructure:"color_output"`
|
||||
WeekStartDay string `mapstructure:"week_start_day"`
|
||||
DefaultDueTime string `mapstructure:"default_due_time"`
|
||||
@@ -83,6 +84,7 @@ func LoadConfig() (*Config, error) {
|
||||
// Set defaults
|
||||
v.SetDefault("default_filter", "status:pending")
|
||||
v.SetDefault("default_sort", "due,priority")
|
||||
v.SetDefault("default_report", "list")
|
||||
v.SetDefault("color_output", true)
|
||||
v.SetDefault("week_start_day", "monday")
|
||||
v.SetDefault("default_due_time", "")
|
||||
@@ -131,6 +133,7 @@ func SaveConfig(cfg *Config) error {
|
||||
|
||||
v.Set("default_filter", cfg.DefaultFilter)
|
||||
v.Set("default_sort", cfg.DefaultSort)
|
||||
v.Set("default_report", cfg.DefaultReport)
|
||||
v.Set("color_output", cfg.ColorOutput)
|
||||
v.Set("week_start_day", cfg.WeekStartDay)
|
||||
v.Set("default_due_time", cfg.DefaultDueTime)
|
||||
|
||||
Reference in New Issue
Block a user