branch: externals/vlf
commit 1dcd12288b5985f1bc38d053baa18c41b534fa37
Author: Andrey Kotlarski <[email protected]>
Commit: Andrey Kotlarski <[email protected]>
Use overlays for number indicators.
---
vlfi.el | 42 +++++++++++++++++++-----------------------
1 file changed, 19 insertions(+), 23 deletions(-)
diff --git a/vlfi.el b/vlfi.el
index 08c1431..fbc19a8 100644
--- a/vlfi.el
+++ b/vlfi.el
@@ -560,7 +560,7 @@ The same for mouse EVENT."
(switch-to-buffer (window-buffer (posn-window (event-end event))))
(goto-char (posn-point (event-end event))))
(let* ((pos (point))
- (pos-relative (- pos (line-beginning-position)))
+ (pos-relative (- pos (line-beginning-position) 1))
(file (get-char-property pos 'file)))
(if file
(let ((chunk-start (get-char-property pos 'chunk-start))
@@ -568,9 +568,7 @@ The same for mouse EVENT."
(buffer (get-char-property pos 'buffer))
(match-pos (or (get-char-property pos 'match-pos)
(+ (get-char-property pos 'line-pos)
- (if (< 8 pos-relative)
- (- pos-relative 8)
- 0)))))
+ pos-relative))))
(unless (buffer-live-p buffer)
(let ((occur-buffer (current-buffer)))
(setq buffer (vlfi file))
@@ -630,26 +628,24 @@ The same for mouse EVENT."
line-pos (line-end-position))))
(with-current-buffer occur-buffer
(unless (= line last-match-line)
- (insert (propertize
- (format "%7d:" line)
- 'file file
- 'buffer vlfi-buffer
- 'chunk-start chunk-start
- 'chunk-end chunk-end
- 'face 'shadow
- 'mouse-face '(highlight)
- 'line-pos line-pos))
- (insert (propertize
- (format "%s\n" line-text)
- 'file file
- 'buffer vlfi-buffer
- 'chunk-start chunk-start
- 'chunk-end chunk-end
- 'mouse-face '(highlight)
- 'line-pos line-pos)))
- (forward-line -1)
+ (insert "\n:")
+ (let* ((overlay-pos (1- (point)))
+ (overlay (make-overlay
+ overlay-pos
+ (1+ overlay-pos))))
+ (overlay-put overlay 'before-string
+ (propertize
+ (number-to-string line)
+ 'face 'shadow)))
+ (insert (propertize line-text
+ 'file file
+ 'buffer vlfi-buffer
+ 'chunk-start chunk-start
+ 'chunk-end chunk-end
+ 'mouse-face '(highlight)
+ 'line-pos line-pos)))
(let ((line-start (+ (line-beginning-position)
- 8))
+ 1))
(match-pos (match-beginning 10)))
(add-text-properties
(+ line-start match-pos (- last-line-pos))