https://github.com/wilsonneto-swe/httpyac-primenav
:package: httpYac PrimeNav - Cursor extension that enables navigation for .http and .rest files using httpYac conventions
https://github.com/wilsonneto-swe/httpyac-primenav
cursor-extension httpfile httpyac
Last synced: 9 days ago
JSON representation
:package: httpYac PrimeNav - Cursor extension that enables navigation for .http and .rest files using httpYac conventions
- Host: GitHub
- URL: https://github.com/wilsonneto-swe/httpyac-primenav
- Owner: wilsonneto-swe
- License: mit
- Created: 2026-05-17T02:44:48.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2026-05-18T23:34:46.000Z (13 days ago)
- Last Synced: 2026-05-20T02:09:34.549Z (12 days ago)
- Topics: cursor-extension, httpfile, httpyac
- Language: TypeScript
- Homepage: https://open-vsx.org/extension/wilsonneto-swe/httpyac-primenav
- Size: 387 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# httpYac PrimeNav
> Stop scrolling through .http files. Workspace-wide navigation tree, global search, and pin feature. Then send via httpYac.
Workspace-wide navigation for `.http` and `.rest` files using [httpYac](https://httpyac.github.io/) conventions.
It adds a dual-panel tree, fuzzy search and metadata-aware grouping for httpYac request files.

## Features
- **Dual tree views** — the sidebar shows two panels side by side:
- **Current File** (top) — visible only when an `.http` / `.rest` file is active; lists its sections and requests fully expanded.
- **Workspace Requests** (bottom) — full workspace tree, collapsed by default, with automatic reveal of the active file.
- **Method badge icons** — `GET`, `POST`, `PUT`, `PATCH`, `DELETE` and other HTTP verbs are rendered as coloured SVG badges, making the method immediately visible.
- **Fuzzy search** over every request, filterable by method, name, file path or URL — `Cmd/Ctrl+Shift+H` opens it scoped to the current file, `Cmd+Ctrl+H` / `Ctrl+Alt+H` opens it workspace-wide, and a title-bar button toggles the scope once open.
- **Pinned requests** — pin any request from the tree or the search picker; pinned requests appear at the top of the tree and at the top of the quick-pick when the search box is empty. Pins are persisted per-workspace.
- **httpYac metadata aware** — `# @name`, `# @title`, `# @ref`, `# @forceRef`, `# @disabled`, `# @import` and `####` sections shape the labels and grouping.
- **Click to reveal** — jump straight to the request line in the editor.
- **Send delegation** — when the [httpYac extension](https://marketplace.visualstudio.com/items?itemName=anweber.vscode-httpyac) is installed, an inline ▶ button runs the request through it.
This is a **navigation-only** extension: it ships no HTTP engine and renders no responses. Execution is delegated to httpYac.
## Usage
1. Open a workspace containing `.http` / `.rest` files.
2. Click the **httpYac PrimeNav** icon in the Activity Bar.
3. Open an `.http` file — the **Current File** panel shows its requests immediately.
4. Browse the workspace tree or fuzzy-search requests: `Cmd/Ctrl+Shift+H` (current file) or `Cmd+Ctrl+H` / `Ctrl+Alt+H` (whole workspace).
5. Click a request to reveal it; use the ▶ action to send it via httpYac.

## Pinned Requests
Click the pin icon ($(pin)) next to any request in the tree, or the pin button on each item in the search picker, to pin it. Pinned requests:
- Appear in a **Pinned** group at the top of the activity bar tree.
- Are shown at the top of the quick-pick when the search box is empty.
- Survive editor restarts — pins are stored in workspace state.
- Are identified by `# @name` when present (stable across line shifts), otherwise by line number (best-effort).
If a pinned request is deleted or renamed, its tree entry turns into a stale *(missing)* node with a remove button.
## Settings
| Setting | Default | Description |
| --------------------------------- | -------------------- | --------------------------------------------- |
| `httpyacPrimeNav.fileGlob` | `**/*.{http,rest}` | Glob used to discover request files. |
| `httpyacPrimeNav.excludeGlob` | `**/node_modules/`** | Glob excluded from discovery. |
| `httpyacPrimeNav.groupBySections` | `true` | Group requests under `#### Section` headers. |
| `httpyacPrimeNav.showPinned` | `true` | Show the Pinned group at the top of the tree. |
## License
MIT