MCPcopy Index your code
hub / github.com/espanso/espanso

github.com/espanso/espanso @v2.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.3.0 ↗ · + Follow
2,745 symbols 6,316 edges 412 files 269 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

espanso

A cross-platform Text Expander written in Rust

GitHub release (latest by date) Language Platforms License Ask DeepWiki

example

Visit the espanso website.

What is a Text Expander?

A text expander is a program that detects when you type a specific keyword and replaces it with something else. This is useful in many ways:

  • Save a lot of typing, expanding common sentences.
  • Create system-wide code snippets.
  • Execute custom scripts
  • Use emojis like a pro.

Key Features

  • Works on Windows, macOS and Linux
  • Works with almost any program
  • Works with Emojis 😄
  • Works with Images
  • Includes a powerful Search Bar 🔎
  • Date expansion support
  • Custom scripts support
  • Shell commands support
  • App-specific configurations
  • Support Forms
  • Expandable with packages
  • Built-in package manager for espanso hub
  • File based configuration
  • Support Regex triggers
  • Experimental Wayland support

Get Started

Visit the official documentation.

If you need some help to setup espanso, want to ask a question or simply get involved in the community, you can join the official Subreddit or join the official Discord!

Donations

espanso is a free, open source software developed in my (little) spare time. If you liked the project and would like to support further development, please consider making a small donation, it really helps :)

Donate with PayPal

Team members

You can check the members of the team here:

Sponsors

We want to thank SignPath.io for code signing the Windows binaries ❤️

Contributors

Many people helped the project along the way, thank you to all of you!

Image

Remarks

  • Thanks to libxdo and xclip, used to implement the Linux port.
  • Thanks to libxkbcommon and wl-clipboard, used to implement the Wayland port.
  • Thanks to wxWidgets for providing a powerful cross-platform GUI library.
  • Free code signing provided by SignPath.io, certificate by SignPath Foundation.

License

espanso was created by Federico Terzi and is licensed under the GPL-3.0 license.

Extension points exported contracts — how you extend this code

Clipboard (Interface)
(no doc) [6 implementers]
espanso-clipboard/src/lib.rs
Executor (Interface)
(no doc) [8 implementers]
espanso-engine/src/dispatch/mod.rs
AppInfoProvider (Interface)
(no doc) [7 implementers]
espanso-info/src/lib.rs
Source (Interface)
(no doc) [9 implementers]
espanso-detect/src/lib.rs
Extension (Interface)
(no doc) [9 implementers]
espanso-render/src/lib.rs
Interoperable (Interface)
(no doc) [6 implementers]
espanso-modulo/src/sys/interop/mod.rs
Injector (Interface)
(no doc) [6 implementers]
espanso-inject/src/lib.rs
MatchProvider (Interface)
(no doc) [4 implementers]
espanso/src/cli/worker/engine/process/middleware/multiplex.rs

Core symbols most depended-on inside this repo

new
called by 622
espanso/src/cli/cmd.rs
to_string
called by 418
espanso-ui/src/win32/json/json.hpp
default
called by 195
espanso-engine/src/funnel/mod.rs
create
called by 157
espanso-ui/src/win32/json/json.hpp
size
called by 123
espanso-ui/src/win32/json/json.hpp
write_character
called by 122
espanso-ui/src/win32/json/json.hpp
insert
called by 101
espanso-ui/src/win32/json/json.hpp
get
called by 93
espanso-ui/src/win32/json/json.hpp

Shape

Method 1,069
Function 921
Class 525
Enum 155
Interface 75

Languages

Rust70%
C++30%
C1%

Modules by API surface

espanso-ui/src/win32/json/json.hpp534 symbols
espanso-config/src/config/resolve.rs67 symbols
espanso-clipboard/src/x11/native/clip/clip_x11.cpp47 symbols
espanso-render/src/renderer/mod.rs37 symbols
espanso-modulo/src/sys/search/search.cpp25 symbols
espanso-detect/src/evdev/sync/wayland.rs25 symbols
espanso-clipboard/src/x11/native/clip/clip.cpp25 symbols
espanso-render/src/extension/date.rs24 symbols
espanso-config/src/matches/mod.rs24 symbols
espanso-config/src/matches/group/loader/yaml/mod.rs24 symbols
espanso-modulo/src/sys/form/form.cpp23 symbols
espanso/src/path/mod.rs22 symbols

For agents

$ claude mcp add espanso \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact