расширение табуляции не завершается, если оно переопределено

StackOverflow https://stackoverflow.com/questions/2490658

  •  21-09-2019
  •  | 
  •  

Вопрос

В tabexpansion функция работает только частично, когда я переопределяю ее следующим образом:

function tabexpansion {
    param($line, $lastWord)

    if ($line -eq "hey ") {
        "you", "Joe"
    }
}

Пользовательские завершения работают так, как ожидалось, но теперь я получаю только поведение автозаполнения по умолчанию для имен командлетов, а не параметров.Итак Новое-ВКЛАДКА работает нормально, но Новый псевдоним -ВКЛАДКА не делает.Как мне также получить регулярные завершения после переопределения tabexpansion?

Это было полезно?

Решение

Имя файла и расширение командлета обрабатываются в самой командной оболочке, если функция ничего с ними не делает.Все остальное, включая статические элементы, параметры командлетов и c.обрабатывается функцией.Если вы взглянете на Function:TabExpansion там происходит довольно много событий, которые вы, возможно, захотите сохранить, если хотите, чтобы другие функции завершения вкладок все еще работали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top