cobraargs

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package cobraargs — переходник делегирующей формы мигратора к общим текстам отказа и общему перечню команд.

Зачем отдельный пакет, а не три копии рядом с точками наката (#1461)

Тексты отказа производит migratorcli — один на семь сервисов. Делегирующая форма обязана говорить ими же, иначе на одном и том же входе оператор получает две редакции одного отказа, а образец, написанный по одному сервису, на соседнем не срабатывает. Три копии этого переходника были бы тремя местами об одном предмете и разошлись бы молча — ровно тем способом, каким различие и накопилось.

Пакет отделён от migratorcli потому, что зовёт cobra: прямая четвёрка её не собирает и не должна, а разбор аргументов у неё свой.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HideShellCompletion

func HideShellCompletion(root *cobra.Command)

HideShellCompletion снимает с дерева команду генерации дополнений оболочки.

Cobra доводит её сама; прямая форма её не имеет и иметь не будет — дополнения оболочки требуют своего дерева команд, а не разбора аргументов. Перечень команд читает ОПЕРАТОР, значит он тоже поверхность: команда, существующая у трёх сервисов из семи, — то же различие, что и разное имя бинаря.

Вторую доведённую команду, `help`, снимать НЕЛЬЗЯ тем же способом: шаблон cobra печатает её в перечне независимо от признака скрытности, и обойти это можно лишь зарегистрировав скрытую команду под ЧУЖИМ именем — то есть завести команду, которой нет у четверых, вместо той, которой нет у четверых. Поэтому равенство по `help` достигнуто с другой стороны: его понимает и прямая форма (см. разбор `help` в migratorcli.Parse).

func NoExtraArguments

func NoExtraArguments(cmd *cobra.Command, args []string) error

NoExtraArguments — поле Args подкоманды: лишний позиционный аргумент отвергается общим текстом.

Умолчание cobra (`Args == nil`) принимает произвольные аргументы МОЛЧА, поэтому `up 800001` — обычная догадка о том, как задать версию, — уезжал накатывать до головы. Отказ называет верный способ.

func OnlyKnownCommands

func OnlyKnownCommands(cmd *cobra.Command, args []string) error

OnlyKnownCommands — поле Args КОРНЕВОЙ команды: первый позиционный аргумент, не совпавший ни с одной подкомандой, есть неизвестная подкоманда.

Перечень известных называется в самом отказе: у cobra собственный текст его не называет, и оператору приходилось идти за ним в помощь.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL