[txmt-dev] Re: TM2 enhanced txmt:// url scheme ideas

Brandon Fryslie brandon at fryslie.com
Wed Sep 5 21:55:50 UTC 2012


Follow up!

Some might be saying: Integrate Ruby further with TextMate?  But the beauty of TextMate is total agnosticness regarding language choice!!!

I agree completely!  TextMate's lack of reliance on specific languages or technologies is a main reason it is so flexible.  However, looking at the TextMate 'core' bundle code, we see that in reality there are certain factors that predispose people writing bundles in a particular language.   

Regardless of what those factors actually are we can observe that many, many bundles are in fact written in Ruby, and so many TextMate 'Bundle Support' Ruby libraries exist that Ruby has already achieved first-class status for TextMate bundle writing.

Therefore I see a deeper Ruby/TextMate integration, not as a step away from the free-balling, polyglot inner character we all love and cherish, but as the next evolutionary step that would allow the scripters to truly harness the radical furnace power of the core frameworks.

Note:  I mentioned that Vintage Mode in Sublime Text 2 was "~200-300 lines of Python".  I misremembered that a little, it is closer to 1200.  :)  However take a look at the code to get an idea of what we could do with TextMate, had we only the correct API in place.

SublimeText 2 Vintage (VIM Command) Mode source:
https://github.com/sublimehq/Vintage/blob/master/vintage.py


--  
Brandon Fryslie


On Wednesday, September 5, 2012 at 2:36 PM, Brandon Fryslie wrote:

> I love the idea!!!  Allowing those features to be scriptable is what will improve TextMate beyond any other text editor.  However, I am wondering if the URL scheme is the best way to implement those features.
>  
> I think in addition to the extended URL scheme idea, we should pursue a full-fledge TextMate Scripting API that incorporates all these features.  Look at what the Sublime Text 2 Scripting API makes possible: http://www.sublimetext.com/docs/2/api_reference.html.
>  
> No one is more steadfastly in support of TextMate than I am, but I'm not blind myself to the power such a thorough API gives to scripters.  Implementing a powerful VIM-like command mode is ~200-300 lines of Python.
>  
> If I had any inkling of the best practices for peacefully and sustainably bolting-on a Ruby interface to these parts of the C++ code, I would do it myself.  I could implement the code would someone else design the skeleton of the structure.
>  
> In any case, whether through URL scheme or otherwise, I see an infinite possibility for TextMate to be expanded into the future.  :)
>  
> "For small erections may be finished by their first architects; grand ones, true ones, ever leave the copestone to posterity. God keep me from ever completing anything." - Herman Melville, Moby Dick  
>  
> --  
> Brandon Fryslie
>  
>  
> On Wednesday, September 5, 2012 at 2:09 AM, Hans-Jörg Bibiko wrote:
>  
> > ... and furthermore one could also think about to get something back from calling such a txmt:// url scheme.
> >  
> > Let's say one wants to know the current set grammar, then one could write a command like:
> >  
> > txmt://get?currentGrammar
> >  
> > In order to access the result, well, there're several chances to achieve that, but maybe a file hand-shake handling could be used, i.e. if TM2 receives such a "get url" it will process the request and writes the result into a temp file (either a fixed file path or a path which will be passed in txmt:// ) and if TM2 is ready it writes a second temp file (whose name is also fixed or will be constructed on basis on the passed path) with an empty content if the task was successful or, if not, with an error message. The command would simply wait after invoking the txmt:// get url for the second temp file and would process both files.
> >  
> >  
> > Cheers,
> > --Hans
> >  
> >  
> > _______________________________________________
> > textmate-dev mailing list
> > textmate-dev at lists.macromates.com (mailto:textmate-dev at lists.macromates.com)
> > http://lists.macromates.com/listinfo/textmate-dev
> >  
> >  
> >  
>  
>  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate-dev/attachments/20120905/2821fde9/attachment-0001.html>


More information about the textmate-dev mailing list