JanDeDobbeleer / oh-my-posh

The most customisable and low-latency cross platform/shell prompt renderer
https://ohmyposh.dev
MIT License
16.66k stars 2.34k forks source link

Right align and spacing issues inside neovim terminal #5315

Closed alexgorbatchev closed 1 month ago

alexgorbatchev commented 1 month ago

Code of Conduct

What happened?

I'm seeing two issues inside nvim terminal:

image

  1. right alignment has extra padding when prompt is on the same line
  2. prompt has extra padding character

Same config in regular terminal:

image

Theme


# yaml-language-server: $schema=https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json

version: 2
final_space: true
console_title_template: "{{ .Shell }} in {{ .Folder }}"
palette:
  dark-blue: "#3b4261"
  black: "#262B44"
  blue: "#82aaff"
  green: "#59C9A5"
  orange: "#F07623"
  red: "#D81E5B"
  white: "#E0DEF4"
  yellow: "#F3AE35"
  gray: "#e0e0e0"
  dark-gray: "#404040"

#
# 󰅁
# 
#
blocks:
  - type: prompt
    alignment: right
    segments:
      - type: git
        style: plain
        foreground_templates:
          - "{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}"
          - "{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}"
          - "{{ if gt .Ahead 0 }}#49416D{{ end }}"
          - "{{ if gt .Behind 0 }}#7A306C{{ end }}"
        template: "{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }} "
        properties:
          branch_max_length: 120
          fetch_status: true
          fetch_upstream_icon: true
        background: transparent
        foreground: p:gray

      - type: git
        style: plain
        template: " {{ .HEAD | substr 0 3 }} {{ .HEAD | substr 3 -1 }} "
        properties:
          branch_max_length: 120
          fetch_status: true
          fetch_upstream_icon: true
        background: transparent
        foreground: p:gray

      - type: git
        style: diamond
        leading_diamond: 
        template: " {{ .Dir | base }} "
        background: p:dark-gray
        foreground: p:white

  - type: prompt
    alignment: left
    newline: true
    segments:
      - type: path
        style: diamond
        trailing_diamond: 
        template: " \uea83 {{ if .Segments.Git.Dir }}{{ .Segments.Git.Dir | base }}{{ .Path | trimPrefix .Segments.Git.Dir }}{{ else }}{{ .Path }}{{ end }} "
        properties:
          style: full
        background: p:blue
        foreground: p:black

      - type: root
        style: powerline
        powerline_symbol: 
        template: " \uf0e7 "
        background: p:yellow
        foreground: p:white

      - type: status
        style: diamond
        background_templates:
          - "{{ if gt .Code 0 }}p:red{{ end }}"
        trailing_diamond: 
        template: " {{ if gt .Code 0 }}\uf00d{{ else }}\uf00c{{ end }} "
        properties:
          always_enabled: true
        background: p:dark-blue
        foreground: p:white

  - type: rprompt
    segments:
      - type: node
        style: plain
        template: "\ue718 "
        properties:
          display_mode: files
          fetch_package_manager: false
          home_enabled: false
        background: transparent
        foreground: p:green

      - type: go
        style: plain
        template: "\ue626 "
        properties:
          fetch_version: false
        background: transparent
        foreground: p:blue

      - type: python
        style: plain
        template: "\ue235 "
        properties:
          display_mode: files
          fetch_version: true
          fetch_virtual_env: true
        background: transparent
        foreground: p:yellow

      - type: executiontime
        style: diamond
        leading_diamond: 
        foreground: p:gray
        background: transparent
        template: " ε«ó {{ .FormattedMs }} "
        properties:
          threshold: 100
          style: austin
          always_enabled: false

      - type: session
        style: diamond
        leading_diamond: 
        template: " {{ if .SSHSession }}\ueba9 {{ end }}{{ .UserName }} "
        background: p:dark-blue
        foreground: p:gray

      - type: time
        style: diamond
        leading_diamond: 
        template: '  <b>{{ .CurrentDate | date "15:04" }}</b> '
        background: p:blue
        foreground: p:black

transient_prompt:
  template: "<p:blue,p:dark-blue> {{ .Folder }} </><p:dark-blue,transparent>\ue0b0</> "
  background: transparent
  foreground: p:black

secondary_prompt:
  template: "<p:yellow,transparent>\ue0b6</><,p:yellow> > </><p:yellow,transparent>\ue0b0</> "
  background: transparent
  foreground: p:black

### What OS are you seeing the problem on?

Linux

### Which shell are you using?

zsh

### Log output

```Shell
Version: 21.27.0

Shell: zsh (5.9)

Prompt:

                                                                                                                                                         ≡  ?2 ~5   master  .dotfiles 
  .dotfiles    

Segments:

ConsoleTitle(true)                        -   1 ms
Git(true)                                 -   4 ms
Git(true)                                 -   4 ms
Git(true)                                 -   2 ms
Path(true)                                -   0 ms
Status(true)                              -   0 ms
Session(true)                             -   0 ms
Time(true)                                -   0 ms

Run duration: 36.790977ms

Cache path: /home/alex/.cache/oh-my-posh

Config path: /home/alex/.dotfiles/configs/oh-my-posh/config.yaml

Logs:

[DEBUG] 15:58:48.274 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.274 os.go:Getenv(OMP_CACHE_DIR) - 49.122┬╡s
[DEBUG] 15:58:48.274 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.274 os.go:Getenv(XDG_CACHE_HOME) - 2.396┬╡s
[TRACE] 15:58:48.274 os_unix.go:CachePath() - 71.887┬╡s
[DEBUG] 15:58:48.274 os.go:Getenv:306 → /home/alex/.dotfiles/configs/oh-my-posh/config.yaml
[TRACE] 15:58:48.274 os.go:Getenv(POSH_THEME) - 3.994┬╡s
[DEBUG] 15:58:48.274 os_unix.go:Platform:87 → ubuntu
[TRACE] 15:58:48.274 os.go:resolveConfigPath() - 15.775┬╡s
[TRACE] 15:58:48.274 os.go:Init() - 592.464┬╡s
[TRACE] 15:58:48.274 os.go:Flags() - 199ns
[TRACE] 15:58:48.278 load.go:loadConfig() - 3.762756ms
[TRACE] 15:58:48.278 os.go:Flags() - 100ns
[DEBUG] 15:58:48.278 debug.go:44 → Terminal shell: %s shell
[DEBUG] 15:58:48.278 debug.go:44 → Terminal program: %s Windows Terminal
[DEBUG] 15:58:48.278 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.278 os.go:Getenv(OMP_CACHE_DISABLED) - 8.586┬╡s
[DEBUG] 15:58:48.278 os.go:Shell:581 → no shell name provided in flags, trying to detect it
[DEBUG] 15:58:48.279 os.go:Shell:589 → process name: zsh
[TRACE] 15:58:48.279 os.go:Shell() - 291.14┬╡s
[DEBUG] 15:58:48.279 os.go:Getenv:306 → 5.9
[TRACE] 15:58:48.279 os.go:Getenv(POSH_SHELL_VERSION) - 2.396┬╡s
[DEBUG] 15:58:48.279 debug.go:PrintDebug:23 → Segment: Title
[DEBUG] 15:58:48.279 text.go:Render:73 → Rendering template: {{ .Shell }} in {{ .Folder }}
[TRACE] 15:58:48.279 os_unix.go:Root() - 300ns
[TRACE] 15:58:48.279 os.go:Shell() - 200ns
[TRACE] 15:58:48.279 os.go:StatusCodes() - 200ns
[DEBUG] 15:58:48.279 os_unix.go:IsWsl:35 → true
[TRACE] 15:58:48.279 os_unix.go:IsWsl() - 3.095┬╡s
[DEBUG] 15:58:48.279 os.go:TemplateCache:789 → environment: [SSH_AUTH_SOCK=/home/alex/.ssh/ssh_auth_sock USER=alex ATUIN_SESSION=0190d217c312796399805d977fbc031a SHELL=/usr/bin/zsh PIP_
REQUIRE_VIRTUALENV=true OLDPWD=/home/alex/.dotfiles EDITOR=nvim COLORTERM=truecolor MASON=/home/alex/.local/share/nvim/mason FNM_MULTISHELL_PATH=/run/user/1002/fnm_multishells/126810_17
21511691142 WSL_DISTRO_NAME=Ubuntu-24.04 MYVIMRC=/home/alex/.dotfiles/configs/neovim/lazyvim/init.lua WAYLAND_DISPLAY=wayland-0 PMSPEC=0uUpiPsf WSL_INTEROP=/run/WSL/96461_interop FNM_CO
REPACK_ENABLED=false STARSHIP_SESSION_KEY=1298923050221856 STARSHIP_SHELL=zsh ATUIN_CONFIG_DIR=/home/alex/.dotfiles/configs/atuin LOCAL_BIN=/home/alex/.local/bin PWD=/home/alex/.dotfile
s FNM_NODE_DIST_MIRROR=https://nodejs.org/dist WT_SESSION=bb325a44-88fa-43d4-b1bb-ba28fbd6cc71 APPDIR=/tmp/.mount_nvimtcRJ2c WSLENV=WT_SESSION:WT_PROFILE_ID: DOTFILES_CONFIGS=/home/alex
/.dotfiles/configs PATH=/home/alex/.local/share/zinit/plugins/JanDeDobbeleer---oh-my-posh:/home/alex/.local/share/zinit/plugins/jesseduffield---lazygit:/run/user/1002/fnm_multishells/12
6810_1721511691142/bin:/home/alex/.local/share/nvim/mason/bin:/home/alex/.local/share/zinit/plugins/sxyazi---yazi:/home/alex/.local/share/zinit/plugins/tbckr---sgpt:/home/alex/.local/sh
are/zinit/plugins/neurosnap---sentences:/home/alex/.local/share/zinit/plugins/BurntSushi---ripgrep/rg:/home/alex/.local/share/zinit/plugins/matsuu---neovim-aarch64-appimage:/home/alex/.
local/share/zinit/plugins/denisidoro---navi:/home/alex/.local/share/zinit/plugins/jqlang---jq:/home/alex/.local/share/zinit/plugins/extrawurst---gitui:/home/alex/.local/share/zinit/plug
ins/junegunn---fzf-tmux/bin:/home/alex/.local/share/zinit/plugins/junegunn---fzf:/run/user/1002/fnm_multishells/96501_1721327307676/bin:/home/alex/.local/share/zinit/plugins/sharkdp---f
d:/home/alex/.local/share/zinit/plugins/ogham---exa:/home/alex/.local/share/zinit/plugins/wagoodman---dive:/home/alex/.local/share/zinit/plugins/kardolus---chatgpt-cli:/home/alex/.local
/share/zinit/plugins/caddyserver---caddy:/home/alex/.local/share/zinit/plugins/sharkdp---bat:/home/alex/.local/share/zinit/plugins/atuinsh---atuin:/home/alex/.local/share/zinit/plugins/
charmbracelet---gum:/home/alex/.local/share/zinit/polaris/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Windows/sy
stem32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/ProgramData/chocolatey/bin:Files/Git/cmd:Files
/Docker/Docker/resources/bin:/mnt/c/Program:Files/Tailscale/:/mnt/c/Users/alex/scoop/shims:/mnt/c/Users/alex/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/alex/AppData/Local/Microsof
t/WinGet/Packages/Bostrot.WSLManager_Microsoft.Winget.Source_8wekyb3d8bbwe:/home/alex/.cargo/bin:/home/alex/.dotfiles/bin:/home/alex/.local/bin:/home/alex/.bun/bin:./node_modules/.bin:/
home/alex/.local/share/zinit/plugins/reegnz---jq-zsh-plugin/bin:/home/alex/.cargo/bin DOTFILES=/home/alex/.dotfiles PYENV_ROOT=/home/alex/.pyenv FNM_RESOLVE_ENGINES=false OWD=/home/alex
/.dotfiles ZSH_CACHE_DIR=/home/alex/.cache/zinit LOGNAME=alex NAME=slim DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1002/bus XDG_RUNTIME_DIR=/run/user/1002/ FNM_VERSION_FILE_STRATEGY=l
ocal TERM=xterm-256color FNM_LOGLEVEL=info APPIMAGE=/home/alex/.local/share/zinit/plugins/matsuu---neovim-aarch64-appimage/nvim LANG=en_US.UTF-8 PULSE_SERVER=unix:/mnt/wslg/PulseServer 
HOME=/home/alex ZINIT_HOME=/home/alex/.local/share/zinit/zinit.git FNM_ARCH=arm64 NAVI_CONFIG=/home/alex/.dotfiles/configs/navi/config.yaml NVIM=/run/user/1002//nvim.106067.0 HOSTTYPE=x
86_64 PYENV_VIRTUALENV_DISABLE_PROMPT=true FNM_DIR=/home/alex/.local/share/fnm WSL2_GUI_APPS_ENABLED=1 NVIM_LOG_FILE=/home/alex/.local/state/nvim/log STARSHIP_CONFIG=/home/alex/.dotfile
s/configs/starship/config.toml ATUIN_HISTORY_ID=0190d25e854674ea828759a0efc99eed SHLVL=2 ZPFX=/home/alex/.local/share/zinit/polaris BUN_INSTALL=/home/alex/.bun DISPLAY=:0 WT_PROFILE_ID=
{acbafd15-cbbb-5bb3-8a61-bed446ff4b83} POSH_THEME=/home/alex/.dotfiles/configs/oh-my-posh/config.yaml POSH_SHELL_VERSION=5.9 POSH_PID=126784 POWERLINE_COMMAND=oh-my-posh CONDA_PROMPT_MO
DIFIER=false POSH_PROMPT_COUNT=10 ZLE_RPROMPT_INDENT=0 _=/home/alex/.local/share/zinit/plugins/JanDeDobbeleer---oh-my-posh/oh-my-posh]
[TRACE] 15:58:48.279 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.279 os.go:Pwd:336 → /home/alex/.dotfiles
[TRACE] 15:58:48.279 os.go:Pwd() - 14.177┬╡s
[DEBUG] 15:58:48.279 os_unix.go:IsWsl:35 → true
[TRACE] 15:58:48.279 os_unix.go:IsWsl() - 2.895┬╡s
[DEBUG] 15:58:48.280 os.go:RunCommand:511 → //wsl.localhost/Ubuntu-24.04/home/alex/.dotfiles
[TRACE] 15:58:48.280 os.go:RunCommand(wslpath -m /home/alex/.dotfiles) - 1.007509ms
[TRACE] 15:58:48.280 os.go:GOOS() - 199ns
[TRACE] 15:58:48.280 os.go:GOOS() - 199ns
[TRACE] 15:58:48.280 os.go:GOOS() - 200ns
[TRACE] 15:58:48.280 os.go:GOOS() - 199ns
[TRACE] 15:58:48.280 os.go:GOOS() - 200ns
[TRACE] 15:58:48.280 os.go:GOOS() - 199ns
[TRACE] 15:58:48.280 os.go:GOOS() - 200ns
[TRACE] 15:58:48.280 os.go:GOOS() - 100ns
[TRACE] 15:58:48.280 os.go:GOOS() - 200ns
[TRACE] 15:58:48.280 os.go:GOOS() - 100ns
[TRACE] 15:58:48.280 os.go:GOOS() - 100ns
[DEBUG] 15:58:48.280 os.go:User:474 → alex
[TRACE] 15:58:48.280 os.go:User() - 3.095┬╡s
[DEBUG] 15:58:48.280 os.go:Host:491 → slim
[TRACE] 15:58:48.280 os.go:Host() - 3.894┬╡s
[TRACE] 15:58:48.280 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.280 os_unix.go:Platform:87 → ubuntu
[DEBUG] 15:58:48.280 os.go:Getenv:306 → 2
[TRACE] 15:58:48.280 os.go:Getenv(SHLVL) - 2.496┬╡s
[TRACE] 15:58:48.280 os.go:TemplateCache() - 1.139899ms
[TRACE] 15:58:48.280 os.go:Shell() - 100ns
[DEBUG] 15:58:48.280 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.280 os.go:Getenv(POSH_CURSOR_LINE) - 6.19┬╡s
[DEBUG] 15:58:48.280 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.280 os.go:Getenv(POSH_CURSOR_COLUMN) - 1.897┬╡s
[TRACE] 15:58:48.280 os.go:Flags() - 200ns
[TRACE] 15:58:48.280 os.go:Flags() - 200ns
[TRACE] 15:58:48.280 os.go:Flags() - 200ns
[TRACE] 15:58:48.280 os.go:Pwd() - 300ns
[TRACE] 15:58:48.280 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.280 segment.go:SetEnabled:115 → Segment: Git
[DEBUG] 15:58:48.280 os_unix.go:IsWsl:35 → true
[TRACE] 15:58:48.280 os_unix.go:IsWsl() - 2.596┬╡s
[TRACE] 15:58:48.280 os.go:Flags() - 799ns
[TRACE] 15:58:48.280 os.go:Pwd() - 200ns
[TRACE] 15:58:48.280 os.go:GOOS() - 99ns
[DEBUG] 15:58:48.280 segment.go:SetEnabled:115 → Segment: Git
[DEBUG] 15:58:48.280 os_unix.go:IsWsl:35 → true
[TRACE] 15:58:48.280 os_unix.go:IsWsl() - 2.596┬╡s
[DEBUG] 15:58:48.280 os.go:FileContent:448 Γåô
    5.15.153.1-microsoft-standard-WSL2

[TRACE] 15:58:48.280 os.go:FileContent(/proc/sys/kernel/osrelease) - 46.027┬╡s
[TRACE] 15:58:48.280 os.go:Pwd() - 499ns
[TRACE] 15:58:48.280 os_unix.go:IsWsl2() - 55.113┬╡s
[TRACE] 15:58:48.280 os.go:Pwd() - 200ns
[TRACE] 15:58:48.280 os.go:GOOS() - 199ns
[DEBUG] 15:58:48.280 os.go:FileContent:448 Γåô
    5.15.153.1-microsoft-standard-WSL2

[TRACE] 15:58:48.280 os.go:FileContent(/proc/sys/kernel/osrelease) - 18.371┬╡s
[DEBUG] 15:58:48.280 segment.go:SetEnabled:115 → Segment: Git
[TRACE] 15:58:48.280 os_unix.go:IsWsl2() - 26.558┬╡s
[TRACE] 15:58:48.280 os.go:Pwd() - 300ns
[DEBUG] 15:58:48.280 os_unix.go:IsWsl:35 → true
[TRACE] 15:58:48.280 os_unix.go:IsWsl() - 76.879┬╡s
[DEBUG] 15:58:48.280 os.go:FileContent:448 Γåô
    5.15.153.1-microsoft-standard-WSL2

[TRACE] 15:58:48.281 os.go:FileContent(/proc/sys/kernel/osrelease) - 36.342┬╡s
[TRACE] 15:58:48.281 os_unix.go:IsWsl2() - 337.566┬╡s
[TRACE] 15:58:48.281 os.go:Pwd() - 199ns
[DEBUG] 15:58:48.282 os.go:RunCommand:511 → //wsl.localhost/Ubuntu-24.04/home/alex/.dotfiles
[TRACE] 15:58:48.282 os.go:RunCommand(wslpath -m /home/alex/.dotfiles) - 1.757024ms
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.282 os.go:RunCommand:511 → //wsl.localhost/Ubuntu-24.04/home/alex/.dotfiles
[TRACE] 15:58:48.282 os.go:RunCommand(wslpath -m /home/alex/.dotfiles) - 1.765011ms
[DEBUG] 15:58:48.282 os.go:RunCommand:511 → //wsl.localhost/Ubuntu-24.04/home/alex/.dotfiles
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:RunCommand(wslpath -m /home/alex/.dotfiles) - 1.243635ms
[TRACE] 15:58:48.282 os.go:GOOS() - 199ns
[DEBUG] 15:58:48.282 os.go:CommandPath:533 → /usr/bin/git
[TRACE] 15:58:48.282 os.go:CommandPath(git) - 83.768┬╡s
[TRACE] 15:58:48.282 os.go:HasCommand(git) - 86.763┬╡s
[TRACE] 15:58:48.282 os.go:Pwd() - 299ns
[DEBUG] 15:58:48.282 os.go:ResolveSymlink:433 → /home/alex/.dotfiles
[TRACE] 15:58:48.282 os.go:ResolveSymlink(/home/alex/.dotfiles) - 7.888┬╡s
[TRACE] 15:58:48.282 os.go:HasParentFilePath(.git) - 22.265┬╡s
[DEBUG] 15:58:48.282 scm.go:shouldIgnoreRootRepository:130 → exclude_folders: []
[TRACE] 15:58:48.282 os.go:GOOS() - 199ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.282 git.go:Enabled:167 → fetch_user: false
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 199ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 99ns
[DEBUG] 15:58:48.282 git.go:Enabled:167 → fetch_user: false
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 199ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 99ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 199ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 199ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.282 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:Getenv(POSH_GIT_STATUS) - 5.091┬╡s
[TRACE] 15:58:48.282 os.go:GOOS() - 299ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[DEBUG] 15:58:48.282 git.go:Enabled:186 → fetch_status: false
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[DEBUG] 15:58:48.282 git.go:shouldIgnoreStatus:413 → ignore_status: []
[DEBUG] 15:58:48.282 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[DEBUG] 15:58:48.282 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.282 os.go:Getenv(POSH_GIT_STATUS) - 4.094┬╡s
[TRACE] 15:58:48.282 os.go:Getenv(POSH_GIT_STATUS) - 2.596┬╡s
[DEBUG] 15:58:48.282 git.go:Enabled:186 → fetch_status: true
[DEBUG] 15:58:48.282 git.go:Enabled:186 → fetch_status: true
[DEBUG] 15:58:48.282 git.go:shouldIgnoreStatus:413 → ignore_status: []
[DEBUG] 15:58:48.282 git.go:shouldIgnoreStatus:413 → ignore_status: []
[TRACE] 15:58:48.282 os.go:GOOS() - 200ns
[TRACE] 15:58:48.282 os.go:GOOS() - 100ns
[DEBUG] 15:58:48.282 os.go:FileContent:448 Γåô
    ref: refs/heads/master

[TRACE] 15:58:48.282 os.go:FileContent(/home/alex/.dotfiles/.git/HEAD) - 14.278┬╡s
[DEBUG] 15:58:48.282 git.go:setGitStatus:549 → status_formats: map[]
[DEBUG] 15:58:48.282 git.go:setPrettyHEADName:756 → 
[DEBUG] 15:58:48.282 git.go:getSwitchMode:850 → untracked_modes: map[]
[DEBUG] 15:58:48.282 git.go:formatHEAD:724 → branch_max_length: 0
[DEBUG] 15:58:48.282 git.go:getSwitchMode:850 → ignore_submodules: map[]
[DEBUG] 15:58:48.282 git.go:Enabled:197 → fetch_upstream_icon: false
[TRACE] 15:58:48.282 os.go:TemplateCache() - 299ns
[DEBUG] 15:58:48.284 os.go:RunCommand:511 Γåô
    # branch.oid 73dd126bec9dcec672969ce053930c16dce82934
    # branch.head master
    # branch.upstream origin/master
    # branch.ab +0 -0
    1 .M N... 100644 100644 100644 7424405b0285b15f3e94ae2d70b6b4f0760b28a7 7424405b0285b15f3e94ae2d70b6b4f0760b28a7 configs/lazygit/config.yml
    1 .M N... 100644 100644 100644 dd51a0060427512a64c78fd6bd454a9084bee691 dd51a0060427512a64c78fd6bd454a9084bee691 configs/rust.zsh
    1 .M N... 100644 100644 100644 3fe64567555290e45ee814389d76c97f5423ca9c 3fe64567555290e45ee814389d76c97f5423ca9c configs/starship/starship.zsh
    1 .M N... 100644 100644 100644 fa0a7ef07818507b569af23d8d548a9b318bd3cc fa0a7ef07818507b569af23d8d548a9b318bd3cc helpers/shell.zsh
    1 .M N... 100644 100644 100644 032e82420142ee8719e1470a0ec7089360009a42 032e82420142ee8719e1470a0ec7089360009a42 zshrc
    ? configs/oh-my-posh/
    ? install-linux
[TRACE] 15:58:48.284 os.go:RunCommand(git -C /home/alex/.dotfiles --no-optional-locks -c core.quotepath=false -c color.status=false status -unormal --branch --porcelain=2) - 2.327822ms
[DEBUG] 15:58:48.284 git.go:setGitHEADContext:601 → 
[DEBUG] 15:58:48.284 git.go:formatHEAD:724 → branch_max_length: 120
[DEBUG] 15:58:48.284 os.go:HasFolder:418 → false
[TRACE] 15:58:48.284 os.go:HasFolder(/home/alex/.dotfiles/.git/rebase-merge) - 5.891┬╡s
[DEBUG] 15:58:48.284 os.go:HasFolder:418 → false
[TRACE] 15:58:48.284 os.go:HasFolder(/home/alex/.dotfiles/.git/rebase-apply) - 2.896┬╡s
[DEBUG] 15:58:48.284 git.go:setGitHEADContext:652 → 
[DEBUG] 15:58:48.284 os.go:RunCommand:511 Γåô
    # branch.oid 73dd126bec9dcec672969ce053930c16dce82934
    # branch.head master
    # branch.upstream origin/master
    # branch.ab +0 -0
    1 .M N... 100644 100644 100644 7424405b0285b15f3e94ae2d70b6b4f0760b28a7 7424405b0285b15f3e94ae2d70b6b4f0760b28a7 configs/lazygit/config.yml
    1 .M N... 100644 100644 100644 dd51a0060427512a64c78fd6bd454a9084bee691 dd51a0060427512a64c78fd6bd454a9084bee691 configs/rust.zsh
    1 .M N... 100644 100644 100644 3fe64567555290e45ee814389d76c97f5423ca9c 3fe64567555290e45ee814389d76c97f5423ca9c configs/starship/starship.zsh
    1 .M N... 100644 100644 100644 fa0a7ef07818507b569af23d8d548a9b318bd3cc fa0a7ef07818507b569af23d8d548a9b318bd3cc helpers/shell.zsh
    1 .M N... 100644 100644 100644 032e82420142ee8719e1470a0ec7089360009a42 032e82420142ee8719e1470a0ec7089360009a42 zshrc
    ? configs/oh-my-posh/
    ? install-linux
[TRACE] 15:58:48.284 os.go:RunCommand(git -C /home/alex/.dotfiles --no-optional-locks -c core.quotepath=false -c color.status=false status -unormal --branch --porcelain=2) - 2.371453ms
[DEBUG] 15:58:48.284 git.go:setGitHEADContext:601 → 
[DEBUG] 15:58:48.284 git.go:formatHEAD:724 → branch_max_length: 120
[DEBUG] 15:58:48.284 os.go:HasFolder:418 → false
[TRACE] 15:58:48.284 os.go:HasFolder(/home/alex/.dotfiles/.git/rebase-merge) - 5.192┬╡s
[DEBUG] 15:58:48.284 os.go:HasFolder:418 → false
[TRACE] 15:58:48.284 os.go:HasFolder(/home/alex/.dotfiles/.git/rebase-apply) - 3.694┬╡s
[DEBUG] 15:58:48.285 git.go:setGitHEADContext:652 → 
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.285 os.go:HasFilesInDir(MERGE_MSG) - 44.53┬╡s
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.285 os.go:HasFilesInDir(MERGE_MSG) - 6.19┬╡s
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.285 os.go:HasFilesInDir(CHERRY_PICK_HEAD) - 4.692┬╡s
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.285 os.go:HasFilesInDir(CHERRY_PICK_HEAD) - 4.692┬╡s
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.285 os.go:HasFilesInDir(REVERT_HEAD) - 3.394┬╡s
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.285 os.go:HasFilesInDir(REVERT_HEAD) - 3.495┬╡s
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[DEBUG] 15:58:48.285 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.285 os.go:HasFilesInDir(sequencer/todo) - 4.094┬╡s
[TRACE] 15:58:48.285 os.go:HasFilesInDir(sequencer/todo) - 3.394┬╡s
[DEBUG] 15:58:48.285 git.go:432 → ≡
[DEBUG] 15:58:48.285 git.go:432 → ≡
[DEBUG] 15:58:48.285 git.go:Enabled:197 → fetch_upstream_icon: true
[DEBUG] 15:58:48.285 git.go:Enabled:197 → fetch_upstream_icon: true
[DEBUG] 15:58:48.285 git.go:getUpstreamIcon:488 → upstream_icons: map[]
[DEBUG] 15:58:48.285 git.go:getUpstreamIcon:488 → upstream_icons: map[]
[DEBUG] 15:58:48.285 git.go:getUpstreamIcon:512 →  
[TRACE] 15:58:48.285 os.go:TemplateCache() - 200ns
[DEBUG] 15:58:48.285 git.go:getUpstreamIcon:512 →  
[TRACE] 15:58:48.285 os.go:TemplateCache() - 299ns
[DEBUG] 15:58:48.285 text.go:Render:73 → Rendering template:  {{ .Dir | base }} 
[DEBUG] 15:58:48.285 text.go:Render:73 → Rendering template: {{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}  {{ .Working.String }}{{ end }}{{ if .Staging.C
hanged }}  {{ .Staging.String }}{{ end }} 
[DEBUG] 15:58:48.285 text.go:Render:73 → Rendering template:  {{ .HEAD | substr 0 3 }} {{ .HEAD | substr 3 -1 }} 
[TRACE] 15:58:48.286 os.go:TemplateCache() - 199ns
[TRACE] 15:58:48.286 os.go:TemplateCache() - 300ns
[TRACE] 15:58:48.286 os.go:TemplateCache() - 299ns
[DEBUG] 15:58:48.286 text.go:Render:73 → Rendering template: {{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}
[TRACE] 15:58:48.286 os.go:TemplateCache() - 199ns
[DEBUG] 15:58:48.286 text.go:Render:73 → Rendering template: plain
[DEBUG] 15:58:48.286 text.go:Render:73 → Rendering template: {{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}
[TRACE] 15:58:48.286 os.go:TemplateCache() - 300ns
[DEBUG] 15:58:48.286 text.go:Render:73 → Rendering template: plain
[DEBUG] 15:58:48.286 text.go:Render:73 → Rendering template: diamond
[DEBUG] 15:58:48.287 os_unix.go:TerminalWidth:80 → terminal width: 185
[TRACE] 15:58:48.287 os_unix.go:TerminalWidth() - 669.741┬╡s
[TRACE] 15:58:48.287 os.go:Shell() - 400ns
[TRACE] 15:58:48.287 os.go:Shell() - 200ns
[TRACE] 15:58:48.287 os.go:Flags() - 200ns
[DEBUG] 15:58:48.287 status.go:Init:53 → {{ .Code }}
[TRACE] 15:58:48.287 os.go:Pwd() - 300ns
[TRACE] 15:58:48.287 os.go:GOOS() - 199ns
[DEBUG] 15:58:48.287 segment.go:SetEnabled:115 → Segment: Status
[TRACE] 15:58:48.287 os.go:StatusCodes() - 399ns
[DEBUG] 15:58:48.287 text.go:Render:73 → Rendering template: {{ .Code }}
[TRACE] 15:58:48.287 os.go:Flags() - 199ns
[TRACE] 15:58:48.287 os.go:Pwd() - 100ns
[TRACE] 15:58:48.287 os.go:GOOS() - 100ns
[DEBUG] 15:58:48.287 segment.go:SetEnabled:115 → Segment: Path
[DEBUG] 15:58:48.287 path.go:124 → display_cygpath: false
[TRACE] 15:58:48.287 os.go:GOOS() - 100ns
[TRACE] 15:58:48.287 os.go:PathSeparator() - 100ns
[TRACE] 15:58:48.287 os.go:Flags() - 99ns
[TRACE] 15:58:48.287 os.go:Pwd() - 200ns
[TRACE] 15:58:48.287 os.go:Shell() - 199ns
[TRACE] 15:58:48.287 os.go:Pwd() - 299ns
[TRACE] 15:58:48.287 os.go:Shell() - 200ns
[TRACE] 15:58:48.287 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.287 segment.go:SetEnabled:115 → Segment: Root
[TRACE] 15:58:48.287 os_unix.go:Root() - 399ns
[DEBUG] 15:58:48.287 path.go:replaceMappedLocations:517 → mapped_locations_enabled: true
[DEBUG] 15:58:48.287 path.go:replaceMappedLocations:518 → 
[DEBUG] 15:58:48.287 path.go:replaceMappedLocations:519 → 
[TRACE] 15:58:48.287 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.287 path.go:replaceMappedLocations:520 → ~
[DEBUG] 15:58:48.287 path.go:replaceMappedLocations:525 → mapped_locations: map[]
[TRACE] 15:58:48.287 os.go:GOOS() - 100ns
[TRACE] 15:58:48.287 os.go:GOOS() - 99ns
[DEBUG] 15:58:48.287 path.go:makeFolderFormatMap:841 → NO DATA
[DEBUG] 15:58:48.287 path.go:setStyle:192 → full
[DEBUG] 15:58:48.287 path.go:colorizePath:715 → cycle: []
[DEBUG] 15:58:48.287 path.go:getFolderSeparator:250 → NO DATA
[DEBUG] 15:58:48.287 path.go:getFolderSeparator:252 → /
[DEBUG] 15:58:48.287 path.go:colorizePath:718 → cycle_folder_separator: false
[DEBUG] 15:58:48.287 path.go:colorizePath:719 → %s
[DEBUG] 15:58:48.287 path.go:colorizePath:721 → %s
[DEBUG] 15:58:48.287 path.go:colorizePath:722 → %s
[DEBUG] 15:58:48.287 path.go:colorizePath:723 → %s
[TRACE] 15:58:48.287 os.go:Pwd() - 299ns
[TRACE] 15:58:48.287 os.go:TemplateCache() - 200ns
[TRACE] 15:58:48.287 os.go:StackCount() - 199ns
[TRACE] 15:58:48.287 os.go:TemplateCache() - 199ns
[TRACE] 15:58:48.287 os_unix.go:DirIsWritable(/home/alex/.dotfiles) - 4.193┬╡s
[DEBUG] 15:58:48.287 status.go:Enabled:42 → always_enabled: true
[TRACE] 15:58:48.287 os.go:TemplateCache() - 199ns
[TRACE] 15:58:48.287 os.go:TemplateCache() - 299ns
[DEBUG] 15:58:48.287 text.go:Render:73 → Rendering template:  {{ if gt .Code 0 }}{{ else }}{{ end }} 
[DEBUG] 15:58:48.287 text.go:Render:73 → Rendering template:   {{ if .Segments.Git.Dir }}{{ .Segments.Git.Dir | base }}{{ .Path | trimPrefix .Segments.Git.Dir }}{{ else }}{{ .Path }}{{
 end }} 
[TRACE] 15:58:48.288 os.go:TemplateCache() - 100ns
[TRACE] 15:58:48.288 os.go:TemplateCache() - 200ns
[TRACE] 15:58:48.288 os.go:Shell() - 200ns
[DEBUG] 15:58:48.288 text.go:Render:73 → Rendering template: powerline
[DEBUG] 15:58:48.288 text.go:Render:73 → Rendering template: diamond
[DEBUG] 15:58:48.288 text.go:Render:73 → Rendering template: {{ if gt .Code 0 }}p:red{{ end }}
[TRACE] 15:58:48.288 os.go:TemplateCache() - 199ns
[DEBUG] 15:58:48.288 text.go:Render:73 → Rendering template: diamond
[DEBUG] 15:58:48.288 text.go:Render:73 → Rendering template: {{ if gt .Code 0 }}p:red{{ end }}
[TRACE] 15:58:48.288 os.go:TemplateCache() - 300ns
[TRACE] 15:58:48.288 os.go:Shell() - 200ns
[TRACE] 15:58:48.288 os.go:Shell() - 100ns
[TRACE] 15:58:48.288 os.go:Flags() - 100ns
[TRACE] 15:58:48.288 os.go:Pwd() - 100ns
[TRACE] 15:58:48.288 os.go:GOOS() - 199ns
[DEBUG] 15:58:48.288 segment.go:SetEnabled:115 → Segment: Time
[DEBUG] 15:58:48.288 time.go:Enabled:29 → 15:04:05
[TRACE] 15:58:48.288 os.go:TemplateCache() - 99ns
[TRACE] 15:58:48.288 os.go:Flags() - 200ns
[TRACE] 15:58:48.288 os.go:Pwd() - 200ns
[TRACE] 15:58:48.288 os.go:Flags() - 199ns
[TRACE] 15:58:48.288 os.go:GOOS() - 100ns
[DEBUG] 15:58:48.288 segment.go:SetEnabled:115 → Segment: Executiontime
[DEBUG] 15:58:48.288 executiontime.go:Enabled:57 → always_enabled: false
[DEBUG] 15:58:48.288 python.go:Init:61 → files
[TRACE] 15:58:48.288 os.go:ExecutionTime() - 100ns
[TRACE] 15:58:48.288 os.go:Pwd() - 199ns
[DEBUG] 15:58:48.288 executiontime.go:Enabled:59 → threshold: 100.000000
[TRACE] 15:58:48.288 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.288 segment.go:SetEnabled:115 → Segment: Python
[TRACE] 15:58:48.288 os.go:Flags() - 99ns
[DEBUG] 15:58:48.288 language.go:Enabled:109 → extensions: [*.py *.ipynb pyproject.toml venv.bak]
[TRACE] 15:58:48.288 os.go:Pwd() - 200ns
[DEBUG] 15:58:48.288 language.go:Enabled:110 → folders: [.venv venv virtualenv venv-win pyenv-win]
[TRACE] 15:58:48.288 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.288 language.go:Enabled:117 → home_enabled: false
[TRACE] 15:58:48.288 os.go:Pwd() - 99ns
[DEBUG] 15:58:48.288 os.go:Getenv:306 → NO DATA
[DEBUG] 15:58:48.288 python.go:loadContext:70 → fetch_virtual_env: true
[TRACE] 15:58:48.288 os.go:Getenv(SSH_CONNECTION) - 2.795┬╡s
[DEBUG] 15:58:48.288 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.288 os.go:Getenv(SSH_CLIENT) - 1.997┬╡s
[DEBUG] 15:58:48.288 os_unix.go:Platform:87 → ubuntu
[TRACE] 15:58:48.288 os.go:Flags() - 499ns
[TRACE] 15:58:48.288 os.go:Pwd() - 400ns
[TRACE] 15:58:48.288 os.go:Flags() - 300ns
[TRACE] 15:58:48.288 os.go:GOOS() - 100ns
[TRACE] 15:58:48.289 os.go:Pwd() - 399ns
[TRACE] 15:58:48.289 os.go:GOOS() - 200ns
[DEBUG] 15:58:48.289 segment.go:SetEnabled:115 → Segment: Go
[DEBUG] 15:58:48.289 language.go:Enabled:109 → extensions: [*.go go.mod]
[DEBUG] 15:58:48.289 language.go:Enabled:110 → folders: []
[DEBUG] 15:58:48.289 language.go:Enabled:117 → home_enabled: false
[TRACE] 15:58:48.289 os.go:Pwd() - 100ns
[DEBUG] 15:58:48.289 language.go:Enabled:129 → files
[TRACE] 15:58:48.289 os.go:Pwd() - 199ns
[DEBUG] 15:58:48.288 segment.go:SetEnabled:115 → Segment: Node
[DEBUG] 15:58:48.289 language.go:Enabled:109 → extensions: [*.js *.ts package.json .nvmrc pnpm-workspace.yaml .pnpmfile.cjs .vue]
[DEBUG] 15:58:48.289 language.go:Enabled:110 → folders: []
[DEBUG] 15:58:48.289 language.go:Enabled:117 → home_enabled: false
[TRACE] 15:58:48.289 os.go:Pwd() - 200ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(*.go) - 285.25┬╡s
[TRACE] 15:58:48.289 os.go:Pwd() - 100ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(go.mod) - 4.892┬╡s
[DEBUG] 15:58:48.289 os.go:RunCommand:511 → NO DATA
[TRACE] 15:58:48.289 os.go:RunCommand(who am i) - 849.358┬╡s
[TRACE] 15:58:48.289 os.go:TemplateCache() - 200ns
[DEBUG] 15:58:48.289 language.go:Enabled:129 → files
[DEBUG] 15:58:48.289 node.go:loadContext:56 → fetch_package_manager: false
[TRACE] 15:58:48.289 os.go:Pwd() - 200ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(*.js) - 4.793┬╡s
[TRACE] 15:58:48.289 os.go:Pwd() - 100ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(*.ts) - 3.894┬╡s
[TRACE] 15:58:48.289 os.go:Pwd() - 199ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(package.json) - 3.195┬╡s
[TRACE] 15:58:48.289 os.go:Pwd() - 200ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(.nvmrc) - 3.295┬╡s
[TRACE] 15:58:48.289 os.go:Pwd() - 300ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(pnpm-workspace.yaml) - 3.295┬╡s
[TRACE] 15:58:48.289 os.go:Pwd() - 100ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(.pnpmfile.cjs) - 5.691┬╡s
[TRACE] 15:58:48.289 os.go:Pwd() - 199ns
[DEBUG] 15:58:48.289 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.289 os.go:HasFilesInDir(.vue) - 3.394┬╡s
[ERROR] 15:58:48.309 os.go:CommandPath:537 → exec: "python": executable file not found in $PATH
[TRACE] 15:58:48.309 os.go:CommandPath(python) - 21.319519ms
[DEBUG] 15:58:48.310 os.go:CommandPath:533 → /usr/bin/python3
[TRACE] 15:58:48.310 os.go:CommandPath(python3) - 65.497┬╡s
[DEBUG] 15:58:48.310 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.310 os.go:HasFilesInDir(pyvenv.cfg) - 738.633┬╡s
[DEBUG] 15:58:48.310 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.310 os.go:HasFilesInDir(pyvenv.cfg) - 16.375┬╡s
[DEBUG] 15:58:48.310 python.go:loadContext:83 → folder_name_fallback: true
[DEBUG] 15:58:48.310 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.310 os.go:Getenv(VIRTUAL_ENV) - 2.795┬╡s
[DEBUG] 15:58:48.310 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.310 os.go:Getenv(CONDA_ENV_PATH) - 1.897┬╡s
[DEBUG] 15:58:48.310 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.310 os.go:Getenv(CONDA_DEFAULT_ENV) - 1.997┬╡s
[TRACE] 15:58:48.310 os.go:Pwd() - 199ns
[DEBUG] 15:58:48.310 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.310 os.go:HasFilesInDir(*.py) - 4.992┬╡s
[TRACE] 15:58:48.310 os.go:Pwd() - 300ns
[DEBUG] 15:58:48.310 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.310 os.go:HasFilesInDir(*.ipynb) - 4.892┬╡s
[TRACE] 15:58:48.310 os.go:Pwd() - 200ns
[DEBUG] 15:58:48.310 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.310 os.go:HasFilesInDir(pyproject.toml) - 3.295┬╡s
[TRACE] 15:58:48.310 os.go:Pwd() - 199ns
[DEBUG] 15:58:48.310 os.go:HasFilesInDir:389 → false
[TRACE] 15:58:48.310 os.go:HasFilesInDir(venv.bak) - 3.095┬╡s
[DEBUG] 15:58:48.310 os.go:HasFolder:418 → false
[TRACE] 15:58:48.310 os.go:HasFolder(.venv) - 6.09┬╡s
[DEBUG] 15:58:48.310 os.go:HasFolder:418 → false
[TRACE] 15:58:48.310 os.go:HasFolder(venv) - 2.796┬╡s
[DEBUG] 15:58:48.310 os.go:HasFolder:418 → false
[TRACE] 15:58:48.310 os.go:HasFolder(virtualenv) - 3.994┬╡s
[DEBUG] 15:58:48.310 os.go:HasFolder:418 → false
[TRACE] 15:58:48.310 os.go:HasFolder(venv-win) - 2.496┬╡s
[DEBUG] 15:58:48.310 os.go:HasFolder:418 → false
[TRACE] 15:58:48.310 os.go:HasFolder(pyenv-win) - 4.094┬╡s
[DEBUG] 15:58:48.310 text.go:Render:73 → Rendering template:   <b>{{ .CurrentDate | date "15:04" }}</b> 
[DEBUG] 15:58:48.310 text.go:Render:73 → Rendering template:  {{ if .SSHSession }} {{ end }}{{ .UserName }} 
[TRACE] 15:58:48.311 os.go:TemplateCache() - 200ns
[TRACE] 15:58:48.311 os.go:TemplateCache() - 300ns
[DEBUG] 15:58:48.311 text.go:Render:73 → Rendering template: plain
[DEBUG] 15:58:48.311 text.go:Render:73 → Rendering template: plain
[DEBUG] 15:58:48.311 text.go:Render:73 → Rendering template: plain
[DEBUG] 15:58:48.311 text.go:Render:73 → Rendering template: diamond
[DEBUG] 15:58:48.311 text.go:Render:73 → Rendering template: diamond
[DEBUG] 15:58:48.311 text.go:Render:73 → Rendering template: diamond
[TRACE] 15:58:48.311 os.go:Shell() - 200ns
[TRACE] 15:58:48.311 os.go:Shell() - 199ns
[TRACE] 15:58:48.311 os.go:Flags() - 200ns
[TRACE] 15:58:48.311 os.go:Shell() - 100ns
[TRACE] 15:58:48.311 os.go:Shell() - 100ns
[TRACE] 15:58:48.311 os.go:Flags() - 100ns
[DEBUG] 15:58:48.311 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.311 os.go:Getenv(OMP_CACHE_DIR) - 2.896┬╡s
[DEBUG] 15:58:48.311 os.go:Getenv:306 → NO DATA
[TRACE] 15:58:48.311 os.go:Getenv(XDG_CACHE_HOME) - 2.296┬╡s
[TRACE] 15:58:48.311 os_unix.go:CachePath() - 16.973┬╡s
[TRACE] 15:58:48.311 os.go:Flags() - 199ns
alexgorbatchev commented 1 month ago

This looks to be related to nested shells. If I run a subshell zsh, i get the same results as in neovim, which makes sense. I dont think it's a neovim problem but rather nested shell.

JanDeDobbeleer commented 1 month ago

@alexgorbatchev zsh uses a native rprompt, we don't add any padding for that shell. So theoretically, this issue has nothing to do with oh-my-posh.

UndefBhvr commented 1 month ago

Same for vim in windows powershell 屏幕截图 2024-07-24 192537

JanDeDobbeleer commented 1 month ago

I'm not certain if this can be fixed, we calculate the width based on what the shell can tell us. If that one's incorrect or unavailable, no chance we're able to resolve this. That's also why zsh itself can't position this correctly most likely.

JanDeDobbeleer commented 1 month ago

@UndefBhvr @alexgorbatchev can't reproduce this, make sure everything is up-to-date. If PowerShell can correctly display, so should zsh.

image

@alexgorbatchev same for linux:

alexgorbatchev commented 1 month ago

I ended up moving right aligned segments to own lines away from the prompt line, which fixes the issue for

image
JanDeDobbeleer commented 1 month ago

@alexgorbatchev the weird thing is, zsh has a native right prompt. We don't do any positioning, they do.