feat: list files as color coded lines and hide unused table columns

This commit is contained in:
randogoth 2026-10-25 10:14:11 +02:00
parent 98044782e5
commit d2e43e7839
4 changed files with 92 additions and 73 deletions

View file

@ -44,10 +44,11 @@ $ otag remove song.mp3
### Searching
`list` (`ls`, `l`) searches the current directory tree and prints the matching files with their tags. Without a query it lists every tagged file.
`list` (`ls`, `l`) searches the current directory tree and prints the matching files with their tags. Without a query it lists every tagged file. Each file is shown on one color coded line, like in the `.otag` file but with its full path; `-t` shows a table instead.
```
$ otag ls '#lofi' @drums
song.mp3 --- +album @drums #lofi #snare first take
```
A term with a prefix only matches that category; a term without a prefix matches any category and the note. Terms match partially (`lof` finds `#lofi`) and all terms have to match.
@ -58,6 +59,7 @@ A term with a prefix only matches that category; a term without a prefix matches
| `-or`, `--either` | Match any term instead of all |
| `--files` | Only show files |
| `-d`, `--dirs` | Only show folders |
| `-t`, `--table` | Show a table, with columns only for the categories the results use |
| `-p`, `--path PATH` | Search another directory tree |
| `-n`, `--no-recursive` | Skip subdirectories (also for `clean` and `scan`) |
| `-c`, `--cache` | Read the index from `.otag.cache.json`, which is rebuilt whenever an `.otag` file changed |