Skip to content
dportalesrPublic

About

Offline API documentation one keystroke away: a keyboard-driven native macOS viewer for Dash docsets, summoned by a global hotkey

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

dashi

Offline API documentation, one keystroke away.

dashi is a macOS viewer for Dash-format docsets. Press a key, filter, search, and navigate the docs without leaving your keyboard. Press Escape you'll be back on the exact place you left.

Search with live preview

Reading view with dsidx-driven outline

Preferences overlay

Why dashi

Keyboard driven. Everything happens without the mouse. Type to search, arrows to move, Enter to read. Page Up / Page Down jumps between sections, typing filters the outline, ⌘ + F finds in page, ⌘ + [ and ⌘ + ] walk your history. Press ⌘ + ? anytime for the full reference.

There when you need it. dashi lives as a resident background agent summoned by a global hotkey (⌥ + Space by default), making the context switch between your code and the reference as cheap as it gets: one keystroke each way. The panel floats over full-screen apps and works across Spaces, and because macOS never activates it as an app, your editor stays put underneath and dismissing drops you on the exact character you left. Searches return in milliseconds across hundreds of thousands of entries, and the outline knows every method on the page, no matter which documentation generator produced it.

Minimal. One purpose: reading docs. Native Swift and AppKit, no web stack wrapping the app, no accounts, no telemetry. A single floating panel with a search view and a reading view, styled to stay out of your way.

Community-backed. dashi reads the standard Dash docset format, which means the whole ecosystem of official and community docsets works out of the box. Install them with dasht, or drop .docset bundles into the docsets folder from Preferences.

Install

Requires macOS 14+ and the Xcode command line tools.

git clone https://github.com/dportalesr/dashi.git
cd dashi
make install

make install builds the app and copies it to /Applications. On first launch dashi registers itself as a login item (toggleable in System Settings) and sits in the menu bar as a book icon. Summon it with ⌥ + Space.

Docsets

dashi looks for docsets in ~/.local/share/dasht/docsets by default (configurable in Preferences). Each docset gets a derived search keyword, so ruby4: map scopes the search to Ruby 4; keywords are customizable per docset, and selecting a result pins its docset automatically. Enable, disable, reorder, and delete docsets from Preferences.

Keyboard

Key Action
⌥ + Space Summon or dismiss the panel
Esc Back one level; dismisses from search
↑ or ↓ then ⏎ Pick and open a result
Page Up / Page Down Previous / next section in the viewer
⌘ + F Find in page
⌘ + [ / ⌘ + ] / ⌘ + ← / ⌘ + → History back / forward
⌘ + = / ⌘ + - / ⌘ + 0 Zoom
⌘ + ? Full shortcut reference

Automation

dashi registers a URL scheme for editor and script integration:

open "dashi://search?q=Array&docset=ruby4"

Development

swift test    # headless core tests
make run      # build, bundle, and launch

The search, parsing, and resolution logic lives in DashiCore, a target with no AppKit dependency, so the behavior that matters is tested without a GUI.

About

Offline API documentation one keystroke away: a keyboard-driven native macOS viewer for Dash docsets, summoned by a global hotkey

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages