blursedperf34 downloadsAutocomplete words, phrases, note titles, and snippets with fast, offline inline ghost text and popup suggestions.
Fast, offline inline ghost-text and popup suggestion autocomplete for Obsidian. Powered by your vault's words, multi-word phrases (N-grams), note titles, headings, custom snippets, and a bundled ~50,000-word local English dictionary.
Designed for high-speed writing and knowledge management without breaking your flow.
I created this suite of Obsidian plugins and the DoomEsque theme so that I can be 100 percent certain there are no network calls or traffic: everything runs 100 percent offline, so I can use Obsidian for my notes in open-book law exams.
scripts/offline-audit.mjs, which fails on any network API (fetch, XMLHttpRequest, WebSocket, requestUrl, ...).The suite:
[[wikilinks]], [markdown](links), and #tags so Obsidian's native menus function without interference. Suppresses suggestions in YAML frontmatter and fenced code blocks when configured.lowercase, TitleCase, or UPPERCASE automatically based on your typed prefix.{{date}}, {{time}}, {{title}}, and $CURSOR target placement.| Action | Shortcut | Description |
|---|---|---|
| Accept Full Completion | Tab |
Inserts the entire suggestion (and jumps to $CURSOR if expanding a snippet). |
| Keep Typed Text & Newline | Return / Enter |
Keeps text as typed, dismisses suggestions, and performs normal newline behavior. |
| Accept Next Word | Ctrl + → / Cmd + → / Alt + → |
Inserts only the next word of a multi-word phrase or completion. |
| Cycle Next Suggestion | Alt + ] / Ctrl + ] |
Cycles forward through alternative completion candidates. |
| Cycle Previous Suggestion | Alt + [ / Ctrl + [ |
Cycles backward through alternative candidates. |
| Dismiss Ghost Text | Escape |
Hides the active inline ghost text without inserting. |
On iOS, iPadOS, and Android:
1/5 ↻ badge to cycle to the next candidate.Accept inline ghost completion, Accept next word of ghost completion, Cycle next inline suggestion) directly to your Obsidian mobile quick toolbar.Inline Autocomplete unifies multiple local sources into a ranked suggestion pipeline:
callout → > [!note] $CURSOR\n> , today → {{date}}).spaced r suggests repetition algorithms). Short words and numbers stay in phrases, so case names such as Donoghue v Stevenson and R v Smith are learned as written, and phrases never run across punctuation.scripts/offline-audit.mjs, which fails on any network API (fetch, XMLHttpRequest, WebSocket, requestUrl, workers, dynamic import(), ...), dynamic code (eval, new Function), raw HTML injection, or remote CSS (@import, non-data: url()).app.vault APIs.vault.getMarkdownFiles()). The resulting index is kept in memory only and is never written to disk or sent anywhere. If you turn off all three vault sources under Settings → Completion sources (vault words, phrases, and note titles/headings), the plugin stops reading your notes entirely.blursedperf/obsidian-inline-autocomplete.main.js, manifest.json, and styles.css from the latest GitHub Release.inline-autocomplete inside your vault:<your-vault>/.obsidian/plugins/inline-autocomplete/
# Clone the repository
git clone https://github.com/blursedperf/obsidian-inline-autocomplete.git
cd obsidian-inline-autocomplete
# Install dependencies
npm install
# Run automated tests
npm test
# Build production bundle
npm run build
Released under the MIT License. Copyright © 2026 blursedperf.