Gif record:

Position of cursor before and after <TAB> for 3 loaded modules:
test on ๎ master [?] is ๐ฆ v0.4.3 via ๐ v2.7.16 via ๐ณ v0.19.1 โฏ git
^
test on ๎ master [?] is ๐ฆ v0.4.3 via ๐ v2.7.16 via ๐ณ v0.19.1 โฏ git
^
set fish_greeting
function fish_right_prompt
# intentionally left blank
end
starship init fish | source
source ~/.iterm2_shell_integration.fish
# Don't print a new line at the start of the prompt
add_newline = false
clear_before_printing = true
prompt_order=["username", "directory", "git_branch", "git_status", "package", "nodejs", "ruby", "rust", "python", "haskell", "elm", "golang", "cmd_duration", "jobs", "battery", "character",]
# Replace the "โฏ" symbol in the prompt with "โ"
[character] # The name of the module we are confguring is "character"
#symbol = "โ" # The "symbol" segment is being set to "โ"
error_symbol = "โ" # The symbol used before text input if the previous command failed
use_symbol_for_status = true # Indicate error status by changing the symbol
# Disables the line_break module, making the prompt a single line
[line_break]
disabled = true
Whoa, that's weird.
We see this sort of issue in zsh/bash fairly regularly when we've screwed up color escapes somewhere, but I don't think we've seen it in fish before.
Do you know which languages/modules cause this? It would help a lot in hunting things down.
After some testing I found that for me it happening for the following modules: package, python, elm, golang.
The only module which didn't cause that: nodejs.
Looks like it happens for modules with emoji.
Can you please try running the following and seeing if it still happens:
set -g fish_emoji_width 2
@matchai Wow! Nice catch.
I can't reproduce the issue with setting non-emoji symbols for Python/Elm/etc, so it's definitely because of the emoji.
Looks like it has nothing to do with starship. :)
Most helpful comment
Looks like it happens for modules with emoji.
Can you please try running the following and seeing if it still happens: