Nathan Ross
3eb9bbf4b5
uucore: CoreOptions error and version message templates
2016-08-08 04:29:11 -04:00
Nathan Ross
c91fd51197
uucore: add message templates
2016-08-08 03:05:36 -04:00
Nathan Ross
ea6b0e55ad
cut: provide original-work help message and option descriptions
2016-08-07 23:16:15 -04:00
Chris Nikkel
cdfdc3a2bd
uniq: add command line option -z for zero terminated input and output
2016-08-06 18:41:47 -07:00
Knight
0d48744c0f
base64: simplified
2016-08-07 00:41:53 +08:00
Knight
9c7ff133dc
base32: implemented
2016-08-07 00:41:52 +08:00
Knight
276d2ccd53
uucore: add module encoding
2016-08-07 00:41:52 +08:00
Knight
7c5416799e
base32: add entries
2016-08-06 11:45:03 +08:00
Corey Farwell
01da600f71
Remove unused variable binding.
2016-08-05 09:06:39 -04:00
Corey Farwell
8fe3eac087
Remove unused imports.
2016-08-05 09:05:12 -04:00
Corey Farwell
eca7543c61
Cleanup logic around wait_or_timeout
exit status handling.
2016-08-04 21:30:50 -04:00
Nathan Ross
a8f5b430df
Merge pull request #935 from frewsxcv/refactor-time
...
Prefer handling `Duration` over `f32` when dealing with times.
2016-08-04 21:17:38 -04:00
Corey Farwell
99fda0b716
Prefer handling Duration
over f32
when dealing with times.
...
Also refactored out usage of the `time` crate in `uucore`.
2016-08-04 19:21:30 -04:00
Knight
d4ac9f22fc
uptime & users: move functions extern to uucore::utmpx
2016-08-04 23:39:30 +08:00
Knight
833d50e192
pinky: obtain correct timestamp
2016-08-04 23:39:30 +08:00
Knight
0020d5c80c
uucore: update utmpx
2016-08-04 22:37:54 +08:00
Corey Farwell
160f7ed5f4
Use setpgid
from libc.
2016-08-04 08:34:33 -04:00
David Laban
6751d2c708
implement sort --stable
...
Made a new function sort_by(lines, compare_fns), which accepts a
list of compare_fns and calls lines.sort_by() with a closure that
calls each compare_fn in turn until one returns something other
than equal.
Default behavior ensures that String::cmp is the last element in the
compare_fns list (referred to as 'last resort' sorting by man sort).
Passing --stable (-s) turns this behaviour off.
Test cases provided for `sort --month` and `sort --month --stable`.
2016-08-03 07:56:40 +01:00
Mark Karasek
59ad388cce
ls: remove dependence on nightly
2016-07-29 07:07:38 -07:00
Mark Karasek
900cd41eb6
ls improvments
...
* Add options -c, -F, -L, -l, -r, -R, -S, -t, -U, --color
* Fix options -a, -A
* Remove unused options
* Output in columns when not using -l
* Output date with -l
2016-07-28 17:41:52 -07:00
Kevin Robert Stravers
5226ba963c
ls: Implement the '-a' (all) flag
...
The all flag did not cull/remove the directory entries starting with a
dot. The help message indicates it should. The implementation checks
if the string starts with a dot whilst also using '-a' to determine
whether a DirEntry is to be printed.
2016-07-27 11:29:27 +02:00
Kevin Robert Stravers
0afe9b347e
ls: Show columns correctly padded according to the largest file and the largest symlink count
2016-07-26 16:05:20 +02:00
mpkh
da0de488e6
Merge pull request #913 from knight42/pinky
...
Implement pinky
2016-07-26 13:38:53 +04:00
Knight
be20d8605d
pinky: add tests
2016-07-26 17:26:22 +08:00
Knight
6fff3a7665
pinky: cleanup the code
2016-07-26 16:44:30 +08:00
Knight
e0c950e145
pinky: canonicalize host
2016-07-26 16:44:30 +08:00
Knight
f91c60ff70
pinky: fix a weird bug:
...
Strings passed to C functions must ends with NULL.
2016-07-26 16:44:30 +08:00
Knight
048daee8b9
pinky: make ci happy
2016-07-26 16:44:30 +08:00
Knight
fe952d90d8
pinky: iterate over utmp structs using getutxent()
2016-07-26 16:44:29 +08:00
Knight
1056542dd3
uucore::utmpx: revert the changes
2016-07-26 16:44:29 +08:00
Knight
3ed49033b7
pinky: implement short format
2016-07-26 16:44:25 +08:00
Knight
7fb3eef5e5
pinky: implement long format
2016-07-26 16:44:25 +08:00
king6cong
ff7d2bae16
skip directory tail
2016-07-23 23:03:00 +08:00
Jeremy Neptune
a3004fbbff
cp: added -v/--verbose flag
...
I forgot that -v refers to "verbose" and not "version"
when making earlier changes. So I fixed that and for
good measure added the verbose flag anyway.
2016-07-15 14:41:50 -04:00
Jeremy Neptune
cc57ce7699
cp: added -T/--no-target-directory flag
2016-07-15 14:08:04 -04:00
Jeremy Neptune
5e03b7c75d
cp: Added -t flag, and fixed path bug for source files.
...
* Added flag -t/--target-directory
* No longer assumes that the source arguments are files in the CWD (in other words, can copy files from directories other than CWD)
2016-07-15 13:15:05 -04:00
Ben Eills
28d1de1de0
Fix type synonym relaiance which breaks some rusts
2016-07-13 15:51:41 +02:00
Ben Eills
fa2145bb84
Allow specification of mode strings for install
...
We now accept symbolic and numeric mode strings using the
--mode or -m option for install. This is used either when
moving files into a directory, or when creating component
directories with the -d option. This feature was designed
to mirror the GNU implementation, including the possibly
quirky behaviour of `install --mode=u+wx file dir`
resulting in dir/file having exactly permissions 0300.
Extensive integration tests are included.
This chnage required a higher libc dependency.
2016-07-13 15:29:24 +02:00
Ben Eills
b15fff6269
Implement creation of component directories (-d option)
...
Tested in two integration test:
- One creating three component directories
- One trying to create an already existing directory
2016-07-13 12:56:30 +02:00
Ben Eills
823ffbd1dd
Copy rather than move files
...
Test this with one integration test. Also document functions
and add an '(unimplemented)' marker to some arguments in help.
2016-07-13 12:27:11 +02:00
Ben Eills
a5d97323db
Test for unimplemented command line arguments
...
We check if the user has given one of the (many)
not yet implemented command line arguments. Upon
catching this, we display the specific transgressor
to stderr and exit with return code 2.
This behaviour is tested in one new integration test.
2016-07-13 10:37:08 +02:00
Ben Eills
8a5719561d
Implement basic installation of file to directory
...
Bare minimum functionality of `install file dir` implemented.
Also added TODO markers in code for outstanding parameters
and split main function into smaller logical chunks.
2016-07-12 22:58:44 +02:00
Ben Eills
e72ec4a5bb
Implement skeleton install utility
...
Add install utility skeleton source, based on
mv, including the getopts setup mirroring
GNU's `man install` documentation. Also
add a single test and build system code.
2016-07-12 20:56:21 +02:00
mpkh
61cf4e4fba
Merge pull request #906 from knight42/chown
...
Implement chown
2016-07-10 19:01:03 +04:00
Knight
197e7787a8
chown: follow symlinks correctly
2016-07-10 21:32:07 +08:00
Smigle00
35fec95d60
arch: add new utility
...
Signed-off-by: Smigle00 <smigle00@gmail.com>
2016-07-10 00:48:10 +05:30
Knight
7e4a708e7c
chown: refactor
2016-07-04 22:50:22 +08:00
Knight
d4b2766c4b
chown: Add crate walkdir
2016-06-27 23:22:13 +08:00
Knight
04d7f81fd3
chown: Almost done
...
TODO:
* [ ] Describe changes according to verbosity
* [ ] More tests
* [ ] Clean up the code
2016-06-22 21:40:31 +08:00
Knight
59ed78209a
chown: Add mod passwd
2016-06-22 21:39:01 +08:00
Knight
123175d577
chown: Add main.rs
2016-06-22 21:37:40 +08:00
Knight
69beb787d1
chown: Add entries
2016-06-22 21:36:50 +08:00
Knight
7423c5e644
chmod: fix #831
2016-06-19 22:52:56 +08:00
Neel Kowdley
519c1caa23
add verbose flag to tail
2016-06-18 14:44:05 -04:00
Heather
3a3fbc2840
Merge pull request #901 from knight42/mktemp-dir
...
Improve mktemp
2016-06-18 18:16:22 +04:00
Knight
bb3536bf14
mktemp: respect quiet option
2016-06-18 17:54:52 +08:00
Knight
c53fa53c75
mktemp: rustfmt
2016-06-18 17:54:52 +08:00
Knight
c6897da7f0
mktemp: make temp dir
2016-06-18 17:54:52 +08:00
Heather
2c65aad3cf
Merge pull request #900 from knight42/reorganize-tests
...
Reorganize tests
2016-06-17 19:45:50 +04:00
Knight
5dba86dfa2
dircolors: extract shell name from $SHELL properly
2016-06-17 21:54:44 +08:00
Knight
2758455d73
stat: fix unstable library
2016-06-17 18:30:08 +08:00
Knight
13d06ff800
dircolors: reorganize tests
2016-06-17 16:17:22 +08:00
Knight
02dc461cf8
stat: implement ' format directive & add tests
2016-06-17 16:15:50 +08:00
Knight
d46a02b586
mknod: remove repeated macro
2016-06-17 13:27:19 +08:00
Tshepang Lekhonkhobe
80432e2b94
comm: remove unused import
2016-06-15 19:42:05 +02:00
palaviv
3fd8136423
sort: Support check
2016-06-14 22:21:30 +03:00
palaviv
3bc5a5f769
sort: support multiple input files
2016-06-14 21:25:29 +03:00
palaviv
87455f998a
sort: Version sort support
2016-06-14 20:33:09 +03:00
palaviv
d4ffbe0526
sort: unique option support
2016-06-11 15:46:41 +03:00
Heather
e87407f598
Merge pull request #896 from knight42/ls-patch
...
Improve `ls` implementation
2016-06-08 07:52:18 +04:00
Knight
537ed734af
ls: display the correct permissions
2016-06-07 21:10:00 +08:00
Heather
461a4e72b0
Merge pull request #893 from knight42/stat
...
Implement stat
2016-06-07 16:35:01 +04:00
Knight
ca6831ef91
ls: fix target_family
2016-06-07 20:11:40 +08:00
Knight
0394d5398d
ls: rustfmt the code
2016-06-07 20:07:15 +08:00
Steve Smith
7a3ba3242a
Need to make the use
Linux-only too.
2016-06-05 11:45:44 +01:00
Steve Smith
1606770a3e
getpwuid is linux
platform only currently.
2016-06-05 11:07:28 +01:00
Knight
5a0dd67003
stat: make ci happy
...
1. force ci to use libc@0.2
2. dont use unstable api Metadata::created
3. change quote style
4. pass metadata.mode() as mode_t
2016-06-05 13:21:41 +08:00
Knight
ad3c984afd
stat: get rid of crate users
2016-06-05 11:38:56 +08:00
Knight
580667295c
stat: use struct libc::statfs now
2016-06-05 11:38:56 +08:00
Knight
48968f3d8a
stat: Add tests
2016-06-05 11:38:56 +08:00
Steve Smith
8161bb7fe1
Flag uname/group functions as unix-specific and add NO-OP Windows versions.
2016-06-04 15:30:39 +01:00
Steve Smith
ce7f23bcc4
Fill in group name for ls
2016-06-04 15:14:59 +01:00
Steve Smith
04522760f1
Break cstring->String conversion out into function
2016-06-04 15:12:40 +01:00
Steve Smith
6179b89bcc
Add conversion of UID to username for ls
2016-06-04 14:50:52 +01:00
Knight
fd652bc285
stat: TODO: more tests
2016-06-04 13:33:08 +08:00
kwantam
e2cb5eec0a
fix fmt's behavior for blank prefixed lines
2016-06-01 18:19:53 -04:00
Knight
e125118510
stat: find mount point
2016-06-01 14:47:37 +08:00
Knight
de4a95accb
stat: almost done
...
TODO:
* print escaped char
* find mount point
* more test cases
2016-06-01 09:52:55 +08:00
Knight
03ce99b455
stat: fsext.rs: remove useless brackets
2016-06-01 01:24:13 +08:00
Mariano Casco
79d281394f
tail: -f option on stdin
...
The follow() function takes slices instead of the actual vectors, and in
the case of unbounded_tail the single bufReader is on stdin.
2016-05-31 12:37:03 -03:00
Mariano Casco
fafab00cd8
tail: remove extra println
2016-05-31 10:52:53 -03:00
Knight
676f00fea3
stat: add main.rs
2016-05-31 13:27:45 +08:00
Knight
0926cd43ac
stat: add fsext.rs
...
Mainly includes the pretty-* functions, turning the file types, file system types and
time into human-readable form.
2016-05-31 13:22:19 +08:00
Knight
3202c18c54
stat: add Cargo.toml
2016-05-31 13:21:55 +08:00
Mariano Casco
f9627e02d0
tail: print empty line between headers
2016-05-30 17:33:16 -03:00
Mariano Casco
440fb867bc
tail: no headers when following a single file
...
Headers should only be printed when following more than one file. This
commit makes the test_follow() test pass again.
2016-05-30 16:43:14 -03:00
Mariano Casco
8866e05e98
tail: print headers when following multiple files
...
Before each line of content is printed, check if it's from a different
file than the last one we printed for. If so, print a '==> file <=='
header to separate the output in the way tail does.
2016-05-30 16:12:00 -03:00
Mariano Casco
966bfde70f
tail: follow multiple files
...
If multiple files are passed as arguments with the -f option, a vector
of BufReaders is built as the files are first tailed, so that follow()
can take control for the rest of the time the program is running.
follow() loops over each reader and prints all new available content on
each file before moving on to the next.
2016-05-30 16:11:49 -03:00
Mariano Casco
2132889940
tail: don't follow() as part of bounded_tail
...
To get the -f option to follow multiple files, bounded_tail should just
tail a single file and return, instead of blocking processing of other
files by calling follow() (which loops forever).
2016-05-30 16:11:32 -03:00
Tshepang Lekhonkhobe
1476446ddf
remove compiler warnings
2016-05-24 22:30:48 +02:00