| ▲ | Once: Cache CLI Commands(github.com) |
| 31 points by baquero 4 hours ago | 9 comments |
| |
|
| ▲ | deadbunny 2 hours ago | parent | next [-] |
| I've always wanted to deal with cache invalidation in my terminal. |
|
| ▲ | aktau 2 hours ago | parent | prev | next [-] |
| These kinds of tools are very useful. I have my own called memo (which is just a shell script: https://github.com/aktau/dotfiles/blob/master/bin/memo). It was discussed in https://news.ycombinator.com/item?id=45670052 and others chimed in with their own (like bkt(1) and up(1)). The main differences I see: - memo doesn't need to be built (its a shell script)
- once keeps output cache in a running daemon. By contrast, memo stores content under /tmp with whatever the best compression available is (it prefers zstd). There's trade-offs in that. More pareto-optimal from the security front may be to have a sort of session key and to compress-then-encrypt files on disk.
|
|
| ▲ | xuhu 2 hours ago | parent | prev | next [-] |
| I wish this worked without prefixing the commands with "once". Especially if I ran a command with verbose output and afterwards decided I wanted to grep something from it. Terminals have the output in their scrollback buffer and maybe it's just a matter of writing an "output" command that lets me run: $ cmake ..
$ output | grep "libssl version"
|
| |
| ▲ | ctippett 6 minutes ago | parent [-] | | You could probably achieve something like that using Fish shell and their fish_preexec and fish_postexec event hooks. |
|
|
| ▲ | stingraycharles 2 hours ago | parent | prev | next [-] |
| Seems well-designed, but what’s the use case? I’m trying to think of them but my creativity is failing me. |
| |
| ▲ | adregan an hour ago | parent | next [-] | | I have a small fish function that does something similar. It saves output to a file in XDG_CACHE_HOME. I wouldn’t use it for sensitive items like passwords or tokens in the examples, but I do use it for scripts that need to fetch some data from the network. For example, I have a script for automating the creation of PRs which fetches the available labels for a repo from github and presents them with fzf multi select. I store the labels with a TTL of a week so that I don’t have to fetch them every time and the script compares the file’s age against the desired TTL to invalidate. I find it useful for augmenting other programs, but I’m not typically using it on the cli directly. | |
| ▲ | frizlab 2 hours ago | parent | prev | next [-] | | From the example in the Readme, I guess retrieving a token from an API, using a secret fetched from a secure vault that requests a password or TouchID validation. Not sure if there could be other interesting uses. I can’t think of one anyways. | |
| ▲ | whilenot-dev 2 hours ago | parent | prev [-] | | I have the same question, especially since any CLI output can be stored explicitly in some variable or temp file. What's the advantage of storing the output implicitly? |
|
|
| ▲ | baquero 4 hours ago | parent | prev [-] |
| Do you have CLI calls that you want to cache? Here you go! |