Ruby.sugar
A simple first stab at a Sugar for the Espresso text editor for
Ruby source development.
Using
First install any and all dependencies, listed below. The instructions for
doing so can be found on their respective homes.
Clone this project somewhere, with the following:
git clone git://github.com/hawx/ruby.sugar.git ./Ruby.sugar
And then link it to your syntaxes directory:
mkdir -p "~/Library/Application Support/Espresso/Sugars/"
ln -s "$(pwd)/Ruby.sugar" "/Users/$(whoami)/Library/Application Support/Espresso/Sugars/"
Dependencies
More information
You can reach me (elliottcable, the author of this project) in the Espresso
IRC channel almost 24/7:
##Espresso on Freenode (open in browser)
TODO
- Syntax/Itemizers
- All other flow control elements (if/unless…then…else, case…when,
begin…end, all of the above plus …rescue…ensure)
- Make sure single line uses work as well, including rescue.
- 'Fix' the whole method- and block-arguments thing, it's really inadequate
right now. It really should be describing what arguments allow, not just
pulling in the variable collection (for the most part).
- Method calls, including arguments and blocks.
- Class/module definitions ✓
- Operators ✓
- Fix the regular expression interpolation SyntaxInjection such that
interpolations work inside other regex structures, such as groups
- Octal/Hex, and Control/Meta string escapes.
- Heredocs
- Ranges
- String-ish Symbol syntax (:'foo bar', :"gaz #{123}")
- Strange symbols (:*, :[]=, etc) ✓
- Arrays, including percent-delimited syntax (Might be hard, the syntax is
so very simple) ✓
- Hashes ✓
- Special method names that aren't simple symbols ✓
echoed shelling out
, as well as %x(the percent delimited variant)
- More advanced heredoc support
- Nesting, see Thomas' heredoc stuff in the Experimental Ruby tmbundle
- Support embedded languages, especially via injection
- Fix it so that slash-operators (division operators) are properly
regcognized as different from regexen, where appropriate (see how
ruby
handles it here: http://gist.github.com/86009)
- CodeSense
- Actions
- Running Ruby scripts from within Espresso
- Everything!
- All new 1.9 syntax