Сейчас Far 3 при вставке из буфера обмена смотрит на предыдущий конец строки, и если он LF, то конвертирует вставленное из CRLF в LF.
Но если файл пустой, то вставляет как есть.
Логично будет при вставке в пустой файл смотреть на опцию Editor.NewFileUnixEOL, и если true, то так же конвертировать вставленное из CRLF в LF.
Вставка в пустой файл при Editor.NewFileUnixEOL=true
Вставка в пустой файл при Editor.NewFileUnixEOL=true
Если пустой файл только что создан, должно быть ровно так, если нет - это ошибка.
Если вы просто удалили содержимое файла, у которого уже были заданы переводы строк, они должны остаться без изменения.
Если вы просто удалили содержимое файла, у которого уже были заданы переводы строк, они должны остаться без изменения.
- HaRT
- Moderator
- Posts: 10860
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Вставка в пустой файл при Editor.NewFileUnixEOL=true
Остаётся ещё серая зона, когда непустой файл не содержит переводов строк и прежде не открывался в Фаре. У меня, например, целая пачка подобных файлов вида
%Temp%\VSLogs\VS????????.Microsoft.VisualStudio.GlobalBrokeredServiceContainer.svclog
(там а-ля XML в одну строку). Но да, редактировать такой файл — случай довольно экзотический. (Разве что прогнать через форматтер, чтобы удобнее было читать, но тут концы строк неважны.)Фар есть инструмент, а не нянька. © 2009 DrKnS
Вставка в пустой файл при Editor.NewFileUnixEOL=true
Код не смотрел, но думаю здесь логика должна быть приблизительно такая:
при открытии файла проверяется его тип перевода строк, т.к. данных для этого нет, будет всё как для нового файла.
Last edited by 2useven10 on Fri 24 Jun, 2022 12:26, edited 1 time in total.