Skip to content

Instantly share code, notes, and snippets.

@gorshkov-leonid
Last active November 4, 2021 07:54
Show Gist options
  • Save gorshkov-leonid/a474ec19a3f3d3b18c4992d5ebd0d8fd to your computer and use it in GitHub Desktop.
Save gorshkov-leonid/a474ec19a3f3d3b18c4992d5ebd0d8fd to your computer and use it in GitHub Desktop.
wsl-powerline.md
  • В случае долгого отклика, изменитe git модуль на gitlight. Здесь список модулей по умолчанию с заменой (см. powerline-go -help):
PS1="$($GOPATH/bin/powerline-go -error $? -modules venv,user,host,ssh,cwd,perms,gitlite,hg,jobs,exit,root)"
  • Можно убрать модуль host, или оставить его только для ssh: -hostname-only-if-ssh
  • модули docker, docker-context не работают как надо
    • dockerне понятно как пользоваться. Видны изменения, если написать export DOCKER_MACHINE_NAME=xyz
    • docker-context под wsl docker работает из под соседней vm /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker. И docker context ls не читает ничего из под конфигов ~/.docker. А это дополнение только парсит конфиги и по сокетам в хостовый докер не идет.

Моя конфигурация

INTERACTIVE_BASHPID_TIMER="/tmp/${USER}.START.$$"
PS0='$(echo $SECONDS > "$INTERACTIVE_BASHPID_TIMER")'

function _update_ps1() {
    local __ERRCODE=$?
    local __DURATION=0
    if [ -e $INTERACTIVE_BASHPID_TIMER ]; then
      local __END=$SECONDS
      local __START=$(cat "$INTERACTIVE_BASHPID_TIMER")
      __DURATION="$(($__END - ${__START:-__END}))"
      rm -f "$INTERACTIVE_BASHPID_TIMER"
    fi

    # default + gitlite + -hostname-only-if-ssh + duration + no-user + max-width
    PS1="$($GOPATH/bin/powerline-go -error $__ERRCODE -modules duration,venv,host,ssh,cwd,perms,gitlite,exit,root -max-width 50 -duration $__DURATION  -hostname-only-if-ssh -priority git-branch,git-status,root,cwd,user,host,ssh,perms,jobs,exit,cwd-path)"
}

if [ "$TERM" != "linux" ] && [ -f "$GOPATH/bin/powerline-go" ]; then
    PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

Не реализованное

Описать первоначальный рпоцесс https://www.youtube.com/watch?v=PWu3-9GSs-8

С поправками Биндиги тут:

# load powerline
if [ -f `which powerline-daemon` ]; then
    powerline-daemon -q
    POWERLINE_BASH_CONTINUATION=1
    POWERLINE_BASH_SELECT=1
fi
if [ -f /usr/share/powerline/bindings/bash/powerline.sh ]; then
    source /usr/share/powerline/bindings/bash/powerline.sh
fi

x-server

Ссылки

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment