Emacs 26 flymake: настройка формата строки режима
Я подумываю переключиться обратно с flycheck на flymake после переписывания Emacs 26. Одна вещь, которая беспокоит меня о flymake, это то, сколько места на линии мод она занимает. Есть строка Flymake
плюс результаты. Это кажется глупостью, но это 10% строки режима на кадре из 80 символов, просто для имени! У меня есть много важной информации, которую я хотел бы видеть в моей строке режима, поэтому я стараюсь удалять вещи, которые мне не нужны - я знаю, какие второстепенные режимы и т. Д. Включены в моих буферах, так как я их настроил! Лично я предпочел бы вообще не видеть имя, только результаты или самое большее F
или же FM
,
Я мог бы использовать diminish
полностью избавиться от информации о строке режима, но, конечно, я не хочу этого: я хочу видеть состояние моего буфера.
Я посмотрел на flymake.el
и flymake--mode-line-format
defun, и не похоже, что эта строка является настраиваемой или ее легко изменить.
У кого-нибудь есть мысли по этому поводу?
1 ответ
Вам нужно переопределить flymake--mode-line-format
функция. Вероятно, он должен быть более настраиваемым, но это не так. Возможно, наименее навязчивый способ сделать это - определить :filter-return
советы по этой функции для преобразования вывода.
(defun flymake--transform-mode-line-format (ret)
"Change the output of `flymake--mode-line-format'."
(setf (seq-elt (car ret) 1) " FM")
ret)
(advice-add #'flymake--mode-line-format
:filter-return #'flymake--transform-mode-line-format)