repos/autosave.vim

vim plugin to autosave buffer when leaving cursor idle
Commits Files Refs README LICENSE
commit 9b34fb50c6a227450a99988d2100a7d3b8f49188
parent be79f9d61f2b3219f2c5ccc14267242e81afd845
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Tue, 22 Oct 2024 23:59:38 -0300

make filename relative to working dir and `$HOME`

Diffstat:
Mplugin/autosave.vim | 15++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/plugin/autosave.vim b/plugin/autosave.vim
@@ -14,11 +14,20 @@ function s:auto_save()
     if s:auto_save_filetype_enabled == 1 || g:auto_save_all_filetypes == 1
         if s:auto_save_write == 1
             let s:auto_save_write = 0
-            if &modified
+            let l:filename = expand('%') 
+            if &modified && l:filename != ""
                 let l:bytes = line2byte('$') + len(getline('$'))
-                let l:newfile = filereadable(expand('%:p')) ? "" : "[New] "
+                let l:home = expand('$HOME')
+                let l:newfile = filereadable(l:filename) ? "" : "[New] "
+
+                if l:filename =~ '^' . l:home
+                    let l:rel_filename = substitute(l:filename, l:home, '~', '')
+                else
+                    let rel_filename = l:filename
+                endif
+
                 silent! write
-                echo "\"" .. expand('%') .. "\" " .. l:newfile .. line('$')
+                echo "\"" .. rel_filename .. "\" " .. l:newfile .. line('$') 
                             \.. "L, " .. l:bytes .. "B written [autosave]"
             endif
         endif