diff options
| author | ruki <[email protected]> | 2023-03-03 00:56:07 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-03-03 00:56:07 +0800 |
| commit | 0d79efba9a282712c4dc1f8b2e63999a2d1b9236 (patch) | |
| tree | 84e6fcb2ac31b7f047c3814483bbebdfb86c0140 | |
| parent | b14cb76831863973a09ce7d1bc00e9aba0beec7b (diff) | |
improve profile-unix.sh
| -rw-r--r-- | xmake/actions/update/main.lua | 4 | ||||
| -rw-r--r-- | xmake/scripts/profile-unix.sh | 108 | ||||
| -rwxr-xr-x | xmake/scripts/register-completions.sh (renamed from scripts/register-completions.sh) | 0 | ||||
| -rw-r--r-- | xmake/scripts/register-virtualenvs.sh (renamed from scripts/register-virtualenvs.sh) | 0 |
4 files changed, 4 insertions, 108 deletions
diff --git a/xmake/actions/update/main.lua b/xmake/actions/update/main.lua index b7561365d..2c0f0b600 100644 --- a/xmake/actions/update/main.lua +++ b/xmake/actions/update/main.lua @@ -312,8 +312,8 @@ function _initialize_shell() command = "[[ -s \"$HOME/.xmake/profile\" ]] && source \"$HOME/.xmake/profile\"" -- write home profile - local profile = path.join(os.programdir(), "scripts", "profile-unix.sh") - local bridge_command = format("export XMAKE_ROOTDIR=\"%s\"\nexport PATH=\"$XMAKE_ROOTDIR:$PATH\"\n", path.directory(os.programfile())) + local profile = "$XMAKE_PROGRAM_DIR/scripts/profile-unix.sh" + local bridge_command = format("export XMAKE_ROOTDIR=\"%s\"\nexport XMAKE_PROGRAM_DIR=\"%s\"\nexport PATH=\"$XMAKE_ROOTDIR:$PATH\"\n", path.directory(os.programfile()), os.programdir()) bridge_command = bridge_command .. format("[[ -s \"%s\" ]] && source \"%s\"\n", profile, profile) io.writefile("~/.xmake/profile", bridge_command) end diff --git a/xmake/scripts/profile-unix.sh b/xmake/scripts/profile-unix.sh index cd511b04f..4036fa2ca 100644 --- a/xmake/scripts/profile-unix.sh +++ b/xmake/scripts/profile-unix.sh @@ -1,106 +1,2 @@ -# parameter completions for *nix shell -if [[ "$SHELL" = */zsh ]]; then - # zsh parameter completion for xmake - _xmake_zsh_complete() - { - local completions=("$(XMAKE_SKIP_HISTORY=1 XMAKE_ROOT=y xmake lua private.utils.complete 0 nospace "$words")") - reply=( "${(ps:\n:)completions}" ) - } - compctl -f -S "" -K _xmake_zsh_complete xmake - # zsh parameter completion for xrepo - _xrepo_zsh_complete() - { - local completions=("$(XMAKE_SKIP_HISTORY=1 XMAKE_ROOT=y xmake lua private.xrepo.complete 0 nospace "$words")") - reply=( "${(ps:\n:)completions}" ) - } - compctl -f -S "" -K _xrepo_zsh_complete xrepo -elif [[ "$SHELL" = */bash ]]; then - # bash parameter completion for xmake - _xmake_bash_complete() - { - local word=${COMP_WORDS[COMP_CWORD]} - local completions - completions="$(XMAKE_SKIP_HISTORY=1 XMAKE_ROOT=y xmake lua private.utils.complete "${COMP_POINT}" "nospace-nokey" "${COMP_LINE}")" - if [ $? -ne 0 ]; then - completions="" - fi - COMPREPLY=( $(compgen -W "$completions") ) - } - complete -o default -o nospace -F _xmake_bash_complete xmake - # bash parameter completion for xrepo - _xrepo_bash_complete() - { - local word=${COMP_WORDS[COMP_CWORD]} - local completions - completions="$(XMAKE_SKIP_HISTORY=1 XMAKE_ROOT=y xmake lua private.xrepo.complete "${COMP_POINT}" "nospace-nokey" "${COMP_LINE}")" - if [ $? -ne 0 ]; then - completions="" - fi - COMPREPLY=( $(compgen -W "$completions") ) - } - complete -o default -o nospace -F _xrepo_bash_complete xrepo -fi -# virtual environments for *nix shell -function xrepo { - if [ $# -ge 2 ] && [ "$1" = "env" ]; then - local cmd="${2-x}" - case "$cmd" in - shell) - if test "${XMAKE_PROMPT_BACKUP}"; then - PS1="${XMAKE_PROMPT_BACKUP}" - source "${XMAKE_ENV_BACKUP}" || return 1 - unset XMAKE_PROMPT_BACKUP - unset XMAKE_ENV_BACKUP - fi - xmake lua private.xrepo.action.env.info config || return 1 - local prompt="$(xmake lua --quiet private.xrepo.action.env.info prompt)" || return 1 - if [ -z "${prompt+x}" ]; then - return 1 - fi - local activateCommand="$(xmake lua private.xrepo.action.env.info script.bash)" || return 1 - export XMAKE_ENV_BACKUP="$(xmake lua private.xrepo.action.env.info envfile)" - export XMAKE_PROMPT_BACKUP="${PS1}" - xmake lua private.xrepo.action.env.info backup.bash 1>"$XMAKE_ENV_BACKUP" - eval "$activateCommand" - PS1="${prompt} $PS1" - ;; - quit) - if test "${XMAKE_PROMPT_BACKUP}"; then - PS1="${XMAKE_PROMPT_BACKUP}" - source "${XMAKE_ENV_BACKUP}" || return 1 - unset XMAKE_PROMPT_BACKUP - unset XMAKE_ENV_BACKUP - fi - ;; - -b|--bind) - if [ "$4" = "shell" ]; then - local bnd="${3-x}" - if test "${XMAKE_PROMPT_BACKUP}"; then - PS1="${XMAKE_PROMPT_BACKUP}" - source "${XMAKE_ENV_BACKUP}" || return 1 - unset XMAKE_PROMPT_BACKUP - unset XMAKE_ENV_BACKUP - fi - xmake lua private.xrepo.action.env.info config $bnd || return 1 - local prompt="$(xmake lua --quiet private.xrepo.action.env.info prompt $bnd)" || return 1 - if [ -z "${prompt+x}" ]; then - return 1 - fi - local activateCommand="$(xmake lua --quiet private.xrepo.action.env.info script.bash $bnd)" || return 1 - export XMAKE_ENV_BACKUP="$(xmake lua private.xrepo.action.env.info envfile $bnd)" - export XMAKE_PROMPT_BACKUP="${PS1}" - xmake lua --quiet private.xrepo.action.env.info backup.bash $bnd 1>"$XMAKE_ENV_BACKUP" - eval "$activateCommand" - PS1="${prompt} $PS1" - else - xmake lua private.xrepo "$@" - fi - ;; - *) - xmake lua private.xrepo "$@" - ;; - esac - else - xmake lua private.xrepo "$@" - fi -}
\ No newline at end of file +. "$XMAKE_PROGRAM_DIR/scripts/register-completions.sh" +. "$XMAKE_PROGRAM_DIR/scripts/register-virtualenvs.sh" diff --git a/scripts/register-completions.sh b/xmake/scripts/register-completions.sh index f3da05f10..f3da05f10 100755 --- a/scripts/register-completions.sh +++ b/xmake/scripts/register-completions.sh diff --git a/scripts/register-virtualenvs.sh b/xmake/scripts/register-virtualenvs.sh index 6b0c25160..6b0c25160 100644 --- a/scripts/register-virtualenvs.sh +++ b/xmake/scripts/register-virtualenvs.sh |
