diff options
| author | Harry <cra0zy@gmail.com> | 2020-02-15 19:19:57 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-15 19:19:57 +0100 | 
| commit | 0bcecf2f636b8070639b6db44b8541015f574365 (patch) | |
| tree | 6dfc75637755509e7744fe7aa0bd205eb6dd7c22 /plugins | |
| parent | aa4146a9a4b75bc998d74750b4f75131973ccf01 (diff) | |
| download | zsh-0bcecf2f636b8070639b6db44b8541015f574365.tar.gz zsh-0bcecf2f636b8070639b6db44b8541015f574365.tar.bz2 zsh-0bcecf2f636b8070639b6db44b8541015f574365.zip  | |
dotnet: use official dotnet completion (#8518)
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/dotnet/README.md | 2 | ||||
| -rw-r--r-- | plugins/dotnet/dotnet.plugin.zsh | 119 | 
2 files changed, 17 insertions, 104 deletions
diff --git a/plugins/dotnet/README.md b/plugins/dotnet/README.md index a663fc88d..7554b4e3c 100644 --- a/plugins/dotnet/README.md +++ b/plugins/dotnet/README.md @@ -20,4 +20,4 @@ plugins=(... dotnet)  | ds    | dotnet sln       | Modify Visual Studio solution files.                              |  | da    | dotnet add       | Add a package or reference to a .NET project.                     |  | dp    | dotnet pack      | Create a NuGet package.                                           | -| dng   | dotnet nuget     | Provides additional NuGet commands.                               |
\ No newline at end of file +| dng   | dotnet nuget     | Provides additional NuGet commands.                               | diff --git a/plugins/dotnet/dotnet.plugin.zsh b/plugins/dotnet/dotnet.plugin.zsh index ed6c68e5d..6bd4b7af8 100644 --- a/plugins/dotnet/dotnet.plugin.zsh +++ b/plugins/dotnet/dotnet.plugin.zsh @@ -1,114 +1,27 @@ -# --------------------------------------------------------------------- # -# Aliases and Completions for .NET Core (https://dotnet.microsoft.com/) # -# Author: Shaun Tabone (https://github.com/xontab)                      # -# --------------------------------------------------------------------- # +# This scripts is copied from (MIT License): +# https://github.com/dotnet/toolset/blob/master/scripts/register-completions.zsh -# Helper function to cache and load completions -local cache_base_path="${ZSH_CACHE_DIR}/dotnet_" -_dotnet_cache_completion() { -    local cache="${cache_base_path}$(echo $1)_completion" -    if [[ ! -f $cache ]]; then -        $2 $cache -    fi +_dotnet_zsh_complete()  +{ +  local completions=("$(dotnet complete "$words")") -    [[ -f $cache ]] && cat $cache -} +  # If the completion list is empty, just continue with filename selection +  if [ -z "$completions" ] +  then +    _arguments '*::arguments: _normal' +    return +  fi -_dotnet_cache_completion_cleanup() { -    local cache="${cache_base_path}$(echo $1)_completion" -    rm -f $cache +  # This is not a variable assigment, don't remove spaces! +  _values = "${(ps:\n:)completions}"  } -# --------------------------------------------------------------------- # -# dotnet new                                                            # -# ALIAS: dn                                                             # -# --------------------------------------------------------------------- # -_dotnet_new_completion() { -    if [ $commands[dotnet] ]; then -        dotnet new -l | tail -n +21 | sed 's/  \+/:/g' | cut -d : -f 2 >$1 -    fi -} +compdef _dotnet_zsh_complete dotnet -_dotnet_new_completion_cached() { -    _dotnet_cache_completion 'new' _dotnet_new_completion -} - -_dotnet_cache_completion_cleanup 'new' +# Aliases bellow are here for backwards compatibility +# added by Shaun Tabone (https://github.com/xontab)   alias dn='dotnet new' - -# --------------------------------------------------------------------- # -# dotnet                                                                # -# --------------------------------------------------------------------- # -_dotnet() { -    if [ $CURRENT -eq 2 ]; then -        _arguments \ -            '--diagnostics[Enable diagnostic output.]' \ -            '--help[Show command line help.]' \ -            '--info[Display .NET Core information.]' \ -            '--list-runtimes[Display the installed runtimes.]' \ -            '--list-sdks[Display the installed SDKs.]' \ -            '--version[Display .NET Core SDK version in use.]' - -        _values \ -            'add[Add a package or reference to a .NET project.]' \ -            'build[Build a .NET project.]' \ -            'build-server[Interact with servers started by a build.]' \ -            'clean[Clean build outputs of a .NET project.]' \ -            'help[Show command line help.]' \ -            'list[List project references of a .NET project.]' \ -            'msbuild[Run Microsoft Build Engine (MSBuild) commands.]' \ -            'new[Create a new .NET project or file.]' \ -            'nuget[Provides additional NuGet commands.]' \ -            'pack[Create a NuGet package.]' \ -            'publish[Publish a .NET project for deployment.]' \ -            'remove[Remove a package or reference from a .NET project.]' \ -            'restore[Restore dependencies specified in a .NET project.]' \ -            'run[Build and run a .NET project output.]' \ -            'sln[Modify Visual Studio solution files.]' \ -            'store[Store the specified assemblies in the runtime package store.]' \ -            'test[Run unit tests using the test runner specified in a .NET project.]' \ -            'tool[Install or manage tools that extend the .NET experience.]' \ -            'vstest[Run Microsoft Test Engine (VSTest) commands.]' \ -            'dev-certs[Create and manage development certificates.]' \ -            'fsi[Start F# Interactive / execute F# scripts.]' \ -            'sql-cache[SQL Server cache command-line tools.]' \ -            'user-secrets[Manage development user secrets.]' \ -            'watch[Start a file watcher that runs a command when files change.]' -        return -    fi - -    if [ $CURRENT -eq 3 ]; then -        case ${words[2]} in -        "new") -            compadd -X ".NET Installed Templates" $(_dotnet_new_completion_cached) -            return -            ;; -        "sln") -            _values \ -                'add[Add one or more projects to a solution file.]' \ -                'list[List all projects in a solution file.]' \ -                'remove[Remove one or more projects from a solution file.]' -            return -            ;; -        "nuget") -            _values \ -                'delete[Deletes a package from the server.]' \ -                'locals[Clears or lists local NuGet resources such as http requests cache, packages folder, plugin operations cache  or machine-wide global packages folder.]' \ -                'push[Pushes a package to the server and publishes it.]' -            return -            ;; -        esac -    fi - -    _arguments '*::arguments: _normal' -} - -compdef _dotnet dotnet - -# --------------------------------------------------------------------- # -# Other Aliases                                                         # -# --------------------------------------------------------------------- #  alias dr='dotnet run'  alias dt='dotnet test'  alias dw='dotnet watch'  | 
