Giter VIP home page Giter VIP logo

website's Introduction

espanso

A cross-platform Text Expander written in Rust

GitHub release (latest by date) Language Platforms License

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.

Support

If you need some help to setup espanso, want to ask a question or simply get involved in the community, Join the official Subreddit! :)

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

Contributors

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

Image

Remarks

License

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

website's People

Contributors

aucacoyan avatar dbrucelane avatar dylanlacey avatar federico-terzi avatar ivangretsky avatar jpa38 avatar marclar avatar marcoieni avatar martin-gv avatar mrdsaunders avatar noamross avatar revolter avatar smeech avatar snakecase avatar tantan31418 avatar tobiasbueschel avatar wildgenius avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

website's Issues

Documentation update list

A few items I have spotted. By no means exclusive!

ToDo:

Done:

  • Usage of use_standard_includes:. I think I have worked it out - see this Discord entry. For a while I thought it should be deprecated like force_clipboard: true, rather than documented, but it may simplify things for some people.
  • Examples of single-line format [...] for short sequences
  • Add section about quoting (or not) values in Espanso YAML
  • I'd like to rewrite many of the simple code examples without quote marks where they're not needed
  • cmd.exe won't work as a multiline inline shell: expansion
  • Only one app-specific config can apply at any time
  • Include examples of embedding multiline scripts and shell commands in triggers
  • Remove the link to our out-dated gist list of date formats, leaving a link to the source material only - espanso/espanso#1072
  • Update migration advice to suggest moving the legacy packages folder to espanso/match/packages
  • Add #acfg#, #pacfg# & #pdetect#
  • Variable names can only be alphanumeric or underscore characters.
  • Available match options #10 - all these are now present in the documentation in appropriate sections - I'm not sure a separate list would be useful, so I've added a link to the relevant file and lines in the main repo.
  • Usage of search_terms:
  • Other options listed here: x11_use_xdotool_backend, emulate_alt_codes, post_search_delay, post_form_delay.
  • emulate_alt_codes: true see here
  • filter_os: rule
  • Autofix in the documentation seems to be outdated #1767
  • Update links to federico-terzi/espanso to espanso/espanso?
  • MacOS brew installation docs should be updated #1804
  • ?add Discord server to the docs header
  • Plain scalar Regex triggers are easier to debug if we don't have to escape every “\”. I'll add a note about this.
  • force_mode: clipboard|keys and force_clipboard: true (possible duplicate of the first) #1690 Are there other undocumented controls? (See parse.rs.)
  • left_word: ord right_word: controls. See here.
  • Document markdown & html #1806
  • paragraph: prevents markdown: starting a new paragraph. See here.
  • Factors determining size of forms - [Discord conversation] (https://discord.com/channels/884163483409731584/1013916990760554608/1185019971185692682) & [Reddit] (https://www.reddit.com/r/espanso/comments/18ibpbi/help_with_making_forms_better/) summary
  • Output of UTF8 foreign characters (in Windows?) #1736 #1749 #1698
  • Ability to output Unicode characters, e.g. replace: "\u0105" (UTF-16), or "\U00000105" (UTF-32) or "\xC4" (UTF-8?)
  • Multiple filters, need to apply alphabetically by filename to determine application order #1269
  • CTRL-character triggers are possible but likely to cause problems in editors, and over-delete characters on triggering #383

Request: Security write-up on documentation website

Request: Add security section for Espanso to main website/documentation

As a long-time user of Espanso I am often preaching its virtues; but recently encountered some FUD: a friend installed but then immediately uninstalled Espanso worrying about the fact that it captures all keyboard input, including potentially passwords (which it does not - see below)

It's not an unreasonable worry, and it is actually addressed, it's just not easy to find, tucked away at https://github.com/espanso/espanso/security/policy

While espanso detects key presses as a keylogger would do, it doesn't log anything. Moreover, to further reduce risks, espanso only stores in memory the last 3 chars by default (you can change this amount by setting the backspace_limit parameter in the config) and this is needed to allow the user to correct wrongly typed triggers by pressing backspace, up to 3 characters.

Include list of available match options

The documentation already includes a list of all available config options - it would also be helpful to include a list of all available match options.

For example, this could be helpful if one wants to quickly check which are valid match types:

    vars:
      - name: mydate
        type: date
    vars:
      - name: output
        type: choice
# ...

I've had a look through the website and also the Espanso repo, but couldn't something that quickly shows which YAML keys & values are valid.

@federico-terzi do you think this is something we should add to the website or would https://github.com/federico-terzi/espanso be a better fit?

`global_vars` not accepting YAML formatted links

I am trying to create some global variables that are some informative text linked to a website, like this: stackoverflow post showing how to format a link in YAML. I can't seem to figure out the right way to set these up. I've tried searching the documentation for 'link', 'params', and 'global_vars', but haven't seen anything about doing links in YAML.

(code block updated to correct typo)

global_vars:
  - name: formatted_link
    type: echo
    params:
      echo: [Displayed Text](url)
•••
matches:
  - trigger: :link
    replace: {{formatted_link}}

I get this output:


Caused by:
    0: failed to parse YAML match group
    1: while parsing a block mapping, did not find expected key at line 21 column 31
    2: while parsing a block mapping, did not find expected key at line 21 column 31

(The column numbers are going to be based off of my actual text, but correspond to the first character inside the parentheses—the start of the url.)

Replacing echo with format does not seem to work, either, and I'm not sure what other kinds of params are valid. Putting the link inside quotation marks results in nothing being evaluated, but does stop the error.

TODO: Mini-tutorial on VS Code

Given VS Code's popularity with developers, and misbehaviour when not used with force_mode: clipboard (espanso/espanso#675) we could add a wee tutorial on writing a VS Code specific config file.

It'd give us a few advantages:

  1. Easy to point people to when they're having VS Code problems
  2. A nice way to demonstrate app-specific config exists and is easy
  3. Could start a "Cookbook" style section
  4. Something to share in dev circles to attract more assistance :P

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.