summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Darwin/Type/_mac_files_for_application74
2 files changed, 6 insertions, 74 deletions
diff --git a/ChangeLog b/ChangeLog
index da5084b9e..dd9d712da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2026-07-09 dana <dana@dana.is>
+
+ * unposted (see 54915):
+ Completion/Darwin/Type/_mac_files_for_application: remove
+ _mac_files_for_application
+
2026-07-08 dana <dana@dana.is>
* unposted: Test/runtests.zsh: runtests: colourise signal fail
diff --git a/Completion/Darwin/Type/_mac_files_for_application b/Completion/Darwin/Type/_mac_files_for_application
deleted file mode 100644
index 885b064fe..000000000
--- a/Completion/Darwin/Type/_mac_files_for_application
+++ /dev/null
@@ -1,74 +0,0 @@
-#autoload
-
-_mac_rsrc_check() {
- [[ ! -s "$REPLY/..namedfork/rsrc" ]] && return 1
- if [[ -x /Developer/Tools/GetFileInfo ]]; then
- local ftype="$(command /Developer/Tools/GetFileInfo -t $REPLY)"
- ftype="${ftype//\"/}"
- [[ -n "$types[(r)$ftype]" ]]
- else
- grep --quiet "\(${(j/\|/)types}\)" "$REPLY/..namedfork/rsrc"
- fi
-}
-
-_mac_parse_info_plist() {
- # For now, awk is used because builtin function "read" was too slow.
- # '<' is used for the delimiter because some Info.plist files use CR as
- # newline but read doesn't treat them as so
- local s='
- BEGIN { RS="<" }
- /^key>/ { sub(/key>/, ""); reading_key=$0 }
- /^string>/ {
- sub(/string>/, "")
- if (reading_key == "CFBundleTypeExtensions") exts=exts " \"" $0 "\""
- if (reading_key == "CFBundleTypeOSTypes") types=types " \"" $0 "\""
- }
- END {
- print "exts=(" exts ")\ntypes=(" types ")"
- }
- '
- command awk $s "$app_path/Contents/Info.plist" | while read; do
- eval "$REPLY"
- done
-}
-
-# Try to complete files for the specified application.
-_mac_files_for_application() {
- local -a opts
- zparseopts -D -a opts q n 1 2 o+: P: S: r: R: W: x+: X+: M+: F: J+: V+:
-
- local app_path
- _retrieve_mac_apps
- app_path="${_mac_apps[(r)*/$1(|.app)]:-$1}"
-
- local -a glob_patterns
- glob_patterns=()
-
- # Try to get extensions from "Info.plist" XML file.
- if [[ -f "$app_path/Contents/Info.plist" ]]; then
- local -a exts types
- _mac_parse_info_plist
-
- if [[ -n "$exts[(r)\*]" ]]; then
- glob_patterns=( "*" )
- else
- if (( #exts != 0 )); then
- glob_patterns+=( "*.(${(j/|/)exts})(N)" )
- fi
-
- if (( #types != 0 )); then
- glob_patterns+=( "^*.[[:alnum:]]##(.Ne:_mac_rsrc_check:)" )
- fi
- fi
- else
- glob_patterns=( "*" )
- fi
-
- case ${#glob_patterns} in
- 0) return 1 ;;
- 1) _files "$opts[@]" -g "$glob_patterns[1]" ;;
- *) _files "$opts[@]" -g "{${(j/,/)glob_patterns}}" ;;
- esac
-}
-
-_mac_files_for_application "$@"