Spec-Zone.ru › Homebrew

Модуль: Utils::ShellCompletion Закрытый

Определён в:
utils/shell_completion.rb

Обзор

Этот модуль является частью закрытого API. Этот модуль можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого модуля, так как он может быть удалён или изменён без предупреждения.

Общая логика для создания скриптов автодополнения командной оболочки. Используется как в Formula#generate_completions_from_executable, так и в Cask::Artifact::GeneratedCompletion.

Краткое описание методов класса свернуть

  • .completion_shell_parameter(format, shell, executable, env) ⇒ String, ... закрытый
  • .default_completion_shells(format) ⇒ Array<Symbol> закрытый
  • .generate_completion_output(commands, shell_parameter, env) ⇒ String закрытый

Подробное описание методов класса

.completion_shell_parameter(format, shell, executable, env) ⇒ String, ...

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Параметры:

  • format (Symbol, String, nil)
  • shell (Symbol)
  • executable (String)
  • env (Hash{String => String})

Возвращает:

  • (String, Array<String>, nil)


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'utils/shell_completion.rb', line 27

def self.completion_shell_parameter(format, shell, executable, env)
  # Go's cobra and Rust's clap accept "powershell".
  shell_parameter = (shell == :pwsh) ? "powershell" : shell.to_s

  case format
  when nil
    shell_parameter
  when :arg
    "--shell=#{shell_parameter}"
  when :clap
    env["COMPLETE"] = shell_parameter
    nil
  when :click
    prog_name = File.basename(executable).upcase.tr("-", "_")
    env["_#{prog_name}_COMPLETE"] = "#{shell_parameter}_source"
    nil
  when :cobra
    ["completion", shell_parameter]
  when :flag
    "--#{shell_parameter}"
  when :none
    nil
  when :typer
    env["_TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION"] = "1"
    ["--show-completion", shell_parameter]
  else
    "#{format}#{shell}"
  end
end

.default_completion_shells(format) ⇒ Array<Symbol>

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Параметры:

  • format (Symbol, String, nil)

Возвращает:

  • (Array<Symbol>)


10
11
12
13
14
15
16
17
# File 'utils/shell_completion.rb', line 10

def self.default_completion_shells(format)
  case format
  when :cobra, :typer
    [:bash, :zsh, :fish, :pwsh]
  else
    [:bash, :zsh, :fish]
  end
end

.generate_completion_output(commands, shell_parameter, env) ⇒ String

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Параметры:

  • commands (Array<Pathname, String>)
  • shell_parameter (String, Array<String>, nil)
  • env (Hash{String => String})

Возвращает:

  • (String)


64
65
66
67
68
69
# File 'utils/shell_completion.rb', line 64

def self.generate_completion_output(commands, shell_parameter, env)
  args = T.let(commands + Array(shell_parameter), T::Array[T.any(Pathname, String)])
  options = T.let({}, T::Hash[Symbol, Symbol])
  options[:err] = :err unless ENV["HOMEBREW_STDERR"]
  Utils.safe_popen_read(env, *args, **options)
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Utils/ShellCompletion.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API