7
多字的括號內的Verilog您附上的話「開始」和「結束」這樣的之間的代碼塊:定義在Emacs
if(foo) begin
x <= 1'b0;
y <= 1'b0;
end else begin
x <= x_d;
y <= y_d;
end
有什麼辦法來設置開始和結束在Emacs的括號,所以你可以使用支票或類似的東西來找到任何不匹配的東西?
我試着添加此(和變化)了我的〜/ .emacs文件,但它不喜歡它... ...
(modify-syntax-entry ?begin "(end")
(modify-syntax-entry ?end ")begin")
感謝。
這樣的事情通常由縮進引擎處理。您可以使用它來檢查語法,例如通過標記整個緩衝區並運行'indent-region'。如果文件末尾的縮進不正確,則會出現開始/結束不匹配。 – Lindydancer
@Lindydancer謝謝,但我正在編寫由多人同時編輯的代碼,所有代碼都使用不同的編輯器,因此代碼的不同部分通常以不同的方式縮進。還有一些文件往往很長,選擇所有'indent-region'可能需要很長時間... – kiteflyingmonkey
在這種情況下,我會簡單地編寫一個自定義包,找到匹配的開始/結束對。這不是微不足道的,但我認爲如果你是新手的話,這對elisp來說是一個很好的練習。 – Lindydancer