In Verilog anbei erhalten Sie Codeblöcke zwischen den Wörtern ‚begin‘ und ‚end‘ wie folgt aus:definieren Mehrzeichen Klammern in Emacs
if(foo) begin
x <= 1'b0;
y <= 1'b0;
end else begin
x <= x_d;
y <= y_d;
end
Gibt es eine Möglichkeit, wie Klammern in Emacs beginnen und enden zu setzen, so dass Sie check-parens oder ähnliches verwenden können, um nicht übereinstimmende zu finden?
Ich habe versucht, indem diese (und Variationen) in meiner ~/.emacs-Datei, aber es mag es nicht ...
(modify-syntax-entry ?begin "(end")
(modify-syntax-entry ?end ")begin")
Dank.
Das wird normalerweise von der Einrückungs-Engine gehandhabt. Sie könnten es verwenden, um die Syntax zu überprüfen, indem Sie beispielsweise den gesamten Puffer markieren und eine Einrückungsregion ausführen. Wenn das Ende der Datei falsch eingerückt ist, haben Sie eine Anfangs-/Endübereinstimmung. – Lindydancer
@Lindydancer danke, aber ich arbeite an Code, der von mehreren Personen gleichzeitig bearbeitet wird, alle mit verschiedenen Editoren, und so oft verschiedene Abschnitte des Codes auf verschiedene Arten eingerückt sind. Auch einige der Dateien neigen dazu, sehr lang zu sein, und die Auswahl aller "Einrückung-Region" kann eine lange Zeit dauern ... – kiteflyingmonkey
In diesem Fall würde ich einfach ein benutzerdefiniertes Paket schreiben finden passende Anfangs-/Ende-Paare. Es ist nicht trivial, aber ich denke, es wäre eine gute Übung in elisp, wenn du neu bist. – Lindydancer