From 2f4a7887eab3696600f54b4877a112b16659409b Mon Sep 17 00:00:00 2001 From: Spencer Brower Date: Fri, 12 Jun 2026 15:36:08 -0400 Subject: [PATCH] docs: Updated TODOs. --- TODOS.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/TODOS.md b/TODOS.md index ba11a68..d2ecd1c 100644 --- a/TODOS.md +++ b/TODOS.md @@ -32,12 +32,8 @@ Note: These todos can wait until all the subcommands have been ported. 12. **cmd_edit_config.odin:27** — `$EDITOR` used as single binary name. Breaks for multi-word values like `"code -w"`. Needs `strings.fields()`. -13. [x] **cmd_list.odin:31-35, 58-61** — Uses a `strings.Builder` (never destroyed) for what is just `row.Dir + "/"`. Also `filepath.rel` used where `filepath.base` would suffice since dir is always the parent. - 33. **config.odin:178** — `search_paths` silently ignores `os.user_home_dir` error. If home is empty, `~` isn't expanded. Same class of bug as issue 3. -34. **table.odin:84-88** — `render_json_rows` creates `map[string]string` per row, copies into dynamic array. `delete(entries)` frees the array but not individual map internals — potential map bucket leak per row. - 35. **prompt.odin:124** — `make([dynamic]bool, len(options))` creates N zero-initialized elements. Works because `false` is the default, but same footgun as original issue 1. Should be `make([dynamic]bool, 0, len(options))`. ## LOW @@ -50,10 +46,6 @@ Note: These todos can wait until all the subcommands have been ported. 18. **config.odin:51-60** — `envr_dir` recomputes home dir on every call. Could cache. -19. **main.odin:42-46** — Dynamic array in `fallback_to_go` never deleted. Harmless since process exits. - -36. **cli.odin:59-76** — Single-dash multi-char flags (e.g. `-force`) silently misparse. `-force` becomes flag `f` with value `o`, then `rce` as positional arg. Only `--force` and `-f` work correctly. - 37. **cmd_sync.odin:80, cmd_list.odin:33, cmd_deps.odin:9** — `make([]string, 2)` for table rows never freed. Leaks per row. Defer to memory pass. ## REFACTOR