2014-10-01 30 views
0

所以我使用textarea實現了Codemirror庫,因此我可以自動關閉HTML標記和括號 - {},(),[]。但是,我注意到在使用它們時,它們不能在同一行上一起工作。在同一行上的Codemirror中同時使用closetag.js和closebrackets.js

說我打字標籤是這樣的:

<div></div> 

它autocloses和光標在上述兩個標記之間的中間。 但是,如果我嘗試添加一個支架:

<div>{</div> 

,因爲如何closebrackets.js作品它不會關閉。在它自己的生產線上運作。 我發現了一個便宜的黑客那裏裏面closetag.js(80號線),您可以添加一個空格,對其進行更改:

text: ">" + (indent ? "\n\n" : "") + "</" + tagName + ">", 

text: ">" + (indent ? "\n\n" : " ") + "</" + tagName + ">", 

然後將標籤關閉這樣的:

<div> </div> 

但是,它有點煩人和醜陋,因爲你有這個額外的空間,只是爲了讓它更流暢。

任何想法如何在同一行上實現這兩個?

回答

1

CodeMirror的closebrackets插件會複製Sublime Text的行爲,因爲它只會在光標位於另一個關閉字符或空白的前面時自動關閉。我並不特別關注這種行爲,但我也不想根據單個用例進行隨機更改。其他行爲是否有先例?如果是這樣,這種行爲有多嚴格? HTML標記之間的開頭括號聽起來不像是一個非常常見的用例。

相關問題