feat: команда completions через autumn-cli + &ПоставщикДополнения#54
Draft
feat: команда completions через autumn-cli + &ПоставщикДополнения#54
Conversation
Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/a756b324-c974-4864-b444-6e841a0c276e Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/a756b324-c974-4864-b444-6e841a0c276e Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
nixel2007
April 22, 2026 08:40
View session
nixel2007
reviewed
Apr 22, 2026
…tumn DI Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/620f0b3d-4ded-4eb4-8aea-b21995ed3cb7 Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/bd06fa86-ee67-41b7-8808-5df53c01d281 Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
…саниеКоманды-based commands Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/133e180e-c446-4b87-ab6a-acbb38796823 Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/133e180e-c446-4b87-ab6a-acbb38796823 Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
nixel2007
reviewed
Apr 22, 2026
…ry API for option discovery Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/4e27cbe1-debf-47b0-8781-2e2e3ef79b8f Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
Agent-Logs-Url: https://github.com/oscript-library/ovm/sessions/4e27cbe1-debf-47b0-8781-2e2e3ef79b8f Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
Member
|
@copilot ты вообще пробовал это запускать? Вот инструкции по установке оскрипта |
…g construction - Injecting КонсольноеПриложение created a circular dependency (autumn-cli's КонсольноеПриложение bean depends on all КомандаПриложения beans, including КомандаCompletions itself). Autumn has no protection against cycles — the app hung on startup. - Now inject Поделка and resolve КонсольноеПриложение lazily at command execution time, when the container is fully built. - The bash script was built as an oscript multi-line string literal without the required `|` continuation-line prefix, causing a parse error. Rebuilt it by assembling an array of lines joined with Символы.ПС. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Coverage Report for CI Build 24783228439Coverage remained the same at 75.61%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
Older version has a syntax error (missing comma in ФабрикаЛогов.os) that is caught by stricter oscript parsers and prevents the app from starting on a fresh install. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Adds dynamic suggestions for positional version arguments:
- 'ovm use <TAB>' → installed versions via 'ovm ls -q'
- 'ovm install <TAB>' → available remote versions via 'ovm ls -r'
(first column extracted with awk to strip the URL part)
- Option completions (starting with '-') still work as before: when the
current token starts with a dash, only options are offered.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All three accept an installed version alias as positional argument, so suggest installed versions via 'ovm ls -q'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…style Команда 'completions' удалена из ovm и теперь предоставляется напрямую autumn-cli — все приложения на autumn-cli получают её бесплатно. На полях команд навешена аннотация &ПоставщикДополнения (новая в autumn-cli 1.4.0), которая на этапе генерации скрипта запекает в него динамические значения: - use / uninstall / which / run — установленные версии; - install — доступные к установке версии. КомандаInstall переписана в декларативный стиль (&Опция/&Аргумент + &ВыполнениеКоманды) взамен устаревшего ОписаниеКоманды/ВыполнитьКоманду. Фича completions.feature обновлена: теперь поддерживаются все три оболочки (bash, zsh, pwsh), сценарий 'не поддерживается' проверяется на fish. packagedef: autumn-cli → 1.4.0 (релиз с фичей в autumn-library/autumn-cli#20). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
completions command for shell autocompletion script generationУбран сценарий с fish — валидация оболочки теперь делается через &ТПеречисление, некорректное значение отсекается фреймворком до выполнения команды. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tion КомандаInstall.os потеряла табуляцию при переходе на декларативный стиль; также в Run/Uninstall хвост ПолучитьУстановленныеВерсии был без отступов. Возвращено табуляционное оформление. В ВерсииOneScript добавлен ПолучитьСписокАлиасовУстановленныхВерсий — облегченный геттер, не запускающий oscript -version на каждую версию и не дергающий ls/dir для определения симлинков. Провайдеры автодо- полнения КомандаUse/Uninstall/Which/Run переведены на него — запекание списка алиасов в completion-скрипт больше не требует обхода процессов per version. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
815eee1 to
0d04c38
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Суть
Команда
ovm completionsдля генерации shell-скриптов автодополнения (bash/zsh/pwsh) на базе новой инфраструктурыcli+ аннотации&ПоставщикДополненияизautumn-cli. Значения запекаются в итоговый скрипт литералами — в момент нажатия Tab никакие подпроцессы не запускаются.Что делает PR
Убрано (перенесено вверх по стеку)
src/cmd/Классы/КомандаCompletions.os— полностью удалён. Командаcompletionsтеперь реализована в cli-библиотеке и автоматически регистрируется на каждом cli-приложении.Добавлено
&ПоставщикДополнения("ИмяМетода"):КомандаUse.ИспользуемаяВерсия,КомандаUninstall.МассивВерсийКУдалению,КомандаWhich.ИскомаяВерсия,КомандаRun.ИспользуемаяВерсия→ПолучитьУстановленныеВерсии;КомандаInstall.МассивВерсийКУстановке→ПолучитьДоступныеВерсии.features/completions.feature— регрессионные BDD-сценарии для bash/zsh/pwsh.Облегчённый геттер в
ВерсииOneScriptПолучитьСписокАлиасовУстановленныхВерсий()— возвращаетМассив<Строка>исключительно по содержимому каталога установки черезВерсияУстановлена(). В отличие от существующегоПолучитьСписокУстановленныхВерсий(), не запускаетoscript -versionна каждую версию и не парсит выводls -la/dirдля определения симлинков.КомандаInstallна декларативном стилеinstallпереведён на поля-свойства (&Опция/&Аргумент/&ВыполнениеКоманды) — в духе остальных команд ovm и в духе autumn-cli.Обновлено
packagedef:autumn-cliподнят до1.4.0,autumn-logos— до1.3.1(требуются для аннотации&ПоставщикДополненияи переносаcompletionsв cli).Как это работает
ovm completions --shell bash→ cli-библиотека обходит дерево команд, для каждого поля с&ПоставщикДополнениявызывает указанный метод и запекает возвращённый массив литералом в итоговый скрипт. Никаких runtime-вызововovmиз скрипта автодополнения на Tab.Подготовка скрипта занимает ~2 сек (доминирует сетевой запрос к сайту OneScript в провайдере
ПолучитьДоступныеВерсиидляinstall).Проверено
Все 10 шагов BDD-сценариев
features/completions.feature— зелёные.Запечённые варианты видны в скрипте:
Зависимые PR
completionsв cli-библиотеке (команда + генераторы bash/zsh/pwsh, перечислениеТипОболочки, колонкаЗначенияДополненияв help-таблице, отказ отdelegateв пользу нативногоДействие).&ПоставщикДополненияи её проброс в cli API.Установка после мёржа
После публикации
cli 0.12.0иautumn-cli 1.4.0—opm install -l ovm.Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com