copilot-language-server binary, which is not bundled and never installed automatically — by design, the editor stays out of your package-manager loop. If the binary isn’t present, Vorto degrades silently: no errors, no prompts, and every other feature keeps working. You just don’t see ghost text.
Prerequisites
1
A GitHub account with Copilot access
Inline completions are served by GitHub Copilot, so you need an account with an active Copilot entitlement. Vorto does not provide a plan of its own — it relies on your existing GitHub Copilot access.
2
The copilot-language-server binary on your PATH
Vorto looks for an executable named Verify it resolves:
copilot-language-server on your PATH. It is the official GitHub-published language server, distributed as an npm package. Any install method works as long as the binary ends up on your PATH, for example:Vorto runs a single workspace-wide Copilot instance and connects to it over standard LSP (stdio). There is no per-language setup — once the binary is on your
PATH and you’re signed in, it applies across every buffer.Sign in
Copilot uses GitHub’s device-flow sign-in. Start it from the command prompt::copilot login is an alias.) Vorto then:
- Copies a one-time user code to your clipboard.
- Opens the verification URL (
https://github.com/login/device) in your OS browser. - Shows a centered modal with the user code and URL so you can confirm the device even if the browser didn’t open.
Managing your session
You can also confirm Copilot’s state at a glance in the
:lsp status modal, where it is listed alongside your language servers.
Use ghost text
Once you’re signed in, suggestions appear automatically as you edit in Insert mode. There is nothing to trigger by hand — Vorto requests a completion on a short 75 ms debounce and surfaces the result wherever your cursor comes to rest: after a motion,Backspace, Enter, a paste, or simply entering Insert mode. Ghost text and the LSP completion popup coexist; the suggestion paints underneath the popup rather than fighting it.
Accept a suggestion
Accepting inserts the suggestion exactly as Copilot returned it, including any indentation on continuation lines.
Multi-line suggestions
Suggestions can span multiple lines; Vorto renders each continuation line beneath the cursor, indented as Copilot returned it. Server-side multi-line generation is currently scoped to JavaScript / JSX, Python, and empty-block starts — elsewhere you’ll typically get a single-line completion.Dismiss a suggestion
There is no dedicated reject key. A suggestion is only valid while your cursor sits exactly where it was requested, so moving the cursor, editing the buffer, or leaving Insert mode clears the ghost text. If a suggestion isn’t what you want, just keep typing — it disappears on its own and a fresh request fires when you pause.Enable and disable
Copilot has no on/off switch inconfig.toml. Whether it’s active comes down to two things:
- Is
copilot-language-serveron yourPATH? If not, the client never starts and you get no ghost text — with no error. - Are you signed in? Run
:copilot statusto check, and:copilot signin/:copilot signoutto change it.
PATH.
Next steps
LSP
How Vorto’s language-server client works — diagnostics, completions, and goto definition that complement Copilot’s suggestions.
Editing modes
The modal grammar that ghost text plugs into — accept a suggestion, then reshape it with motions and operators.