dotnet / source-build

A repository to track efforts to produce a source tarball of the .NET Core SDK and all its components
MIT License
265 stars 130 forks source link

Possible regression in shell completion with .NET 6.0 #2012

Open omajid opened 3 years ago

omajid commented 3 years ago

The CLI/SDK is switching to System.CommandLine: https://github.com/dotnet/core/issues/5853#issuecomment-770124124

For shell completion to work, this will require installing the dotnet-suggest tool: https://github.com/dotnet/command-line-api/blob/main/docs/dotnet-suggest.md

How does this work with Linux distributions? Can shell completion work without this glboal tool? Can we build dotnet-suggest from source? If we can't, what's the alternative option?

dagood commented 3 years ago

The csproj itself doesn't look bad at first glance: https://github.com/dotnet/command-line-api/blob/main/src/System.CommandLine.Suggest/dotnet-suggest.csproj. But we do have this patch to remove it, citing prebuilts: https://github.com/dotnet/source-build/blob/release/5.0/patches/command-line-api/0001-Exclude-dotnet-suggest-from-source-build.patch

(I filed https://github.com/dotnet/command-line-api/issues/1183 to ask about the System.CommandLine.Suggest/dotnet-suggest naming mismatch.)

omajid commented 3 years ago

Thinking out loud: once we can build dotnet-suggest.csproj, what's the next step? This is supposed to be a global tool; is there some way to actually install this site-wide?

dagood commented 3 years ago

I imagined it would fit into https://github.com/dotnet/installer/blob/e8658412c76bac170e482935ebf9316fcf5d7f9e/src/redist/targets/BundledDotnetTools.targets, but I'm not really familiar with how that infra works.