mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
+ enh: option to equalize inconsistent line-breaks after loading
This commit is contained in:
parent
3f8c199e19
commit
cda4804d01
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
20
src/Edit.c
20
src/Edit.c
@ -884,7 +884,7 @@ void EditDetectEOLMode(LPCSTR lpData, DWORD cbData, EditFileIOStatus* status)
|
||||
++linesCount[SC_EOL_CRLF];
|
||||
}
|
||||
else {
|
||||
++linesCount[SC_EOL_LF];
|
||||
++linesCount[SC_EOL_CR];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -895,16 +895,14 @@ void EditDetectEOLMode(LPCSTR lpData, DWORD cbData, EditFileIOStatus* status)
|
||||
|
||||
DocLn const linesMax = max_ln(max_ln(linesCount[0], linesCount[1]), linesCount[2]);
|
||||
|
||||
if (linesMax != linesCount[iEOLMode]) {
|
||||
if (linesMax == linesCount[SC_EOL_CRLF]) {
|
||||
iEOLMode = SC_EOL_CRLF;
|
||||
}
|
||||
else if (linesMax == linesCount[SC_EOL_LF]) {
|
||||
iEOLMode = SC_EOL_LF;
|
||||
}
|
||||
else {
|
||||
iEOLMode = SC_EOL_CR;
|
||||
}
|
||||
if (linesMax == linesCount[SC_EOL_CRLF]) {
|
||||
iEOLMode = SC_EOL_CRLF;
|
||||
}
|
||||
else if (linesMax == linesCount[SC_EOL_CR]) {
|
||||
iEOLMode = SC_EOL_CR;
|
||||
}
|
||||
else {
|
||||
iEOLMode = SC_EOL_LF;
|
||||
}
|
||||
|
||||
status->iEOLMode = iEOLMode;
|
||||
|
||||
@ -9403,8 +9403,19 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, bool bSkipUnicodeDetect,
|
||||
MsgBoxLng(MBWARN, IDS_MUI_ERR_UNICODE);
|
||||
}
|
||||
// Show inconsistent line endings warning
|
||||
if (fioStatus.bInconsistent && Settings.WarnInconsistEOLs) {
|
||||
MsgBoxLng(MBWARN, IDS_MUI_WARN_INCONSIST_EOLS);
|
||||
if (fioStatus.bInconsistent && Settings.WarnInconsistEOLs)
|
||||
{
|
||||
WCHAR szDefault[32];
|
||||
WCHAR szStatistic[80];
|
||||
int const eolm = Globals.iEOLMode; //Settings.DefaultEOLMode;
|
||||
StringCchPrintf(szDefault, COUNTOF(szDefault), L"%s",
|
||||
((eolm == SC_EOL_CRLF) ? L"CRLF (\\r\\n)" : ((eolm == SC_EOL_CR) ? L"CR (\\r)" : L"LF (\\n)")));
|
||||
StringCchPrintf(szStatistic, COUNTOF(szStatistic), L">>> #CRLF = %i, #CR = %i, #LF = %i <<<",
|
||||
fioStatus.linesCount[SC_EOL_CRLF], fioStatus.linesCount[SC_EOL_CR], fioStatus.linesCount[SC_EOL_LF]);
|
||||
int const res = MsgBoxLng(MBYESNOWARN, IDS_MUI_WARN_INCONSIST_EOLS, szStatistic, szDefault);
|
||||
if (res == IDYES) {
|
||||
SciCall_ConvertEOLs(eolm);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!(fioStatus.bFileTooBig || fioStatus.bUnknownExt)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user