Skip to content

Completions don't work for symlinked executables #2201

Open
@mtaron

Description

@mtaron

It's pretty common to "install" executables on Linux by symlinking them into $XDG_BIN_DIR, e.g. ln --symbolic "$XDG_DATA_HOME/go/bin/go" "$XDG_BIN_DIR/go"

I tried something similar with a dotnet CLI I created using System.CommandLine, but I couldn't get completions to work. I tracked it down to this line

# Get full path to script because dotnet-suggest needs it
# NOTE: this requires a command registered with dotnet-suggest be
# on the PATH
full_path=`which ${words[1]}` # zsh arrays are 1-indexed

Switching this to full_path=$(realpath $(which ${words[1]})) fixed the issue.

Would be nice for the official shims (or dotnet-suggest itself if the fix is more appropriate there) to support symlinked executables.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-CompletionsRelated to support for tab completionbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions