Commit graph

138 commits

Author SHA1 Message Date
Sylvestre Ledru
dd5c6c2d00 0.0.23 => 0.0.24 2024-01-20 20:12:19 +01:00
Terts Diepraam
c32e730a1f all: remove collect_{lossy,ignore} calls where possible 2023-12-15 14:38:27 +01:00
Sylvestre Ledru
ff92bfb25b Prepare version 0.0.23 2023-11-13 22:02:01 +01:00
Taylor
6678c17c52
mktemp: add func to expose functionality (for use in nushell) (#5479)
* mktemp: add func to expose functionality

* mktemp: cleanup
2023-11-07 11:43:58 +01:00
Sylvestre Ledru
e1bd47d549 0.0.21 => 0.0.22 2023-10-15 14:33:23 +02:00
Sylvestre Ledru
9844f1f07d 0.0.20 => 0.0.21 2023-09-03 14:42:54 +02:00
Daniel Hofstetter
01b2834f2e Fix clippy warnings with Rust 1.72.0 2023-08-25 13:22:02 +02:00
Sylvestre Ledru
bf5b765cba
Remove the author copyright notices (#5184)
* Remove the author copyright notices

Rational:
* not maintained
* does not reflect reality
* don't provide any value (the info can be found in the git log)
* we don't have rules to update them
  (ex: should you update it after one line, two lines, etc)

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-08-21 12:23:18 +02:00
Thayne McCombs
6262a3e9d9 Add tests for mktemp tmpdir flags
And set overrides_with for tmpdir flags.

Tests were copied from #4275

Co-authored-by: David Matos <davidmatos06@gmail.com>
2023-07-18 12:46:05 +02:00
Thayne McCombs
b77a08c134 Require = for --tmpdir in mktemp
Fixes #3454

This implementation more closely matches the behavior of GNU mktemp. Specifically,
if using the short-form `-p`, then DIR is required, and if using the long form `--tmpdir`
then DIR is optional, but if provided, must use the `--tmpdir=DIR` form (not `--tempdir DIR`),
so that there is no ambiguity with also passing a TEMPLATE.

The downside to this implementation is we are now introducing a new workaround for
https://github.com/clap-rs/clap/issues/4702 where we use separate calls to `.arg()` for
the short `-p` and the long `--tmpdir`, which results in a less than ideal output for `--help`.
2023-07-18 12:46:05 +02:00
Sylvestre Ledru
74530c0f51 Update the version to 0.0.20 2023-07-14 13:04:17 +02:00
Sylvestre Ledru
6ecef3a0e3 Reformat TOML files with taplo
npx --yes @taplo/cli fmt
2023-06-08 09:07:19 +02:00
Sylvestre Ledru
830b7d5ce1 New release 2023-06-04 09:46:59 +02:00
Daniel Hofstetter
698fafad68 mktemp: prioritize TMPDIR over -p when using -t 2023-05-20 08:02:37 +02:00
Sylvestre Ledru
cd189b2391 Fix mktemp -t -p ~/projects/playground foo.XXXX 2023-05-18 11:08:55 +02:00
Sylvestre Ledru
35b5fd6a40 mktemp -t foo.XXXX should create in TMPDIR 2023-05-18 11:08:55 +02:00
Sylvestre Ledru
0f268428fe
Merge pull request #4379 from ZauJulio/hotfix-mktemp
mktemp: fix PrefixContainsDirSeparator verification
2023-04-26 18:28:56 +02:00
Sylvestre Ledru
af0a263191 0.0.17 => 0.0.18 2023-03-29 08:11:25 +02:00
Koki Ueha
7376f3ad02 mktemp: move help strings to markdown file 2023-03-19 03:58:56 +00:00
ZauJulio
a87bc9f929
mktemp: remove unnecessary convertion for path -> str just use prefix_from_template 2023-02-27 01:13:16 -03:00
Zaú Júlio
9e2c543cd4
mktemp: prefix prefix_of_template use to_string_lossy
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2023-02-16 18:43:32 -03:00
ZauJulio
af4ce911c8
mktemp: fix PrefixContainsDirSeparator verification 2023-02-16 17:48:23 -03:00
Terts Diepraam
ae27c82020 Use workspace inheritance for dependencies 2023-02-11 18:54:46 +01:00
Daniel Hofstetter
ba7a222a55 Start about texts with uppercase char 2023-02-07 14:54:25 +01:00
Daniel Hofstetter
f6b646e4e5 clippy: fix warnings introduced with Rust 1.67.0 2023-01-27 17:37:56 +01:00
Terts Diepraam
4d3dc78686 Version 0.0.17 2023-01-21 10:38:18 +01:00
Daniel Hofstetter
9a2174ba02 chore: standardize creation of empty strings 2022-12-01 13:49:23 +01:00
David Matos
53c4b0b81e mktemp: allow default missing value 2022-11-03 08:27:08 +01:00
Terts Diepraam
1e9e790b7c mktemp: update to clap 4 2022-10-13 17:50:36 +02:00
Sylvestre Ledru
6e14dea73b Fix some clippy warnings
Fixed with `cargo clippy --features unix  --fix`
and manually
2022-10-13 09:07:22 +02:00
Terts Diepraam
f15c4f2d3e Version 0.0.16 2022-10-11 23:03:39 +02:00
Daniel Hofstetter
9e8daf92dd Replace deprecated value_of() with get_one() 2022-09-26 16:42:42 +02:00
Jeffrey Finkelstein
60ca9a03bb mktemp: add message for directory not found
Add special handling in `mktemp` for when the directory that will
contain the temporary file is not found. This situation now produces
the message

    mktemp: failed to create file via template 'XXX': No such file or directory

to match the behavior of GNU mktemp.
2022-09-21 21:26:39 -04:00
Jeffrey Finkelstein
f2e4225bc6 mktemp: refactor make_temp_dir(), make_temp_file()
Factor code out of `exec()` into two helper functions,
`make_temp_dir()` and `make_temp_file()`.
2022-09-21 21:26:39 -04:00
Jeffrey Finkelstein
7b35749ea6 mktemp: match GNU error message on too many args
Update the usage message when too many template arguments are given on
the command line to match that of GNU mktemp:

    mktemp: too many templates
    Try 'mktemp --help' for more information.

This fixes the test case `too-many` in the GNU test suite file
`tests/misc/mktemp.pl`.
2022-09-21 10:02:56 +02:00
Jeffrey Finkelstein
61345cbdc9 mktemp: respect TMPDIR environment variable
Change `mktemp` so that it respects the value of the `TMPDIR`
environment variable if no directory is otherwise specified in its
arguments. For example, before this commit

    $ TMPDIR=. mktemp
    /tmp/tmp.WDJ66MaS1T

After this commit,

    $ TMPDIR=. mktemp
    ./tmp.h96VZBhv8P

This matches the behavior of GNU `mktemp`.
2022-09-13 19:38:25 -04:00
Terts Diepraam
15180249fc Version 0.0.15 2022-08-20 13:13:22 +02:00
Terts Diepraam
ba713b6365 Simplify invalid encoding handling into two small methods of Args
The previous encoding handling was unnecessarily complex. This commit removes the enum that specifies the handling and instead has two separate methods to collect the strings either with lossy conversion or by ignoring invalidly encoded strings.
2022-08-17 15:20:20 +02:00
Terts Diepraam
5621502a95 all: remove accept_{any, complete, lossy} and ConversionResult
Outside of tests, only `accept_any` was used, meaning that this unnecessarily complicated the code. The behaviour of `accept_any` is now the default (and only) option.
2022-08-17 14:57:28 +02:00
Sylvestre Ledru
a2e0296ef2 remove some unnecessary parentheses 2022-08-10 22:58:27 +02:00
Daniel Hofstetter
7c3116330e Replace deprecated is_present() with contains_id() 2022-08-02 15:21:39 +02:00
Daniel Hofstetter
fc4544c42b bump clap from 3.1.18 to 3.2.15 2022-07-29 14:05:02 +02:00
Junji Wei
1ba0bfc67a mktemp: respect POSIXLY_CORRECT env var when parsing args
Signed-off-by: Junji Wei <harukawei99@gmail.com>
2022-06-09 20:51:51 +08:00
Jeffrey Finkelstein
6da070cdd3 mktemp: error on empty --suffix in some situations
Make `mktemp` exit with an error if the `--suffix` option is the empty
string and the template argument does not end in an "X". Previously,
the program succeeded.

Before this commit,

    $ mktemp --suffix= aXXXb
    apBEb

After this commit,

    $ mktemp --suffix= aXXXb
    mktemp: with --suffix, template 'aXXXb' must end in X
2022-06-06 21:24:59 -04:00
Sylvestre Ledru
c874802285
Add a word to the spell ignore list 2022-06-05 09:32:24 +02:00
Jeffrey Finkelstein
cff7833bf6 mktemp: only replace last contiguous block of Xs
Fix a bug in which `mktemp` would replace everything in the template
argument from the first 'X' to the last 'X' with random bytes, instead
of just replacing the last contiguous block of 'X's.

Before this commit,

    $ mktemp XXX_XXX
    2meCpfM

After this commit,

    $ mktemp XXX_XXX
    XXX_Rp5

This fixes test cases `suffix2f` and `suffix2d` in
`tests/misc/mktemp.pl` in the GNU coreutils test suite.
2022-06-01 18:21:21 -04:00
Jeffrey Finkelstein
43e9fb73b1 mktemp: simplify file path parameter logic
Simplify the logic of computing the file path parameters (the
directory, prefix, suffix, and number of random characters) for the
temporary file created by `mktemp`. This commits adds an `Options`
struct as a layer of indirection between the application logic and
`clap`, and a `Params` struct whose associated function is responsible
for determining the file path parameters from the `Options`. This is
an improvement because the previous code had some logic for
determining file path parameters in one place and some in another
place.
2022-05-31 19:35:01 -04:00
Jeffrey Finkelstein
dfc1c8a2dd mktemp: exit with status 1 on usage errors 2022-05-30 09:30:47 -04:00
Sylvestre Ledru
fa577603c2
Merge pull request #3471 from 353fc443/mktemp-set-dir-mode
mktemp: change directory permission after creation
2022-05-25 14:56:45 +02:00
Sylvestre Ledru
c818ca0039
Merge pull request #3551 from jfinkels/mktemp-too-few-xs-suffix
mktemp: include suffix in error message
2022-05-23 08:38:15 +02:00