在 haskell-indentation 模式下自定义缩进宽度

Customize indentation width in haskell-indentation mode

我目前使用 Emacs 作为主要的 IDE 来开发 Haskell 代码,到目前为止我真的很满意。但是目前我无法弄清楚一个小细节,即如何将缩进宽度自定义为 4 而不是 2。

目前我已经在haskell-mode中打开了haskell-indentation,但是我不知道我必须设置什么变量来自定义缩进宽度。 到目前为止,我已经尝试设置 '(haskell-indent-spaces 4) 但这似乎根本没有任何效果......

提前感谢您的帮助!

根据 haskell-indentationthe source2 似乎硬编码在文件中,因此您必须手动编辑它。

haskell-indentation-mode 提供了几个旋钮,您可以转动这些旋钮来自定义缩进偏移量:

haskell-indentation-layout-offset
haskell-indentation-starter-offset
haskell-indentation-left-offset
haskell-indentation-ifte-offset
haskell-indentation-where-pre-offset
haskell-indentation-where-post-offset

所有这些都是自定义变量,因此您可以执行 M-x customize-option RET 并自定义其中任何一个,或者如果您更喜欢以编程方式:

(custom-set-variables
 ;; Customization related to indentation.
 '(haskell-indentation-layout-offset 4)
 '(haskell-indentation-starter-offset 4)
 '(haskell-indentation-left-offset 4)
 '(haskell-indentation-where-pre-offset 4)
 '(haskell-indentation-where-post-offset 4)
 )