Câu trả lời của @Doug Harris chỉ đúng một phần. Hệ thống mặc định lưu trữ các bổ sung cục bộ hoặc ghi đè lên các liên kết tệp. Tuy nhiên, OS X đi kèm với một số hiệp hội mặc định, toàn hệ thống.
Nếu bạn chạy, lsregister -dump
bạn sẽ thấy những gì Dịch vụ Khởi động gọi CoreTypes
và các hiệp hội được cung cấp bởi các ứng dụng mà nó tìm thấy.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
Tôi đã không quét toàn bộ đầu ra. Có thể có các nguồn khác được chỉ ra trong bãi rác đó, nhưng một số lượng lớn các loại này đến từ /System/Library/CoreServices/CoreTypes.bundle
. Có thể có một tệp plaintext hoặc plist trong đó các kiểu được liệt kê. Các hiệp hội tôi tin rằng đến từ việc quét nội dung của * .app tại các vị trí ứng dụng đã biết. Đây là nơi Launch Services hiểu TextWrangler là trình chỉnh sửa cho nhiều loại tệp:
--------------------------------------------------------------------------------
bundle id: 10928
path: /Applications/TextWrangler.app
name: TextWrangler
identifier: com.barebones.textwrangler (0x8000008d)
...
library items:
--------------------------------------------------------
claim id: 20216
name: TextWrangler text document
rank: Default
roles: Editor
flags: relative-icon-path
icon: Contents/Resources/TextWranglerTextDoc.icns
bindings: .a, .asm, .asp, .bashrc, .c, .c++, .cc, .cfm, .conf, .cp, .cpp, .cshrc, .css, .cxx, .equ, .f, .f77, .for, .ftn, .h, .h++, .hpp, .htm, .html, .inc, .j, .java, .js, .jsp, .log, .m, .mm, .p, .pas, .pch, .pch++, .php, .php3, .pl, .plist, .plx, .pm, .ppu, .r, .rb, .rez, .rhtml, .rss, .s, .sql, .shtm, .shtml, .tcl, .tcshrc, .text, .txt, .wml, .xhtml, .xml, .xsl, .xslt, .yaml, 'TEXT'
...