OMP for VS Code
Open an OMP (oh-my-pi) terminal in the editor area and send context from the
active editor into the running omp prompt.
Features
- OMP: Open terminal — opens the
omp terminal in a right split of the
editor area. Reuses the existing terminal; never spawns a second one.
- OMP: Send selection to prompt — sends the current selection to omp as
[file: <rel> (lines X-Y)] followed by the selected text, without
submitting.
- OMP: Send file context to prompt — sends
[file: <rel>] for the active
editor, without submitting.
Requirements
- VS Code 1.85+
- The
omp CLI available in your shell PATH
Keybindings (macOS)
| Action |
Shortcut |
| Send selection to prompt |
Ctrl+Option+Cmd+I |
| Send file context to prompt |
Ctrl+Option+Cmd+F |
All three commands are also available from the command palette ("OMP: ..."),
the editor title bar (omp logo icon), and the OMP activity-bar view — which
also shows the omp terminal status (running / not running) and one-click
command shortcuts.
Usage
Select code in a file and hit Ctrl+Option+Cmd+I. The terminal opens and
focuses with the payload sitting in the input buffer:
[file: src/main.ts (lines 10-14)] const answer = 42;
Multi-line selections keep their line breaks. Nothing is submitted — press
Enter in the omp terminal yourself when ready. A Shift+Enter newline is sent
after the payload, so the cursor lands on a fresh line for your own input
(verified against the omp TUI).
Development
npm install
npm test # tsc + mocked-vscode behavior tests
npm run package # builds omp-vscode-<version>.vsix
F5 in VS Code launches the Extension Development Host for manual acceptance
testing.
Releasing
Releases are tag-driven via the GitLab CI pipeline. The semver tag must equal
the version in package.json — the manifest is the source of truth, so the
repo and the released version never drift:
- Bump the version in
package.json, commit, and push.
- Tag the release:
git tag <version> && git push origin <version>
(e.g. git tag 0.0.1).
- The pipeline runs the test suite first, then verifies the tag matches the
manifest version and publishes the extension to the VS Code Marketplace
(
DevOpsRebels.omp-vscode).
A tag that does not match package.json fails the publish job loudly — bump
the version before tagging.
License
MIT