ZyX_I avatar ZyX_I committed 0e1e8ca

@frawor: Improved s:F.normpath code

Comments (0)

Files changed (1)


 "▶1 normpath        :: path + FS → path
 let s:sep=fnamemodify(expand('<sfile>:h'), ':p')[-1:]
+let s:sesep=escape(s:sep, '\&~')
+let s:resep='\V'.escape(s:sep, '\').'\+'
 function s:F.normpath(path)
-    return expand(fnameescape(substitute(resolve(a:path),
-                \                        '\V'.escape(s:sep, '\').'\+',
-                \                        escape(s:sep, '\&~'), 'g')), 1)
+    return substitute(expand(fnameescape(resolve(a:path)), 1),
+                \     s:resep, s:sesep, 'g')
 "▶1 parseplugpath   :: filename + FS → (plugtype, plid, runtimepath)
 let s:rtpcache={}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.