Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
2bca37c
uutils: shell completions
miDeb Jun 13, 2021
d593b60
sort: add shell completions
miDeb Jun 13, 2021
0fb3586
base32/64: completions
miDeb Jun 13, 2021
2c6ae4a
completions: install only the first file found
miDeb Jun 13, 2021
2e9f1cf
basename: completions
miDeb Jun 13, 2021
ef13098
cat: completions
miDeb Jun 13, 2021
a849252
chgrp: completions
miDeb Jun 13, 2021
f7c06a0
chmod: completions
miDeb Jun 13, 2021
8e4b841
chown: completions
miDeb Jun 13, 2021
ab533b7
chroot: completions
miDeb Jun 13, 2021
31650eb
cksum: completions
miDeb Jun 13, 2021
25c2161
comm: completions
miDeb Jun 13, 2021
3a9b4e9
cp: completions
miDeb Jun 13, 2021
01a3f6d
csplit: completions
miDeb Jun 13, 2021
db23dbb
cut: completions
miDeb Jun 13, 2021
46eafe5
date: completions
miDeb Jun 13, 2021
208411c
df: completions
miDeb Jun 13, 2021
21948b2
dircolors: completions
miDeb Jun 13, 2021
c7b0bcb
dirname: completions
miDeb Jun 13, 2021
730c654
du: completions
miDeb Jun 13, 2021
8ffa8b4
echo: completions
miDeb Jun 13, 2021
acc27d5
env: completions
miDeb Jun 13, 2021
5d129df
expand: completions
miDeb Jun 13, 2021
52c9db0
expr: completions
miDeb Jun 13, 2021
066a9fa
factor: completions
miDeb Jun 13, 2021
4d3f0fb
false: (no) completions
miDeb Jun 13, 2021
03a1e26
fmt: completions
miDeb Jun 13, 2021
40112f4
fold: completions
miDeb Jun 13, 2021
269f1e5
groups: completions
miDeb Jun 13, 2021
6d2071e
hashsum: completions
miDeb Jun 13, 2021
bb864ee
head: completions
miDeb Jun 13, 2021
949f201
hostid: clap & completions
miDeb Jun 13, 2021
fe34eca
update Cargo.lock
miDeb Jun 13, 2021
c7bd5d9
hostname: completions
miDeb Jun 13, 2021
ae73665
id: completions
miDeb Jun 13, 2021
791411d
install: completions
miDeb Jun 13, 2021
38be8ff
join: completions
miDeb Jun 13, 2021
60f7721
kill: completions
miDeb Jun 14, 2021
f57ec09
link: completions
miDeb Jun 14, 2021
183b10e
ln: completions
miDeb Jun 14, 2021
568a7f7
logname: completions
miDeb Jun 14, 2021
1a81c51
ls: completions
miDeb Jun 14, 2021
c24d17c
mkdir: completions
miDeb Jun 14, 2021
f855829
mkfifo: completions
miDeb Jun 14, 2021
269c3ad
mknod: completions
miDeb Jun 14, 2021
34f400c
mktemp: completions
miDeb Jun 14, 2021
cdda3d9
more: completions
miDeb Jun 14, 2021
a5d0f7f
mv: completions
miDeb Jun 14, 2021
b76ce62
nice: completions
miDeb Jun 14, 2021
e1341ea
nl: completions
miDeb Jun 14, 2021
90b6b7d
nohup: completions
miDeb Jun 14, 2021
ef3e663
nproc: completions
miDeb Jun 14, 2021
1fe2e26
numfmt: completions
miDeb Jun 14, 2021
30d8274
od: completions
miDeb Jun 14, 2021
2827b6f
paste: completions
miDeb Jun 14, 2021
432d0dc
pathchk: completions
miDeb Jun 14, 2021
13c3c2a
pinky: completions
miDeb Jun 14, 2021
9f8464f
printenv: completions
miDeb Jun 14, 2021
796504f
printf: completions
miDeb Jun 14, 2021
05cab73
ptx: completions
miDeb Jun 14, 2021
f3143d8
pwd: completions
miDeb Jun 14, 2021
2851cad
readlink: completions
miDeb Jun 14, 2021
dc1cf36
realpath: completions
miDeb Jun 14, 2021
6f4ee2f
relpath: completions
miDeb Jun 14, 2021
df9a5ea
rm: completions
miDeb Jun 14, 2021
ff99800
rmdir: completions
miDeb Jun 14, 2021
4765389
seq: completions
miDeb Jun 14, 2021
02623af
shred: completions
miDeb Jun 14, 2021
c91e702
shuf: completions
miDeb Jun 14, 2021
918973b
sleep: completions
miDeb Jun 14, 2021
1be2bcc
slit: completions
miDeb Jun 14, 2021
159f824
stat: completions
miDeb Jun 14, 2021
f6409a8
stdbuf: completions
miDeb Jun 14, 2021
2ed77cb
sum: completions
miDeb Jun 14, 2021
066af4c
sync: completions
miDeb Jun 14, 2021
fa67551
tac: completions
miDeb Jun 14, 2021
dac698f
tail: completions
miDeb Jun 14, 2021
15105b0
tee: completions
miDeb Jun 14, 2021
fe3568c
test: completions
miDeb Jun 14, 2021
f50294d
timeout: completions
miDeb Jun 14, 2021
7728979
touch: completions
miDeb Jun 14, 2021
e20a535
tr: completions
miDeb Jun 14, 2021
980bcee
true: (no) completions
miDeb Jun 14, 2021
6bd4349
truncate: completions
miDeb Jun 14, 2021
2ea36af
tsort: completions
miDeb Jun 14, 2021
9c386d4
tty: completions
miDeb Jun 14, 2021
83fb237
uname: completions
miDeb Jun 14, 2021
a3777f3
unexpand: completions
miDeb Jun 14, 2021
3598f9b
uniq: completions
miDeb Jun 14, 2021
1b7c638
unlink: completions
miDeb Jun 14, 2021
4c9a114
uptime: completions
miDeb Jun 14, 2021
e0701f3
users: completions
miDeb Jun 14, 2021
fac31ae
wc: completions
miDeb Jun 14, 2021
f21ed85
who: completions
miDeb Jun 14, 2021
8685fc4
whoami: completions
miDeb Jun 14, 2021
18742cf
yes: completions
miDeb Jun 14, 2021
f267052
build/completions: require main() in each build.rs
miDeb Jun 14, 2021
b302812
arch: completions
miDeb Jun 14, 2021
fa03e0d
hashsum: don't use cfg!
miDeb Jun 14, 2021
fde3696
update Cargo.lock
miDeb Jun 14, 2021
b31185b
completions: completions by subcommand
miDeb Jun 14, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 41 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ test = [ "uu_test" ]
[workspace]

[dependencies]
clap = "2.33.3"
lazy_static = { version="1.3" }
textwrap = { version="=0.11.0", features=["term_size"] } # !maint: [2020-05-10; rivy] unstable crate using undocumented features; pinned currently, will review
uucore = { version=">=0.0.8", package="uucore", path="src/uucore" }
Expand Down
5 changes: 5 additions & 0 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,11 @@ else
endif
$(foreach man, $(filter $(INSTALLEES), $(basename $(notdir $(wildcard $(DOCSDIR)/_build/man/*)))), \
cat $(DOCSDIR)/_build/man/$(man).1 | gzip > $(INSTALLDIR_MAN)/$(PROG_PREFIX)$(man).1.gz &&) :
$(foreach prog, $(INSTALLEES), \
$(BUILDDIR)/coreutils completion $(prog) zsh > $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_$(PROG_PREFIX)$(prog); \
$(BUILDDIR)/coreutils completion $(prog) bash > $(DESTDIR)$(PREFIX)/share/bash-completion/completions/$(PROG_PREFIX)$(prog); \
$(BUILDDIR)/coreutils completion $(prog) fish > $(DESTDIR)$(PREFIX)/share/fish/vendor_completions.d/$(PROG_PREFIX)$(prog).fish; \
)

uninstall:
ifeq (${MULTICALL}, y)
Expand Down
61 changes: 61 additions & 0 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ pub fn main() {

let mut mf = File::create(Path::new(&out_dir).join("uutils_map.rs")).unwrap();
let mut tf = File::create(Path::new(&out_dir).join("test_modules.rs")).unwrap();
let mut af = File::create(Path::new(&out_dir).join("apps_map.rs")).unwrap();

mf.write_all(
"type UtilityMap<T> = HashMap<&'static str, fn(T) -> i32>;\n\
Expand All @@ -52,6 +53,16 @@ pub fn main() {
)
.unwrap();

af.write_all(
"type AppMap = HashMap<&'static str, fn(&str) -> App>;\n\
\n\
fn app_map() -> AppMap {\n\
\tlet mut map = AppMap::new();\n\
"
.as_bytes(),
)
.unwrap();

for krate in crates {
match krate.as_ref() {
k if k.starts_with(override_prefix) => {
Expand All @@ -64,6 +75,15 @@ pub fn main() {
.as_bytes(),
)
.unwrap();
af.write_all(
format!(
"\tmap.insert(\"{k}\", {krate}::app::get_app);\n",
k = krate[override_prefix.len()..].to_string(),
krate = krate
)
.as_bytes(),
)
.unwrap();
tf.write_all(
format!(
"#[path=\"{dir}/test_{k}.rs\"]\nmod test_{k};\n",
Expand All @@ -83,6 +103,14 @@ pub fn main() {
.as_bytes(),
)
.unwrap();
af.write_all(
format!(
"\tmap.insert(\"{krate}\", r#{krate}::app::get_app);\n",
krate = krate
)
.as_bytes(),
)
.unwrap();
tf.write_all(
format!(
"#[path=\"{dir}/test_{krate}.rs\"]\nmod test_{krate};\n",
Expand Down Expand Up @@ -117,6 +145,29 @@ pub fn main() {
.as_bytes(),
)
.unwrap();
af.write_all(
format!(
"\
\tmap.insert(\"{krate}\", {krate}::app::get_app);\n\
\t\tmap.insert(\"md5sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha1sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha224sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha256sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha384sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha512sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha3sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha3-224sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha3-256sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha3-384sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"sha3-512sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"shake128sum\", {krate}::app::get_app);\n\
\t\tmap.insert(\"shake256sum\", {krate}::app::get_app);\n\
",
krate = krate
)
.as_bytes(),
)
.unwrap();
tf.write_all(
format!(
"#[path=\"{dir}/test_{krate}.rs\"]\nmod test_{krate};\n",
Expand All @@ -136,6 +187,14 @@ pub fn main() {
.as_bytes(),
)
.unwrap();
af.write_all(
format!(
"\tmap.insert(\"{krate}\", {krate}::app::get_app);\n",
krate = krate
)
.as_bytes(),
)
.unwrap();
tf.write_all(
format!(
"#[path=\"{dir}/test_{krate}.rs\"]\nmod test_{krate};\n",
Expand All @@ -150,7 +209,9 @@ pub fn main() {
}

mf.write_all(b"map\n}\n").unwrap();
af.write_all(b"map\n}\n").unwrap();

mf.flush().unwrap();
af.flush().unwrap();
tf.flush().unwrap();
}
Loading