4 ms·
I've always wanted to see a "folder view" of a purely tags-based system. At the root level, `ls` shows you a list of tags (and possibly "all files"). cd into a
by stickfigure 5y ago
I've always wanted to see a "folder view" of a purely tags-based system. At the root level, `ls` shows you a list of tags (and possibly "all files"). cd into a tag, and `ls` shows you a list of the remaining tags (and relevant files). Repeat as many times as you like.
Example session might look something like this:
/ $ ls -d
foo bar baz
/ $ cd foo
/foo $ ls -d
bar baz
/foo $ cd baz
/foo/baz $ ls -d
bar
Obviously, at the root level you're also including all files so a naked `ls` would return a lot of output. But this seems like a good way to bridge to the POSIX world; you could probably implement it on any modern OS with a FUSE filesystem.
- daenz 5y agoI'm really trying not to overly promote Supertag[0] in this thread (disclaimer: I am the author) , but it does exactly what you describe. 0. https://amoffat.github.io/supertag/ https://amoffat.github.io/supertag/
- Melatonic 5y agoVery interesting
- xtracto 5y agoIn my opinion, any OpenSource application should not be bashed for promoting in threads like these. What will you win? probably more work as more people try your software and raise issues (feature requests or bugs). The fact that it is Libre means that any "self promotion" will not have any monetary gain, so it is fine with me. Aaaaanyways... SuperTag looks AMAZING. I will give it a try right now and see how it works for me. Thanks a lot for implementing it :) EDIT: It doesn't want to install for me on OSX :( Oh well, it sounded too good to be true haha. ~ brew install amoffat/rnd/supertag Running `brew update --preinstall`... ==> Tapping amoffat/rnd Cloning into '/usr/local/Homebrew/Library/Taps/amoffat/homebrew-rnd'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (17/17), done. remote: Total 24 (delta 4), reused 24 (delta 4), pack-reused 0 Receiving objects: 100% (24/24), done. Resolving deltas: 100% (4/4), done. Error: Invalid formula: /usr/local/Homebrew/Library/Taps/amoffat/homebrew- rnd/supertag.rb supertag: Unsupported special dependency :osxfuse Error: Cannot tap amoffat/rnd: invalid syntax in tap!
- jessriedel 5y agoI think the HN consensus is that self-promotion in the comments is OK as long as the conflict of interest is disclosed ("Im the developer") and the comment is relevant to the conversation (no spam), which were both satisfied in this case.
- daenz 5y agoOsxfuse is notoriously problematic software. Would you mind opening an issue on the supertag project please?
- alpaca128 5y agoDoes this also allow looking for e.g. files that are either in tag A or B or both? Intuitively I'd guess this is a limitation when you use a path to filter files, though I might be wrong.
- daenz 5y agoYeah the path parts are AND, with no ability to do OR, but you can do NOT. If you wanted to do your use-case, you'd need to look in 3 separate places... /A, /B, and /A/B (or /B/A)
- stickfigure 5y agoWow, I did not expect that! Fantastic, I'll check this out when I get a few spare cycles. EDIT: Couldn't wait. This is an exceptionally well put-together FAQ, explaining the design constraints: https://amoffat.github.io/supertag/faq.html https://amoffat.github.io/supertag/faq.html
- hocker_news 5y agoThis looks great! Am I understanding correctly that all tagged files need to have a unique filename to be addressable?
- daenz 5y agoNo, but that was a challenge to overcome. See #2 here[0] 0. https://amoffat.github.io/supertag/faq.html#why-are-my-files-in-supertag-sometimes-suffixed-with-and-some-numbers https://amoffat.github.io/supertag/faq.html#why-are-my-files...
- ciphol 5y agoI think 'ls' should show you tags plus any untagged files. Thus no files "fall through the cracks" due to not being tagged. So if your files (and their tags) are as follows: file1 () file2 (t1) file3 (t2) file4 (t1,t2) your session would look as follows: / $ ls t1 t2 file1 / $ ls t1 t2 file2 / $ ls t2 t1 file3 / $ ls t1/t2 file4 And 'ls' should have a flag to show all files regardless of additional tags: / $ ls -a file1 file2 file3 file4 / $ ls -a t1 file2 file4