- annotate code (lines ?)
- serve snippets from GIT ? -> git VFS
- search snippets (name, content, language ...)
- link to source repository (revision, line)
- insert placeholders/variables which are evaluated by the IDE
- publish on pasties/gists
- snippet creation notifications: twitter, jabber, email, google+, RSS ...
- ruby API gem
- optional per project configuration (recipients ...)?
- Rails, Elastic Search Plugin
eSnippet, Gist Plugin
SWT Snippets, Gists, Pasties ...
- Ruby SWT
- SWT/AWT Bridge to embed webkit browser
- jquery backbone.js ...
Ruby Plugin API Design
- define the objects you are working with
- define the contexts that are available
- define the actions which are possible in a specific context
Ruby Internal DSL Design
- Deconstruct functional units
- Cut down the crap
- Make the Jump from brain to code smaller
- Avoid common traps/failures
Build small DSLs and mesh them together
Create a template DSL file
- Break that into tests
DSL Language Support
- Method chaining (return self, maintain state in a single object)
- Dynamic dispatching (using method_missing) to wrap other APIs
- Closures, instance_eval, nested closures
- Proxy Pattern
- Macros (Methods that generate code) e.g: attr_accessor
- Active Records, Rails Templates, RSpec, Ambition, Foundry ...