nix-zsh-completions
                                
                                 nix-zsh-completions copied to clipboard
                                
                                    nix-zsh-completions copied to clipboard
                            
                            
                            
                        Nix completion breaks prompt
Description
I have a very strange issue. I'm not sure whether nix-zsh-completion is at fault here, I expect something else on my system is causing problems, but I have ruled out most that I have thought of and am at a loss.
The problem is, when I use completion like:
bob.vanderlinden@NVC3919:~/ > nix <tab>
It will clear the whole line, including the prompt.
When I do:
bob.vanderlinden@NVC3919:~/ > nix --<tab>
It'll again clear the line, including the prompt, but it will show:
store
When I do:
bob.vanderlinden@NVC3919:~/ > nix build <tab>
It'll clear the line and show:
--store
I am very confused by this behavior. I have tried removing my ~/.zsh{rc,env,_history}, but to no avail.
Bash completion for nix <tab> works fine.
Zsh completion for nix<tab> also works fine. Same for nix-build <tab>. It is specifically completion for the nix cli itself that's failing it seems.
Any idea what steps I can take to further investigate this issue?
System
- 
nix-zsh-completions version: 0.4.4
- 
ZSH version: 5.9
- 
NIX_PATH: /home/bob.vanderlinden/.nix-defexpr/channels:nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels
- 
system: "x86_64-linux"
- 
host os: Linux 5.15.77, NixOS, 22.11 (Raccoon), 22.11.20221109.872fcee
- 
multi-user?: yes
- 
sandbox: yes
- 
version: nix-env (Nix) 2.11.0
- 
channels(root): "nixos-21.03pre268835.8c8731330b5"
- 
channels(bob.vanderlinden): "home-manager, nixpkgs"
- 
nixpkgs: /home/bob.vanderlinden/.nix-defexpr/channels/nixpkgs
Completion trace
I have generated the trace using:
nix <Ctrl+x ?>
https://gist.github.com/bobvanderlinden/7e7dcfac986662085f2751b942f13192
I have the same problem with nix command completion.
I think this is caused by the fact that nix 2.4+ has ANSI escape sequences in its --help output. The completion function parses the output and the escape sequences confuse it. As this repo seems inactive, I proposed to remove the completion function in nixpkgs (see the link above). nix offers its own zsh completion, which works well.
I've forked the repo and simply deleted _nix. This seems to work for me. See https://github.com/bryango/nix-zsh-completions and the commit https://github.com/bryango/nix-zsh-completions/commit/c0c04022c9ac44af645ed769786d2303d0fb3ac4 therein.