From 8d6bc1fc7b14d26589a4789dc9da291ef404bd61 Mon Sep 17 00:00:00 2001 From: Christopher Koch Date: Wed, 23 Jul 2014 00:03:27 +0200 Subject: Support rc files without leading dots This adds the `-U` option to lsrc(1), rcup(1), and rcdn(1) commands; its argument is an exclusion pattern. Any file matching this pattern is symlinked without the leading dot. There is also a `-u` option to undo a `-U`. The `UNDOTTED` setting in rcrc(5) can be used to set it permanently. The mkrc(1) command has `-U` and `-u` flags. They take no argument. --- test/Makefile.am | 2 ++ test/lsrc-undotted.t | 11 +++++++++++ test/lsrc-usage.t | 4 ++-- test/mkrc-undotted.t | 8 ++++++++ test/mkrc-usage.t | 6 +++--- test/rcup-usage.t | 4 ++-- 6 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 test/lsrc-undotted.t create mode 100644 test/mkrc-undotted.t (limited to 'test') diff --git a/test/Makefile.am b/test/Makefile.am index aafa5ca..e4d4a39 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -7,6 +7,7 @@ TESTS = \ lsrc-symlink-dirs.t \ lsrc-tags.t \ lsrc-usage.t \ + lsrc-undotted.t \ mkrc-alternate-dotfiles-dir.t \ mkrc-copy-file.t \ mkrc-host-file.t \ @@ -15,6 +16,7 @@ TESTS = \ mkrc-symlink-dirs.t \ mkrc-tagged-file.t \ mkrc-usage.t \ + mkrc-undotted.t \ rcrc-custom.t \ rcrc-hostname.t \ rcrc.t \ diff --git a/test/lsrc-undotted.t b/test/lsrc-undotted.t new file mode 100644 index 0000000..9b8737f --- /dev/null +++ b/test/lsrc-undotted.t @@ -0,0 +1,11 @@ + $ . "$TESTDIR/helper.sh" + +Should undot files with -U + + $ touch .dotfiles/example + > touch .dotfiles/undotted + + $ lsrc -U undotted + /*/.example:/*/.dotfiles/example (glob) + /*/undotted:/*/.dotfiles/undotted (glob) + diff --git a/test/lsrc-usage.t b/test/lsrc-usage.t index 7d54be8..409a9bd 100644 --- a/test/lsrc-usage.t +++ b/test/lsrc-usage.t @@ -3,12 +3,12 @@ -h should output usage information and exit 0 $ lsrc -h - Usage: lsrc [-FhqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT ] [-s EXCL_PAT] [-t TAG] [-x EXCL_PAT] + Usage: lsrc [-FhqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT] [-s EXCL_PAT] [-t TAG] [-U EXCL_PAT] [-u EXCL_PAT] [-x EXCL_PAT] see lsrc(1) and rcm(7) for more details Unsupported options should output usage information and exit EX_USAGE $ lsrc --version - Usage: lsrc [-FhqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT ] [-s EXCL_PAT] [-t TAG] [-x EXCL_PAT] + Usage: lsrc [-FhqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT] [-s EXCL_PAT] [-t TAG] [-U EXCL_PAT] [-u EXCL_PAT] [-x EXCL_PAT] see lsrc(1) and rcm(7) for more details [64] diff --git a/test/mkrc-undotted.t b/test/mkrc-undotted.t new file mode 100644 index 0000000..95dff18 --- /dev/null +++ b/test/mkrc-undotted.t @@ -0,0 +1,8 @@ + $ . "$TESTDIR/helper.sh" + > touch random-dotfile + +Passing -U should make a file be undotted + + $ mkrc -U random-dotfile >/dev/null + + $ assert_linked "$HOME/random-dotfile" "$HOME/.dotfiles/random-dotfile" diff --git a/test/mkrc-usage.t b/test/mkrc-usage.t index 4649152..b6715e9 100644 --- a/test/mkrc-usage.t +++ b/test/mkrc-usage.t @@ -3,19 +3,19 @@ no arguments should output usage information and exit EX_USAGE $ mkrc - Usage: mkrc [-ChSsVvqo] [-t TAG] [-d DIR] [-B HOSTNAME] FILES ... + Usage: mkrc [-ChSsUuVvqo] [-t TAG] [-d DIR] [-B HOSTNAME] FILES ... see mkrc(1) and rcm(7) for more details [64] -h should output usage information and exit 0 $ mkrc -h - Usage: mkrc [-ChSsVvqo] [-t TAG] [-d DIR] [-B HOSTNAME] FILES ... + Usage: mkrc [-ChSsUuVvqo] [-t TAG] [-d DIR] [-B HOSTNAME] FILES ... see mkrc(1) and rcm(7) for more details Unsupported options should output usage information and exit EX_USAGE $ mkrc --version - Usage: mkrc [-ChSsVvqo] [-t TAG] [-d DIR] [-B HOSTNAME] FILES ... + Usage: mkrc [-ChSsUuVvqo] [-t TAG] [-d DIR] [-B HOSTNAME] FILES ... see mkrc(1) and rcm(7) for more details [64] diff --git a/test/rcup-usage.t b/test/rcup-usage.t index fb0b78f..c15764a 100644 --- a/test/rcup-usage.t +++ b/test/rcup-usage.t @@ -3,12 +3,12 @@ -h should output usage information and exit 0 $ rcup -h - Usage: rcup [-CfghiKkqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT] [-s EXCL_PAT] [-t TAG] [-x EXCL_PAT] + Usage: rcup [-CfhiKkqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT] [-s EXCL_PAT] [-t TAG] [-U EXCL_PAT] [-u EXCL_PAT] [-x EXCL_PAT] see rcup(1) and rcm(7) for more details Unsupported options should output usage information and exit EX_USAGE $ rcup --version - Usage: rcup [-CfghiKkqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT] [-s EXCL_PAT] [-t TAG] [-x EXCL_PAT] + Usage: rcup [-CfhiKkqVv] [-B HOSTNAME] [-d DOT_DIR] [-I EXCL_PAT] [-S EXCL_PAT] [-s EXCL_PAT] [-t TAG] [-U EXCL_PAT] [-u EXCL_PAT] [-x EXCL_PAT] see rcup(1) and rcm(7) for more details [64] -- cgit v1.2.3