[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vlf d1a6800 284/310: Move vlf information from buffer n
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vlf d1a6800 284/310: Move vlf information from buffer name to the mode line. |
Date: |
Sat, 28 Nov 2020 00:33:32 -0500 (EST) |
branch: externals/vlf
commit d1a6800b5b95a1a0f108c57662b7906529552022
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>
Move vlf information from buffer name to the mode line.
---
README.org | 11 +++++++----
vlf-base.el | 18 ++----------------
vlf-ediff.el | 9 +++------
vlf-search.el | 11 ++++-------
vlf-write.el | 4 +---
vlf.el | 16 +++++++++-------
6 files changed, 26 insertions(+), 43 deletions(-)
diff --git a/README.org b/README.org
index 309fb33..335621e 100644
--- a/README.org
+++ b/README.org
@@ -91,6 +91,12 @@ default. Here's example how to add another prefix (*C-x v*):
'(define-key vlf-prefix-map "\C-xv" vlf-mode-map))
#+END_SRC
+** Overall position indicators
+
+To see which part of the file is currently visited and how many
+batches there are in overall (using the current batch size), look at
+the VLF section in the mode line, file size is also there.
+
** Batch size control
By default *VLF* gathers statistics over how primitive operations
@@ -133,10 +139,7 @@ append prefix number of batches.
*C-c C-v [* and *C-c C-v ]* take you to the beginning and end of file
respectively.
-*C-c C-v j* jumps to given chunk. To see where you are in file and
-how many chunks there are (using the current batch size), look at the
-parenthesized part of the buffer name, batch size is also indicated at
-the end.
+*C-c C-v j* jumps to particular batch number.
** Follow point
diff --git a/vlf-base.el b/vlf-base.el
index 8ae0d31..21a176a 100644
--- a/vlf-base.el
+++ b/vlf-base.el
@@ -71,15 +71,6 @@ FILE if given is filename to be used, otherwise
`buffer-file-truename'."
"Print FILE-SIZE in MB."
(format "%.3fMB" (/ file-size 1048576.0))))
-(defun vlf-update-buffer-name ()
- "Update the current buffer name."
- (rename-buffer (format "%s(%d/%d)[%s]"
- (file-name-nondirectory buffer-file-name)
- (/ vlf-end-pos vlf-batch-size)
- (/ vlf-file-size vlf-batch-size)
- (file-size-human-readable vlf-batch-size))
- t))
-
(defmacro vlf-with-undo-disabled (&rest body)
"Execute BODY with temporarily disabled undo."
`(let ((undo-list buffer-undo-list))
@@ -87,9 +78,8 @@ FILE if given is filename to be used, otherwise
`buffer-file-truename'."
(unwind-protect (progn ,@body)
(setq buffer-undo-list undo-list))))
-(defun vlf-move-to-chunk (start end &optional minimal)
+(defun vlf-move-to-chunk (start end)
"Move to chunk enclosed by START END bytes.
-When given MINIMAL flag, skip non important operations.
If same as current chunk is requested, do nothing.
Return number of bytes moved back for proper decoding and number of
bytes added to the end."
@@ -105,17 +95,13 @@ bytes added to the end."
0)))
(setq vlf-start-pos place
vlf-end-pos place)
- (or minimal (vlf-update-buffer-name))
(cons (- start place) (- place end))))
(if (derived-mode-p 'hexl-mode)
(setq start (- start (mod start hexl-bits))
end (+ end (- hexl-bits (mod end hexl-bits)))))
(if (or (/= start vlf-start-pos)
(/= end vlf-end-pos))
- (let ((shifts (vlf-move-to-chunk-1 start end)))
- (and shifts (not minimal)
- (vlf-update-buffer-name))
- shifts))))
+ (vlf-move-to-chunk-1 start end))))
(defun vlf-move-to-chunk-1 (start end)
"Move to chunk enclosed by START END keeping as much edits if any.
diff --git a/vlf-ediff.el b/vlf-ediff.el
index 0880660..e168cf9 100644
--- a/vlf-ediff.el
+++ b/vlf-ediff.el
@@ -143,11 +143,11 @@ beginning of difference list."
(defun vlf-next-chunk ()
"Move to next chunk."
- (vlf-move-to-chunk vlf-end-pos (+ vlf-end-pos vlf-batch-size) t))
+ (vlf-move-to-chunk vlf-end-pos (+ vlf-end-pos vlf-batch-size)))
(defun vlf-prev-chunk ()
"Move to previous chunk."
- (vlf-move-to-chunk (- vlf-start-pos vlf-batch-size) vlf-start-pos t))
+ (vlf-move-to-chunk (- vlf-start-pos vlf-batch-size) vlf-start-pos))
(defun vlf-ediff-next (buffer-A buffer-B ediff-buffer
&optional next-func)
@@ -205,10 +205,7 @@ logical chunks in case there is no difference at the
current ones."
(- vlf-file-size
vlf-start-pos))))
(progress-reporter-done reporter)
- (if (or (not end-A) (not end-B))
- (progn (vlf-update-buffer-name)
- (set-buffer buffer-A)
- (vlf-update-buffer-name))
+ (when (and end-A end-B)
(if forward-p
(let ((max-file-size vlf-file-size))
(vlf-move-to-chunk (- max-file-size vlf-batch-size)
diff --git a/vlf-search.el b/vlf-search.el
index c7e0428..a6a9808 100644
--- a/vlf-search.el
+++ b/vlf-search.el
@@ -90,7 +90,7 @@ Return t if search has been at least partially successful."
batch-move
match-start-pos)))
(vlf-move-to-chunk (- end vlf-batch-size)
- end t))
+ end))
(goto-char (if (or is-hexl
(<= vlf-end-pos
match-start-pos))
@@ -124,8 +124,7 @@ Return t if search has been at least partially successful."
batch-move
match-end-pos)))
(vlf-move-to-chunk start
- (+ start vlf-batch-size)
- t))
+ (+ start vlf-batch-size)))
(goto-char (if (or is-hexl
(<= match-end-pos
vlf-start-pos))
@@ -168,9 +167,8 @@ Return nil if nothing found."
(message "Not found (%f secs)" (- (float-time) time))
nil)
(let ((success (zerop to-find)))
- (if success
- (vlf-update-buffer-name)
- (vlf-move-to-chunk match-chunk-start match-chunk-end))
+ (or success
+ (vlf-move-to-chunk match-chunk-start match-chunk-end))
(setq vlf-batch-size (vlf-tune-optimal-load
(if (derived-mode-p 'hexl-mode)
'(:hexl :raw)
@@ -310,7 +308,6 @@ Search is performed chunk by chunk in `vlf-batch-size'
memory."
(unless success
(vlf-with-undo-disabled
(vlf-move-to-chunk-2 start-pos end-pos))
- (vlf-update-buffer-name)
(goto-char pos)
(setq vlf-batch-size batch-size)
(message "Unable to find line"))
diff --git a/vlf-write.el b/vlf-write.el
index d495b7f..ae1eda6 100644
--- a/vlf-write.el
+++ b/vlf-write.el
@@ -58,8 +58,7 @@ If changing size of chunk, shift remaining file content."
(if hexl (vlf-tune-hexlify))
(setq vlf-file-size (vlf-get-file-size
buffer-file-truename)
- vlf-end-pos vlf-file-size)
- (vlf-update-buffer-name))
+ vlf-end-pos vlf-file-size))
(let* ((region-length (vlf-tune-encode-length (point-min)
(point-max)))
(size-change (- vlf-end-pos vlf-start-pos
@@ -99,7 +98,6 @@ If changing size of chunk, shift remaining file content."
vlf-batch-size)
(+ vlf-start-pos vlf-batch-size)
vlf-end-pos))
- (vlf-update-buffer-name)
(goto-char pos)
(message "Save took %f seconds" (- (float-time) time)))))))
(run-hook-with-args 'vlf-after-batch-functions 'write))
diff --git a/vlf.el b/vlf.el
index f166197..e3c4f37 100644
--- a/vlf.el
+++ b/vlf.el
@@ -103,7 +103,11 @@ values are: `write', `ediff', `occur', `search',
`goto-line'."
(define-minor-mode vlf-mode
"Mode to browse large files in."
- :lighter " VLF" :group 'vlf :keymap vlf-prefix-map
+ :group 'vlf :keymap vlf-prefix-map
+ :lighter (:eval (format " VLF[%d/%d](%s)"
+ (/ vlf-end-pos vlf-batch-size)
+ (/ vlf-file-size vlf-batch-size)
+ (file-size-human-readable vlf-file-size)))
(cond (vlf-mode
(set (make-local-variable 'require-final-newline) nil)
(add-hook 'write-file-functions 'vlf-write nil t)
@@ -146,8 +150,7 @@ values are: `write', `ediff', `occur', `search',
`goto-line'."
(let ((pos (+ vlf-start-pos (position-bytes (point)))))
(vlf-with-undo-disabled
(insert-file-contents buffer-file-name t nil nil t))
- (goto-char (byte-to-position pos))))
- (rename-buffer (file-name-nondirectory buffer-file-name) t))
+ (goto-char (byte-to-position pos)))))
(t (setq vlf-mode t))))
(defun vlf-keep-alive ()
@@ -331,16 +334,15 @@ Ask for confirmation if NOCONFIRM is nil."
(error "Save or discard your changes first")
t))
-(defun vlf-move-to-batch (start &optional minimal)
+(defun vlf-move-to-batch (start)
"Move to batch determined by START.
-Adjust according to file start/end and show `vlf-batch-size' bytes.
-When given MINIMAL flag, skip non important operations."
+Adjust according to file start/end and show `vlf-batch-size' bytes."
(vlf-verify-size)
(let* ((start (max 0 start))
(end (min (+ start vlf-batch-size) vlf-file-size)))
(if (= vlf-file-size end) ; re-adjust start
(setq start (max 0 (- end vlf-batch-size))))
- (vlf-move-to-chunk start end minimal)))
+ (vlf-move-to-chunk start end)))
(defun vlf-next-batch-from-point ()
"Display batch of file data starting from current point."
- [elpa] externals/vlf 9510c70 215/310: Retry decoding when the initial attempt seems wrong., (continued)
- [elpa] externals/vlf 9510c70 215/310: Retry decoding when the initial attempt seems wrong., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 5c604c4 211/310: Optimize vlf-goto-line not to decode batches as long as possible., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a71ee32 216/310: Skip adjustment in some cases of overlapping chunk., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf b235cf9 224/310: Execute vlf-after-batch-functions hook even on user quit command before, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 6bb60b7 225/310: Fix hexl scroll up called from scroll down behavior., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 924d6b1 219/310: Revert to using insert-file-contents instead of manual decoding., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 859c1e4 223/310: Fix hook names., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 694d1de 235/310: Allow vlf-occur results be saved to file and later reused., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 274c5ab 233/310: Perform search, occur and ediff operations over hexl content instead, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d9cc6fb 264/310: Fix vlf-tune-optimal-load in case best value prunes slower times leaving, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d1a6800 284/310: Move vlf information from buffer name to the mode line.,
Stefan Monnier <=
- [elpa] externals/vlf a7be713 283/310: Set vlf-tune-max with proper value in case RAM size is wrongly, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf bc398d6 291/310: - don't adjust start on next occur batch, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a01e9ed 304/310: Minor README additions., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 31b292d 305/310: fixed large-file-warning-threshold error, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 63d23ac 309/310: Make vlf handle nil large-file-warning-threshold value, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 70a8107 243/310: Add vlf-batch-size tuning in vlf-occur., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf f3212ec 251/310: Fix measure approximation and allow tuning to just over half file, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 11c7af4 253/310: Change handling of measurement values to support approximations., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 35ede94 255/310: Restore batch size after save with adjustment., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf ff06509 261/310: Document tune functionality., Stefan Monnier, 2020/11/28