about summary refs log tree commit diff
path: root/functions
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2016-12-06T20·53-0500
committerWilliam Carroll <wpcarro@gmail.com>2016-12-06T20·53-0500
commit085a7e446d4df1eb356e7a62655170f2fa68eea4 (patch)
treef3ba37d32d3175cb199ec39e566e8b54d5362156 /functions
parentc7c71da568816751bcec9cb31b875755e9007725 (diff)
Adds codemod function
Diffstat (limited to 'functions')
-rw-r--r--functions/misc_functions.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/functions/misc_functions.sh b/functions/misc_functions.sh
index 728c6e453b8a..5e36733f791b 100644
--- a/functions/misc_functions.sh
+++ b/functions/misc_functions.sh
@@ -46,6 +46,23 @@ function trim {
 }
 
 
+# Extends `codemod` to exclude dirs in .gitignore file
+function cm {
+  extensions="$1"
+  regex="$2"
+  replacement="$3"
+
+  ignore_dirs=""
+
+  if [ -f ./.gitignore ]; then
+    # Sanitizes .gitignore and converts it to a comma-separated list
+    ignore_dirs="$(sed 's/^\//.\//g' <./.gitignore | sed -e 's/#.*$//' -e '/^$/d' | tr '\n' ',' | sed 's/,$//')"
+  fi
+
+  codemod -m -d . --extensions ${extensions} --exclude-paths ${ignore_dirs} ${regex} ${replacement}
+}
+
+
 function tt() {
   sessionName="${1}"
   if ! tmux has-session -t "${sessionName}" 2> /dev/null; then