为什么 GNU Indent 会做出看似违反自我规则的事情?

为什么 GNU Indent 会做出看似违反自我规则的事情?

我在用着GNU 缩进格式化一些代码。我有一些像这样的行:

port->N[0].BTR.U = (DIV8(0U)    |
                    TSEG2(0x3U) |
                    TSEG1(0xEU) |
                    SJW(0x3U)   |
                    BRP(0x9U));

正在将其格式化为如下代码:

port->N[0].BTR.U = (DIV8(0U) | TSEG2(0x3U) | TSEG1(0xEU) | SJW(0x3U) | BRP(0x9U));

-l80根据文档,我使用的选项应该在 80 个字符处换行。这里的代码原本比这短,但格式化后,结果行超过了 80 个字符!那么缩进是如何违反它自己的规则的呢?另外,据我所知,我没有指定任何执行此操作的选项,我的意思是,从多行中获取代码并将其放在一行中。

这真的很烦人,因为我不想修改它。那么,有人知道我可以使用什么命令或命令组合来避免这种情况吗?

这些是我已经在使用的选项:

-ndj -nbad -bap -nbc -nbbo -hnl -bl -bli0 -bls -blf -ncdb -nce -cp1 
-ncs -di2 -nfc1 -nfca -hnl -i4 -ip0 -lp -npcs -nprs -psl -saf -sai 
-saw -nsc -nsob -cli4 -cbi0 -nut -nbs -npsl -l80 -c90 -cd90

问候!

相关内容