2013-04-28 50 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,笔者的意思。