53
53
(:eval (jcs-modeline--render-read-only))
54
54
(:eval (jcs-modeline--render-mode-line-process)))
55
55
" List of item to render on the left."
56
- :type 'list
56
+ :type '( list symbol)
57
57
:group 'jcs-modeline )
58
58
59
59
(defcustom jcs-modeline-right
69
69
(:eval (jcs-modeline--render-percent-position))
70
70
(:eval (jcs-modeline--render-end-spaces)))
71
71
" List of item to render on the right."
72
- :type 'list
72
+ :type '( list symbol)
73
73
:group 'jcs-modeline )
74
74
75
75
(defcustom jcs-modeline-checker-colors '((error . " #FB4933" )
76
76
(warning . " #FABD2F" )
77
77
(info . " #83A598" )
78
78
(note . " #83A598" ))
79
79
" Alist of colors for checkers."
80
- :type 'list
80
+ :type '( list symbol)
81
81
:group 'jcs-modeline )
82
82
83
83
; ;
@@ -383,7 +383,7 @@ mouse-1: Toggle display of major mode name"
383
383
384
384
(defun jcs-modeline--project-root ()
385
385
" Return project directory path."
386
- (when-let ((current (project-current ))) (project-root current)))
386
+ (when-let* ((current (project-current ))) (project-root current)))
387
387
388
388
(defcustom jcs-modeline-show-project-name-virutal-buffer nil
389
389
" If non-nil, display project's name in the virutal buffer."
@@ -444,7 +444,7 @@ mouse-1: Switch project"
444
444
(nerd-icons-devicon " nf-dev-git_branch" :face 'jcs-modeline-vc-face )))
445
445
(Hg . , jcs-modeline-vc-unknown-icon ))
446
446
" Alist of vc backends to icon."
447
- :type 'list
447
+ :type '( list symbol)
448
448
:group 'jcs-modeline )
449
449
450
450
(declare-function vc-git--symbolic-ref " vc-git.el" )
@@ -506,23 +506,37 @@ mouse-1: Switch project"
506
506
507
507
(defvar text-scale-mode-amount )
508
508
(defvar text-scale-mode-lighter )
509
+ (defvar default-text-scale--complement )
509
510
510
511
(defun jcs-modeline--render-text-scale ()
511
512
" Render text-scale amount."
512
- (when (and (boundp 'text-scale-mode-lighter )
513
- (/= text-scale-mode-amount 0 ))
514
- (format " (%s ) " (propertize text-scale-mode-lighter
515
- 'mouse-face 'mode-line-highlight
516
- 'help-echo (concat " Text scale " text-scale-mode-lighter)))))
513
+ (let ((ts (and (boundp 'text-scale-mode-lighter )
514
+ (/= text-scale-mode-amount 0 )))
515
+ (dts (and (boundp 'default-text-scale--complement )
516
+ (/= default-text-scale--complement 0 ))))
517
+ (when (or ts dts)
518
+ (format " (%s :%s ) "
519
+ (if ts
520
+ (propertize text-scale-mode-lighter
521
+ 'mouse-face 'mode-line-highlight
522
+ 'help-echo (concat " Text scale " text-scale-mode-lighter))
523
+ " 0" )
524
+ (if-let* ((dts)
525
+ (delta (- 0 default-text-scale--complement))
526
+ (delta (format (if (>= delta 0 ) " +%d" " %d" ) delta)))
527
+ (propertize (jcs-modeline-2str delta)
528
+ 'mouse-face 'mode-line-highlight
529
+ 'help-echo (format " Default text scale %s " delta))
530
+ " 0" )))))
517
531
518
532
; ;
519
533
; ;; Undo
520
534
521
535
(defun jcs-modeline--render-undo-tree-buffer-name ()
522
536
" Render text-scale amount."
523
- (when-let (((featurep 'undo-tree ))
524
- ((equal (buffer-name ) undo-tree-visualizer-buffer-name))
525
- (ind (buffer-name undo-tree-visualizer-parent-buffer)))
537
+ (when-let* (((featurep 'undo-tree ))
538
+ ((equal (buffer-name ) undo-tree-visualizer-buffer-name))
539
+ (ind (buffer-name undo-tree-visualizer-parent-buffer)))
526
540
(concat " "
527
541
(propertize ind
528
542
'mouse-face 'mode-line-highlight
@@ -614,9 +628,9 @@ If argument RUNNING is non-nil, we turn lighter into question mark."
614
628
(last (car (last states)))
615
629
result)
616
630
(dolist (state states)
617
- (when-let ((lighter (jcs-modeline--flymake-lighter
618
- diags-by-type state
619
- (or some-waiting (null known) all-disabled))))
631
+ (when-let* ((lighter (jcs-modeline--flymake-lighter
632
+ diags-by-type state
633
+ (or some-waiting (null known) all-disabled))))
620
634
(setq result (concat result lighter
621
635
(unless (equal state last ) " /" )))))
622
636
(propertize result
@@ -646,7 +660,7 @@ If argument RUNNING is non-nil, we turn lighter into question mark."
646
660
(running (eq 'running flycheck-last-status-change))
647
661
result)
648
662
(dolist (state states)
649
- (when-let ((lighter (jcs-modeline--flycheck-lighter state running)))
663
+ (when-let* ((lighter (jcs-modeline--flycheck-lighter state running)))
650
664
(setq result (concat result lighter
651
665
(unless (equal state last ) " /" )))))
652
666
(propertize result
@@ -661,8 +675,8 @@ If argument RUNNING is non-nil, we turn lighter into question mark."
661
675
662
676
(defun jcs-modeline--render-csv ()
663
677
" Render for `csv-mode' ."
664
- (when-let (((memq major-mode '(csv-mode tsv-mode)))
665
- (ind (format-mode-line csv-mode-line-format)))
678
+ (when-let* (((memq major-mode '(csv-mode tsv-mode)))
679
+ (ind (format-mode-line csv-mode-line-format)))
666
680
(concat (propertize ind
667
681
'mouse-face 'mode-line-highlight
668
682
'help-echo " csv" )
@@ -676,8 +690,8 @@ If argument RUNNING is non-nil, we turn lighter into question mark."
676
690
677
691
(defun jcs-modeline--render-nov ()
678
692
" Render for nov."
679
- (when-let (((eq major-mode 'nov-mode ))
680
- (ind (format " [%s /%s ] " (1+ nov-documents-index) (length nov-documents))))
693
+ (when-let* (((eq major-mode 'nov-mode ))
694
+ (ind (format " [%s /%s ] " (1+ nov-documents-index) (length nov-documents))))
681
695
(propertize ind
682
696
'mouse-face 'mode-line-highlight
683
697
'help-echo " [current page/totla page]" )))
0 commit comments