mirror of
https://github.com/correl/doom-modeline.git
synced 2024-11-23 19:19:50 +00:00
Fix #147: Buffer does not seem to be associated with any file.
Introduced by 605c5615c1
.
This commit is contained in:
parent
2b0f9ea1df
commit
7aa92a7a43
2 changed files with 54 additions and 27 deletions
|
@ -31,10 +31,6 @@
|
||||||
(require 'eldoc-eval)
|
(require 'eldoc-eval)
|
||||||
(require 'shrink-path)
|
(require 'shrink-path)
|
||||||
(require 'subr-x)
|
(require 'subr-x)
|
||||||
(when (>= emacs-major-version 26)
|
|
||||||
(require 'project))
|
|
||||||
(when (bound-and-true-p doom-modeline-icon)
|
|
||||||
(require 'all-the-icons))
|
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -91,7 +87,7 @@ Given ~/Projects/FOSS/emacs/lisp/comint.el
|
||||||
"Whether show `all-the-icons' or not.
|
"Whether show `all-the-icons' or not.
|
||||||
|
|
||||||
Non-nil to show the icons in mode-line.
|
Non-nil to show the icons in mode-line.
|
||||||
The icons may not be showed correctly in terminal and on Windows.")
|
The icons may not be showed correctly in terminal.")
|
||||||
|
|
||||||
(defvar doom-modeline-major-mode-icon t
|
(defvar doom-modeline-major-mode-icon t
|
||||||
"Whether show the icon for major mode. It respects `doom-modeline-icon'.")
|
"Whether show the icon for major mode. It respects `doom-modeline-icon'.")
|
||||||
|
@ -247,7 +243,6 @@ The icons may not be showed correctly in terminal and on Windows.")
|
||||||
(declare-function all-the-icons-material 'all-the-icons)
|
(declare-function all-the-icons-material 'all-the-icons)
|
||||||
(declare-function all-the-icons-octicon 'all-the-icons)
|
(declare-function all-the-icons-octicon 'all-the-icons)
|
||||||
(declare-function face-remap-remove-relative 'face-remap)
|
(declare-function face-remap-remove-relative 'face-remap)
|
||||||
(declare-function project-current 'project)
|
|
||||||
(declare-function project-roots 'project)
|
(declare-function project-roots 'project)
|
||||||
(declare-function projectile-project-root 'projectile)
|
(declare-function projectile-project-root 'projectile)
|
||||||
|
|
||||||
|
|
|
@ -29,16 +29,18 @@
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require 'all-the-icons)
|
|
||||||
(require 'subr-x)
|
(require 'subr-x)
|
||||||
(require 'doom-modeline-core)
|
(require 'doom-modeline-core)
|
||||||
(require 'doom-modeline-env)
|
(require 'doom-modeline-env)
|
||||||
|
(when (bound-and-true-p doom-modeline-icon)
|
||||||
|
(require 'all-the-icons))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Externals
|
;; Externals
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
(defvar all-the-icons-scale-factor)
|
||||||
(defvar anzu--cached-count)
|
(defvar anzu--cached-count)
|
||||||
(defvar anzu--current-position)
|
(defvar anzu--current-position)
|
||||||
(defvar anzu--overflow-p)
|
(defvar anzu--overflow-p)
|
||||||
|
@ -78,6 +80,8 @@
|
||||||
(defvar winum-auto-setup-mode-line)
|
(defvar winum-auto-setup-mode-line)
|
||||||
(defvar xah-fly-insert-state-q)
|
(defvar xah-fly-insert-state-q)
|
||||||
|
|
||||||
|
(declare-function all-the-icons-auto-mode-match? 'all-the-icons)
|
||||||
|
(declare-function all-the-icons-icon-family 'all-the-icons)
|
||||||
(declare-function anzu--reset-status 'anzu)
|
(declare-function anzu--reset-status 'anzu)
|
||||||
(declare-function anzu--where-is-here 'anzu)
|
(declare-function anzu--where-is-here 'anzu)
|
||||||
(declare-function async-inject-variables 'async)
|
(declare-function async-inject-variables 'async)
|
||||||
|
@ -163,26 +167,6 @@
|
||||||
(declare-function winum--install-mode-line 'winum)
|
(declare-function winum--install-mode-line 'winum)
|
||||||
(declare-function winum-get-number-string 'winum)
|
(declare-function winum-get-number-string 'winum)
|
||||||
|
|
||||||
|
|
||||||
;;
|
|
||||||
;; global watchers
|
|
||||||
;;
|
|
||||||
|
|
||||||
(when (>= emacs-major-version 26)
|
|
||||||
(add-variable-watcher
|
|
||||||
'doom-modeline-icon
|
|
||||||
(lambda (_sym val op _where)
|
|
||||||
(when (eq op 'set)
|
|
||||||
(setq doom-modeline-icon val)
|
|
||||||
(revert-buffer t t))))
|
|
||||||
|
|
||||||
(add-variable-watcher
|
|
||||||
'all-the-icons-scale-factor
|
|
||||||
(lambda (_sym val op _where)
|
|
||||||
(when (eq op 'set)
|
|
||||||
(setq all-the-icons-scale-factor val)
|
|
||||||
(revert-buffer t t)))))
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; buffer information
|
;; buffer information
|
||||||
;;
|
;;
|
||||||
|
@ -224,6 +208,14 @@ buffer where knowing the current project directory is important."
|
||||||
(add-hook 'after-change-major-mode-hook #'doom-modeline-update-buffer-file-icon)
|
(add-hook 'after-change-major-mode-hook #'doom-modeline-update-buffer-file-icon)
|
||||||
(add-hook 'clone-indirect-buffer-hook #'doom-modeline-update-buffer-file-icon)
|
(add-hook 'clone-indirect-buffer-hook #'doom-modeline-update-buffer-file-icon)
|
||||||
|
|
||||||
|
(when (>= emacs-major-version 26)
|
||||||
|
(add-variable-watcher
|
||||||
|
'all-the-icons-scale-factor
|
||||||
|
(lambda (_sym val op _where)
|
||||||
|
(when (eq op 'set)
|
||||||
|
(setq all-the-icons-scale-factor val)
|
||||||
|
(doom-modeline-update-buffer-file-icon)))))
|
||||||
|
|
||||||
(defun doom-modeline-buffer-file-state-icon (icon &optional text face height voffset)
|
(defun doom-modeline-buffer-file-state-icon (icon &optional text face height voffset)
|
||||||
"Displays an ICON with FACE, HEIGHT and VOFFSET.
|
"Displays an ICON with FACE, HEIGHT and VOFFSET.
|
||||||
TEXT is the alternative if it is not applicable.
|
TEXT is the alternative if it is not applicable.
|
||||||
|
@ -286,6 +278,20 @@ Uses `all-the-icons-material' to fetch the icon."
|
||||||
(lambda (_sym val op _where)
|
(lambda (_sym val op _where)
|
||||||
(when (eq op 'set)
|
(when (eq op 'set)
|
||||||
(setq buffer-read-only val)
|
(setq buffer-read-only val)
|
||||||
|
(doom-modeline-update-buffer-file-state-icon))))
|
||||||
|
|
||||||
|
(add-variable-watcher
|
||||||
|
'doom-modeline-icon
|
||||||
|
(lambda (_sym val op _where)
|
||||||
|
(when (eq op 'set)
|
||||||
|
(setq doom-modeline-icon val)
|
||||||
|
(doom-modeline-update-buffer-file-state-icon))))
|
||||||
|
|
||||||
|
(add-variable-watcher
|
||||||
|
'all-the-icons-scale-factor
|
||||||
|
(lambda (_sym val op _where)
|
||||||
|
(when (eq op 'set)
|
||||||
|
(setq all-the-icons-scale-factor val)
|
||||||
(doom-modeline-update-buffer-file-state-icon)))))
|
(doom-modeline-update-buffer-file-state-icon)))))
|
||||||
|
|
||||||
(defvar-local doom-modeline--buffer-file-name nil)
|
(defvar-local doom-modeline--buffer-file-name nil)
|
||||||
|
@ -529,6 +535,14 @@ Uses `all-the-icons-octicon' to fetch the icon."
|
||||||
(add-hook 'after-save-hook #'doom-modeline--update-vcs-icon)
|
(add-hook 'after-save-hook #'doom-modeline--update-vcs-icon)
|
||||||
(advice-add #'vc-refresh-state :after #'doom-modeline--update-vcs-icon)
|
(advice-add #'vc-refresh-state :after #'doom-modeline--update-vcs-icon)
|
||||||
|
|
||||||
|
(when (>= emacs-major-version 26)
|
||||||
|
(add-variable-watcher
|
||||||
|
'doom-modeline-icon
|
||||||
|
(lambda (_sym val op _where)
|
||||||
|
(when (eq op 'set)
|
||||||
|
(setq doom-modeline-icon val)
|
||||||
|
(doom-modeline--update-vcs-icon)))))
|
||||||
|
|
||||||
(defvar-local doom-modeline--vcs-text nil)
|
(defvar-local doom-modeline--vcs-text nil)
|
||||||
(defun doom-modeline-update-vcs-text (&rest _)
|
(defun doom-modeline-update-vcs-text (&rest _)
|
||||||
"Update text of vsc state in mode-line."
|
"Update text of vsc state in mode-line."
|
||||||
|
@ -643,6 +657,15 @@ mouse-2: Show help for minor mode")
|
||||||
(add-hook 'flycheck-status-changed-functions #'doom-modeline-update-flycheck-icon)
|
(add-hook 'flycheck-status-changed-functions #'doom-modeline-update-flycheck-icon)
|
||||||
(add-hook 'flycheck-mode-hook #'doom-modeline-update-flycheck-icon)
|
(add-hook 'flycheck-mode-hook #'doom-modeline-update-flycheck-icon)
|
||||||
|
|
||||||
|
(when (>= emacs-major-version 26)
|
||||||
|
(add-variable-watcher
|
||||||
|
'doom-modeline-icon
|
||||||
|
(lambda (_sym val op _where)
|
||||||
|
(when (eq op 'set)
|
||||||
|
(setq doom-modeline-icon val)
|
||||||
|
(when (bound-and-true-p flycheck-mode)
|
||||||
|
(flycheck-buffer))))))
|
||||||
|
|
||||||
(defvar-local doom-modeline--flycheck-text nil)
|
(defvar-local doom-modeline--flycheck-text nil)
|
||||||
(defun doom-modeline-update-flycheck-text (&optional status)
|
(defun doom-modeline-update-flycheck-text (&optional status)
|
||||||
"Update flycheck text via STATUS."
|
"Update flycheck text via STATUS."
|
||||||
|
@ -769,6 +792,15 @@ mouse-2: Show help for minor mode"
|
||||||
map))))))
|
map))))))
|
||||||
(advice-add #'flymake--handle-report :after #'doom-modeline-update-flymake-icon)
|
(advice-add #'flymake--handle-report :after #'doom-modeline-update-flymake-icon)
|
||||||
|
|
||||||
|
(when (>= emacs-major-version 26)
|
||||||
|
(add-variable-watcher
|
||||||
|
'doom-modeline-icon
|
||||||
|
(lambda (_sym val op _where)
|
||||||
|
(when (eq op 'set)
|
||||||
|
(setq doom-modeline-icon val)
|
||||||
|
(when (bound-and-true-p flymake-mode)
|
||||||
|
(flymake-start))))))
|
||||||
|
|
||||||
(defvar-local doom-modeline--flymake-text nil)
|
(defvar-local doom-modeline--flymake-text nil)
|
||||||
(defun doom-modeline-update-flymake-text (&rest _)
|
(defun doom-modeline-update-flymake-text (&rest _)
|
||||||
"Update flymake text."
|
"Update flymake text."
|
||||||
|
|
Loading…
Reference in a new issue