Currently, if you have a paragraph in a block comment which is indented, doing M-q (i.e. fill-paragraph, which ends up calling haskell-fill-paragraph) will un-indent all but the first line (and the comments in haskell-fill-paragraph admit that "{- -} comments need some extra love."
I've been playing with this over the past few days without success: ultimately, what fails is that indent-line-function is dependent upon which indentation mode is chosen:
indent-region works with haskell-simple-indent
indent-region is explicitly disabled in haskell-indent and haskell-indentation (presumably because of tab-cycles, etc.).
The only solution I can think of is to temporarily override fill-prefix; I've currently got some elisp that will find the first character in a paragraph (skipping over the {- comment starter, haddock markup (|, ^, and also list markers) but I'm not sure if this is a safe or sane thing to do... The problem with this would be, if we fill and then indent, the lines could extend past fill-column :/
Currently, if you have a paragraph in a block comment which is indented, doing
M-q
(i.e.fill-paragraph
, which ends up callinghaskell-fill-paragraph
) will un-indent all but the first line (and the comments inhaskell-fill-paragraph
admit that "{- -} comments need some extra love."I've been playing with this over the past few days without success: ultimately, what fails is that
indent-line-function
is dependent upon which indentation mode is chosen:indent-region
works withhaskell-simple-indent
indent-region
is explicitly disabled inhaskell-indent
andhaskell-indentation
(presumably because of tab-cycles, etc.).The only solution I can think of is to temporarily override
fill-prefix
; I've currently got some elisp that will find the first character in a paragraph (skipping over the{-
comment starter, haddock markup (|
,^
, and also list markers) but I'm not sure if this is a safe or sane thing to do... The problem with this would be, if we fill and then indent, the lines could extend pastfill-column
:/