Roy Ivy III
23b68d80ba
refactor ~ usage()
instead of get_usage()
2021-08-14 13:58:43 +02:00
Roy Ivy III
c5792c2a0f
refactor ~ use util_name!()
as clap::app::App name argument for all utils
2021-08-14 13:53:13 +02:00
Hanif Bin Ariffin
9c6f2c765d
Removed bad test
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
0032f2c4a0
Fixed some spelling issues
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
df7da4e907
Fixed clippy issues
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
d813e00588
Don't convert octal if its not valid character
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
3fa56eabce
Fixed clippy issues
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
8c82cd660c
Fixing implementation to passes more GNU tests
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
dc033ab619
Tweaking error handling to use Error class
...
Also handles additional error cases in GNU
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
4fb4511da3
Fixed empty backslash
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
3fea69f9ed
inline some code
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
5657f5af3a
Simplified and extended parsing capabilities
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
2c8ba4ad2d
Fixing some issues discovered from tests...mostly to match GNU behavior
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
43dbff7c56
Something wrong with rust iterator...
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
5a0870bb30
Condensed many of the weird stuff in tr in a function...passes more GNU tests
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:07 +08:00
Hanif Bin Ariffin
279a7cf6b3
Attempting to fix star expansion
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
5def69d3ee
Trimming down files
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
0acc165720
Finally fixed parsing octal in char ranges
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
5aeeb6cfe9
Use delimited whenever possible and removed a duplicate parse
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
0254ceb48b
Removes some allocations
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
7424754725
Update traits name
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
4b45a2287c
Implement some more parsers
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
b0ef508b04
Some code cleanup
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
f13c0ba5a7
Remove new from struct names
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
6ff826b712
Some lint changes
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:38:06 +08:00
Hanif Bin Ariffin
671d355aeb
Removed unused dependencies
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:36:33 +08:00
Hanif Bin Ariffin
05d2973510
Reimplemented everything using new expansion module
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:36:33 +08:00
Hanif Bin Ariffin
c4e04c5384
Implemented squeeze operation
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:36:33 +08:00
Hanif Bin Ariffin
50167a33a8
Now all tr tests passes with the new translation impl!
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:36:33 +08:00
Hanif Bin Ariffin
572cbc6ba2
Some small cleanup to translation module
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:36:33 +08:00
Hanif Bin Ariffin
840c6e7b91
tr
: Reimplementing set expansion
...
Hopefully will be feature parity with GNU `tr`.
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
Implemented a bit of new expansion module
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
Implemented delete operation
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
Partially implemented delete operation
Will go through translate next.
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
Fix formatting...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
Implemented translation feature
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-08-14 19:36:30 +08:00
Sylvestre Ledru
26a882551b
update the dep to uucore_procs 0.0.6
2021-07-11 21:04:11 +02:00
Sylvestre Ledru
1d8a66b7d3
Update to version 0.0.7
2021-07-11 18:04:56 +02:00
Sylvestre Ledru
caf984bd55
fix various clippy issues
2021-07-11 11:22:33 +02:00
Sylvestre Ledru
52c6593ef5
Merge pull request #2486 from hbina/hbina-tr-return-err-when-extra-args
...
`tr` should error out when if user provides more than 2 sets
2021-07-10 20:51:27 +02:00
Hanif Bin Ariffin
15f6e35163
Use map/default instead of match
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-07-10 18:51:24 +08:00
Hanif Bin Ariffin
199b4e437b
Removed manual checks to just using clap instead
...
Also added tests for this.
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-07-10 18:49:13 +08:00
Jan Scheer
30b80d0c82
tr: fix squeeze and complement with two sets ( #2485 )
2021-07-09 23:05:00 +02:00
Hanif Bin Ariffin
c4c6819dae
Reimplemented simply using args
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-07-09 23:51:37 +08:00
Hanif Bin Ariffin
db79b5abb2
tr
should error out when if user provides more than 2 sets
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-07-09 23:22:12 +08:00
Michael Debertol
2ebca384c6
all utils: enable wrap_help
...
This makes clap wrap the help text according to the terminal width,
which improves readability for terminal widths < 120 chars,
because clap defaults to a width of 120 chars without this feature.
2021-06-27 16:17:10 +02:00
Michael Debertol
0531153fa6
uutils: move clap::App creation to separate functions
2021-06-25 21:23:45 +02:00
Jan Scheer
c0be979611
fix some issues with locale (replace "LANGUAGE" with "LC_ALL")
...
`LANGUAGE=C` is not enough, `LC_ALL=C` is needed as the environment
variable that overrides all the other localization settings.
e.g.
```bash
$ LANGUAGE=C id foobar
id: ‘foobar’: no such user
$ LC_ALL=C id foobar
id: 'foobar': no such user
```
* replace `LANGUAGE` with `LC_ALL` as environment variable in the tests
* fix the the date string of affected uutils
* replace `‘` and `’` with `'`
2021-06-23 11:30:28 +02:00
Jeong YunWon
8433c7726d
tr parse_sequence reuses chars iterator
2021-06-10 19:16:55 +09:00
Sylvestre Ledru
d8c06dd6bb
use clap::crate_version macro instead of the env variable
2021-06-02 19:00:19 +02:00
Roy Ivy III
9c0c8eb59f
change ~ remove 'main.rs' spell-checker exceptions
2021-05-31 08:11:31 -05:00
Jan Scheer
3aeccfd802
fix a lot of clippy warnings
2021-05-29 15:11:22 +02:00
Jan Scheer
acd30526a2
tr: fix clippy warning
2021-05-02 13:53:11 +02:00
Jan Scheer
000bd73edc
tr: fix merge conflict
2021-05-02 12:39:25 +02:00
Jan Scheer
8739139a7f
Merge branch 'master' into issue2147
2021-05-02 12:35:19 +02:00
Jan Scheer
34c22dc3ad
tr: fix complement if set2 is range
2021-05-02 12:15:16 +02:00
Sylvestre Ledru
7e07438b38
Merge pull request #2151 from jfinkels/2141-translate-and-squeeze
...
tr: implement translate and squeeze (-s) mode
2021-05-01 23:27:43 +02:00
Jeffrey Finkelstein
5674d09327
fixup! tr: implement translate and squeeze (-s) mode
2021-05-01 13:01:55 -04:00
Jan Scheer
83eb704415
Merge branch 'master' into issue2147
2021-05-01 18:52:35 +02:00
Jan Scheer
117e84eed3
tr: implement complement separately from delete or squeeze ( #2147 )
2021-05-01 18:46:13 +02:00
Jeffrey Finkelstein
0f3bc23739
tr: implement translate and squeeze (-s) mode
...
Add translate and squeeze mode to the `tr` program. For example:
$ printf xx | tr -s x y
y
Fixes #2141 .
2021-04-30 18:17:05 -04:00
Jan Scheer
45dd9d4e96
tr/dirname: fix clap short_alias
2021-04-30 20:19:43 +02:00
Christopher Regali
368e984fac
Change unchecked unwrapping to unwrap_or_default for Args-trait ( #1845 ) ( #1852 )
...
* Change unchecked unwrapping to unwrap_or_default for argument parsing (resolving #1845 )
* Added unit-testing for the collect_str function on invalid utf8 OsStrs
* Added a warning-message for identification purpose to the collect_str method.
* - Add removal of wrongly encoded empty strings to basename
- Add testing of broken encoding to basename
- Changed UCommand to use collect_str in args method to allow for integration testing of that method
- Change UCommand to use unwarp_or_default in arg method to match the behaviour of collect_str
* Trying out a new pattern for convert_str for getting a feeling of how the API feels with more control
* Adding convenience API for compact calls
* Add new API to everywhere, fix test for basename
* Added unit-testing for the conversion options
* Added unit-testing for the conversion options for windows
* fixed compilation and some merge hiccups
* Remove windows tests in order to make merge request build
* Fix formatting to match rustfmt for the merged file
* Improve documentation of the collect_str method and the unit-tests
* Fix compilation problems with test
Co-authored-by: Christopher Regali <chris.vdop@gmail.com>
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2021-04-25 23:28:42 +02:00
Reto Hablützel
97d12d6e3c
fix trivial warnings without features
2021-04-11 16:05:25 +02:00
Sylvestre Ledru
f37284129e
new release 0.0.6 to address the cat issue
2021-04-03 16:06:58 +02:00
Sylvestre Ledru
ac031dffa4
new release 0.0.5
2021-04-03 10:30:07 +02:00
Raymond Wang
d88de3c6a6
tr: more explicit flag names ( #1966 )
2021-03-29 17:16:48 +02:00
Raymond Wang
ab5b6dd844
tr: move from getopts to claps #1929 ( #1954 )
2021-03-29 13:03:24 +02:00
Daniel Rocco
fbb9c50050
tr: process octal escape sequences
...
closes #1817
2021-03-17 08:04:45 -04:00
Sylvestre Ledru
6ad8528b99
update of the uucore dep to 0.0.7
2021-03-07 11:29:38 +01:00
Sylvestre Ledru
6481c5a247
Prepare version 0.0.4
2021-03-07 11:29:38 +01:00
Sylvestre Ledru
262b508b89
update the dep to uucore 0.0.6
2021-02-01 23:55:43 +01:00
Sylvestre Ledru
a807fc623a
Update to version 0.0.3
2021-01-22 09:40:38 +01:00
Sylvestre Ledru
b8e886ad1a
bump the minimal version of uucore & uucore_procs
2021-01-10 18:27:20 +01:00
Sylvestre Ledru
d9ae043a05
update of the version 0.0.1 => 0.0.2 ( #1686 )
2021-01-10 18:16:04 +01:00
Sylvestre Ledru
7942a64231
Remove 'extern crate'
...
Not necessary anymore. See:
https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html#no-more-extern-crate
2020-12-31 15:44:00 +01:00
Roy Ivy III
6539b8c6b9
maint/deps ~ change version specification for dependencies between sub-packages
...
- refactor internal version specifications to be ">=M.m.p" (where M.m.p is *already published*)
## [why]
Loosening internal version dependencies decreases the coupling between packages such
that packages can be published in a looser order. It allows the packages to be version
updated and published in tandem (ie, by using `cargo workspace ...`). Once published,
the internal versions can then be updated (again, to an *already published* package
version), as needed.
2020-11-08 20:26:46 -06:00
Roy Ivy III
c17307c757
fix ~ update workspace pointers to 'uucore' and 'uucore_procs'
2020-11-08 20:26:46 -06:00
Roy Ivy III
0fa249a944
Fix tr
argument handling for missing arguments ( #1601 )
...
* tests/tr ~ confirm failure for missing argument(s)
* fix/tr ~ mimic GNU error reponse for missing argument(s)
2020-10-02 22:43:57 +02:00
Alex Lyon
110d6844ad
Use an iterator over OsString for uumain()
...
Additionally, restructure `uname` so that we don't need to find the
iterator's length.
2020-06-16 03:28:02 -05:00
Roy Ivy III
fbbd881ca9
docs ~ reduce sub-crate meta-information keywords to the maximum of five
2020-05-31 15:48:54 -05:00
Roy Ivy III
f82de13847
docs ~ spell-check repairs and addition of exceptions
2020-05-30 01:36:02 -05:00
Roy Ivy III
6f465eeb9f
deps ~ update utils to uucore/uucore_procs v0.0.4
2020-05-29 22:59:48 -05:00
Roy Ivy III
d4aa3a2231
fix 'edition="2018"' module import errors
...
- ref: <https://users.rust-lang.org/t/imports-can-only-refer-to-extern-crate-names/24388 > @@ <https://archive.is/iCaXp >
2020-05-29 22:59:47 -05:00
Roy Ivy III
7cfa8be5f2
docs ~ add meta information to sub-crates
2020-05-29 22:59:47 -05:00
Roy Ivy III
db2e950918
change ~ make all sub-crates independent
2020-05-29 22:59:40 -05:00
Roy Ivy III
5aa2b039a5
change ~ fixup paths (within workspace packages) to common code
2020-04-14 13:46:19 -05:00
Roy Ivy III
78c362c8b5
change ~ fixup paths (within workspace packages)
2020-04-14 13:46:18 -05:00
Roy Ivy III
f0b0e3b867
change ~ reorganize code files
2020-04-14 13:46:18 -05:00