Skip to content
Quarryv1.4

    Start free

    Everything talks to the same port.

    There is one integration, and it is a JSON listener on 127.0.0.1:7433. The editor plugins are clients of it. So is anything you write this afternoon. Nothing here involves an API key, an OAuth screen or a webhook, because nothing here leaves the machine.

    The endpoint and the plugins need a Pro or Team licence

    Editors

    Two plugins, both free downloads.

    Each one needs the daemon running with [serve] enabled and the port it is pointed at. Both fail quietly when the daemon is not answering, with a line in the status bar rather than a dialog.

    VS Code

    marketplace

    Quarry Search, from the marketplace. The command palette runs Quarry: Search, or Cmd+Shift+F9 on macOS and Ctrl+Shift+F9 on Linux. A workspace setting pins it to one index.

    Neovim

    lua module

    quarry-dev/quarry.nvim, installed with any plugin manager. It adds :QuarrySearch and a Lua function that hands results to whichever fuzzy finder you already use.

    Installation and the settings each one reads are in the editor plugins reference.

    The endpoint

    One request, and the same rows the app would show.

    The daemon binds to loopback and nowhere else, so the endpoint is reachable from programs on this machine and from nothing on the network. Confirming it is answering takes one line:

    curl '127.0.0.1:7433/search?q=test&limit=1'

    Query, index, limit and offset go in; an array of hits with paths, line numbers and snippets comes back. Every parameter and every field is listed in the endpoint reference.

    Scripts

    A command line that behaves in a pipeline.

    If the thing calling Quarry is a shell script or a CI job, the CLI is the shorter route. It prints JSON on demand and it exits with a number, so a script branches without reading error text.

    quarry search 'ext:md AND todo' --json | jq '.hits[].path'

    0 for matches, 1 for none, 2 for a query it could not parse, and four more for the cases a job needs to tell apart. The full set is in the exit codes reference.

    Asked for

    What does not exist yet.

    These are the four that people write in about. None of them is scheduled, and each one is in the public tracker where it will stay until it is.

    • Emacsin the tracker
    • JetBrains IDEsin the tracker
    • Raycast and Alfredin the tracker
    • Obsidianasked for twice

    Any of them can be built against the endpoint today without waiting for us, and two of the four already have a community attempt linked from their issue.

    Turn the endpoint on first.

    One line in the settings file, or start the daemon with quarry daemon --serve. Everything on this page follows from that.