Как выровнять комментарии Haddock для параметров функции в emacs? - PullRequest
0 голосов
/ 27 апреля 2020

Кажется, что единственный способ документировать параметры функции - это использовать стиль -- ^ docs here . К сожалению, это становится очень громоздким, когда параметры функции имеют разную длину. Например:

myFunc :: (Int -> String -> Bool -> IO ())   -- ^ documentation string #1
       -> Int    -- ^ documentation string #2
       -> String    -- ^ documentation string #3                         
       -> Bool   -- ^ documentation string #4
       -> IO ()   -- ^ documentation string #5

Преобразование вышеуказанного в следующее требует больших ручных усилий:

myFunc :: (Int -> String -> Bool -> IO ())   -- ^ documentation string #1
       -> Int                                -- ^ documentation string #2
       -> String                             -- ^ documentation string #3                         
       -> Bool                               -- ^ documentation string #4
       -> IO ()                              -- ^ documentation string #5

Есть ли какой-либо автоматизированный способ сделать это в Emacs? Или есть какой-нибудь другой, более управляемый способ написания этой документации?

Ответы [ 2 ]

4 голосов
/ 27 апреля 2020

Это не отвечает на вопрос о том, как автоматизировать выравнивание комментариев, но когда типы становятся длинными, я обычно полагаюсь на другой стиль форматирования:

myFunc
    :: (Int -> String -> Bool -> IO ())
    -- ^ documentation string #1
    -> Int
    -- ^ documentation string #2
    -> String
    -- ^ documentation string #3                         
    -> Bool
    -- ^ documentation string #4
    -> IO ()
    -- ^ documentation string #5
0 голосов
/ 27 апреля 2020

Простой способ - использовать Mx align-regex --. Приложив немного больше работы, вы можете добавить правило выравнивания в свой хук haskell, чтобы выровнять комментарии EOL (см. Примеры в файле align.el), а затем просто align сделает свое дело.

...