about summary refs log tree commit diff
path: root/Completion/Cvs/_cvs_extract_modifiedfile_entries
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Cvs/_cvs_extract_modifiedfile_entries')
-rw-r--r--Completion/Cvs/_cvs_extract_modifiedfile_entries13
1 files changed, 13 insertions, 0 deletions
diff --git a/Completion/Cvs/_cvs_extract_modifiedfile_entries b/Completion/Cvs/_cvs_extract_modifiedfile_entries
new file mode 100644
index 000000000..41916dad9
--- /dev/null
+++ b/Completion/Cvs/_cvs_extract_modifiedfile_entries
@@ -0,0 +1,13 @@
+#autoload
+
+if [[ -n "$compconfig[_cvs_disable_stat]" ]] ||
+  ! { zmodload -e stat || zmodload stat }; then
+  _cvs_extract_file_entries
+  return
+fi
+
+local ents pats
+ents=(${${${${(M)rawentries:#/*}#/}/\\/[^\\/]#\\///}%/[^/]#/[^/]#})
+pats=(${${${(f)"$(LANG=C builtin stat -gn +mtime -F '%a %b %e %T %Y' ${pref}*(D))"}##*/}/ //})
+eval 'ents=(${ents:#('${(j:|:)${(@)pats:q}}')})'
+entries=($entries ${ents%%/*})