我试图让verilog模式使用2个空格缩进所有内容,除了decls和always。这就是我添加到我的.emacs中的内容:
;; `define are not indented
(setq verilog-indent-level-directive 0)
;; always, initial etc not indented
(setq verilog-indent-level-module 0)
;; logic declarations are not indented
(setq verilog-indent-level-declaration 0)
;;2 space indent
(setq verilog-indent-level 2)
;; no indent on list and no indent when on multiple lines
(setq verilog-indent-lists nil)
(setq verilog-cexp-indent 0)
这是测试模块的结果
`ifndef MY_MODULE_SV
`define MY_MODULE_SV
module my_module #(
parameter MyPar1 = 16,
parameter MyPar2 = 32
) (
input logic clk,
input logic reset,
//comment indented weirdly
output logic [3:0] result
);
logic [3:0] count;
always @(posedge clk) begin
//comment indented ok
if (reset) begin
count <= 0;
result <= 0;
end
else begin
result <= count;
count <= count+1;
end
end
endmodule; // my_module
`endif
不正确的部分是端口和参数列表。
此外,count
的声明与端口声明一致,这很奇怪。
我希望这看起来像:
module my_module #(
parameter MyPar1 = 16,
parameter MyPar2 = 32
) (
input logic clk,
input logic reset,
//result signal
output logic [3:0] result
);
我正在使用emacs 24.3.1 我不知道如何仅使用verilog模式提供的变量来调整这个,有什么建议吗?
答案 0 :(得分:3)
这与您请求的布局完全匹配,但我所做的是将RewriteCond %{HTTP_HOST} !^exploreWorlds\.co\.uk$1 [NC]
RewriteRule ^(.*)$ http://www.exploreWorlds.co.uk/$1 [R=301,L]
置于模块关键字下方,并将参数列表中的结束列表和端口列表的begin paren拆分为单独的线。结果如下。我的所有缩进都是3个空格,但您可以调整它以满足您的需求:
#(
我的.emacs文件的verilog模式相关部分如下:
module my_module
#(
parameter MyPar1 = 16,
parameter MyPar2 = 32
)
(
input logic clk,
input logic reset,
//comment indented weirdly
output logic [3:0] result
);
logic [3:0] count;
always @(posedge clk) begin
//comment indented ok
if (reset) begin
count <= 0;
result <= 0;
end
else begin
result <= count;
count <= count+1;
end
end
endmodule; // my_module