I have installed Proof General via Doom Emacs' coq
module, keeping most settings as whatever default that module sets. Sometimes the automatic indentation this provides gives results I dislike, and furthermore does so aggressively – even if I fix the indentation manually, Proof General is quick to revert it to automatic indentation. A particularly bad case is records: which look like this:
Record foo : Type := mkFoo {
bar : nat;
}.
I would prefer:
Record foo : Type := mkFoo {
bar : nat;
}.
Other problems include it not understanding extensions like Equations
, again aggressively breaking any manual indentation.
Relevant-looking variables (ones containing substrings coq
and indent
) have the following values:
coq-indent-box-style nil
coq-indent-basic 2
coq-match-indent 2
coq-script-indent t
coq-indent-proofstart 2
coq-indent-modulestart 2
coq-indent-semicolon-tactical 2
coq-smie-after-bolp-indentation 2
Though I'm genuinely looking for an answer, I'm also curious as to whether this is considered on-topic. I think we should expect more gritty tooling questions, and also other acute issues (“What does this error message mean?”, “How can I make this code check?”) when we open up to the public (unless such questions are explicitly banned). An argument against these questions is that one could ask coq.zulipchat.com or wherever instead.
coq
module essentially does 3 things to Proof General: package management, setting indent sizes to the global indent size setting (hence the value2
in most of the variables I could find), and setting some vi-like key bindings. All of these are overridable. $\endgroup$