powershell completion fix no file comp directive (#1363)
Make sure to filter the returned completions before we check if there are valid completions left. Fixes #1362 Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
This commit is contained in:
		@ -140,19 +140,6 @@ Register-ArgumentCompleter -CommandName '%[1]s' -ScriptBlock {
 | 
			
		||||
        $Space = ""
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (($Directive -band $ShellCompDirectiveNoFileComp) -ne 0 ) {
 | 
			
		||||
        __%[1]s_debug "ShellCompDirectiveNoFileComp is called"
 | 
			
		||||
 | 
			
		||||
        if ($Values.Length -eq 0) {
 | 
			
		||||
            # Just print an empty string here so the
 | 
			
		||||
            # shell does not start to complete paths.
 | 
			
		||||
            # We cannot use CompletionResult here because
 | 
			
		||||
            # it does not accept an empty string as argument.
 | 
			
		||||
            ""
 | 
			
		||||
            return
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ((($Directive -band $ShellCompDirectiveFilterFileExt) -ne 0 ) -or
 | 
			
		||||
       (($Directive -band $ShellCompDirectiveFilterDirs) -ne 0 ))  {
 | 
			
		||||
        __%[1]s_debug "ShellCompDirectiveFilterFileExt ShellCompDirectiveFilterDirs are not supported"
 | 
			
		||||
@ -172,6 +159,19 @@ Register-ArgumentCompleter -CommandName '%[1]s' -ScriptBlock {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (($Directive -band $ShellCompDirectiveNoFileComp) -ne 0 ) {
 | 
			
		||||
        __%[1]s_debug "ShellCompDirectiveNoFileComp is called"
 | 
			
		||||
 | 
			
		||||
        if ($Values.Length -eq 0) {
 | 
			
		||||
            # Just print an empty string here so the
 | 
			
		||||
            # shell does not start to complete paths.
 | 
			
		||||
            # We cannot use CompletionResult here because
 | 
			
		||||
            # it does not accept an empty string as argument.
 | 
			
		||||
            ""
 | 
			
		||||
            return
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    # Get the current mode
 | 
			
		||||
    $Mode = (Get-PSReadLineKeyHandler | Where-Object {$_.Key -eq "Tab" }).Function
 | 
			
		||||
    __%[1]s_debug "Mode: $Mode"
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user