我的SQL.tmbundle fork

今天两篇post之后,还是对wordpress 3.2的full screen editor爱不释手 i,所以再来一篇……;这不是0day,所以请expect一切都会可能有延迟.

话说这还是上周一的事情了……

插入一个闪回:
我平时一般工作或是自己开发都开着两个editor,一个是macvim,这个目前看来是完全为了vim-task了,我用它来GTD;另外一个是textmate,我大部分的code,除了java和obj-c外 ii都是在textmate里面完成;可能你会觉得好奇,话说这已经牵涉到信仰的问题了,要知道textmate是我两年前我买mac的first bullet,如果抛弃textmate,我两年前的行为就似乎失去了意义;请不要告诉我mac的ui怎么怎么fancy,界面怎么怎么友好,我不是果粉,这些对我其实都没有杀伤力;我更不是那些个喜欢抱着macbook pro在星巴克靠窗的座位前展现各种独特品味的伙计,话说我到非常希望我能有如此的定力……

闪回完了回来,回到上周一;如果你像我这样用textmate编辑维护总和超过10000+行的 sql stored procedure (单文件3000+行)iii 代码,你会明白textmate默认自带的SQL.tmbundle其实做的蛮烂的,作为一种语言的bundle,它竟然不支持symbol list,这让本身在TM里面navigate就不方便的用户情何以堪……

一般语言定义的function或是method都会被作为symbol list的item,方便用户直接跳转到该function/method的definition处;没有symbol list的情景下,这意味着你只能search,还要人为或自动的filter掉一些不是definition的match字串,这在你debug的正high,正心急如焚抑或火冒三丈的时候,无疑不是种尴尬,接下来便是不情愿的敲上 ⌘ + F,然后嘴里嘀咕着:”人生啊”;这,就是我上周一之前一直的状态……

不过上周一之后有了我自己的SQL.tmbundle后,我终于有了SQL的目前相当简陋的symbol list,我很清楚的记得我那天没再说那三个字…… 不过可惜的是,也许也是值得庆幸的是,我马上就不需要维护那么长的SQL了,话说这还真不好说是高兴还是悲伤,但无论是高兴还是悲伤,这里,永远都不是一个应该表达感情的地方;

我想我上面罗里罗唆的还闪去闪回的应该已经把我写下标题后想传达的信息传达到位了,至少我希望如此。

对了,如果你看到这里还不知道symbol list是啥(不是没可能,话说这个名字还是有点confuse的),这里有个截图,symbol list就是右下角popup的那块,可以像我这样用鼠标点,也可以用 ⌘ + Shift + T 打开 “Go to Symbol…”的dialog,更多的时候shortcut key更管用。

最后,如果你brave enough想尝试下这个的SQL bundle的话,下面是installation guide,follow TM bundle的tradition,assume你已经装了git:

$ mkdir -p ~/Library/Application\ Support/TextMate/Bundles
$ cd ~/Library/Application\ Support/TextMate/Bundles
$ git clone git://github.com/samsonw/sql.tmbundle.git SQL.tmbundle
$ osascript -e 'tell app "TextMate" to reload bundles'
[Footnotes]
  1. 美中不足,fullscreen模式下少一个preview的按钮,但瑕不掩瑜 []
  2. java当然eclipse了,obj-c更是当仁不让于xcode []
  3. for the record, 这是postgresql的pl/pgsql代码 []

历史上的今天:

Related posts:

4 Comments on "我的SQL.tmbundle fork"

  1. soquick China Mozilla Firefox Windows says:

    我表示我是来阅读这些非技术部分的叨叨。

  2. Denny China Mozilla Firefox Linux says:

    这是一个编辑器百花齐放的年代。

    Samson,你现在写这么多存储过程的SQL代码呀?

    SQL模式,你这里主要需要什么功能?语法高亮,补齐提示,静态代码检查,还有啥呢?

Got something to say? Go for it!

使用新浪微博登陆