Proposal
Use xattr (extended attributes) on macOS to save/load text encoding with file.
BBEdit is the only editor I've found that already does this.
Also you should honour any existing com.apple.TextEncoding when loading and keep it when saving.
Background
- Text Encoding has to either be set manually, or guessed by scanning the file
- Both of these tasks take time
Benefits
- loading time can be reduced
- text encoding can be more persistent
- can still be changed and rewritten at any point
Details
debug command:
xattr -p -l com.apple.TextEncoding "/path/to/file.txt"
output:
file.txt
com.apple.TextEncoding: Shift_JIS;2561
to set xattr (from terminal):
xattr -w com.apple.TextEncoding "Shift_JIS;2561" "/path/to/file.txt"
References
these may help with implementation:
Proposal
Use xattr (extended attributes) on macOS to save/load text encoding with file.
Also you should honour any existing
com.apple.TextEncodingwhen loading and keep it when saving.Background
Benefits
Details
debug command:
xattr -p -l com.apple.TextEncoding "/path/to/file.txt"output:
file.txtcom.apple.TextEncoding: Shift_JIS;2561to set xattr (from terminal):
xattr -w com.apple.TextEncoding "Shift_JIS;2561" "/path/to/file.txt"References
these may help with implementation: