(У меня установлен TComment, и я нахожусь на NeoVim 0.4.0.)

Учитывая этот код, например:

let mem key st =
   let is_matching_key = function
   | Positional _ -> false
   | Flag f -> f.name == key
   in
   (* FIXME: This is slow, but Array.exists isn't available until OCaml 4.03, and I am lazy. *)
   List.exists is_matching_key (Array.to_list st.args)

Когда я выбираю приведенный выше код и нажимаю gc c, я получаю:

(* let mem key st = *)
(*    let is_matching_key = function *)
(*    | Positional _ -> false *)
(*    | Flag f -> f.name == key *)
(*    in *)
(*    (* FIXME: This is slow, but Array.exists isn't available until OCaml 4.03, and I am lazy. *) *)
(*    List.exists is_matching_key (Array.to_list st.args) *)
(*  *)

Вместо этого я хотел бы получить что-то вроде,

(* let mem key st =
   let is_matching_key = function
   | Positional _ -> false
   | Flag f -> f.name == key
   in
   (* FIXME: This is slow, but Array.exists isn't available until OCaml 4.03, and I am lazy. *)
   List.exists is_matching_key (Array.to_list st.args) *)

… Где в начале и конце всего текста есть только разделители комментариев.

Как мне этого добиться?


Дополнительно - я бы хотел, чтобы Vim продолжал поддерживать этот стиль отступов при нажатии Return внутри docblocks. Если - точка вставки в следующем тексте…

(** This is a documentation-block for this function.⁁

… Я сейчас получаю это после нажатия Return

(** This is a documentation-block for this function.
 * ⁁

(Обратите внимание на дополнительную звездочку, которую он добавляет в каждой строке; также обратите внимание, что отступ - «один раз», не совпадает с буквой T в приведенной выше строке.) Я хотел бы получить это:

(** This is a documentation-block for this function.
    ⁁

Я пытался изучить документацию TComment, но мне не повезло, улучшая это поведение.

0