From: ho.namkoong Date: Mon, 16 Dec 2013 06:04:21 +0000 (+0900) Subject: SDB: make scripts for sdb autocomplete X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F74%2F13774%2F4;p=sdk%2Ftools%2Fsdb.git SDB: make scripts for sdb autocomplete implement install, uninstall and build script for sdb autocomplete Change-Id: Ia6db255895cf5d6cb1be4bb2890296d4da3b61d5 Signed-off-by: ho.namkoong --- diff --git a/package/build.linux b/package/build.linux index b4b25ac..de7b2be 100755 --- a/package/build.linux +++ b/package/build.linux @@ -66,6 +66,7 @@ install() then mkdir -p ${INSTALL_DIR}/data/tools cp ${SRCDIR}/bin/* ${INSTALL_DIR}/data/tools/ + cp -f ${SRCDIR}/package/sdb-autocomplete ${INSTALL_DIR}/data/tools/ fi fi done diff --git a/package/sdb-autocomplete b/package/sdb-autocomplete index 2a9d0e6..634d2a3 100644 --- a/package/sdb-autocomplete +++ b/package/sdb-autocomplete @@ -1,7 +1,7 @@ _sdb() { - SDB_DIR=/home/nkho/work/public/sdb - SDB_AUTOCOMPLETE=${SDB_DIR}/bin/sdb + #sdb path is defined in PATH environment variable + SDB_BIN=sdb COMPREPLY=() # cur="${COMP_WORDS[COMP_CWORD]}" ARGS="autocomplete,${COMP_CWORD}" @@ -9,11 +9,18 @@ _sdb() local IFS=$',' for ((i=1; i < $((${COMP_CWORD} + 1)) ; i++)) do - convertedarg=$(eval eval echo \$\{COMP_WORDS\[i\]\}) + #processing for echo options + if [ "${COMP_WORDS[i]}" == "-e" ]; then + convertedarg=-e + elif [ "${COMP_WORDS[i]}" == "-n" ]; then + convertedarg=-n + else + convertedarg=$(eval eval echo \$\{COMP_WORDS\[i\]\}) + fi ARGS="${ARGS}${IFS}${convertedarg}" done - next=($(${SDB_AUTOCOMPLETE} ${ARGS})) + next=($(${SDB_BIN} ${ARGS})) local IFS=$'\n' COMPREPLY=(${next}) # COMPREPLY=($(compgen -W "${next}" -- ${cur})) diff --git a/package/sdb.install.linux b/package/sdb.install.linux index 256b648..79c7032 100755 --- a/package/sdb.install.linux +++ b/package/sdb.install.linux @@ -1,3 +1,11 @@ #!/bin/bash -ex +SDB_AC_NAME=sdb-autocomplete +SDB_AC_SRC_PATH=${INSTALLED_PATH}/tools/${SDB_AC_NAME} +SDB_AC_DST_PATH=/etc/bash_completion.d/${SDB_AC_NAME} + +gksudo "mv -f ${SDB_AC_SRC_PATH} ${SDB_AC_DST_PATH}" + +. /etc/bash_completion + exit 0 diff --git a/package/sdb.remove.linux b/package/sdb.remove.linux index 10a8dda..1e51713 100755 --- a/package/sdb.remove.linux +++ b/package/sdb.remove.linux @@ -1,6 +1,9 @@ #!/bin/bash -ex SDB_PATH=tools/sdb ${INSTALLED_PATH}/${SDB_PATH} kill-server + rm -rf ${INSTALLED_PATH}/${SDB_PATH} +complete -r _sdb sdb exit 0 + diff --git a/src/auto_complete.c b/src/auto_complete.c index 7b1de67..79c19d6 100644 --- a/src/auto_complete.c +++ b/src/auto_complete.c @@ -407,7 +407,6 @@ static int parse_cmd(int argc, char** argv) { for(; ikeyword, argv[0])) { commands[i]->func(--argc, ++argv); - no_parse(--argc, ++argv); return 0; } }