Features
Snippets
Type a trigger, get a replacement — with the caret checked before anything is deleted.
Being written
This page is a stub.
Type vn, get Vietnam. Each snippet decides for itself whether it fires on
the following space or the moment the trigger is finished, and each says where
it works — everywhere except some applications, or only in some — over a
pane-wide list that switches all of them off at once.
A replacement can hold dynamic variables, so part of it is fresh every time.
Vietnamese and other input methods
Lumi never deletes on trust. The keystrokes it watches are a guess at what was typed, because a Vietnamese IME rewrites characters after Lumi has seen them. So before replacing anything, Lumi reads the text actually in front of the caret:
- It matches → the replacement happens.
- It does not match → nothing happens, silently. Eating the wrong characters is much worse than a missed expansion.
- The application exposes no text at all → Lumi falls back to backspaces.
Needs the Accessibility permission.
To write
- Trigger rules, and what characters may be in one
- Per-snippet scope, and the master switch
- Where the history of what fired is kept