diff options
Diffstat (limited to 'trunk/src/mkbuild')
| -rwxr-xr-x | trunk/src/mkbuild | 51 | 
1 files changed, 44 insertions, 7 deletions
diff --git a/trunk/src/mkbuild b/trunk/src/mkbuild index 11f0785..65c4c5b 100755 --- a/trunk/src/mkbuild +++ b/trunk/src/mkbuild @@ -90,6 +90,8 @@ ${red}DESCRIPTION${normal}              program version          ${red}-V${normal}, ${red}--verbose${normal}              print debug information +        ${red}-e${normal}, ${red}--edit${normal} +            edit a mkbuild  ${red}EXAMPLES${normal}          ${red}mkbuild -sa pyrex.mkbuild${normal} @@ -186,6 +188,12 @@ function set_parameters {          [ ${MKBUILD_NAME:0:1} = "-" ] && handle_error $ERROR_MKBUILD_INPUT_PAR "--search <mkbuild_name>"          ACTION='search'        ;; +      '-e'|'--edit') +        # Open mkbuild with $EDITOR +        MKBUILD_NAME="${2//.mkbuild}.mkbuild" +        [ ${MKBUILD_NAME:0:1} = "-" ] && handle_error $ERROR_MKBUILD_INPUT_PAR "--edit <mkbuild_name>" +        ACTION='edit' +      ;;        '-d'|'--debug')          # Debug mode          set -x @@ -1325,6 +1333,38 @@ function create_mkbuild {  } +function search_mkbuild { + +  # find a given mkbuild +  # usage: search_mkbuild + +  find $MKBUILDS_DIR -iname $MKBUILD_NAME +  +} + +function edit_mkbuild { + +  # edit a mkbuild +  # usage: edit_mkbuild + +  local match search="`search_mkbuild`" + +  if [ ! -z "$search" ]; then +    for match in $search; do +      # Edit the first matching mkbuild +      if [ -z "$EDITOR" ]; then +        EDITOR="vi" +      fi +      $EDITOR $match +      break +    done +  else +    echo "Not found: $MKBUILD_NAME" +    return 1 +  fi + +} +  # ----------------------------------------------------------------  #============================= @@ -1404,13 +1444,10 @@ if [ ! -z "$MKBUILD_NAME" ]; then        make_slackbuild      ;;      'search') -      SEARCH=`find $MKBUILDS_DIR -iname $MKBUILD_NAME` -      if [ "$SEARCH" == "" ]; then -        EXIT_CODE=1 -      else -        EXIT_CODE=0 -        echo $SEARCH -      fi +      search_mkbuild +    ;; +    'edit') +      edit_mkbuild      ;;    esac  fi  | 
