Code Monkey home page Code Monkey logo

ruby.sugar's Introduction

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/elliottcable/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

Caveats

The naming conventions among Sugar developers and themers aren't really concrete as of yet. Thus, there's a good chance that a given theme won't be able to show all of the data about a a given file that is associated with a given sugar as of yet. Specifically, the default theme that is currently being distributed with the Espresso previews can't handle this Sugar - if you just plug this Sugar into Espresso, you won't see much interesting stuff in the way of highlighting.

This situation will improve when we come up with a set of community standards and start adhering to them, until then, hang tight.

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
    • Everything!
  • Actions
    • Running Ruby scripts from within Espresso
    • Everything!
  • All new 1.9 syntax

ruby.sugar's People

Contributors

aaronh avatar elliottcable avatar subtlegradient avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

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.