Trong Verilog bạn kèm theo khối mã giữa các từ 'bắt đầu' và 'kết thúc' như thế này:Xác định ngoặc đa nhân vật trong Emacs
if(foo) begin
x <= 1'b0;
y <= 1'b0;
end else begin
x <= x_d;
y <= y_d;
end
Có cách nào để thiết lập bắt đầu và kết thúc như dấu ngoặc đơn trong Emacs, để bạn có thể sử dụng kiểm tra-parens hoặc tương tự để tìm thấy bất kỳ mà không phù hợp?
Tôi đã cố gắng thêm này (và các biến thể của) vào tập tin ~/emacs của tôi, nhưng nó không thích nó ...
(modify-syntax-entry ?begin "(end")
(modify-syntax-entry ?end ")begin")
Cảm ơn.
Những thứ như thế này thường được xử lý bởi động cơ thụt lề. Bạn có thể sử dụng nó để kiểm tra cú pháp, ví dụ bằng cách đánh dấu toàn bộ bộ đệm và chạy 'indent-region'. Nếu phần cuối của tệp được thụt lề không chính xác, bạn có sự không khớp bắt đầu/kết thúc. – Lindydancer
@Lindydancer cảm ơn, nhưng tôi đang làm việc trên mã đang được chỉnh sửa bởi nhiều người cùng một lúc, tất cả đều sử dụng các trình chỉnh sửa khác nhau và vì vậy các phần khác nhau của mã được thụt lề theo nhiều cách khác nhau. Ngoài ra một số tệp có xu hướng rất dài và việc chọn tất cả 'thụt lề-khu vực' có thể mất một thời gian dài ... – kiteflyingmonkey
Trong trường hợp đó, tôi sẽ đơn giản viết một gói tìm kiếm phù hợp với cặp bắt đầu/kết thúc. Nó không phải là tầm thường, nhưng tôi nghĩ rằng nó sẽ là một bài tập tốt trong elisp, nếu bạn mới vào nó. – Lindydancer