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
TUI menu notebook just with tags
juan
2026-04-22T00:20:55ZSemantic diff summary
0 added,
3 modified,
0 signature changed,
0 removed
across 3 analyzed files
+10
-0
cmd/note/interactive.go
#
| ... | ... | @@ -26,10 +26,16 @@ func runUpdateInteractive(cmd *cobra.Command, note *lunatask.Note, builder *luna | |
| 26 | 26 | dateStr = note.DateOn.Time.Format("2006-01-02") | |
| 27 | 27 | } | |
| 28 | 28 | ||
| 29 | + | notebookID := "" | |
| 30 | + | if note.NotebookID != nil { | |
| 31 | + | notebookID = *note.NotebookID | |
| 32 | + | } | |
| 33 | + | ||
| 29 | 34 | form := huh.NewForm( | |
| 30 | 35 | huh.NewGroup( | |
| 31 | 36 | huh.NewInput().Title("Note Name").Value(&name), | |
| 32 | 37 | huh.NewInput().Title("Date (YYYY-MM-DD)").Value(&dateStr), | |
| 38 | + | huh.NewInput().Title("Notebook ID").Value(¬ebookID), | |
| 33 | 39 | ), | |
| 34 | 40 | ) | |
| 35 | 41 |
| ... | ... | @@ -38,6 +44,10 @@ func runUpdateInteractive(cmd *cobra.Command, note *lunatask.Note, builder *luna | |
| 38 | 44 | } | |
| 39 | 45 | ||
| 40 | 46 | builder.WithName(name) | |
| 47 | + | if notebookID != "" { | |
| 48 | + | resolvedNotebookID := db.CompleteID(notebookID) | |
| 49 | + | builder.InNotebook(resolvedNotebookID) | |
| 50 | + | } | |
| 41 | 51 | ||
| 42 | 52 | return nil | |
| 43 | 53 | } |
+15
-7
cmd/note/list.go
#
| ... | ... | @@ -214,27 +214,34 @@ func outputTableEnriched(cmd *cobra.Command, notes []enrichedNote) error { | |
| 214 | 214 | notebookName = notebookName[:8] + "..." | |
| 215 | 215 | } | |
| 216 | 216 | ||
| 217 | - | rows = append(rows, []string{note.ID[:8], name, notebookName, dateOn, pinned}) | |
| 218 | - | } | |
| 217 | + | notebookIDShort := "" | |
| 218 | + | if note.NotebookID != nil { | |
| 219 | + | notebookIDShort = (*note.NotebookID)[:8] | |
| 220 | + | } | |
| 219 | 221 | ||
| 220 | - | tbl := table.New(). | |
| 221 | - | Headers("ID", "NAME", "NOTEBOOK", "DATE", "📌"). | |
| 222 | + | rows = append(rows, []string{note.ID[:8], name, notebookName, dateOn, pinned, notebookIDShort}) | |
| 223 | + | } | |
| 224 | + | ||
| 225 | + | tbl := table.New(). | |
| 226 | + | Headers("ID", "NAME", "NOTEBOOK", "DATE", "📌", "NB-ID"). | |
| 222 | 227 | Rows(rows...). | |
| 223 | 228 | StyleFunc(func(row, col int) lipgloss.Style { | |
| 224 | 229 | style := lipgloss.NewStyle() | |
| 225 | - | ||
| 230 | + | ||
| 226 | 231 | // Set column widths via style | |
| 227 | 232 | switch col { | |
| 228 | 233 | case 0: // ID | |
| 229 | 234 | style = style.Width(10) | |
| 230 | 235 | case 1: // NAME | |
| 231 | - | style = style.Width(35) | |
| 236 | + | style = style.Width(30) | |
| 232 | 237 | case 2: // NOTEBOOK | |
| 233 | 238 | style = style.Width(15) | |
| 234 | 239 | case 3: // DATE | |
| 235 | 240 | style = style.Width(12) | |
| 236 | 241 | case 4: // PIN | |
| 237 | 242 | style = style.Width(5) | |
| 243 | + | case 5: // NB-ID | |
| 244 | + | style = style.Width(10) | |
| 238 | 245 | } | |
| 239 | 246 | ||
| 240 | 247 | if row == table.HeaderRow { |
+7
-2
cmd/note/update.go
#
| ... | ... | @@ -120,14 +120,19 @@ func applyUpdateNotebook(cmd *cobra.Command, builder *lunatask.NoteUpdateBuilder | |
| 120 | 120 | return nil | |
| 121 | 121 | } | |
| 122 | 122 | ||
| 123 | + | // Try resolving notebook via complete ID first | |
| 124 | + | notebookID := db.CompleteID(notebookKey) | |
| 125 | + | ||
| 123 | 126 | cfg, err := config.Load() | |
| 124 | 127 | if err != nil { | |
| 125 | 128 | return err | |
| 126 | 129 | } | |
| 127 | 130 | ||
| 128 | - | notebook := cfg.NotebookByKey(notebookKey) | |
| 131 | + | notebook := cfg.NotebookByKey(notebookID) | |
| 129 | 132 | if notebook == nil { | |
| 130 | - | return fmt.Errorf("%w: %s", ErrUnknownNotebook, notebookKey) | |
| 133 | + | // Fallback to ID directly if not found by key | |
| 134 | + | builder.InNotebook(notebookID) | |
| 135 | + | return nil | |
| 131 | 136 | } | |
| 132 | 137 | ||
| 133 | 138 | builder.InNotebook(notebook.ID) |