From f8f9144f0881ae9c1309e369a47e1edf6889356e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 3 Sep 2018 04:03:33 +0200 Subject: [PATCH] ui/modeline: add indent type+width to modeline Also, display nothing for file encoding if encoding is undecided. --- modules/ui/modeline/config.el | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/modules/ui/modeline/config.el b/modules/ui/modeline/config.el index 955b84af4..cdfcc9820 100644 --- a/modules/ui/modeline/config.el +++ b/modules/ui/modeline/config.el @@ -482,16 +482,20 @@ Meant for `+modeline-buffer-path-function'." (def-modeline-segment! +modeline-encoding :on-hooks (after-revert-hook after-save-hook find-file-hook) - :on-set (buffer-file-coding-system) - (concat (pcase (coding-system-eol-type buffer-file-coding-system) - (0 "LF ") - (1 "CRLF ") - (2 "CR ")) - (let ((sys (coding-system-plist buffer-file-coding-system))) - (if (memq (plist-get sys :category) '(coding-category-undecided coding-category-utf-8)) - "UTF-8" - (upcase (symbol-name (plist-get sys :name))))) - " ")) + :on-set (buffer-file-coding-system indent-tabs-mode tab-width) + (concat (format (if indent-tabs-mode "⭾%d" "␣%d") + tab-width) + " " + (pcase (coding-system-eol-type buffer-file-coding-system) + (0 "LF") + (1 "CRLF") + (2 "CR")) + " " + (let* ((sys (coding-system-plist buffer-file-coding-system)) + (category (plist-get sys :category))) + (cond ((eq category 'coding-category-undecided) "") + ((eq category 'coding-category-utf-8) "UTF-8 ") + ((concat (upcase (symbol-name (plist-get sys :name))) " ")))))) (def-modeline-segment! +modeline-major-mode (propertize (format-mode-line mode-name)