1- ; ;; goto-line-preview.el --- Preview line when executing `goto-line` command. -*- lexical-binding : t ; -*-
1+ ; ;; goto-line-preview.el --- Preview line when executing `goto-line` command -*- lexical-binding : t ; -*-
22
33; ; Copyright (C) 2019 Shen, Jen-Chieh
44; ; Created date 2019-03-01 14:53:00
3232
3333; ;; Code:
3434
35-
3635(defgroup goto-line-preview nil
3736 " Preview line when executing `goto-line` command."
3837 :prefix " goto-line-preview-"
3938 :group 'convenience
4039 :group 'tools
4140 :link '(url-link :tag " Repository" " https://github.com/jcs090218/goto-line-preview" ))
4241
43-
44- (defvar goto-line-preview-prev-window nil
45- " Record down the previous window before we do `goto-line-preview-goto-line' command." )
46-
47- (defvar goto-line-preview-prev-line-num nil
48- " Record down the previous line number before we do `goto-line-preview-goto-line' command." )
49-
5042(defcustom goto-line-preview-before-hook nil
5143 " Hooks run before `goto-line-preview' is run."
5244 :group 'goto-line-preview
5749 :group 'goto-line-preview
5850 :type 'hook )
5951
52+ (defvar goto-line-preview--prev-window nil
53+ " Record down the previous window before we do `goto-line-preview-goto-line' command." )
54+
55+ (defvar goto-line-preview--prev-line-num nil
56+ " Record down the previous line number before we do `goto-line-preview-goto-line' command." )
6057
61- (defun goto-line-preview-do-preview ()
58+ (defun goto-line-preview-- do-preview ()
6259 " Do the goto line preview action."
6360 (save-selected-window
64- (when goto-line-preview-prev-window
61+ (when goto-line-preview-- prev-window
6562 (let ((line-num-str (thing-at-point 'line )))
66-
67- (select-window goto-line-preview-prev-window)
68-
63+ (select-window goto-line-preview--prev-window)
6964 (if line-num-str
7065 (let ((line-num (string-to-number line-num-str)))
71- (unless (zerop line-num)
72- (goto-line-preview-do line-num)))
73- (goto-line-preview-do goto-line-preview-prev-line-num))))))
66+ (unless (zerop line-num) (goto-line-preview--do line-num)))
67+ (goto-line-preview--do goto-line-preview--prev-line-num))))))
7468
75- (defun goto-line-preview-do (line-num )
76- " Do goto line.
77- LINE-NUM : Target line number to navigate to."
69+ (defun goto-line-preview--do (line-num )
70+ " Do goto LINE-NUM."
7871 (save-selected-window
79- (select-window goto-line-preview-prev-window)
72+ (select-window goto-line-preview-- prev-window)
8073 (goto-char (point-min ))
8174 (forward-line (1- line-num))))
8275
83-
8476;;;### autoload
8577(defun goto-line-preview ()
86- " Preview goto line.
87- LINE-NUM : Target line number to navigate to."
78+ " Preview goto line."
8879 (interactive )
8980 (let ((window (selected-window ))
9081 (window-point (window-point ))
9182 jumped)
9283 (run-hooks 'goto-line-preview-before-hook )
9384 (unwind-protect
94- (let ((goto-line-preview-prev-window (selected-window ))
95- (goto-line-preview-prev-line-num (line-number-at-pos )))
85+ (let ((goto-line-preview-- prev-window (selected-window ))
86+ (goto-line-preview-- prev-line-num (line-number-at-pos )))
9687 (setq jumped (read-number " Goto line: " )))
9788 (unless jumped
9889 (set-window-point window window-point))
@@ -101,15 +92,12 @@ LINE-NUM : Target line number to navigate to."
10192;;;### autoload
10293(define-obsolete-function-alias 'goto-line-preview-goto-line 'goto-line-preview )
10394
104- (defun goto-line-preview-minibuffer-setup ()
95+ (defun goto-line-preview-- minibuffer-setup ()
10596 " Locally set up preview hooks for this minibuffer command."
10697 (when (memq this-command '(goto-line-preview goto-line-preview-goto-line))
107- (add-hook 'post-command-hook
108- #'goto-line-preview-do-preview nil t )))
109-
110- (add-hook 'minibuffer-setup-hook 'goto-line-preview-minibuffer-setup )
111-
98+ (add-hook 'post-command-hook #'goto-line-preview--do-preview nil t )))
11299
100+ (add-hook 'minibuffer-setup-hook 'goto-line-preview--minibuffer-setup )
113101
114102(provide 'goto-line-preview )
115103; ;; goto-line-preview.el ends here
0 commit comments