2013-04-28 58 views
3

「Edit,Line,Reindent」不適用於HAML。有沒有可以自動格式化HAML的命令?有任何想法嗎?謝謝SublimeText2中的HAML文本格式

+0

這篇文章是否回答你的問題? http://stackoverflow.com/questions/9495007/indenting-code-in-sublime-text-2 – MarkoHiel 2013-05-02 21:42:12

回答

1

自動重新縮進HAML是不可能的,因爲前面的空格數量決定了元素嵌套的位置或應該在前一個元素之後。

考慮以下情況:

.table 
     .row 

當您重新縮進它可能給

.table 
.row 

,而要你想要的是

.table 
    .row 

在我用有意義上面的例子名稱,我們可能會明白,row是的孩子但編輯沒有。

即使我們以某種方式確實告訴編輯器,行總是表的一部分,但並不意味着情況總是如此。

下面的例子顯示,你爲什麼

.table 
    .row 
    .table 
     .row 
        .row Which table has two rows? 

畢竟兩者

.table 
    .row 
    .table 
     .row 
     .row 

.table 
    .row 
    .table 
     .row 
    .row 

是有效的解決方案。第一個選項是內部表有兩行,而第二個選項是外部表有兩行。

TL; DR-版本:中有崇高的文本爲HAML沒有自動縮進功能,並有將最有可能永遠是一個,因爲它是幾乎無法確定HAML,筆者的意思。