<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://prendreuncafe.com/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Prendre un Café - Tag - textmate</title>
  <link>http://prendreuncafe.com/blog/</link>
  <atom:link href="http://prendreuncafe.com/blog/feed/tag/textmate/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 03 Aug 2010 08:41:02 +0200</pubDate>
  <copyright>Contenus sous licence Creative Commons BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Symfony Development using Textmate</title>
    <link>http://prendreuncafe.com/blog/post/2009/12/16/Symfony-Development-using-Textmate</link>
    <guid isPermaLink="false">urn:md5:bd4ca88c19a951de03a540798feb7467</guid>
    <pubDate>Wed, 16 Dec 2009 08:45:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>osx</category><category>symfony</category><category>textmate</category>    
    <description>    &lt;p&gt;When I do consulting, a lot of people are really surprised that I use &lt;a href=&quot;http://macromates.com/&quot; hreflang=&quot;en&quot;&gt;Texmate&lt;/a&gt;, a popular text editor for OS X, to develop on &lt;a href=&quot;http://www.symfony-project.org/&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; projects. Indeed, Textmate is a bit rough around the edge compared to &lt;del&gt;bloated&lt;/del&gt; full featured &lt;acronym title=&quot;Integrated Development Environment&quot;&gt;IDE&lt;/acronym&gt; like &lt;a href=&quot;http://www.eclipse.org/pdt/&quot; hreflang=&quot;en&quot;&gt;Eclipse PDT&lt;/a&gt; or &lt;a href=&quot;http://netbeans.org/&quot; hreflang=&quot;en&quot;&gt;Netbeans&lt;/a&gt;, which are both Java based by the way.&lt;/p&gt;


&lt;p&gt;So why using Textmate? No intelligent autocompletion, very basic project management, poor &lt;acronym title=&quot;Version Control System&quot;&gt;VCS&lt;/acronym&gt; native support, limited index search capabilities&amp;#8230; First and while it&amp;#8217;s mainly a matter of taste, I mainly use Texmate because it&amp;#8217;s &lt;em&gt;fast&lt;/em&gt;. Compared to PDT with which you often have to wait a bunch of seconds for the UI to respond on some action you make, &lt;em&gt;mate&lt;/em&gt; will react quite instantaneously, and &lt;strong&gt;that&lt;/strong&gt; is making big difference to me. Because when I&amp;#8217;m concentrated, focused on some complex problem to solve, I demand my text editor to &lt;strong&gt;not make me wait&lt;/strong&gt; &lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2009/12/16/Symfony-Development-using-Textmate#pnote-1131-1&quot; id=&quot;rev-pnote-1131-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;p&gt;Oppositely, not having full code introspection and autocompletion makes mate &lt;strong&gt;making me think&lt;/strong&gt; about the code I write, instead of just consuming some API passively. I&amp;#8217;ve been using &lt;a href=&quot;http://www.phpeclipse.com/&quot; hreflang=&quot;en&quot;&gt;phpeclipse&lt;/a&gt; and PDT for some years with Symfony, but I think I really began to understand the framework architecture when I switched to mate as my primary editor. Because every time you need to do something with the Symfony API, you &lt;em&gt;have&lt;/em&gt; to open the file and read the code: then you learn a lot. And by the time, you end by knowing the core very well, and it&amp;#8217;s incredibly efficient. One more time, this is just matter of taste.&lt;/p&gt;


&lt;h3&gt;Textmate quick tips&lt;/h3&gt;


&lt;p&gt;So whereas mate can be somewhat limited at first glance, a second look shows it provides some really effective commands to enhance your productivity. Let&amp;#8217;s examine some of them.&lt;/p&gt;


&lt;h4&gt;Searching for a file within the project codebase&lt;/h4&gt;


&lt;p&gt;Just by pressing &lt;code&gt;⌘ + t&lt;/code&gt;, a snappy filename search window will pop up and allow you to search a file interactively by its name pattern. If you&amp;#8217;re using the incredible &lt;a href=&quot;http://docs.blacktree.com/quicksilver/what_is_quicksilver&quot; hreflang=&quot;en&quot;&gt;Quicksilver app&lt;/a&gt; for osx, you got the picture.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Textmate/interactive-filename-search.png&quot; alt=&quot;interactive-filename-search.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;interactive-filename-search.png, déc. 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;As Symfony names php files against the class name they contain, finding a class file is just easy as typing the class name in the search field!&lt;/p&gt;


&lt;h4&gt;Browsing the available functions, classes and methods within a php file&lt;/h4&gt;


&lt;p&gt;When a php file is opened, the &lt;code&gt;⌘ + shift + t&lt;/code&gt; command will show up the available sections of the document, with a search box you can use to filter their names, still interactively.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Textmate/interactive-method-name-search.png&quot; alt=&quot;interactive-method-name-search.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;interactive-method-name-search.png, déc. 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Note that this will also work for other file types (like CSS for instance).&lt;/p&gt;


&lt;h4&gt;Obtening help on native php functions&lt;/h4&gt;


&lt;p&gt;Move the carret onto some php native function and press &lt;code&gt;ctrl + h&lt;/code&gt; and you&amp;#8217;ll get the &lt;a href=&quot;http://php.net/&quot; hreflang=&quot;en&quot;&gt;php.net&lt;/a&gt; related page in a pop up.&lt;/p&gt;


&lt;p&gt;Want the function signature definition in a tooltip, like in PDT or Netbeans? Hit &lt;code&gt;⌥ + F1&lt;/code&gt; and you&amp;#8217;re done.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Textmate/signature-tooltip.png&quot; alt=&quot;signature-tooltip.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;signature-tooltip.png, déc. 2009&quot; /&gt;&lt;/p&gt;


&lt;h4&gt;Using the &lt;code&gt;mate&lt;/code&gt; command line utility&lt;/h4&gt;


&lt;p&gt;Textmate ships with a native command line interface executable called &lt;code&gt;mate&lt;/code&gt; you can use from your term:&lt;/p&gt;

&lt;pre&gt;
$ cd /path/to/project
$ mate .
&lt;/pre&gt;


&lt;p&gt;You can also &lt;em&gt;pipe&lt;/em&gt; some command to &lt;code&gt;mate&lt;/code&gt; to open the output in it:&lt;/p&gt;

&lt;pre&gt;
$ svn diff|mate
&lt;/pre&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Textmate/diff-mate.png&quot; alt=&quot;diff-mate.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;diff-mate.png, déc. 2009&quot; /&gt;&lt;/p&gt;


&lt;h4&gt;Taking part of Mate&amp;#8217;s url-scheme capabilities with Symfony&lt;/h4&gt;


&lt;p&gt;I already blogged about this &lt;a href=&quot;http://prendreuncafe.com/blog/post/2009/10/12/A-Symfony-1.3-Gem:-Open-Files-Listed-in-Exceptions-with-the-Editor-of-your-Choice&quot; hreflang=&quot;en&quot;&gt;awesome feature&lt;/a&gt; available since Symfony 1.3, one more I won&amp;#8217;t ever be able to live without.&lt;/p&gt;


&lt;h3&gt;Improve your productivity using bundles&lt;/h3&gt;


&lt;h4&gt;The &lt;a href=&quot;http://github.com/protocool/ack-tmbundle&quot; hreflang=&quot;en&quot;&gt;Ack in project&lt;/a&gt; bundle&lt;/h4&gt;


&lt;p&gt;One of the most annoying lack of mate is its internal search engine. It&amp;#8217;s really damn slow. The best way to get something decent is to install the &lt;a href=&quot;http://github.com/protocool/ack-tmbundle&quot; hreflang=&quot;en&quot;&gt;Ack in project&lt;/a&gt; bundle. You&amp;#8217;ll then be able to access a fast and convenient fulltext search engine by pressing the &lt;code&gt;⌘ + shift + a&lt;/code&gt; command.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Textmate/ack-in-project.png&quot; alt=&quot;ack-in-project.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;ack-in-project.png, déc. 2009&quot; /&gt;&lt;/p&gt;


&lt;h4&gt;The &lt;a href=&quot;http://ciaranwal.sh/2008/08/05/textmate-plug-in-projectplus&quot; hreflang=&quot;en&quot;&gt;ProjectPlus&lt;/a&gt; bundle&lt;/h4&gt;


&lt;p&gt;If you&amp;#8217;re looking after a better project browser and some VCS support in mate, you&amp;#8217;ll love the &lt;a href=&quot;http://ciaranwal.sh/2008/08/05/textmate-plug-in-projectplus&quot; hreflang=&quot;en&quot;&gt;ProjectPlus bundle&lt;/a&gt;. It will replace the default project drawer by a new one with finder label colors support, file sorting options and VCS icons integration. Give it a try, you won&amp;#8217;t be able to live without it.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Textmate/project-plus-drawer.png&quot; alt=&quot;project-plus-drawer.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;project-plus-drawer.png, déc. 2009&quot; /&gt;&lt;/p&gt;


&lt;h4&gt;The &lt;a href=&quot;http://github.com/denderello/symfony-tmbundle&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; bundle&lt;/h4&gt;


&lt;p&gt;How could I write a blog post on Textmate and Symfony without mentioning the &lt;a href=&quot;http://github.com/denderello/symfony-tmbundle&quot; hreflang=&quot;en&quot;&gt;Symfony bundle&lt;/a&gt;? &lt;a href=&quot;http://www.denderello.com/&quot; hreflang=&quot;en&quot;&gt;Denderello&lt;/a&gt; and contributors did a really good job taking over the original tool, which provides very convenient and effective shortcuts to write Symfony snippets of code quickly.&lt;/p&gt;


&lt;h4&gt;The &lt;a href=&quot;http://github.com/textmate/getbundle.tmbundle&quot; hreflang=&quot;en&quot;&gt;GetBundle&lt;/a&gt; bundle&lt;/h4&gt;


&lt;p&gt;Last, if you didn&amp;#8217;t find anything new or useful reading this blog entry, you might then be interested by installing the &lt;a href=&quot;http://github.com/textmate/getbundle.tmbundle&quot; hreflang=&quot;en&quot;&gt;GetBundle&lt;/a&gt; bundle which will allow you to browse all available bundles and install any of them in one click!&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://prendreuncafe.com/blog/public/images/ScreenShots/Textmate/GetBundle.png&quot; alt=&quot;GetBundle.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;GetBundle.png, déc. 2009&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Conclusion&lt;/h3&gt;


&lt;p&gt;So these are some of the reasons why I&amp;#8217;m using Textmate when developing with Symfony (and other languages too). &lt;strong&gt;What are yours?&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2009/12/16/Symfony-Development-using-Textmate#rev-pnote-1131-1&quot; id=&quot;pnote-1131-1&quot;&gt;1&lt;/a&gt;] You know the &lt;q&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Don't_Make_Me_Think&quot; hreflang=&quot;en&quot;&gt;don&amp;#8217;t make me think&lt;/a&gt;&lt;/q&gt; mantra? Well, now you got another one &lt;img src=&quot;/blog/themes/battlestar/smilies/wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2009/12/16/Symfony-Development-using-Textmate&quot;&gt;Symfony Development using Textmate&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>A Symfony 1.3 Gem: Open Files Listed in Exceptions with the Editor of your Choice</title>
    <link>http://prendreuncafe.com/blog/post/2009/10/12/A-Symfony-1.3-Gem%3A-Open-Files-Listed-in-Exceptions-with-the-Editor-of-your-Choice</link>
    <guid isPermaLink="false">urn:md5:6781e6a12d91dda46f4bd533e7f180ac</guid>
    <pubDate>Mon, 12 Oct 2009 18:22:00 +0200</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>editor</category><category>php</category><category>symfony</category><category>textmate</category>    
    <description>    &lt;p&gt;I&amp;#8217;ve just stumbled upon a nice new feature of &lt;a href=&quot;http://www.symfony-project.org/&quot; hreflang=&quot;en&quot;&gt;Symfony&lt;/a&gt; 1.3, the ability to &lt;a href=&quot;http://www.symfony-project.org/tutorial/1_3/en/whats-new#chapter_64a8dd2fac010cece60fe956d341725f_sub_sf_file_link_format&quot; hreflang=&quot;en&quot;&gt;open any linked file within standard exception page with the text editor of your choice&lt;/a&gt;, at least if it provides an url scheme/protocol to open them. &lt;a href=&quot;http://blog.macromates.com/2007/the-textmate-url-scheme/&quot; hreflang=&quot;en&quot;&gt;Texmate provides natively this feature&lt;/a&gt;, so let&amp;#8217;s see how to configure a symfony project to allow its files to be opened directly in textmate when encountering a stack trace.&lt;/p&gt;


&lt;p&gt;In the &lt;code&gt;config/&lt;/code&gt; folder of the project, create a &lt;code&gt;settings.yml&lt;/code&gt; file with this content:&lt;/p&gt;

&lt;pre&gt;dev: #yeah, we never know
  .settings:
    file_link_format: &amp;quot;txmt://open?url=file://%f&amp;amp;line=%l&amp;quot;&lt;/pre&gt;


&lt;p&gt;That&amp;#8217;s it. Now any standard exception page (in &lt;code&gt;dev&lt;/code&gt; environment only, right?) will provide a &lt;code&gt;txmt://&lt;/code&gt; link to every PHP file listed in the stack trace. And at the correct line number. Neat.&lt;/p&gt;&lt;hr/&gt;&lt;p style=&quot;margin:.5em 0;padding:.5em;border:1px solid #333;background:#eee;color:#222&quot;&gt;&lt;small&gt;Ce billet intitulé &lt;a href=&quot;http://prendreuncafe.com/blog/post/2009/10/12/A-Symfony-1.3-Gem%3A-Open-Files-Listed-in-Exceptions-with-the-Editor-of-your-Choice&quot;&gt;A Symfony 1.3 Gem: Open Files Listed in Exceptions with the Editor of your Choice&lt;/a&gt; a été rédigé par &lt;a href=&quot;http://prendreuncafe.com/cv&quot;&gt;Nicolas Perriault&lt;/a&gt; et publié sur le blog &lt;a href=&quot;http://prendreuncafe.com/blog/&quot;&gt;Prendre un Café&lt;/a&gt; sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons BY-NC-SA&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>
