Hacker News new | ask | show | jobs
by sph 1348 days ago
Quote:

> Launch CLI to restore or flush elements: `rmt trash_display` or `rmt td`

> Flush all element from the trash: `rmt trash_flush`

Those need to be dash-style options. Because if someone runs a `rmt *` in a directory and there's a trash_flush file inside, it will NOT do what one expects and will be destructive.

This is why options are traditionally prefixed with dashes. (Yeah sure, you have the same problem if you have a file that starts with dash, I already hear someone point out.)

Since you suggest to alias rm to rmt, your application needs to behave like rm and have a similar UI.

3 comments

You are totally right, thank you for the pertinent comment and I will correct that. This is one of the first cli's I had not thought of at all.
I think the trash interaction command needs to be a different main command, actually. No matter what you call the option, someone can make a file with that name.
Usually tools support a `--` option for that, e.g. with `rm`:

  rm -- --file-that-looks-like-a-flag

    rm ./--file-that-looks-like-a-flag
;)

(I'm always half-tempted to suggest that a "strict mode" shell should require all paths in arguments to start with either / or ./ so that anything else is unambiguously not a file.)

(I spent a bunch of time with a file named -i in my home directory, you know, just in case.)

At least globbing should return fully qualified paths (not sure there is an established term for `(<directory>/)+<file>' paths, as opposed to `<file>` ones).
thank you for your feedback, I take it all into consideration, I will try to fix it during the day :D
I agree. rmt-flush and rmt-list would be great options.
Also, the `trash_` is redundant, so `rmt --display` et cetera is all enough (and please make short options like `-d` too).
I followed your advice and fixed the problems, I updated the readme and the deployment of the new version (0.1.2) should arrive in 1 hour.

I thank you for raising these points.

Oddly enough, https://github.com/Byron/trash-rs also has this same UI issue (and is also written in Rust)
Oh, that's nice. A library providing cross-platform access to system's trash. Surprising none of the Rust-written rm alternatives used this.