Moreover, the original creator (Federico) and the current head maintainer to whom he has handed most of the day-to-day (AucaCoyan) are two of the kindest people I have ever come across in open source. All issues and contributors are treated with respect, it really is refreshing to feel so welcome when trying to contribute.
I'm planning to move back to Espanso though, as Raycast is moving in the wrong direction with all the AI non-features.
on edit: changed system to service
The size of my snippets list is now a testament of its usefulness. On the appropriate context (an online meeting, for instance), it feels like a superpower.
I agree, though, seems like a ripe piece of low-hanging fruit that could be better integrated and safer. Even if the lower level stuff just hands it off to a dedicated tool that handles the replacement text, at least the OS/WM should be the one watching the keys.
:i.a - address
:i.n - name
:i.p - phone
Debating if I should feed my zsh history to chatgpt and as it to come up with some.
Any other advice from the power users? - ,.a.macro
- ,.b.macro
etc.I’ve tried the following in default.yml and reloading the config, but it’s not working and Claude, Gemini, and myself are stumped :)
matches:
- trigger: ":date"
replace: "{{mydate}}"
vars:
- name: mydate
type: date
params:
format: "%Y-%m-%d"
/Users/$USER/Library/Application Support/espanso/match/base.yml
…to read: # Print the current date
- trigger: ":date"
replace: "{{mydate}}"
vars:
- name: mydate
type: date
params:
format: "%Y-%m-%d"
- trigger: ";tod"
replace: "{{mydate}}"
vars:
- name: mydate
type: shell
params:
cmd: date --iso-8601
I have it in `~/.config/espanso/match/base.yml`.
[2]: https://youtu.be/CFCqe3A5dFg?list=PLB-WIt1cZYLm1MMx2FBG9KWzP...
In System Settings > Keyboard > Text Input > Text Replacements
Basically, it's a simple replacement tool, which works for some repetitive stuff (i.e. my name, my email address, my phone number, or a short string for closing out emails). Epsanso, and tools like it, do so much more.
Edit to add: Data detectors on macOS/iOS look for existing strings of text that you can then get more contextual options for. Things like dates and times might open up a calendar view, phone numbers might offer a menu to dial it, or addresses might offer the ability to open a map for it. Absolutely useful, but not the same thing.
With atexts gui it makes building new entries easy. I even have a keyboard shortcut to use highlighted text to quickly make a new entry.
I have used it to write emails, make automation's for certain websites that take keyboard shortcuts. I use it to build query searches for certain websites I use frequent (kinda like firefox back in the day).
I've seen people using it to insert emojis, lorem ipsum text, or fixing common typos. It's quite powerful because you can even do HTTP requests and mash them with your text.
There is Expanso Hub here, it contains numerous other examples: https://hub.espanso.org/
I'm now thinking about writing an expansion to help me reference tickets, e.g. expand :searchticket <string> to a list of up to 5 URLs. Since it happens inline, I don't have to "submit" the list to anything/anyone until I've cleaned up the message.