[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/inspector f8affefb73 35/93: Major mode for inspector
From: |
ELPA Syncer |
Subject: |
[elpa] externals/inspector f8affefb73 35/93: Major mode for inspector |
Date: |
Tue, 24 May 2022 18:57:57 -0400 (EDT) |
branch: externals/inspector
commit f8affefb73e4a629ae4abc4891bae388bfdc3afb
Author: Mariano Montone <marianomontone@gmail.com>
Commit: Mariano Montone <marianomontone@gmail.com>
Major mode for inspector
---
inspector.el | 51 ++++++++++++++++++++++++---------------------------
1 file changed, 24 insertions(+), 27 deletions(-)
diff --git a/inspector.el b/inspector.el
index 6126fa6e21..07bcf978c1 100644
--- a/inspector.el
+++ b/inspector.el
@@ -318,16 +318,17 @@ If LABEL has a value, then it is used as button label.
Otherwise, button label
(defun inspector-make-inspector-buffer ()
"Create an inspector buffer."
- (let ((buffer (get-buffer-create "*inspector*")))
+ (let ((buffer (or (get-buffer "*inspector*")
+ (let ((buf (get-buffer-create "*inspector*")))
+ (with-current-buffer buf
+ (inspector-mode)
+ (make-local-variable '*))
+ buf))))
(with-current-buffer buffer
- (inspector-mode)
- ;;(emacs-lisp-mode)
(setq buffer-read-only nil)
- (erase-buffer)
- (make-local-variable '*))
+ (erase-buffer))
buffer))
-
;;------ Commands -----------------------------
(defun inspect-expression (exp)
@@ -336,18 +337,26 @@ If LABEL has a value, then it is used as button label.
Otherwise, button label
(inspector-inspect (eval exp)))
-(defun inspector-inspect (object &optional add-to-history)
- "Top-level function for inspecting OBJECTs.
-When ADD-TO-HISTORY is T, OBJECT is added to inspector history for navigation
purposes."
+(defun inspector--basic-inspect (object)
(let ((buffer (inspector-make-inspector-buffer)))
(with-current-buffer buffer
- (when add-to-history
- (push inspector-inspected-object inspector-history))
(setq inspector-inspected-object object)
(setq * object)
(inspect-object object)
(setq buffer-read-only t)
- (display-buffer buffer))))
+ (display-buffer buffer)
+ buffer)))
+
+(defun inspector-inspect (object &optional preserve-history)
+ "Top-level function for inspecting OBJECTs.
+When PRESERVE-HISTORY is T, inspector history is not cleared."
+ (let ((current-inspected-object inspector-inspected-object)
+ (buffer (inspector--basic-inspect object)))
+ (with-current-buffer buffer
+ (unless preserve-history
+ (setq inspector-history nil))
+ (when preserve-history
+ (push current-inspected-object inspector-history)))))
(defun inspector-quit ()
"Quit the Emacs inspector."
@@ -360,7 +369,7 @@ When ADD-TO-HISTORY is T, OBJECT is added to inspector
history for navigation pu
(interactive)
(when inspector-history
(let ((object (pop inspector-history)))
- (inspector-inspect object))))
+ (inspector--basic-inspect object))))
(defun inspect-last-sexp ()
"Evaluate and inspect sexp before point."
@@ -412,21 +421,9 @@ When ADD-TO-HISTORY is T, OBJECT is added to inspector
history for navigation pu
(lambda ()
(setq-local tool-bar-map inspector-tool-bar-map)))
-(define-minor-mode inspector-mode
- "Minor mode for inspector buffers."
- :init-value nil
- :lighter " inspector"
- :keymap inspector-mode-map
- :group 'inspector)
-
;; Better define and use a major mode?:
-;; (define-derived-mode inspector-mode fundamental-mode
-;; "Inspector"
-;; "
-;; \\{inspector-mode-map}"
-;; (set-syntax-table lisp-mode-syntax-table)
-;; ;;(slime-set-truncate-lines)
-;; (setq buffer-read-only t))
+(define-derived-mode inspector-mode emacs-lisp-mode
+ "Inspector mode")
(provide 'inspector)
- [elpa] externals/inspector 970fa60851 68/93: Better horizontal line for title underline, (continued)
- [elpa] externals/inspector 970fa60851 68/93: Better horizontal line for title underline, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 17f6d1dfaf 71/93: Aesthetic adjustments, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 0dc8dd946b 77/93: Render built-in functions, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector ee6d2ea01b 80/93: More tests, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector d60552c6d2 76/93: Some more tests, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector ce05c412ba 81/93: More tests, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 40b9031bd8 84/93: Delete .github, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector e1395930a6 86/93: Proper faces for inspector buttons, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 0c92102cfd 87/93: Inherit from fundamental-mode, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 9abd8f6890 91/93: Fix, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector f8affefb73 35/93: Major mode for inspector,
ELPA Syncer <=
- [elpa] externals/inspector 49c8c75ada 44/93: Fixes to Emacs debug backtrace inspection, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 5b808173cc 52/93: Slice with [more] button, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector bc118aa31a 65/93: Show length of lists, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 094cd26780 78/93: More tests, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 902ffcfdfc 79/93: .gitignore, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector e9b4f2e276 85/93: tests: adjustment, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 8a3d1b8627 88/93: Display some more buffer properties, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 20260fc077 15/93: Clean inspector history on exit, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector 3e2e8d3476 31/93: Faces, ELPA Syncer, 2022/05/24
- [elpa] externals/inspector b3833deecb 33/93: Better symbol inspector, ELPA Syncer, 2022/05/24