Text Editor Actions for Espresso
Text Editor Actions (TEA) for Espresso is an Espresso plugin that provides:
- Some of my favorite text actions for HTML, such as Wrap Selection In Tag (inspired mainly by Textmate's excellent HTML bundle)
- Generic text manipulation scripts that can be leveraged by any Sugar (or through custom user actions)
TEA has been bundled with Espresso since version 1.0, so you do not need to download it (unless you want to test bleeding edge improvements).
TEA for users
Many people will be content with the default TEA HTML actions, but if you wish you can add your own custom actions by defining them in XML (I plan to add an interface for managing custom actions; until then you'll need to use XML):
- Adding your own actions
- A tutorial for adding simple tab completions
- Text snippets reference
- Third party snippet collections
- Adding or overriding Python scripts (for more advanced custom actions)
- Running shell scripts (for advanced custom actions)
Found something about TEA that makes you unhappy? Submit a bug report or feature request (requires free GitHub account) or visit the official TEA forum post. You can, of course, also email me: firstname.lastname@example.org. I typically respond within a day.
TEA for Sugar developers
There are three ways to leverage TEA within your own Sugar:
Use TEA's generic internal actions simply by adding XML definitions (syntax is identical to custom user actions above; only difference is you put your actions in your Sugar's TextActions folder). For a full list of available actions, see the generic action API.
Use the TEALoader class to run a custom script in any language supported by the Mac OS X command line. See Running shell scripts for more info.
Code your own Python scripts for TEA, leveraging the numerous built-in helper functions. See Adding or overriding Python scripts for more info.
The TEA for Espresso wiki is currently the best place for information about extending TEA. I do not yet have any documentation about using TEA's bundled HTML actions; hopefully their names will be self-explanatory to some extent.
If you are interested in coding your own Sugar in Python, the TEA for Espresso project can also serve as an excellent starting point. The code is released under the MIT license, as described in the main bundle file.