From 87f1a4e15c068dbc55a02130ccf49b341dabd686 Mon Sep 17 00:00:00 2001 From: Alexei Yatskov Date: Thu, 5 Jan 2017 10:57:35 -0800 Subject: [PATCH] minor fixups --- README.md | 12 ++++++------ task.go | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c83bf47..756d6e5 100644 --- a/README.md +++ b/README.md @@ -223,12 +223,12 @@ shown below: Homemaker will process the dependency tasks before processing the task itself. -In addition to creating links, Homemaker is capable of executing commands on a per-task basis. Homemaker can commands both -before and after linking your configuration. Commands should be placed in either an array, under the field `precmds` or -`postcmds` (for commands to be run before and after linking respectively). These commands should be split into an array of -strings, with each entry corresponding to one command line argument. All of the commands are executed with `dest` as -the working directory (as mentioned previously, this defaults to your home directory). If any command returns a nonzero -exit code, Homemaker will display an error message and prompt the user to determine if it should *abort*, *retry*, or *cancel*. +In addition to creating links, Homemaker is capable of executing commands on a per-task basis. Commands should be +defined in an array called `cmds`, split into an item per each command line argument. All of the commands are executed +with `dest` as the working directory (as mentioned previously, this defaults to your home directory). If any command +returns a nonzero exit code, Homemaker will display an error message and prompt the user to determine if it should +*abort*, *retry*, or *cancel*. Additionally, if you must have explicit control of whether commands execute before or +after the linking phase, you can use the `cmdspre` and `cmdspost` arrays which have similar behavior. The example task below will clone and install configuration files for Vim into the `~/.config` directory, and create links to it from the home directory. You may notice that this task references an environment variable (set by Homemaker diff --git a/task.go b/task.go index f11ffcb..1172ac1 100644 --- a/task.go +++ b/task.go @@ -69,6 +69,7 @@ func (t *task) process(conf *config) error { return err } } + for _, currCmd := range t.Cmds { if err := processCmd(currCmd, true, conf); err != nil { return err