aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2017-07-22 20:24:24 +0200
committerMichael Albinus2017-07-22 20:24:24 +0200
commit640fc129fdf75c86c43ce15b0215d224e240052f (patch)
tree79ecd94c05eec5cfd894bd1435ee40ae570e951b
parentc7df97f8fadeae528f4667aec3e9d4b4fab55004 (diff)
downloademacs-640fc129fdf75c86c43ce15b0215d224e240052f.tar.gz
emacs-640fc129fdf75c86c43ce15b0215d224e240052f.zip
Add line numbers display to the Options menu
* lisp/menu-bar.el (toggle-display-line-numbers): Remove. (menu-bar-display-line-numbers-mode): New defun. (menu-bar-showhide-line-numbers-menu): New defvar. (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
-rw-r--r--lisp/menu-bar.el67
1 files changed, 56 insertions, 11 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 3ca7d1b5b3d..05a336bfe28 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1101,23 +1101,68 @@ The selected font will be the default on both the existing and future frames."
1101 :button (:radio . (eq tool-bar-mode nil)))) 1101 :button (:radio . (eq tool-bar-mode nil))))
1102 menu))) 1102 menu)))
1103 1103
1104(defun toggle-display-line-numbers () 1104(defun menu-bar-display-line-numbers-mode (type)
1105 (interactive) 1105 (setq display-line-numbers-type type)
1106 (if display-line-numbers 1106 (if global-display-line-numbers-mode
1107 (setq display-line-numbers nil) 1107 (global-display-line-numbers-mode)
1108 (setq display-line-numbers t)) 1108 (display-line-numbers-mode)))
1109 (force-mode-line-update)) 1109
1110(defvar menu-bar-showhide-line-numbers-menu
1111 (let ((menu (make-sparse-keymap "Line Numbers")))
1112
1113 (bindings--define-key menu [visual]
1114 `(menu-item "Visual Line Numbers"
1115 ,(lambda ()
1116 (interactive)
1117 (menu-bar-display-line-numbers-mode 'visual)
1118 (message "Visual line numbers enabled"))
1119 :help "Enable visual line numbers"
1120 :button (:radio . (eq display-line-numbers 'visual))
1121 :visible (menu-bar-menu-frame-live-and-visible-p)))
1122
1123 (bindings--define-key menu [relative]
1124 `(menu-item "Relative Line Numbers"
1125 ,(lambda ()
1126 (interactive)
1127 (menu-bar-display-line-numbers-mode 'relative)
1128 (message "Relative line numbers enabled"))
1129 :help "Enable relative line numbers"
1130 :button (:radio . (eq display-line-numbers 'relative))
1131 :visible (menu-bar-menu-frame-live-and-visible-p)))
1132
1133 (bindings--define-key menu [absolute]
1134 `(menu-item "Absolute Line Numbers"
1135 ,(lambda ()
1136 (interactive)
1137 (menu-bar-display-line-numbers-mode t)
1138 (setq display-line-numbers t)
1139 (message "Absolute line numbers enabled"))
1140 :help "Enable absolute line numbers"
1141 :button (:radio . (eq display-line-numbers t))
1142 :visible (menu-bar-menu-frame-live-and-visible-p)))
1143
1144 (bindings--define-key menu [none]
1145 `(menu-item "No Line Numbers"
1146 ,(lambda ()
1147 (interactive)
1148 (menu-bar-display-line-numbers-mode nil)
1149 (message "Line numbers disabled"))
1150 :help "Disable line numbers"
1151 :button (:radio . (null display-line-numbers))
1152 :visible (menu-bar-menu-frame-live-and-visible-p)))
1153
1154 (bindings--define-key menu [global]
1155 (menu-bar-make-mm-toggle global-display-line-numbers-mode
1156 "Global Line Numbers Mode"
1157 "Set line numbers globally"))
1158 menu))
1110 1159
1111(defvar menu-bar-showhide-menu 1160(defvar menu-bar-showhide-menu
1112 (let ((menu (make-sparse-keymap "Show/Hide"))) 1161 (let ((menu (make-sparse-keymap "Show/Hide")))
1113 1162
1114 (bindings--define-key menu [display-line-numbers] 1163 (bindings--define-key menu [display-line-numbers]
1115 `(menu-item "Line Numbers for All Lines" 1164 `(menu-item "Line Numbers for All Lines"
1116 ,(lambda () 1165 ,menu-bar-showhide-line-numbers-menu))
1117 (interactive)
1118 (toggle-display-line-numbers))
1119 :help "Show the line number alongside each line"
1120 :button (:toggle . display-line-numbers)))
1121 1166
1122 (bindings--define-key menu [column-number-mode] 1167 (bindings--define-key menu [column-number-mode]
1123 (menu-bar-make-mm-toggle column-number-mode 1168 (menu-bar-make-mm-toggle column-number-mode