Mac OS’un en rahat kullanılan, multi-platform yazılım geliştirme aracı TextMate ile ilgili güzel bir özellikten bahsetmek istiyorum.
Bundle
TextMate’le pek çok farklı işi yapabilmek, farklı yazılım dillerinde kod yazabilmek, her hangi bir veri-tabanı sunucusuna bağlanabilmek ya da otomatik tamamlama yapabilmek gibi tonlarca şeyi bu Bundle özelliği sayesinde yapıyoruz.
Uygulama içinden ilk kurduğunuz zaman pek çok (built-in) bundle geliyor. İşin güzel yanı, pek çok insan sürekli yeni bundle’lar geliştiriyor ve bunlar TextMate’in Bundle Repository’sinde bulunuyor.
Bundle dediğimiz şey; aslında bir konfigürasyon ve direktifler yığınıdır. Bundle Editore girdiğimizde;
Commands
Drag Commands
Macros
Snippets
Languages
Preferences
Templates
gibi seçenekleri olduğunu görürüz. Eğer Show All dersek tüm seçenekleri görebiliriz. Filtreleme yaparak sadece Snippet’ları ya da Macro’ları gösterebiliriz.
Bu alanda gördüğünüz herşey aslında TextMate’in Bundle Repository denen yazılım-geliştirme sunucularında depolanmakta ve sürekli güncellenmekte. Program ilk kurulduğunda üzerinde gelen bundle’lar ~/Library/Application\ Support/TextMate/Bundles yani sizin kullanıcınıza ait olan bölgede bulunuyor.
TextMate, SVN reposu üzerinde tutuyor Bundle’larını. Keza SVN üzerinden eklenen ya da elle kendi eklediğiniz bundle’lar birbirinden farklı olarak saklanıyor, kimse birbirini bozamıyor.
Yani repodan gelen (sistem altında!) ayrı bir yerde, kendi edit edip eklediğiniz / düzenlediğiniz ayrı yerde (kullanıcı yani user dizininde…)
Yeni bundle’lar eklemek için önce Terminal’i açıyoruz ve;
ls ~/Library/Application\ Support/
diyerek acaba TextMate’e ait folder var mı? bakıyoruz. Eğer yoksa;
mkdir -p ~/Library/Application\ Support/TextMate/Bundles
cd ~/Library/Application\ Support/TextMate/Bundles
diyoruz ve hemen hangi ekleri (ya da bundle’ları) kurmak istiyorsak Macromates’in SVN repository’sine gidiyoruz. Web browser açıp (Safari / Firefox vs) hemen http://macromates.com/svn/Bundles/trunk/Bundles/ adresine gidiyoruz.
Karşımıza büyük bir liste çıkıyor. Buradan istediğimiz Bundle’ı seçiyoruz. Mesela PHP ile ilgili Bundle’ı kuralım, hem de PHP fonksiyonları için auto-complete de yapıyor bu bundle. Terminal’den devam ediyoruz;
cd ~/Library/Application\ Support/TextMate/Bundles
svn co http://macromates.com/svn/Bundles/trunk/Bundles/PHP.tmbundle
Gördüğünüz gibi gidip PHP ile ilgili bundle’ı repodan indirdik. Şimdi ya TextMate kapatıp açıcaz ya da Bundle Editor menüsünden Reload Bundles yapıcaz. (Bundles > Bundle Editor > Reload Bundles) Şimdi bir Php dosyası yaratalım. (File > New) Bu dosyayı test.php şeklinde kaydedelim. (İlla kaydetmek zorunda da değilsiniz!)
Şimdi Php’i komutu yazarken ⌥ (alt) ve ⎋ (esc) tuşlarına basın!
Biraz merak ediyorsanız Bundle Editor’ü açıp bu otomatik tamamlamanın nasıl yapıldığına bakabilirsiniz. Çok zor değil, tüm konfigürasyon KEY: VALUE ikililerinden oluşan direktifler. Yani Dictionary Object dediğimiz şey…
Keza, ilgili komuta ait yardım almak için ⌥ (alt) + F1
Belirli aralıklarla (ayda bir kez mesela) svn up yaparak reponuzu güncel tutabilirsiniz. Bunun için check-out (co) ettiğiniz yere gidin;
cd ~/Library/Application\ Support/Textmate/Bundles/PHP.tmbundle
svn up
yapmanız yeterli olacaktır.
Güncelleme (8 Ağustos 2009)
Bundle repository adresi değişmiş: http://svn.textmate.org/trunk/Bundles/
Güncelleme (2011)
Neredeyse tüm bundle’lar Github’a aktarıldı… Yeni repo: https://github.com/textmate
İlişkili Makaleler
Konu ile ilgili toplam “10” adet bağlantılı makale bulunuyor.
TextMate ve İnteraktif Giriş
13 Nisan 2015, Pazartesi 09:28
Çoğu zaman birşeyleri hızla denemek için TextMate’i kullanırım. İstediğim programlama dilinde, anında birşeyleri yazıp çalıştırmak mümkündür TextMate’de.
TextMate 1 ve Yosemite
14 Kasım 2014, Cuma 13:29
Eğer siz de benim gibi dinozorsanız ve halen en eski TextMate’i Version 1.5.11 (1635)’i kullanıyorsanız bu yazıyı okumanız iyi olur :)
TextMate 1 ve Mavericks
24 Ekim 2013, Perşembe 14:00
Mac OS X’in yeni sürümü Mavericks’i eğer upgrade yöntemiyle güncellediyseniz TextMate 1 Bundle’larının büyük bir kısmı çalışmayacaktır!
TextMate ve Path sorunsalı
30 Mart 2011, Çarşamba 14:40
TextMate’in sevdiğim özelliklerinden biri in-line olarak programlama yapabilmek. Örneğin html ile uğraşıyorsunuz, hemen bir div ve o div’in içinde 15 tane p ve p’lerin içinde de span’e ihtiyacınız var (iyi uydurdum dimi?) basit bir hareketle bunu programatik olarak yapabilirsiniz.
TextMate için yaptığım küçük bir AppleScript
29 Kasım 2010, Pazartesi 21:20
TextMate için yaptığım küçük bir AppleScript.
TextMate ve Bundle olayları
08 Ağustos 2009, Cumartesi 15:48
Hemen, hızlı bir şekilde, bundle’lara erişmek için yapmanız gereken şey;
TextMate ve XHTML tag tamamlama olayı
08 Ağustos 2009, Cumartesi 14:57
Eğer aşağıdaki gibi ayar yapmadıysanız, XHTML yazarken, TextMate, uygun olmayan tamamlamalar yapabilir.
/etc/hosts dosyası için TextMate Bundle
04 Haziran 2009, Perşembe 11:56
Basit bir şekilde, hosts dosyasını daha anlaşılır görebilirsiniz. Tek yapmanız gereken, aynı php-ini için yaptığımız gibi bir dil oluşturmak…
Textmate ve php.ini
21 Kasım 2008, Cuma 21:45
TextMate kullanıyor musunuz? Eğer hayır ise cevabınız çok şey kaçırıyorsunuz. Gerçekten de adını hak eden bir yazılım!