magus v0.3.0 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
1 min read

magus-completion

Print a shell completion script

Synopsis

magus completion <bash|zsh|fish|powershell>

Description

Print a shell completion script to stdout. Every script registers both magus and the mgs shorthand.

Completes subcommands, the targets accepted by run and affected, the nouns accepted by describe, the lenses accepted by insight, and each subcommand's flags. Project paths are completed live by shelling out to magus ls -o name, so they track the workspace instead of a baked-in list; outside a workspace they are simply empty.

Install differs per shell, and zsh is the one that bites:

bash source it from ~/.bashrc, which re-reads it from the binary on every new shell and so survives an upgrade: source <(magus completion bash) zsh write it to a directory on $fpath as _magus. The script ends by invoking its own completion function, so sourcing it from ~/.zshrc runs that outside a completion context and registers nothing. Regenerate the file after magus self update. fish write it to ~/.config/fish/completions/magus.fish, loaded on demand. powershell append it to $PROFILE.

Examples

Bash: source from the rc, never goes stale

echo 'source <(magus completion bash)' >> ~/.bashrc

Zsh: install onto $fpath (not into ~/.zshrc)

magus completion zsh > ~/.zsh/completions/_magus

Fish

magus completion fish > ~/.config/fish/completions/magus.fish

PowerShell

magus completion powershell >> $PROFILE

See Also

magus(1), magus-ls(1), magus-describe(1), magus-run(1), magus-x(1), magus-where(1), magus-affected(1), magus-insight(1), magus-graph(1), magus-watch(1), magus-status(1), magus-doctor(1), magus-config(1), magus-server(1), magus-man(1), magus-init(1), magus-self(1), magus-version(1)

auto-generatedclimagus completioncompletionbashzshfishpowershellshell
Last updated (a59e71c9)
Earlier changes on this page (3)

Full history ↗ · Blame source ↗

Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. See workspace.

Project

A directory magus recognizes as a unit of work (it has a magusfile); the unit of caching, scheduling, and dependency tracking. See workspace.

Target

A named operation (build, test, ...) you invoke with magus run <target>; it may compose a spell's tool-native operations and depend on other targets. See targets.

Affected

The set of projects touched by a change; magus affected <target> runs a target only over them. See affected.

CI

An ordinary magusfile-defined target you compose yourself with magus\needs - magus does not hardcode its stages. Magus.RunCI treats it specially only in that it strips the rw charm, it is the anchor magus affected ci keys off, and a selected scope with no project declaring it is a load error rather than a silent no-op. See targets.

MAGUS.md

The committed routing index at a workspace root, regenerated from the knowledge graph: it lists every node and points at the exact query for a given question, so it is the entry point an agent reads first. See knowledge.

Insight

The reports magus derives over the graph and history (hotspots, affinity, ownership, trend). See insight.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.