Powerlevel9k / powerlevel9k

Powerlevel9k was a tool for building a beautiful and highly functional CLI, customized for you. P9k had a substantial impact on CLI UX, and its legacy is now continued by P10k.
https://github.com/romkatv/powerlevel10k
MIT License
13.46k stars 946 forks source link

Last character on input becomes invisible #389

Closed j9ac9k closed 7 years ago

j9ac9k commented 7 years ago

Not sure how to accurate explain the issue, often when using tab completion, the last character becomes invisible. Finally had a case where I could screen shot to illustrate what's going on.

screen shot 2017-01-26 at 9 54 40 am

Note that the 'k' in 'schoolwork/' is missing.

Here are my powerline settings inside my .zshrc:

# Theme Settings
# Using awesome patched font
POWERLEVEL9K_MODE='awesome-patched'

POWERLEVEL9K_PROMPT_ON_NEWLINE=true

POWERLEVEL9K_BATTERY_CHARGING='yellow'
POWERLEVEL9K_BATTERY_CHARGED='green'
POWERLEVEL9K_BATTERY_DISCONNECTED='$DEFAULT_COLOR'
POWERLEVEL9K_BATTERY_LOW_THRESHOLD='10'
POWERLEVEL9K_BATTERY_LOW_COLOR='red'
POWERLEVEL9K_BATTERY_ICON='\uf1e6 '

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status anaconda time)

POWERLEVEL9K_TIME_FORMAT="%D{%H:%M \uE868  %d.%m.%y}"
POWERLEVEL9K_ANACONDA_LEFT_DELIMITER=''
POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER=''
POWERLEVEL9K_ANACONDA_BACKGROUND=244
POWERLEVEL9K_ANACONDA_FOREGROUND="black"

EDIT:

I was playing around with this more, the last character turns invisible after I do a TAB completion AND hit the space-bar.

If I then hold backspace to clear out the line, this is what remains on my terminal.

screen shot 2017-01-26 at 10 02 26 am

dritter commented 7 years ago

Hi @j9ac9k ! Let me guess, you've set ZLE_RPROMPT_INDENT=0, right? This is the most common cause for this problem. It should work right again, if you unset this variable. Unfortunately, the right prompt will be indented again.

Btw. Your prompt looks awesome! :)

j9ac9k commented 7 years ago

If that is a parameter inside .zshrc, I do not have it set:

cat ~/.zshrc | grep ZLE returns nothing

Thanks, I followed a lot of the examples posted here on the github, was a great resource, need another python icon though ;)

dritter commented 7 years ago

Hmm. What does echo $ZLE_RPROMPT_INDENT gives you?

j9ac9k commented 7 years ago

It doesn't return anything.

dritter commented 7 years ago

Okay. Best way to hunt that bug down is disabling your config line by line to see if it works then. I suggest you try disabling these lines first.

Sorry, that is the best idea I have..

j9ac9k commented 7 years ago

That script runs one time on a setup of a new machine; however it definitely could be the issue. The package includes some powerline plugins/bindings for vim/tmux and so on which are really nice... suppose it could be interfering with powerline9k. I'll have to think about how to address it some more.

j9ac9k commented 7 years ago

Well, I wish I could say exactly what I did to fix the issue, but I'm not sure.

Somewhere along the way, the issue seems to have been resolved by me shuffling around the contents of my .zshrc file

# You may need to manually set your language environment
export LANG=en_US.UTF-8

# Setting Terminal
export TERM="xterm-256color"

# Path to powerline-status installation
export POWERLINE_REPOSITORY_ROOT=$(/usr/local/bin/python -c 'import powerline, os; print(os.path.dirname(powerline.__file__))')

# Path to your oh-my-zsh installation.
export ZSH=/Users/ogi/.oh-my-zsh

# If you come from bash you might have to change your $PATH.
export PATH=~/miniconda3/bin:$(brew --prefix coreutils)/libexec/gnubin:$HOME/bin:/usr/local/sbin:"$PATH"

# User configurationnvm
export MANPATH="$(brew --prefix coreutils)/libexec/gnuman:/usr/local/man:$MANPATH"

# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="powerlevel9k/powerlevel9k"

# Theme Settings
# Using awesome patched font
POWERLEVEL9K_MODE='awesome-patched'

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status anaconda time)

POWERLEVEL9K_TIME_FORMAT="%D{%H:%M \uE868  %d.%m.%y}"
POWERLEVEL9K_ANACONDA_LEFT_DELIMITER=''
POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER=''
POWERLEVEL9K_ANACONDA_BACKGROUND=244
POWERLEVEL9K_ANACONDA_FOREGROUND="black"

POWERLEVEL9K_CHANGESET_HASH_LENGTH=6
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
POWERLEVEL9K_SHORTEN_DIR_LENGTH=4
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=""
POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX=" ❯ "

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git git-flow-completion python osx)

source $ZSH/oh-my-zsh.sh

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# ssh
export SSH_KEY_PATH="/Users/$USER/.ssh/rsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

# Disabling Update
DISABLE_UPDATE_PROMPT=true

export DEFAULT_USER="$USER"

# Ensuring z is used
/usr/local/etc/profile.d/z.sh

# Activate the right conda environment
source activate main

# Nice graphics
archey

# Iterm2 Shell Integration
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"

# Powerline Daemon
powerline-daemon -q
source "$POWERLINE_REPOSITORY_ROOT/bindings/zsh/powerline.zsh"

I basically tried to move my exports to the top of the .zshrc file, then I specified the theme and theme parameters, then I specified the oh-my-zsh variables, and lastly I started the powerline-daemon and sourced powerline.zsh file.

I'll close the issue for now, wish I could have come up with something a little more definative. Perhaps it would be worth including something in a FAQ about the general order of a .zshrc file, and what needs to go before what or something to that effect?

j9ac9k commented 7 years ago

Was dicking around some more with my .zshrc file and it looks like the line

POWERLEVEL9K_MODE='awesome-patched'

seems to be the culprit. When I have that line commented out, I do not get the issue, otherwise, my TAB completions are messed up.

dritter commented 7 years ago

@j9ac9k What locale do you have set?

j9ac9k commented 7 years ago

The following is the output of locale

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
dritter commented 7 years ago

And your character encoding in iTerm is set to UTF8 as well? bildschirmfoto 2017-02-07 um 20 59 10

j9ac9k commented 7 years ago

screen shot 2017-02-07 at 12 00 57 pm

Can confirm that I have unicode set for character encoding (for reference using Iterm2 3.0.13)

Only other thing I was thinking is I could try to redo the awesome patched fonts.

dritter commented 7 years ago

Hmm. Maybe. Although I don't think this is the problem.

IMHO this must be caused by something manipulating the cursor position or sending some control characters. This could be the multiline prompt (there we do some magic to move the cursor around) or some encoding problem. As it does not seem to be encoding related, could you disable multiline prompt and see if this still happens?

j9ac9k commented 7 years ago

feb-07-2017 12-35-57 On single-line mode there is definitely something still going on.

feb-07-2017 12-35-35

dritter commented 7 years ago

It looks like you have the "show mark indicators" feature of iterm2 (Preferences/Profiles/Terminal -> at the bottom) enabled. Could you try disabling that?

j9ac9k commented 7 years ago

It was indeed enabled, unfortunately disabling it didn't make any impact :(

dritter commented 7 years ago

Even not, if you disable the shell integration (checkbox above "show mark indicators") and restarting iterm after that?

j9ac9k commented 7 years ago

I disabled 'Insert newline before start of command prompt if needed' and disabled 'show mark indicators'...also commented out the bit of .zshrc that enables the ITerm shell integration, but still getting these tab completion issues.

Just checked again that commenting out the POWERLEVEL9K_MODE='awesome-patched' and got normal tab-completion behavior.

dritter commented 7 years ago

This is giving me a really hard time.. Which font have you installed? Is that one of the pre-patched fonts from the awesome-terminal-fonts project, or did you patch one on your own? A desperate try to find this bug would be to overwrite all the icons to a pure ascii character and see, if that problem still persists. For that purpose, you could use the function get_icon_names.

dritter commented 7 years ago

Another quick Idea: Do you have "Profiles / Text / Treat ambiguous-width characters as double width" checked in the iTerm preferences? bildschirmfoto 2017-02-09 um 00 02 32

j9ac9k commented 7 years ago

Sorry for the delay in my response.

I have both of the ITerm checkboxes unchecked as you show in your screengrab.

Regarding the fonts, my procedure clones the this repository: https://github.com/gabrielelana/awesome-terminal-fonts/

From the 'patching-strategy' branch, I copy the ./patced/SourceCodePro*.tff fonts to /Library/Fonts

Inside ITerm2 I select the 'SourceCodePro+Powerline_Awesome Regular font (12pt).

get_icon_names shows most of the icons, but definitely not all.

How would I go about overwriting the icons?

bhilburn commented 7 years ago

@j9ac9k - Instructions for customizing fonts can be found on the Wiki, here: https://github.com/bhilburn/powerlevel9k/wiki/Stylizing-Your-Prompt#icon-customization

I agree with @dritter, this problem is really strange. I've never seen it reported before (at least that I can remember). As I don't have a Mac, I'm unfortunately totally useless when it comes to debugging this.

It doesn't make any sense to me that this would be the icon definitions in the awesome-patched config. I did notice this line in your config:

# Ensuring z is used
/usr/local/etc/profile.d/z.sh

Which seems like it may be modifying something about your shell. It appears to be a macOS-specific thing, though, so again I'm not sure?

j9ac9k commented 7 years ago

here is where the 'z.sh' comes from: https://github.com/rupa/z

I commented out that line and reloaded a shell, still the same issue.

I'll see what I can do about overwriting the icons.

j9ac9k commented 7 years ago

EDIT: okay, I think I know what's causing the issue, going to mess around w/ my .zshrc file a little more, but it seems like the

source activate main line may be the culprit (it activates the 'main' anaconda environment).

Will do some more testing to make sure that's the cause here.

j9ac9k commented 7 years ago

Even more zeroing in, when I state

POWERLEVEL9K_PYTHON_ICON=''

I can now activate the conda environment, and my terminal behaves properly.

bhilburn commented 7 years ago

@j9ac9k - Thanks for the additional debugging! So, just to be sure, this is your segment config, right?

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status anaconda time)

The only place the PYTHON_ICON is used in those segments is in the anaconda segment. Just out of curiosity, would you mind commenting these two lines out of your config and see if it affects anything?

POWERLEVEL9K_ANACONDA_LEFT_DELIMITER=''
POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER=''

If that doesn't have any effect, can you try moving the anaconda segment to your LEFT_PROMPT_ELEMENTS and let us know if that does anything?

Just to be clear, I'm trying to debug the problem so that we can locate it & fix it =)

j9ac9k commented 7 years ago

@bhilburn you don't need to explain what you're doing. I'm happy to help with debugging efforts, this is an awesome zsh theme and not really a strong coder so if I can contribute by helping debug, I'll gladly do so.

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status anaconda time)

These are two lines straight out of my .zshrc (so yes you're correct).

With the following settings (the two lines commented out you requested), and with commenting out the clearing of the PYTHON_ICON I get the strange/undesirable spacing behavior on tab completion

Relevant bit of .zshrc for reference

POWERLEVEL9K_MODE='awesome-patched'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status anaconda time)
POWERLEVEL9K_TIME_FORMAT="%D{%H:%M \uE868  %d.%m.%y}"
# POWERLEVEL9K_ANACONDA_LEFT_DELIMITER=''
# POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER=''
POWERLEVEL9K_ANACONDA_BACKGROUND=244
POWERLEVEL9K_ANACONDA_FOREGROUND="black"
# POWERLEVEL9K_PYTHON_ICON=''

If I uncomment POWERLEVEL9K_PYTHON_ICON='' I get desirable tab behavior.

Now, moving anaconda to the left side, and showing the PYTHON_ICON, I actually get the intended/correct TAB completion behavior (relevant bit of .zshrc again for reference).

POWERLEVEL9K_MODE='awesome-patched'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context anaconda dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status time)
POWERLEVEL9K_TIME_FORMAT="%D{%H:%M \uE868  %d.%m.%y}"
# POWERLEVEL9K_ANACONDA_LEFT_DELIMITER=''
# POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER=''
POWERLEVEL9K_ANACONDA_BACKGROUND=244
POWERLEVEL9K_ANACONDA_FOREGROUND="black"
# POWERLEVEL9K_PYTHON_ICON=''

I get the intended behavior with

# POWERLEVEL9K_ANACONDA_LEFT_DELIMITER=''
# POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER=''

uncommented as well

Happy to test other configurations.

dritter commented 7 years ago

Just to be sure, you are on master branch, right?

Could you post the output of setopt xtrace here? Or at least the lines where it says PROMPT=... and RPROMPT=....

j9ac9k commented 7 years ago

@dritter I can confirm I am on master branch and up to date

screen shot 2017-02-14 at 1 11 28 pm

The output for PROMPT= and RPROMPT= doesn't have anything

screen shot 2017-02-14 at 1 15 09 pm

Below is the entire output:

╰─ setopt xtrace
+omz_termsupport_precmd:1> emulate -L zsh
+omz_termsupport_precmd:3> [[ '' == true ]]
+omz_termsupport_precmd:7> title '%15<..<%~%<<' '%n@%m: %~'
+title:1> emulate -L zsh
+title:2> setopt prompt_subst
+title:4> [[ '' == *term* ]]
+title:8> : '%n@%m: %~'
+title:10> case xterm-256color (cygwin | xterm*)
+title:12> print -Pn '\e]2;%n@%m:\ %~\a'
+title:13> print -Pn '\e]1;%15\<..\<%~%\<\<\a'
+powerlevel9k_prepare_prompts:1> RETVAL=0
+powerlevel9k_prepare_prompts:3> [[ true == true ]]
+powerlevel9k_prepare_prompts:4> PROMPT=+powerlevel9k_prepare_prompts:4> print_icon MULTILINE_FIRST_PROMPT_PREFIX
+print_icon:1> local icon_name=MULTILINE_FIRST_PROMPT_PREFIX
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX
+print_icon:3> defined POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX
+defined:1> local varname=POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX
+defined:3> typeset -p POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX
+print_icon:6> echo -n ╭─
+powerlevel9k_prepare_prompts:4> PROMPT=+powerlevel9k_prepare_prompts:4> build_left_prompt
+build_left_prompt:1> local index=1
+build_left_prompt:2> element=context
+build_left_prompt:4> element=context
+build_left_prompt:8> [[ $element[0,7] -regex-match "custom_" ]]
+build_left_prompt:11> prompt_context left 1
+prompt_context:1> [[ ogi != ogi || -n '' ]]
+build_left_prompt:14> index=2
+build_left_prompt:2> element=anaconda
+build_left_prompt:4> element=anaconda
+build_left_prompt:8> [[ $element[0,7] -regex-match "custom_" ]]
+build_left_prompt:11> prompt_anaconda left 2
+prompt_anaconda:3> _path=/Users/ogi/miniconda3/envs/main
+prompt_anaconda:4> [ -z /Users/ogi/miniconda3/envs/main ']'
+prompt_anaconda:6> set_default POWERLEVEL9K_ANACONDA_LEFT_DELIMITER '('
+set_default:1> local varname=POWERLEVEL9K_ANACONDA_LEFT_DELIMITER
+set_default:2> local default_value='('
+set_default:4> defined POWERLEVEL9K_ANACONDA_LEFT_DELIMITER
+defined:1> local varname=POWERLEVEL9K_ANACONDA_LEFT_DELIMITER
+defined:3> typeset -p POWERLEVEL9K_ANACONDA_LEFT_DELIMITER
+prompt_anaconda:7> set_default POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER ')'
+set_default:1> local varname=POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER
+set_default:2> local default_value=')'
+set_default:4> defined POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER
+defined:1> local varname=POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER
+defined:3> typeset -p POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER
+prompt_anaconda:8> basename /Users/ogi/miniconda3/envs/main
+prompt_anaconda:8> left_prompt_segment prompt_anaconda 2 '' '' main PYTHON_ICON
+left_prompt_segment:1> local current_index=2
+left_prompt_segment:3> local joined
+left_prompt_segment:4> segmentShouldBeJoined 2 1 'context anaconda dir vcs'
+segmentShouldBeJoined:1> local current_index=2
+segmentShouldBeJoined:2> local last_segment_index=1
+segmentShouldBeJoined:4> local -a elements
+segmentShouldBeJoined:5> elements=( context anaconda dir vcs )
+segmentShouldBeJoined:7> local current_segment=anaconda
+segmentShouldBeJoined:8> local joined=false
+segmentShouldBeJoined:9> [[ naconda == _joined ]]
+segmentShouldBeJoined:36> [[ false == true ]]
+segmentShouldBeJoined:39> return 1
+left_prompt_segment:4> joined=false
+left_prompt_segment:7> local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_ANACONDA_BACKGROUND
+left_prompt_segment:8> local BG_COLOR_MODIFIER=244
+left_prompt_segment:9> [[ -n 244 ]]
+left_prompt_segment:9> 3=244
+left_prompt_segment:12> local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_ANACONDA_FOREGROUND
+left_prompt_segment:13> local FG_COLOR_MODIFIER=black
+left_prompt_segment:14> [[ -n black ]]
+left_prompt_segment:14> 4=black
+left_prompt_segment:16> local bg fg
+left_prompt_segment:17> [[ -n 244 ]]
+left_prompt_segment:17> bg='%K{244}'
+left_prompt_segment:18> [[ -n black ]]
+left_prompt_segment:18> fg='%F{black}'
+left_prompt_segment:20> [[ NONE != NONE ]]
+left_prompt_segment:26> isSameColor NONE 244
+isSameColor:1> [[ NONE == NONE ]]
+isSameColor:2> return 1
+left_prompt_segment:39> echo -n '%K{244} '
+left_prompt_segment:42> local visual_identifier
+left_prompt_segment:43> [[ -n PYTHON_ICON ]]
+left_prompt_segment:44> visual_identifier=+left_prompt_segment:44> print_icon PYTHON_ICON
+print_icon:1> local icon_name=PYTHON_ICON
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_PYTHON_ICON
+print_icon:3> defined POWERLEVEL9K_PYTHON_ICON
+defined:1> local varname=POWERLEVEL9K_PYTHON_ICON
+defined:3> typeset -p POWERLEVEL9K_PYTHON_ICON
+print_icon:6> echo -n 🐍
+left_prompt_segment:44> visual_identifier=🐍
+left_prompt_segment:45> [[ -n 🐍 ]]
+left_prompt_segment:47> local visual_identifier_color_variable=POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_COLOR
+left_prompt_segment:48> set_default POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_COLOR black
+set_default:1> local varname=POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_COLOR
+set_default:2> local default_value=black
+set_default:4> defined POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_COLOR
+defined:1> local varname=POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_COLOR
+defined:3> typeset -p POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_COLOR
+set_default:4> typeset -g 'POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_COLOR=black'
+left_prompt_segment:49> visual_identifier='%F{black%}🐍%f'
+left_prompt_segment:51> [[ -n main ]]
+left_prompt_segment:51> visual_identifier='%F{black%}🐍%f '
+left_prompt_segment:56> echo -n '%F{black%}🐍%f '
+left_prompt_segment:58> [[ -n main ]]
+left_prompt_segment:58> echo -n '%F{black}main'
+left_prompt_segment:59> echo -n ' '
+left_prompt_segment:61> CURRENT_BG=244
+left_prompt_segment:62> last_left_element_index=2
+build_left_prompt:14> index=3
+build_left_prompt:2> element=dir
+build_left_prompt:4> element=dir
+build_left_prompt:8> [[ $element[0,7] -regex-match "custom_" ]]
+build_left_prompt:11> prompt_dir left 3
+prompt_dir:1> local current_path='%~'
+prompt_dir:2> [[ -n 4 ]]
+prompt_dir:4> set_default POWERLEVEL9K_SHORTEN_DELIMITER …
+set_default:1> local varname=POWERLEVEL9K_SHORTEN_DELIMITER
+set_default:2> local default_value=…
+set_default:4> defined POWERLEVEL9K_SHORTEN_DELIMITER
+defined:1> local varname=POWERLEVEL9K_SHORTEN_DELIMITER
+defined:3> typeset -p POWERLEVEL9K_SHORTEN_DELIMITER
+set_default:4> typeset -g 'POWERLEVEL9K_SHORTEN_DELIMITER=…'
+prompt_dir:6> case truncate_middle (truncate_middle)
+prompt_dir:8> current_path=+prompt_dir:8> pwd
+prompt_dir:8> current_path=+prompt_dir:8> sed -e 's,^/Users/ogi,~,'
+prompt_dir:8> current_path=+prompt_dir:8> sed -E 's/([^/]{4})[^/]+([^/]{4})\//\1…\2\//g'
+prompt_dir:8> current_path='~'
+prompt_dir:48> local current_icon=''
+prompt_dir:49> [[+prompt_dir:49> print -P '%~'
+prompt_dir:49> [[ '~' == \~ ]]
+prompt_dir:50> left_prompt_segment prompt_dir_HOME 3 blue black '~' HOME_ICON
+left_prompt_segment:1> local current_index=3
+left_prompt_segment:3> local joined
+left_prompt_segment:4> segmentShouldBeJoined 3 2 'context anaconda dir vcs'
+segmentShouldBeJoined:1> local current_index=3
+segmentShouldBeJoined:2> local last_segment_index=2
+segmentShouldBeJoined:4> local -a elements
+segmentShouldBeJoined:5> elements=( context anaconda dir vcs )
+segmentShouldBeJoined:7> local current_segment=dir
+segmentShouldBeJoined:8> local joined=false
+segmentShouldBeJoined:9> [[ dir == _joined ]]
+segmentShouldBeJoined:36> [[ false == true ]]
+segmentShouldBeJoined:39> return 1
+left_prompt_segment:4> joined=false
+left_prompt_segment:7> local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_DIR_HOME_BACKGROUND
+left_prompt_segment:8> local BG_COLOR_MODIFIER=''
+left_prompt_segment:9> [[ -n '' ]]
+left_prompt_segment:12> local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_DIR_HOME_FOREGROUND
+left_prompt_segment:13> local FG_COLOR_MODIFIER=''
+left_prompt_segment:14> [[ -n '' ]]
+left_prompt_segment:16> local bg fg
+left_prompt_segment:17> [[ -n blue ]]
+left_prompt_segment:17> bg='%K{blue}'
+left_prompt_segment:18> [[ -n black ]]
+left_prompt_segment:18> fg='%F{black}'
+left_prompt_segment:20> [[ 244 != NONE ]]
+left_prompt_segment:20> isSameColor blue 244
+isSameColor:1> [[ blue == NONE || 244 == NONE ]]
+isSameColor:5> getColorCode blue
+getColorCode:2> [[ blue = <-> ]]
+getColorCode:12> typeset -A codes
+getColorCode:13> codes=( black 000 red 001 green 002 yellow 003 blue 004 magenta 005 cyan 006 white 007 )
+getColorCode:25> 1=blue
+getColorCode:27> 1=blue
+getColorCode:29> 1=blue
+getColorCode:30> echo 004
+isSameColor:5> local color1=004
+isSameColor:6> getColorCode 244
+getColorCode:2> [[ 244 = <-> ]]
+getColorCode:6> [[ 244 = <8-15> ]]
+getColorCode:9> echo 244
+isSameColor:6> local color2=244
+isSameColor:8> return 1
+left_prompt_segment:21> echo -n '%K{blue}%F{244}'
+left_prompt_segment:22> [[ false == false ]]
+left_prompt_segment:24> print_icon LEFT_SEGMENT_SEPARATOR
+print_icon:1> local icon_name=LEFT_SEGMENT_SEPARATOR
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+print_icon:3> defined POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+defined:1> local varname=POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+defined:3> typeset -p POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+print_icon:6> echo -n 
+left_prompt_segment:24> echo -n ' '
+left_prompt_segment:42> local visual_identifier
+left_prompt_segment:43> [[ -n HOME_ICON ]]
+left_prompt_segment:44> visual_identifier=+left_prompt_segment:44> print_icon HOME_ICON
+print_icon:1> local icon_name=HOME_ICON
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_HOME_ICON
+print_icon:3> defined POWERLEVEL9K_HOME_ICON
+defined:1> local varname=POWERLEVEL9K_HOME_ICON
+defined:3> typeset -p POWERLEVEL9K_HOME_ICON
+print_icon:6> echo -n 
+left_prompt_segment:44> visual_identifier=
+left_prompt_segment:45> [[ -n  ]]
+left_prompt_segment:47> local visual_identifier_color_variable=POWERLEVEL9K_DIR_HOME_VISUAL_IDENTIFIER_COLOR
+left_prompt_segment:48> set_default POWERLEVEL9K_DIR_HOME_VISUAL_IDENTIFIER_COLOR black
+set_default:1> local varname=POWERLEVEL9K_DIR_HOME_VISUAL_IDENTIFIER_COLOR
+set_default:2> local default_value=black
+set_default:4> defined POWERLEVEL9K_DIR_HOME_VISUAL_IDENTIFIER_COLOR
+defined:1> local varname=POWERLEVEL9K_DIR_HOME_VISUAL_IDENTIFIER_COLOR
+defined:3> typeset -p POWERLEVEL9K_DIR_HOME_VISUAL_IDENTIFIER_COLOR
+set_default:4> typeset -g 'POWERLEVEL9K_DIR_HOME_VISUAL_IDENTIFIER_COLOR=black'
+left_prompt_segment:49> visual_identifier='%F{black%}%f'
+left_prompt_segment:51> [[ -n '~' ]]
+left_prompt_segment:51> visual_identifier='%F{black%}%f '
+left_prompt_segment:56> echo -n '%F{black%}%f '
+left_prompt_segment:58> [[ -n '~' ]]
+left_prompt_segment:58> echo -n '%F{black}~'
+left_prompt_segment:59> echo -n ' '
+left_prompt_segment:61> CURRENT_BG=blue
+left_prompt_segment:62> last_left_element_index=3
+build_left_prompt:14> index=4
+build_left_prompt:2> element=vcs
+build_left_prompt:4> element=vcs
+build_left_prompt:8> [[ $element[0,7] -regex-match "custom_" ]]
+build_left_prompt:11> prompt_vcs left 4
+prompt_vcs:1> VCS_WORKDIR_DIRTY=false
+prompt_vcs:2> VCS_WORKDIR_HALF_DIRTY=false
+prompt_vcs:3> current_state=''
+prompt_vcs:6> vcs_info
+vcs_info:11> setopt localoptions noksharrays extendedglob NO_shwordsplit
+vcs_info:12> local file func sys
+vcs_info:13> local -a static_functions msgs
+vcs_info:14> local -i maxexports
+vcs_info:16> static_functions=( VCS_INFO_adjust VCS_INFO_bydir_detect VCS_INFO_check_com VCS_INFO_formats VCS_INFO_get_cmd VCS_INFO_hexdump VCS_INFO_hook VCS_INFO_maxexports VCS_INFO_nvcsformats VCS_INFO_patch2subject VCS_INFO_quilt VCS_INFO_realpath VCS_INFO_reposub VCS_INFO_set vcs_info_hookadd vcs_info_hookdel vcs_info_lastmsg vcs_info_printsys vcs_info_setsys )
+vcs_info:39> func=VCS_INFO_adjust
+vcs_info:40> autoload -Uz VCS_INFO_adjust
+vcs_info:39> func=VCS_INFO_bydir_detect
+vcs_info:40> autoload -Uz VCS_INFO_bydir_detect
+vcs_info:39> func=VCS_INFO_check_com
+vcs_info:40> autoload -Uz VCS_INFO_check_com
+vcs_info:39> func=VCS_INFO_formats
+vcs_info:40> autoload -Uz VCS_INFO_formats
+vcs_info:39> func=VCS_INFO_get_cmd
+vcs_info:40> autoload -Uz VCS_INFO_get_cmd
+vcs_info:39> func=VCS_INFO_hexdump
+vcs_info:40> autoload -Uz VCS_INFO_hexdump
+vcs_info:39> func=VCS_INFO_hook
+vcs_info:40> autoload -Uz VCS_INFO_hook
+vcs_info:39> func=VCS_INFO_maxexports
+vcs_info:40> autoload -Uz VCS_INFO_maxexports
+vcs_info:39> func=VCS_INFO_nvcsformats
+vcs_info:40> autoload -Uz VCS_INFO_nvcsformats
+vcs_info:39> func=VCS_INFO_patch2subject
+vcs_info:40> autoload -Uz VCS_INFO_patch2subject
+vcs_info:39> func=VCS_INFO_quilt
+vcs_info:40> autoload -Uz VCS_INFO_quilt
+vcs_info:39> func=VCS_INFO_realpath
+vcs_info:40> autoload -Uz VCS_INFO_realpath
+vcs_info:39> func=VCS_INFO_reposub
+vcs_info:40> autoload -Uz VCS_INFO_reposub
+vcs_info:39> func=VCS_INFO_set
+vcs_info:40> autoload -Uz VCS_INFO_set
+vcs_info:39> func=vcs_info_hookadd
+vcs_info:40> autoload -Uz vcs_info_hookadd
+vcs_info:39> func=vcs_info_hookdel
+vcs_info:40> autoload -Uz vcs_info_hookdel
+vcs_info:39> func=vcs_info_lastmsg
+vcs_info:40> autoload -Uz vcs_info_lastmsg
+vcs_info:39> func=vcs_info_printsys
+vcs_info:40> autoload -Uz vcs_info_printsys
+vcs_info:39> func=vcs_info_setsys
+vcs_info:40> autoload -Uz vcs_info_setsys
+vcs_info:43> [[ -n '' ]]
+vcs_info:44> VCS_INFO_maxexports
+VCS_INFO_maxexports:5> setopt localoptions NO_shwordsplit unset
+VCS_INFO_maxexports:7> zstyle -s :vcs_info::: max-exports maxexports
+VCS_INFO_maxexports:7> maxexports=2
+VCS_INFO_maxexports:8> [[ 2 != <-> ]]
+VCS_INFO_maxexports:8> ((  maxexports < 1  ))
+VCS_INFO_maxexports:13> return 0
+vcs_info:45> VCS_INFO_set --nvcs -preinit-
+VCS_INFO_set:5> setopt localoptions noksharrays NO_shwordsplit unset
+VCS_INFO_set:6> local -i i j
+VCS_INFO_set:8> [[ --nvcs == --nvcs ]]
+VCS_INFO_set:9> [[ -preinit- == -preinit- ]]
+VCS_INFO_set:9> ((  maxexports == 0  ))
+VCS_INFO_set:10> i=0
+VCS_INFO_set:11> typeset -g 'vcs_info_msg_0_='
+VCS_INFO_set:10> i=1
+VCS_INFO_set:11> typeset -g 'vcs_info_msg_1_='
+VCS_INFO_set:13> VCS_INFO_nvcsformats -preinit-
+VCS_INFO_nvcsformats:5> setopt localoptions noksharrays NO_shwordsplit
+VCS_INFO_nvcsformats:6> local c v rr
+VCS_INFO_nvcsformats:8> [[ -preinit- == -preinit- ]]
+VCS_INFO_nvcsformats:9> c=default
+VCS_INFO_nvcsformats:10> v=-preinit-
+VCS_INFO_nvcsformats:11> rr=-all-
+VCS_INFO_nvcsformats:13> zstyle -a :vcs_info:-preinit-:default:-all- nvcsformats msgs
+VCS_INFO_nvcsformats:14> ((  0 > maxexports  ))
+VCS_INFO_nvcsformats:15> return 0
+VCS_INFO_set:14> [[ -preinit- != -preinit- ]]
+VCS_INFO_set:17> ((  0 - 1 < 0  ))
+VCS_INFO_set:17> return 0
+vcs_info:46> vcs_info_setsys
+vcs_info_setsys:5> emulate -L zsh
+vcs_info_setsys:6> setopt extendedglob typeset_silent
+vcs_info_setsys:8> local sys
+vcs_info_setsys:9> typeset -ga VCS_INFO_backends
+vcs_info_setsys:10> local -a match mbegin mend
+vcs_info_setsys:12> VCS_INFO_backends=( )
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_bzr
+vcs_info_setsys:15> file=VCS_INFO_get_data_bzr
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=bzr
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( bzr )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_bzr
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_bzr
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_cdv
+vcs_info_setsys:15> file=VCS_INFO_get_data_cdv
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=cdv
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( cdv )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_cdv
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_cdv
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_cvs
+vcs_info_setsys:15> file=VCS_INFO_get_data_cvs
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=cvs
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( cvs )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_cvs
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_cvs
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_darcs
+vcs_info_setsys:15> file=VCS_INFO_get_data_darcs
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=darcs
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( darcs )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_darcs
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_darcs
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_fossil
+vcs_info_setsys:15> file=VCS_INFO_get_data_fossil
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=fossil
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( fossil )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_fossil
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_fossil
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_git
+vcs_info_setsys:15> file=VCS_INFO_get_data_git
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=git
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( git )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_git
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_git
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_hg
+vcs_info_setsys:15> file=VCS_INFO_get_data_hg
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=hg
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( hg )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_hg
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_hg
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_mtn
+vcs_info_setsys:15> file=VCS_INFO_get_data_mtn
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=mtn
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( mtn )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_mtn
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_mtn
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_p4
+vcs_info_setsys:15> file=VCS_INFO_get_data_p4
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=p4
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( p4 )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_p4
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_p4
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_svk
+vcs_info_setsys:15> file=VCS_INFO_get_data_svk
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=svk
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( svk )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_svk
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_svk
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_svn
+vcs_info_setsys:15> file=VCS_INFO_get_data_svn
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=svn
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( svn )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_svn
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_svn
+vcs_info_setsys:14> file=/usr/local/Cellar/zsh/5.3.1/share/zsh/functions/VCS_INFO_get_data_tla
+vcs_info_setsys:15> file=VCS_INFO_get_data_tla
+vcs_info_setsys:16> :
+vcs_info_setsys:17> sys=tla
+vcs_info_setsys:19> [[ -n '' ]]
+vcs_info_setsys:20> VCS_INFO_backends+=( tla )
+vcs_info_setsys:21> autoload -Uz VCS_INFO_detect_tla
+vcs_info_setsys:22> autoload -Uz VCS_INFO_get_data_tla
+vcs_info_setsys:25> return 0
+vcs_info:147> vcs_info
+vcs_info:1> emulate -L zsh
+vcs_info:2> setopt extendedglob NO_warn_create_global
+vcs_info:4> [[ -r . ]]
+vcs_info:6> local pat
+vcs_info:7> local -i found retval
+vcs_info:8> local -a enabled disabled dps
+vcs_info:9> local usercontext vcs rrn quiltmode
+vcs_info:10> local -x LC_MESSAGES
+vcs_info:11> local -i maxexports
+vcs_info:12> local -a msgs
+vcs_info:13> local -A vcs_comm hook_com backend_misc user_data
+vcs_info:15> LC_MESSAGES=C
+vcs_info:16> [[ -n '' ]]
+vcs_info:21> vcs=-init-
+vcs_info:21> rrn=-all-
+vcs_info:21> quiltmode=addon
+vcs_info:22> usercontext=default
+vcs_info:24> VCS_INFO_hook start-up
+VCS_INFO_hook:5> local hook static func
+VCS_INFO_hook:6> local context hook_name
+VCS_INFO_hook:7> local -i ret
+VCS_INFO_hook:8> local -a hooks tmp
+VCS_INFO_hook:9> local -i debug
+VCS_INFO_hook:11> ret=0
+VCS_INFO_hook:12> hook_name=start-up
+VCS_INFO_hook:13> shift
+VCS_INFO_hook:14> context=:vcs_info:-init-+start-up:default:-all-
+VCS_INFO_hook:15> static=:vcs_info-static_hooks:start-up
+VCS_INFO_hook:17> zstyle -t :vcs_info:-init-+start-up:default:-all- debug
+VCS_INFO_hook:17> debug=0
+VCS_INFO_hook:18> ((  debug  ))
+VCS_INFO_hook:24> zstyle -a :vcs_info-static_hooks:start-up hooks hooks
+VCS_INFO_hook:25> ((  debug  ))
+VCS_INFO_hook:28> zstyle -a :vcs_info:-init-+start-up:default:-all- hooks tmp
+VCS_INFO_hook:29> ((  debug  ))
+VCS_INFO_hook:32> hooks+=( )
+VCS_INFO_hook:33> ((  0 == 0  ))
+VCS_INFO_hook:33> return 0
+vcs_info:25> retval=0
+vcs_info:26> ((  retval == 1  ))
+vcs_info:28> ((  retval == 2  ))
+vcs_info:36> zstyle -a :vcs_info:-init-:default:-all- enable enabled
+vcs_info:37> ((  3 == 0  ))
+vcs_info:39> [[ -n '' ]]
+vcs_info:44> [[ -n '' ]]
+vcs_info:49> zstyle -a :vcs_info:-init-:default:-all- disable-patterns dps
+vcs_info:59> VCS_INFO_maxexports
+VCS_INFO_maxexports:5> setopt localoptions NO_shwordsplit unset
+VCS_INFO_maxexports:7> zstyle -s :vcs_info:-init-:default:-all- max-exports maxexports
+VCS_INFO_maxexports:7> maxexports=2
+VCS_INFO_maxexports:8> [[ 2 != <-> ]]
+VCS_INFO_maxexports:8> ((  maxexports < 1  ))
+VCS_INFO_maxexports:13> return 0
+vcs_info:61> ((  found = 0  ))
+vcs_info:62> vcs=git
+vcs_info:63> [[ -n '' ]]
+vcs_info:64> ((  1 == 0  ))
+vcs_info:69> vcs_comm=( )
+vcs_info:70> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4> local cmd
+VCS_INFO_get_cmd:5> zstyle -s :vcs_info:git:default:-all- command cmd
+VCS_INFO_get_cmd:6> vcs_comm[cmd]=git
+vcs_info:71> VCS_INFO_detect_git
+VCS_INFO_detect_git:5> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_git:7> [[ '' == --flavours ]]
+VCS_INFO_detect_git:9> VCS_INFO_check_com git
+VCS_INFO_check_com:5> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7> case git (/*)
+VCS_INFO_check_com:7> case git (*)
+VCS_INFO_check_com:12> ((  1  ))
+VCS_INFO_check_com:12> return 0
+VCS_INFO_detect_git:9> git rev-parse --is-inside-work-tree
+VCS_INFO_detect_git:15> return 1
+vcs_info:62> vcs=hg
+vcs_info:63> [[ -n '' ]]
+vcs_info:64> ((  1 == 0  ))
+vcs_info:69> vcs_comm=( )
+vcs_info:70> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4> local cmd
+VCS_INFO_get_cmd:5> zstyle -s :vcs_info:hg:default:-all- command cmd
+VCS_INFO_get_cmd:6> vcs_comm[cmd]=hg
+vcs_info:71> VCS_INFO_detect_hg
+VCS_INFO_detect_hg:5> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_hg:7> [[ '' == --flavours ]]
+VCS_INFO_detect_hg:9> VCS_INFO_check_com hg
+VCS_INFO_check_com:5> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7> case hg (/*)
+VCS_INFO_check_com:7> case hg (*)
+VCS_INFO_check_com:12> ((  0  ))
+VCS_INFO_check_com:15> return 1
+VCS_INFO_detect_hg:9> return 1
+vcs_info:62> vcs=svn
+vcs_info:63> [[ -n '' ]]
+vcs_info:64> ((  1 == 0  ))
+vcs_info:69> vcs_comm=( )
+vcs_info:70> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4> local cmd
+VCS_INFO_get_cmd:5> zstyle -s :vcs_info:svn:default:-all- command cmd
+VCS_INFO_get_cmd:6> vcs_comm[cmd]=svn
+vcs_info:71> VCS_INFO_detect_svn
+VCS_INFO_detect_svn:5> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_svn:7> [[ '' == --flavours ]]
+VCS_INFO_detect_svn:9> VCS_INFO_check_com svn
+VCS_INFO_check_com:5> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7> case svn (/*)
+VCS_INFO_check_com:7> case svn (*)
+VCS_INFO_check_com:12> ((  1  ))
+VCS_INFO_check_com:12> return 0
+VCS_INFO_detect_svn:10> vcs_comm[detect_need_file]='entries format wc.db'
+VCS_INFO_detect_svn:11> VCS_INFO_bydir_detect .svn
+VCS_INFO_bydir_detect:5> setopt localoptions NO_shwordsplit
+VCS_INFO_bydir_detect:6> local dirname=.svn
+VCS_INFO_bydir_detect:7> local basedir=. realbasedir file
+VCS_INFO_bydir_detect:9> realbasedir=+VCS_INFO_bydir_detect:9> VCS_INFO_realpath .
+VCS_INFO_realpath:5> setopt localoptions NO_shwordsplit chaselinks
+VCS_INFO_realpath:7> cd -q .
+VCS_INFO_realpath:7> pwd
+VCS_INFO_bydir_detect:9> realbasedir=/Users/ogi
+VCS_INFO_bydir_detect:10> [[ /Users/ogi != / ]]
+VCS_INFO_bydir_detect:11> [[ -r /Users/ogi ]]
+VCS_INFO_bydir_detect:12> [[ -n 'entries format wc.db' ]]
+VCS_INFO_bydir_detect:13> [[ -d ./.svn ]]
+VCS_INFO_bydir_detect:22> basedir=./..
+VCS_INFO_bydir_detect:23> realbasedir=+VCS_INFO_bydir_detect:23> VCS_INFO_realpath ./..
+VCS_INFO_realpath:5> setopt localoptions NO_shwordsplit chaselinks
+VCS_INFO_realpath:7> cd -q ./..
+VCS_INFO_realpath:7> pwd
+VCS_INFO_bydir_detect:23> realbasedir=/Users
+VCS_INFO_bydir_detect:10> [[ /Users != / ]]
+VCS_INFO_bydir_detect:11> [[ -r /Users ]]
+VCS_INFO_bydir_detect:12> [[ -n 'entries format wc.db' ]]
+VCS_INFO_bydir_detect:13> [[ -d ./../.svn ]]
+VCS_INFO_bydir_detect:22> basedir=./../..
+VCS_INFO_bydir_detect:23> realbasedir=+VCS_INFO_bydir_detect:23> VCS_INFO_realpath ./../..
+VCS_INFO_realpath:5> setopt localoptions NO_shwordsplit chaselinks
+VCS_INFO_realpath:7> cd -q ./../..
+VCS_INFO_realpath:7> pwd
+VCS_INFO_bydir_detect:23> realbasedir=/
+VCS_INFO_bydir_detect:10> [[ / != / ]]
+VCS_INFO_bydir_detect:26> [[ / == / ]]
+VCS_INFO_bydir_detect:26> return 1
+VCS_INFO_detect_svn:11> return 1
+vcs_info:74> ((  found == 0  ))
+vcs_info:75> vcs=-quilt-
+vcs_info:75> quiltmode=standalone
+vcs_info:76> VCS_INFO_quilt standalone
+VCS_INFO_quilt:221> VCS_INFO_quilt standalone
+VCS_INFO_quilt:1> emulate -L zsh
+VCS_INFO_quilt:2> setopt extendedglob
+VCS_INFO_quilt:3> local mode=standalone
+VCS_INFO_quilt:4> local patches pc tmp qstring root
+VCS_INFO_quilt:5> local -i ret
+VCS_INFO_quilt:6> local context
+VCS_INFO_quilt:7> local -a applied unapplied all applied_string unapplied_string quiltcommand quilt_env
+VCS_INFO_quilt:8> local -A hook_com
+VCS_INFO_quilt:10> context=:vcs_info:-quilt-.quilt-standalone:default:-all-
+VCS_INFO_quilt:11> zstyle -t :vcs_info:-quilt-.quilt-standalone:default:-all- use-quilt
+VCS_INFO_quilt:11> return 1
+vcs_info:76> VCS_INFO_set --nvcs
+VCS_INFO_set:5> setopt localoptions noksharrays NO_shwordsplit unset
+VCS_INFO_set:6> local -i i j
+VCS_INFO_set:8> [[ --nvcs == --nvcs ]]
+VCS_INFO_set:9> [[ '' == -preinit- ]]
+VCS_INFO_set:10> i=0
+VCS_INFO_set:11> typeset -g 'vcs_info_msg_0_='
+VCS_INFO_set:10> i=1
+VCS_INFO_set:11> typeset -g 'vcs_info_msg_1_='
+VCS_INFO_set:13> VCS_INFO_nvcsformats
+VCS_INFO_nvcsformats:5> setopt localoptions noksharrays NO_shwordsplit
+VCS_INFO_nvcsformats:6> local c v rr
+VCS_INFO_nvcsformats:8> [[ '' == -preinit- ]]
+VCS_INFO_nvcsformats:13> zstyle -a :vcs_info:-quilt-:default:-all- nvcsformats msgs
+VCS_INFO_nvcsformats:14> ((  0 > maxexports  ))
+VCS_INFO_nvcsformats:15> return 0
+VCS_INFO_set:14> [[ '' != -preinit- ]]
+VCS_INFO_set:14> VCS_INFO_hook no-vcs
+VCS_INFO_hook:5> local hook static func
+VCS_INFO_hook:6> local context hook_name
+VCS_INFO_hook:7> local -i ret
+VCS_INFO_hook:8> local -a hooks tmp
+VCS_INFO_hook:9> local -i debug
+VCS_INFO_hook:11> ret=0
+VCS_INFO_hook:12> hook_name=no-vcs
+VCS_INFO_hook:13> shift
+VCS_INFO_hook:14> context=:vcs_info:-quilt-+no-vcs:default:-all-
+VCS_INFO_hook:15> static=:vcs_info-static_hooks:no-vcs
+VCS_INFO_hook:17> zstyle -t :vcs_info:-quilt-+no-vcs:default:-all- debug
+VCS_INFO_hook:17> debug=0
+VCS_INFO_hook:18> ((  debug  ))
+VCS_INFO_hook:24> zstyle -a :vcs_info-static_hooks:no-vcs hooks hooks
+VCS_INFO_hook:25> ((  debug  ))
+VCS_INFO_hook:28> zstyle -a :vcs_info:-quilt-+no-vcs:default:-all- hooks tmp
+VCS_INFO_hook:29> ((  debug  ))
+VCS_INFO_hook:32> hooks+=( )
+VCS_INFO_hook:33> ((  0 == 0  ))
+VCS_INFO_hook:33> return 0
+VCS_INFO_set:17> ((  0 - 1 < 0  ))
+VCS_INFO_set:17> return 0
+vcs_info:77> return 0
+prompt_vcs:7> local vcs_prompt=''
+prompt_vcs:9> [[ -n '' ]]
+build_left_prompt:14> index=5
+build_left_prompt:17> left_prompt_end
+left_prompt_end:1> [[ -n blue ]]
+left_prompt_end:2> print_icon LEFT_SEGMENT_SEPARATOR
+print_icon:1> local icon_name=LEFT_SEGMENT_SEPARATOR
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+print_icon:3> defined POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+defined:1> local varname=POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+defined:3> typeset -p POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR
+print_icon:6> echo -n 
+left_prompt_end:2> echo -n '%k%F{blue}'
+left_prompt_end:6> print_icon LEFT_SEGMENT_END_SEPARATOR
+print_icon:1> local icon_name=LEFT_SEGMENT_END_SEPARATOR
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_LEFT_SEGMENT_END_SEPARATOR
+print_icon:3> defined POWERLEVEL9K_LEFT_SEGMENT_END_SEPARATOR
+defined:1> local varname=POWERLEVEL9K_LEFT_SEGMENT_END_SEPARATOR
+defined:3> typeset -p POWERLEVEL9K_LEFT_SEGMENT_END_SEPARATOR
+print_icon:6> echo -n ' '
+left_prompt_end:6> echo -n '%f '
+left_prompt_end:7> CURRENT_BG=''
+powerlevel9k_prepare_prompts:4> PROMPT=+powerlevel9k_prepare_prompts:4> print_icon MULTILINE_SECOND_PROMPT_PREFIX
+print_icon:1> local icon_name=MULTILINE_SECOND_PROMPT_PREFIX
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX
+print_icon:3> defined POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX
+defined:1> local varname=POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX
+defined:3> typeset -p POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX
+print_icon:6> echo -n '╰─ '
+powerlevel9k_prepare_prompts:4> PROMPT=$'╭─%f%b%k%K{244} %F{black%}🐍%f %F{black}main %K{blue}%F{244} %F{black%}%f %F{black}~ %k%F{blue}%f \n╰─ '
+powerlevel9k_prepare_prompts:6> [[ '' != true ]]
+powerlevel9k_prepare_prompts:12> local LC_ALL='' LC_CTYPE=en_US.UTF-8
+powerlevel9k_prepare_prompts:13> RPROMPT_PREFIX=$'%{\C-[[1A%}'
+powerlevel9k_prepare_prompts:14> RPROMPT_SUFFIX=$'%{\C-[[1B%}'
+powerlevel9k_prepare_prompts:25> [[ '' != true ]]
+powerlevel9k_prepare_prompts:26> RPROMPT=+powerlevel9k_prepare_prompts:26> build_right_prompt
+build_right_prompt:1> local index=1
+build_right_prompt:2> element=status
+build_right_prompt:4> element=status
+build_right_prompt:8> [[ $element[0,7] -regex-match "custom_" ]]
+build_right_prompt:11> prompt_status right 1
+prompt_status:1> [[ true == true ]]
+prompt_status:2> [[ 0 -ne 0 ]]
+prompt_status:5> right_prompt_segment prompt_status_OK 1 black 046 '' OK_ICON
+right_prompt_segment:1> local current_index=1
+right_prompt_segment:4> local joined
+right_prompt_segment:5> segmentShouldBeJoined 1 1 'status time'
+segmentShouldBeJoined:1> local current_index=1
+segmentShouldBeJoined:2> local last_segment_index=1
+segmentShouldBeJoined:4> local -a elements
+segmentShouldBeJoined:5> elements=( status time )
+segmentShouldBeJoined:7> local current_segment=status
+segmentShouldBeJoined:8> local joined=false
+segmentShouldBeJoined:9> [[ status == _joined ]]
+segmentShouldBeJoined:36> [[ false == true ]]
+segmentShouldBeJoined:39> return 1
+right_prompt_segment:5> joined=false
+right_prompt_segment:8> local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_STATUS_OK_BACKGROUND
+right_prompt_segment:9> local BG_COLOR_MODIFIER=''
+right_prompt_segment:10> [[ -n '' ]]
+right_prompt_segment:13> local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_STATUS_OK_FOREGROUND
+right_prompt_segment:14> local FG_COLOR_MODIFIER=''
+right_prompt_segment:15> [[ -n '' ]]
+right_prompt_segment:17> local bg fg
+right_prompt_segment:18> [[ -n black ]]
+right_prompt_segment:18> bg='%K{black}'
+right_prompt_segment:19> [[ -n 046 ]]
+right_prompt_segment:19> fg='%F{046}'
+right_prompt_segment:22> [[ false == false ]]
+right_prompt_segment:23> isSameColor NONE black
+isSameColor:1> [[ NONE == NONE ]]
+isSameColor:2> return 1
+right_prompt_segment:32> print_icon RIGHT_SEGMENT_SEPARATOR
+print_icon:1> local icon_name=RIGHT_SEGMENT_SEPARATOR
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+print_icon:3> defined POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+defined:1> local varname=POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+defined:3> typeset -p POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+print_icon:6> echo -n 
+right_prompt_segment:32> echo -n '%F{black}%f'
+right_prompt_segment:36> local visual_identifier
+right_prompt_segment:37> [[ -n OK_ICON ]]
+right_prompt_segment:38> visual_identifier=+right_prompt_segment:38> print_icon OK_ICON
+print_icon:1> local icon_name=OK_ICON
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_OK_ICON
+print_icon:3> defined POWERLEVEL9K_OK_ICON
+defined:1> local varname=POWERLEVEL9K_OK_ICON
+defined:3> typeset -p POWERLEVEL9K_OK_ICON
+print_icon:6> echo -n ✓
+right_prompt_segment:38> visual_identifier=✓
+right_prompt_segment:39> [[ -n ✓ ]]
+right_prompt_segment:41> local visual_identifier_color_variable=POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_COLOR
+right_prompt_segment:42> set_default POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_COLOR 046
+set_default:1> local varname=POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_COLOR
+set_default:2> local default_value=046
+set_default:4> defined POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_COLOR
+defined:1> local varname=POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_COLOR
+defined:3> typeset -p POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_COLOR
+set_default:4> typeset -g 'POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_COLOR=046'
+right_prompt_segment:43> visual_identifier='%F{046%}✓%f'
+right_prompt_segment:45> [[ -n '' ]]
+right_prompt_segment:49> echo -n '%K{black}%F{046}'
+right_prompt_segment:52> [[ false == false ]]
+right_prompt_segment:52> echo -n ' '
+right_prompt_segment:55> [[ -n '' ]]
+right_prompt_segment:57> echo -n '%F{046%}✓%f %f'
+right_prompt_segment:59> CURRENT_RIGHT_BG=black
+right_prompt_segment:60> last_right_element_index=1
+build_right_prompt:14> index=2
+build_right_prompt:2> element=time
+build_right_prompt:4> element=time
+build_right_prompt:8> [[ $element[0,7] -regex-match "custom_" ]]
+build_right_prompt:11> prompt_time right 2
+prompt_time:1> local time_format='%D{%H:%M:%S}'
+prompt_time:2> [[ -n '%D{%H:%M \uE868  %d.%m.%y}' ]]
+prompt_time:3> time_format='%D{%H:%M \uE868  %d.%m.%y}'
+prompt_time:6> right_prompt_segment prompt_time 2 white black '%D{%H:%M \uE868  %d.%m.%y}'
+right_prompt_segment:1> local current_index=2
+right_prompt_segment:4> local joined
+right_prompt_segment:5> segmentShouldBeJoined 2 1 'status time'
+segmentShouldBeJoined:1> local current_index=2
+segmentShouldBeJoined:2> local last_segment_index=1
+segmentShouldBeJoined:4> local -a elements
+segmentShouldBeJoined:5> elements=( status time )
+segmentShouldBeJoined:7> local current_segment=time
+segmentShouldBeJoined:8> local joined=false
+segmentShouldBeJoined:9> [[ time == _joined ]]
+segmentShouldBeJoined:36> [[ false == true ]]
+segmentShouldBeJoined:39> return 1
+right_prompt_segment:5> joined=false
+right_prompt_segment:8> local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_TIME_BACKGROUND
+right_prompt_segment:9> local BG_COLOR_MODIFIER=''
+right_prompt_segment:10> [[ -n '' ]]
+right_prompt_segment:13> local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_TIME_FOREGROUND
+right_prompt_segment:14> local FG_COLOR_MODIFIER=''
+right_prompt_segment:15> [[ -n '' ]]
+right_prompt_segment:17> local bg fg
+right_prompt_segment:18> [[ -n white ]]
+right_prompt_segment:18> bg='%K{white}'
+right_prompt_segment:19> [[ -n black ]]
+right_prompt_segment:19> fg='%F{black}'
+right_prompt_segment:22> [[ false == false ]]
+right_prompt_segment:23> isSameColor black white
+isSameColor:1> [[ black == NONE || white == NONE ]]
+isSameColor:5> getColorCode black
+getColorCode:2> [[ black = <-> ]]
+getColorCode:12> typeset -A codes
+getColorCode:13> codes=( black 000 red 001 green 002 yellow 003 blue 004 magenta 005 cyan 006 white 007 )
+getColorCode:25> 1=black
+getColorCode:27> 1=black
+getColorCode:29> 1=black
+getColorCode:30> echo 000
+isSameColor:5> local color1=000
+isSameColor:6> getColorCode white
+getColorCode:2> [[ white = <-> ]]
+getColorCode:12> typeset -A codes
+getColorCode:13> codes=( black 000 red 001 green 002 yellow 003 blue 004 magenta 005 cyan 006 white 007 )
+getColorCode:25> 1=white
+getColorCode:27> 1=white
+getColorCode:29> 1=white
+getColorCode:30> echo 007
+isSameColor:6> local color2=007
+isSameColor:8> return 1
+right_prompt_segment:32> print_icon RIGHT_SEGMENT_SEPARATOR
+print_icon:1> local icon_name=RIGHT_SEGMENT_SEPARATOR
+print_icon:2> local ICON_USER_VARIABLE=POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+print_icon:3> defined POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+defined:1> local varname=POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+defined:3> typeset -p POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR
+print_icon:6> echo -n 
+right_prompt_segment:32> echo -n '%F{white}%f'
+right_prompt_segment:36> local visual_identifier
+right_prompt_segment:37> [[ -n '' ]]
+right_prompt_segment:49> echo -n '%K{white}%F{black}'
+right_prompt_segment:52> [[ false == false ]]
+right_prompt_segment:52> echo -n ' '
+right_prompt_segment:55> [[ -n '%D{%H:%M \uE868  %d.%m.%y}' ]]
+right_prompt_segment:55> echo -n '%D{%H:%M \uE868  %d.%m.%y}'
+right_prompt_segment:57> echo -n ' %f'
+right_prompt_segment:59> CURRENT_RIGHT_BG=white
+right_prompt_segment:60> last_right_element_index=2
+build_right_prompt:14> index=3
+powerlevel9k_prepare_prompts:26> RPROMPT=$'%{\C-[[1A%}%f%b%k%F{black}%f%K{black}%F{046} %F{046%}✓%f %f%F{white}%f%K{white}%F{black} %D{%H:%M   %d.%m.%y} %f%{\C-[[00m%}%{\C-[[1B%}'
+iterm2_precmd:1> local STATUS=0
+iterm2_precmd:2> [ -z 1 ']'
+iterm2_precmd:7> iterm2_after_cmd_executes 0
+iterm2_after_cmd_executes:1> printf '\033]133;D;%s\007' 0
+iterm2_after_cmd_executes:2> iterm2_print_state_data
+iterm2_print_state_data:1> printf '\033]1337;RemoteHost=%s@%s\007' ogi Macbook-Pro
+iterm2_print_state_data:2> printf '\033]1337;CurrentDir=%s\007' /Users/ogi
+iterm2_print_state_data:3> iterm2_print_user_vars
+iterm2_precmd:9> [ -n 1 ']'
+iterm2_precmd:10> iterm2_decorate_prompt
+iterm2_decorate_prompt:3> ITERM2_PRECMD_PS1=$'╭─%f%b%k%K{244} %F{black%}🐍%f %F{black}main %K{blue}%F{244} %F{black%}%f %F{black}~ %k%F{blue}%f \n╰─ '
+iterm2_decorate_prompt:4> ITERM2_SHOULD_DECORATE_PROMPT=''
+iterm2_decorate_prompt:7> [[ $'╭─%f%b%k%K{244} %F{black%}🐍%f %F{black}main %K{blue}%F{244} %F{black%}%f %F{black}~ %k%F{blue}%f \n╰─ ' == *\$\(iterm2_prompt_mark\)* ]]
+iterm2_decorate_prompt:11> PS1=+iterm2_decorate_prompt:11> iterm2_prompt_mark
+iterm2_prompt_mark:1> printf '\033]133;A\007'
+iterm2_decorate_prompt:11> PS1=+iterm2_decorate_prompt:11> iterm2_prompt_end
+iterm2_prompt_end:1> printf '\033]133;B\007'
+iterm2_decorate_prompt:11> PS1=$'%{\C-[]133;A\C-G%}╭─%f%b%k%K{244} %F{black%}🐍%f %F{black}main %K{blue}%F{244} %F{black%}%f %F{black}~ %k%F{blue}%f \n╰─ %{\C-[]133;B\C-G%}'
+_zsh_highlight_main__precmd_hook:1> _zsh_highlight_main__command_type_cache=( )
+_powerline_set_jobnum:11> integer -g _POWERLINE_JOBNUM=0
+_powerline_set_main_keymap_name:1> local REPLY
+_powerline_set_main_keymap_name:2> _powerline_get_main_keymap_name
+_powerline_get_main_keymap_name:1> REPLY=+_powerline_get_main_keymap_name:1> bindkey -lL main
+_powerline_get_main_keymap_name:1> REPLY=emacs
+_powerline_set_main_keymap_name:3> _powerline_set_true_keymap_name emacs
+_powerline_set_true_keymap_name:1> typeset -g _POWERLINE_MODE=emacs
+_powerline_set_true_keymap_name:2> bindkey -lL emacs
+_powerline_set_true_keymap_name:2> local plm_bk='bindkey -N emacs'
+_powerline_set_true_keymap_name:3> [[ 'bindkey -N emacs' = bindkey\ -A* ]]
dritter commented 7 years ago

Hmm. It seems like you have still some iTerm related stuff going on in your shell:

+iterm2_precmd:10> iterm2_decorate_prompt
+iterm2_decorate_prompt:3> ITERM2_PRECMD_PS1=$'╭─%f%b%k%K{244} %F{black%}🐍%f %F{black}main %K{blue}%F{244} %F{black%}%f %F{black}~ %k%F{blue}%f \n╰─ '
+iterm2_decorate_prompt:4> ITERM2_SHOULD_DECORATE_PROMPT=''
+iterm2_decorate_prompt:7> [[ $'╭─%f%b%k%K{244} %F{black%}🐍%f %F{black}main %K{blue}%F{244} %F{black%}%f %F{black}~ %k%F{blue}%f \n╰─ ' == *\$\(iterm2_prompt_mark\)* ]]
+iterm2_decorate_prompt:11> PS1=+iterm2_decorate_prompt:11> iterm2_prompt_mark
+iterm2_prompt_mark:1> printf '\033]133;A\007'
+iterm2_decorate_prompt:11> PS1=+iterm2_decorate_prompt:11> iterm2_prompt_end
+iterm2_prompt_end:1> printf '\033]133;B\007'
+iterm2_decorate_prompt:11> PS1=$'%{\C-[]133;A\C-G%}╭─%f%b%k%K{244} %F{black%}🐍%f %F{black}main %K{blue}%F{244} %F{black%}%f %F{black}~ %k%F{blue}%f \n╰─ %{\C-[]133;B\C-G%}'
j9ac9k commented 7 years ago

Hmm...any way I can diagnose further or isolate an issue?

j9ac9k commented 7 years ago

Well, i'm not sure what's going on, but I can't duplicate the problem; even when displaying the python icon.

Okay, while I'm not getting weird shifting of the cursor position when hitting tabs, I'm getting weird shifting of the right prompt when I hit tabs, and when I start backspacing, I'm having some characters left behind.

screen shot 2017-02-14 at 4 50 46 pm

Notice how the right prompt lines up with 'Public' from directory on the first two lines, but doesn't quite line up on the last line.

the 'd' and 'i' characters are left over from having typed out a line, and holding backspace, deleting everything I had typed.

bhilburn commented 7 years ago

@j9ac9k - Wow, this is seriously bizarre, hah.

Based on the comment you made a few days ago (this one), it sounds like you get the correct tab behavior if you move the anaconda segment to the left side. With the anaconda segment on the left, just to confirm, you also do not see the weird shifting of the right prompt, right?

Bizarrely, looking at that latest screenshot you shared, it appears that the shift is actually caused by a space to the right of the date getting removed. Even stranger, I'm not sure why it's there in the first place as you don't have a space there in your format string:

POWERLEVEL9K_TIME_FORMAT="%D{%H:%M \uE868  %d.%m.%y}"
j9ac9k commented 7 years ago

I didn't keep the anaconda segment to the left for long (will move it back and see if I can break it again); but as of right now, I overwrite the python icon using POWERLEVEL9K_PYTHON_ICON='' and I get perfectly normal behavior; which is how I have left things for the time being.

@dritter seemed to think I may have an issue with ITerm2, is there a way I could troubleshoot that?

bhilburn commented 7 years ago

Not sure what to do about this one. I don't think there is really anything else we can do on our end, and I'm not sure how you might go about troubleshooting iTerm2.

Are you mostly set, @j9ac9k? I realize you are using something of a work-around, but that might be the best we can do at this point.

j9ac9k commented 7 years ago

I'm all set, no problem commenting out the python icon (after all, it doesn't really mesh that well with the VCS icons which are pretty awesome).

I'll be transitioning to a linux based system (read, not using iterm2) here in the coming weeks, and I'll test out the configuration there and report back here. I have no idea if this is an ITerm2 issue or not, or how to go about troubleshooting it.

Anyway, feel free to close out the issue, as I said, I can comment on it when I have some more information and the project collaborators can decide what to do from there.

On Wed, Mar 8, 2017 at 11:44 AM, Ben Hilburn notifications@github.com wrote:

Not sure what to do about this one. I don't think there is really anything else we can do on our end, and I'm not sure how you might go about troubleshooting iTerm2.

Are you mostly set, @j9ac9k https://github.com/j9ac9k? I realize you are using something of a work-around, but that might be the best we can do at this point.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bhilburn/powerlevel9k/issues/389#issuecomment-285147304, or mute the thread https://github.com/notifications/unsubscribe-auth/AAnc_tHku57aITiCh7qbquHN22a6u1MJks5rjwUygaJpZM4Lu8Z9 .

bhilburn commented 7 years ago

Sounds great! Glad you're running, and let us know how things go when you shift to Linux! :)