Completr

by tth05
5
4
3
2
1
Score: 86/100
Trending Plugin

Description

The Completr plugin provides powerful auto-completion features for Obsidian, enhancing productivity with advanced suggestions for LaTeX, YAML front matter, and word lists. It supports LaTeX commands without requiring a backslash, including MathJax and snippet insertion with placeholders. The plugin also recognizes YAML front matter keys and values for quick completion. Users can load large external word lists or scan their vaults to create custom suggestions. Customization options allow users to modify LaTeX command sets, manage hotkeys, and blacklist unwanted suggestions. Completr efficiently handles large datasets, ensuring fast and responsive auto-completion. It is ideal for users working with technical content, academic writing, or large text corpora, offering both power and flexibility in managing completions.

Reviews

No reviews yet.

Stats

397
stars
88,531
downloads
28
forks
1,756
days
2
days
2
days
8
total PRs
0
open PRs
4
closed PRs
4
merged PRs
92
total issues
1
open issues
91
closed issues
14
commits

Latest Version

2 days ago

Changelog

What's Changed

New Contributors

Full Changelog: https://github.com/tth05/obsidian-completr/compare/3.2.0...4.0.0

README file from

Github

Completr

Advanced auto-completion for Obsidian: LaTeX, front matter, callouts and regular writing.

Completr demo

Features

  • Words: learned from your notes while you write, or from imported word lists (fast even with millions of words). Works with every script, optional fuzzy matching (mkd -> markdown) and ranking by usage.
  • Inline suggestions (optional): the best suggestion in grey after the cursor, Tab inserts it.
  • LaTeX: all MathJax commands and environments in $...$ and $$...$$, even before the block is closed. Rendered previews, placeholders to jump through, and your own commands.
  • Snippets: your own text templates with placeholders, e.g. :sig or a meeting header.
  • Front matter: keys and values from your whole vault, including tags like Area/Topic (in source mode).
  • Callouts: > [! suggests callout types with their icons, optionally from Callout Manager.
  • Blacklist: hide any suggestion with one click, undo right away.
  • Small touches (optional): a space after completed words, and a period when you press Space twice.

Installation

Browse the community plugins list in Obsidian and search for Completr.

Manually: download main.js, styles.css and manifest.json from a release and copy them to <vault>/.obsidian/plugins/obsidian-completr/.

Usage

Keys

All keys are commands, change them under Settings -> Hotkeys (filter for "Completr").

Command Default
Open suggestion popup Ctrl/Cmd + Space
Select next / previous ArrowDown / ArrowUp
Insert selected suggestion Enter
Close suggestion popup Escape
Jump to next snippet placeholder Enter
Add selected to the blacklist Ctrl/Cmd + Shift + D
Bypass the popup, press Enter Ctrl + Enter
Bypass the popup, press Tab Ctrl + Tab
Accept inline suggestion - (Tab always works)
Toggle automatic popup -
Create snippet from selection -
Learn the words of all notes -
  • Keys that aren't used by the popup go to the editor as usual, e.g. Shift + Tab or Home close the popup and do their normal thing.
  • Obsidian's hotkey settings can't bind a plain Tab. Enable Insert with Tab / Jump to next placeholder with Tab in the Completr settings instead.
  • If Select first suggestion is disabled, Enter creates a new line until you pick a suggestion with the arrow keys.
  • In vim mode, Escape closes the popup and leaves insert mode.
  • A popup opened with Ctrl/Cmd + Space ignores the minimum typed length for the word it was opened on.

Inline suggestions

Off by default, enable Inline suggestions in the settings. While you type, the rest of the best suggestion appears in grey after the cursor, and Tab inserts it. Escape hides it until you type the next character. It works with or without the popup: while the popup is open, it shows the selected suggestion, so Tab and the popup agree.

Only suggestions that continue exactly what you typed are shown (hel -> hello, not Hello), and none in the middle of a word. To accept with another key, e.g. ArrowRight, assign it to the Accept inline suggestion command. That key keeps working normally while nothing is shown.

Blacklist

Hover a suggestion and click the eye icon, or select it and press Ctrl/Cmd + Shift + D, to never see it again. A notice lets you undo that right away. Later, use Manage in the Blacklist section at the bottom of the settings.

Custom LaTeX commands

Add them in the settings (LaTeX -> Add LaTeX command) or edit latex_commands.json in the plugin folder. In the popup, hovering one of your commands shows a pencil icon that opens it for editing. The file contains a JSON array of either strings or objects:

["\\mycommand{#}", { "displayName": "\\myenv", "replacement": "\\begin{myenv}\n~\n\\end{myenv}" }]

In replacements, # marks a placeholder and ~ the final cursor position. The built-in commands can be disabled in the settings.

Snippets

Snippets work outside of math blocks: typing the start of a snippet's name suggests it, with the start of its text next to it. Add them in the settings, with the Create snippet from selection command, or in snippets.json (same format as the LaTeX commands).

A name can be anything. Starting it with a character like : or / (:sig, /date) keeps a snippet out of the way of normal words: it is only suggested once that character and one more are typed.

Since # and ~ are common in markdown, snippets use a different placeholder syntax:

  • {{}}: an empty placeholder
  • {{some text}}: a placeholder pre-filled with "some text", which is selected so typing replaces it
  • {{cursor}}: where the cursor ends up after the last placeholder
[{ "displayName": "meeting", "replacement": "## Meeting {{title}}\nAttendees: {{}}\n\n{{cursor}}" }]

Data files

Completr keeps its data in its plugin folder (.obsidian/plugins/obsidian-completr/):

  • scanned_words.txt: words learned from your notes, one per line
  • wordLists/: imported word lists
  • blacklisted_suggestions.txt: the blacklist, one entry per line
  • latex_commands.json: your own LaTeX commands
  • snippets.json: your snippets
  • callout_suggestions.json: callout types (unless Callout Manager is used)
  • suggestion_usage.json: how often suggestions were used, for ranking

Looking for word lists?

Development

Requires Bun (currently a canary build for bun lint: bun upgrade --canary).

  • Clone the repo into the plugins folder of a test vault, run bun install and bun run dev, enable the plugin
  • bun run build: production build
  • bun check: typecheck, lint and formatting check (bun run fix fixes what it can)
  • bun test: unit tests
  • bun run test:e2e: UI tests. Starts an isolated Obsidian instance with a temporary vault and drives it through the Chrome DevTools Protocol. Needs a local Obsidian installation (override with OBSIDIAN_EXE). E2E_HEADED=1 shows the window, E2E_KEEP=1 keeps it open after the run.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Latex Suite
5 years ago by artisticat1
Make typesetting LaTeX as fast as handwriting through snippets, text expansion, and editor enhancements
TikZJax
4 years ago by artisticat1
Render LaTeX and TikZ diagrams in your notes
Toggle Meta Yaml
4 years ago by hua
Obsidian asciimath
4 years ago by widcardw
Asciimath support for Obsidian (based on asciimath-parser)
LaTeX Algorithms
4 years ago by SamZhang02
A simple plugin for writing Algorithms and pseudocodes in Obsidian.md
LaTeX to unicode converter
4 years ago by fjdu
Convert LaTeX commands into unicode sequences
Pseudocode
4 years ago by Yaotian Liu
An obsidian plugin that helps to render a LaTeX-style pseudocode inside a code block.
Latex Matrices
4 years ago by Daniele Susino
An obsidian plugin to create latex matrices.
MathLive
3 years ago by Dan Zilberman
The must-have plugin for math in Obsidian
No more flickering inline math
3 years ago by Ryota Ushio
No longer disturbed by flickering inline math in Obsidian.
Calctex
3 years ago by Mike
An Obsidian plugin for automatic calculation of LaTeX formulas.
Image2LaTEX
3 years ago by Hugo Persson
This is a plugin for obsidian that will read your latest copied image from clipboard and generate math latex from it
Latex OCR
3 years ago by Lucas Van Mol
Generate LaTeX equations from images in your clipboard or vault
LaTeX-OCR
3 years ago by Jack Barker
Wypst
3 years ago by 0xpapercut
High quality rendering of Typst in Obsidian, powered by wypst.
SwiftLaTeX Render
3 years ago by gboyd068
Markpilot
3 years ago by Taichi Maeda
AI-powered inline completions and chat view for Obsidian
MathLive in Editor Mode
2 years ago by MizarZh
MathLive input in editor mode.
Plot Vectors and Graphs
2 years ago by Nicole Tan YiTong
Obsidian Plugin to generate graphs given the function.
Math Indicator Changer
2 years ago by Ori Replication
AI LaTeX Generator
2 years ago by Aayush Shah
An Obsidian plugin that generates latex code from natural language inputs.
Latex Environments
6 years ago by Zach Raines
Quickly insert and change latex environments within math blocks in Obsidian.
Export To TeX
6 years ago by Zach Raines
export obsidian markdown files in a format that can be pasted into a TeX file
Extended MathJax
6 years ago by Xavier Denis & Ng Wei En
MetaEdit
5 years ago by Christian B. B. Houmann
MetaEdit for Obsidian
Linter
5 years ago by Victor Tao
An Obsidian plugin that formats and styles your notes with a focus on configurability and extensibility.
Quick LaTeX
5 years ago by joeyuping
Copy as LaTeX
5 years ago by mo-seph
Quick plugin to be able to copy/paste from Obsidian/Markdown into a Latex document
Code Language Completer
2 years ago by Stanley Wang
minimal Obisdian plugin, fine-tuned to speed up developer note-taking
Transfer LaTeX from GPT
2 years ago by Xixia
Latex Exporter
2 years ago by Matthew S. Scott
Obsidian plugin: export a graph of linked notes to a full LaTeX paper, with embeds, citations, theorem environments and cross-references.
MathType
2 years ago by slateblua
Math typing plugin for Obsidian
YAML Table
a year ago by dainakai
LaTeX Math
a year ago by Zarstensen
Integrated CAS (via. Sympy) plugin for Obsidian, with a LaTeX focused workflow.
DevOps Companion
a year ago by Jobelin Kom
Obsidian DevOps Companion is a developer-oriented plugin that brings DevOps context awareness directly inside your Obsidian vault.
LaTeX autocomplete
a year ago by Yanis Gerst
Quick Matrix
a year ago by Charlie Flowe
Plugin for Obsidian.md that allows for faster interactions with matrices in LaTeX
LaTeX Panel Helper
a year ago by Luster
A powerful and convenient LaTeX symbol panel for Obsidian to enhance your mathematical and scientific note-taking efficiency.
Typst Mate
9 months ago by azyarashi
Render math expressions with Typst instead of MathJax in Obsidian.
Frontmatter to HTML Attributes
8 months ago by Tarek Saier
Auto Math
8 months ago by Vladislav Sorokin
Auto-expand LaTeX math snippets in Obsidian — write equations faster.
Markdown Cleaner
6 months ago by gao-qian-long
Obsidian格式化markdown插件
Math+
6 months ago by ocapraro
This is an Obsidian plugin for taking math notes using Excalidraw.
draw.io
5 months ago by somesanity
A plugin for Obsidian that integrates the draw.io editor into Obsidian.
Excalidraw Extras
5 months ago by zsviczian
Companion Obsidian.md plugin hosting extra add-on optional features for the main Excalidraw-Obsidian plugin
MP Publisher
4 months ago by joeytoday
自定义主题预览,并发布到公众号草稿箱。
Inline TikZ
3 months ago by Lachlan Harris
Render seamless Tikz, CircuiTikz & other PGFPlots LaTeX diagrams directly in your notes.
Gantt this
3 months ago by Altarok
Obsidian plugin showing multiple TTRPG calendars at once in one gantt chart.
Xyls Starmap
3 months ago by xylhazlhztarr
A small little plugin for Obsidian MD to create interactive star system maps and planet-side views inside the note-taking app.
Trade Rythm
2 months ago by iblameaza
Trade Rythm - Obsidian trading journal plugin
Base Source Editor
2 months ago by fronglemog
Edit the YAML source of a Base without leaving Obsidian.
TTRPG UI Toolkit
a month ago by hay-kot
UI elements for building dnd character sheets and DM notes
Wordlist Autocomplete
25 days ago by elouahabi-naoufal
Smart autocomplete for Obsidian using JSON wordlists: prefix/shorthand/contains matching, metadata, contextual learning and ChatGPT wordlist generation.