vicell command for editing/applying cell configurations
Change-Id: I3e9731342ef015649978941ba984af4fc0af41d2
diff --git a/tools/dev/bash_profile b/tools/dev/bash_profile
index 0906beb..79717e3 100644
--- a/tools/dev/bash_profile
+++ b/tools/dev/bash_profile
@@ -116,3 +116,41 @@
function nuke {
spy "$@" | cut -c7-11 | xargs kill
}
+
+# Edit a cell file by providing a cell name. Opens the cell file in $EDITOR.
+function vicell() {
+ local apply=false
+ local create=false
+ local cdf=""
+ local cpath="${ONOS_ROOT}/tools/test/cells/"
+
+ if [ -z "$1" ] || [ "$1" = "-h" ] ; then
+ printf "usage: vicell [file] [options]\n\noptions:\n"
+ printf "\t-a: apply the cell after editing\n"
+ printf "\t-e: [editor] set EDITOR to [editor] (default *vi*)\n"
+ printf "\t-c: create cell file if none exist\n\n"
+ return 1
+ fi
+
+ while [ $# -gt 0 ]; do
+ case "$1" in
+ -a) apply=true ;;
+ -e) EDITOR=$2; shift ;;
+ -c) create=true ;;
+ *) cdf="$1" ;;
+ esac
+ shift
+ done
+
+ if [ ! -e "${cpath}${cdf}" ] && [ "$create" = "false" ]; then
+ printf "${cdf} : no such cell\n" && return 1
+ fi
+
+ if [ -z "$EDITOR" ]; then
+ vi ${cpath}${cdf}
+ else
+ $EDITOR ${cpath}${cdf}
+ fi
+ ($apply) && cell ${cdf}
+
+}