diff options
| author | Michael Albinus | 2017-07-22 20:24:24 +0200 |
|---|---|---|
| committer | Michael Albinus | 2017-07-22 20:24:24 +0200 |
| commit | 640fc129fdf75c86c43ce15b0215d224e240052f (patch) | |
| tree | 79ecd94c05eec5cfd894bd1435ee40ae570e951b | |
| parent | c7df97f8fadeae528f4667aec3e9d4b4fab55004 (diff) | |
| download | emacs-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.el | 67 |
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 |