lune
created pr with
124.1
changed status to
closed
Closing as superceded by 126
cmds
checkout latest patchset:
ssh pr.pico.sh print 124 | git am -3checkout any patchset in a patch request:
ssh pr.pico.sh print 124.[rev] | git am -3add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 124set PR to open (enables RSS notifications):
ssh pr.pico.sh pr open 124set PR to draft (stops RSS notifications):
ssh pr.pico.sh pr draft 124
Patchset
124.1
listing real name of tasks
juan
construction of db for management of decrypted names of tasks
2026-04-21T03:21:16Zjuan
fix UTF8 chracteres
2026-04-21T05:43:09Zjuan
filter by status and coloring types of status
2026-04-21T21:13:24Zjuan
update help
2026-04-21T21:18:53Zjuan
list areas names
2026-04-21T21:21:36Zjuan
adjust table tasks to truncate name and list area
2026-04-21T21:44:53Zjuan
partial implementation of listing tasks by areas
2026-04-21T21:56:40Zjuan
final implementation of listing tasks by areas with UTF-8 chracteres
2026-04-21T22:05:20Zjuan
sort on task list to show first do now
2026-04-21T22:10:20Zjuan
update with 8 char of id and db.go
2026-04-21T22:33:29Zjuan
partial implementation of TUI menu on task update
2026-04-21T23:27:54Zjuan
task name correcion on TUI menu of Update task
2026-04-21T23:35:35Zjuan
TUI menu for update task with others flags
2026-04-21T23:38:19Zjuan
helper for TUI update task
2026-04-21T23:43:02Zjuan
→ search by first 8 char of note id for editing it
2026-04-21T23:49:56Zjuan
partial implementation on note TUI menu for update
2026-04-22T00:00:17Zjuan
TUI menu notebook just with tags
2026-04-22T00:05:46Zjuan
Note update now let you insert only the first 8 char of notebook id in update
2026-04-22T00:20:55Zjuan
implementation of (lune note notebook-list) for listing all notebooks and its ID
2026-04-22T00:25:53Zjuan
partial implementation of lune note show-content ID
2026-04-22T01:10:51Zjuan
convert \n in new line and \ in space for lune note show-content ID
2026-04-22T02:01:11Zjuan
2026-04-22T02:18:42Z
search by first 8 char of note id for editing it
juan
2026-04-22T00:00:17ZSemantic diff summary
0 added,
7 modified,
0 signature changed,
0 removed
across 3 analyzed files
+9
-4
cmd/note/delete.go
#
| ... | ... | @@ -20,9 +21,10 @@ var DeleteCmd = &cobra.Command{ | |
| 20 | 21 | Short: "Delete a note", | |
| 21 | 22 | Long: `Delete a note from Lunatask. | |
| 22 | 23 | ||
| 23 | - | Accepts a UUID or lunatask:// deep link.`, | |
| 24 | - | Args: cobra.ExactArgs(1), | |
| 25 | - | RunE: runDelete, | |
| 24 | + | Accepts a UUID, lunatask:// deep link, or 8-char short ID.`, | |
| 25 | + | Args: cobra.ExactArgs(1), | |
| 26 | + | RunE: runDelete, | |
| 27 | + | SilenceUsage: true, | |
| 26 | 28 | } | |
| 27 | 29 | ||
| 28 | 30 | func init() { |
+36
-8
cmd/note/list.go
#
| ... | ... | @@ -178,12 +178,18 @@ func outputTableEnriched(cmd *cobra.Command, notes []enrichedNote) error { | |
| 178 | 178 | rows := make([][]string, 0, len(notes)) | |
| 179 | 179 | ||
| 180 | 180 | for _, note := range notes { | |
| 181 | - | notebook := "-" | |
| 181 | + | // Resolve Area name | |
| 182 | + | notebookName := "-" | |
| 182 | 183 | if note.NotebookID != nil { | |
| 183 | - | notebook = *note.NotebookID | |
| 184 | + | notebookName = *note.NotebookID | |
| 184 | 185 | if cfg != nil { | |
| 185 | 186 | if nb := cfg.NotebookByID(*note.NotebookID); nb != nil { | |
| 186 | - | notebook = nb.Key | |
| 187 | + | notebookName = nb.Key | |
| 188 | + | } else if cfg.Experimental.LocalDB { | |
| 189 | + | // Proactive area lookup in local DB | |
| 190 | + | if dbName, _ := db.EnrichTask(*note.NotebookID); dbName != "" { | |
| 191 | + | notebookName = dbName | |
| 192 | + | } | |
| 187 | 193 | } | |
| 188 | 194 | } | |
| 189 | 195 | } |
| ... | ... | @@ -202,21 +208,43 @@ func outputTableEnriched(cmd *cobra.Command, notes []enrichedNote) error { | |
| 202 | 208 | if name == "" { | |
| 203 | 209 | name = note.ID[:8] + "..." | |
| 204 | 210 | } | |
| 211 | + | ||
| 212 | + | // Truncate notebook name for better table layout | |
| 213 | + | if len(notebookName) > 8 { | |
| 214 | + | notebookName = notebookName[:8] + "..." | |
| 215 | + | } | |
| 205 | 216 | ||
| 206 | - | rows = append(rows, []string{name, notebook, dateOn, pinned}) | |
| 217 | + | rows = append(rows, []string{note.ID[:8], name, notebookName, dateOn, pinned}) | |
| 207 | 218 | } | |
| 208 | 219 | ||
| 209 | 220 | tbl := table.New(). | |
| 210 | - | Headers("NAME", "NOTEBOOK", "DATE", "📌"). | |
| 221 | + | Headers("ID", "NAME", "NOTEBOOK", "DATE", "📌"). | |
| 211 | 222 | Rows(rows...). | |
| 212 | 223 | StyleFunc(func(row, col int) lipgloss.Style { | |
| 224 | + | style := lipgloss.NewStyle() | |
| 225 | + | ||
| 226 | + | // Set column widths via style | |
| 227 | + | switch col { | |
| 228 | + | case 0: // ID | |
| 229 | + | style = style.Width(10) | |
| 230 | + | case 1: // NAME | |
| 231 | + | style = style.Width(35) | |
| 232 | + | case 2: // NOTEBOOK | |
| 233 | + | style = style.Width(15) | |
| 234 | + | case 3: // DATE | |
| 235 | + | style = style.Width(12) | |
| 236 | + | case 4: // PIN | |
| 237 | + | style = style.Width(5) | |
| 238 | + | } | |
| 239 | + | ||
| 213 | 240 | if row == table.HeaderRow { | |
| 214 | - | return ui.TableHeaderStyle() | |
| 241 | + | return style.Inherit(ui.TableHeaderStyle()) | |
| 215 | 242 | } | |
| 216 | 243 | ||
| 217 | - | return lipgloss.NewStyle() | |
| 244 | + | return style | |
| 218 | 245 | }). | |
| 219 | - | Border(ui.TableBorder()) | |
| 246 | + | Border(ui.TableBorder()). | |
| 247 | + | BorderRow(true) | |
| 220 | 248 | ||
| 221 | 249 | fmt.Fprintln(cmd.OutOrStdout(), tbl.Render()) | |
| 222 | 250 |
+9
-4
cmd/note/show.go
#
| ... | ... | @@ -11,6 +11,7 @@ import ( | |
| 11 | 11 | "git.secluded.site/go-lunatask" | |
| 12 | 12 | "git.secluded.site/lune/internal/client" | |
| 13 | 13 | "git.secluded.site/lune/internal/config" | |
| 14 | + | "git.secluded.site/lune/internal/db" | |
| 14 | 15 | "git.secluded.site/lune/internal/ui" | |
| 15 | 16 | "git.secluded.site/lune/internal/validate" | |
| 16 | 17 | "github.com/spf13/cobra" |
| ... | ... | @@ -22,12 +23,13 @@ var ShowCmd = &cobra.Command{ | |
| 22 | 23 | Short: "Show note details", | |
| 23 | 24 | Long: `Show detailed information for a note. | |
| 24 | 25 | ||
| 25 | - | Accepts a UUID or lunatask:// deep link. | |
| 26 | + | Accepts a UUID, lunatask:// deep link, or 8-char short ID. | |
| 26 | 27 | ||
| 27 | 28 | Note: Due to end-to-end encryption, note name and content | |
| 28 | 29 | are not available through the API. Only metadata is shown.`, | |
| 29 | - | Args: cobra.ExactArgs(1), | |
| 30 | - | RunE: runShow, | |
| 30 | + | Args: cobra.ExactArgs(1), | |
| 31 | + | RunE: runShow, | |
| 32 | + | SilenceUsage: true, | |
| 31 | 33 | } | |
| 32 | 34 | ||
| 33 | 35 | func init() { |