diff options
| author | Paul Bütow <1224732+snonux@users.noreply.github.com> | 2025-06-20 22:53:40 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-20 22:53:40 +0300 |
| commit | 98302ed5e062bb1b034faf7b3ae22179e200c951 (patch) | |
| tree | c3a94ec12bee1f53ba0d7c5f27a8997670936214 /internal | |
| parent | b2a1534b2dd5a0ee699499b0e24c17ca511c95cf (diff) | |
| parent | 42449043cf1903e0e72295b096274d26187a61b8 (diff) | |
Merge pull request #64 from snonux/codex/add-space-between-table-columns
Fix column spacing and space-separated tags
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/atable/table.go | 18 | ||||
| -rw-r--r-- | internal/task/task.go | 2 | ||||
| -rw-r--r-- | internal/ui/table.go | 6 |
3 files changed, 20 insertions, 6 deletions
diff --git a/internal/atable/table.go b/internal/atable/table.go index 8f2b3c0..7251b11 100644 --- a/internal/atable/table.go +++ b/internal/atable/table.go @@ -472,7 +472,7 @@ func (m Model) headersView() string { renderedCell := style.Render(ansi.Truncate(col.Title, col.Width, "…")) s = append(s, m.styles.Header.Render(renderedCell)) } - return lipgloss.JoinHorizontal(lipgloss.Top, s...) + return lipgloss.JoinHorizontal(lipgloss.Top, addSpacing(s)...) } func (m *Model) renderRow(r int) string { @@ -490,9 +490,23 @@ func (m *Model) renderRow(r int) string { s = append(s, renderedCell) } - return lipgloss.JoinHorizontal(lipgloss.Top, s...) + return lipgloss.JoinHorizontal(lipgloss.Top, addSpacing(s)...) } func clamp(v, low, high int) int { return min(max(v, low), high) } + +func addSpacing(cells []string) []string { + if len(cells) <= 1 { + return cells + } + spaced := make([]string, 0, len(cells)*2-1) + for i, cell := range cells { + if i > 0 { + spaced = append(spaced, " ") + } + spaced = append(spaced, cell) + } + return spaced +} diff --git a/internal/task/task.go b/internal/task/task.go index 9c715c8..4acfec9 100644 --- a/internal/task/task.go +++ b/internal/task/task.go @@ -250,7 +250,7 @@ func SortTasks(tasks []Task) { } cpy := append([]string(nil), tags...) sort.Strings(cpy) - return strings.Join(cpy, ",") + return strings.Join(cpy, " ") } priVal := func(p string) int { diff --git a/internal/ui/table.go b/internal/ui/table.go index 0fafe02..c98c3f0 100644 --- a/internal/ui/table.go +++ b/internal/ui/table.go @@ -131,7 +131,7 @@ func (m *Model) reload() error { for i, tsk := range tasks { rows = append(rows, taskToRowSearch(tsk, m.searchRegex)) if m.searchRegex != nil { - tags := strings.Join(tsk.Tags, ",") + tags := strings.Join(tsk.Tags, " ") if m.searchRegex.MatchString(tags) { m.searchMatches = append(m.searchMatches, cellMatch{row: i, col: 5}) } @@ -512,7 +512,7 @@ func taskToRow(t task.Task) atable.Row { age = fmt.Sprintf("%dd", days) } - tags := strings.Join(t.Tags, ",") + tags := strings.Join(t.Tags, " ") urg := fmt.Sprintf("%.1f", t.Urgency) var anns []string @@ -605,7 +605,7 @@ func taskToRowSearch(t task.Task, re *regexp.Regexp) atable.Row { age = fmt.Sprintf("%dd", days) } - tags := strings.Join(t.Tags, ",") + tags := strings.Join(t.Tags, " ") urg := fmt.Sprintf("%.1f", t.Urgency) var anns []string |
