- fix: when copy comments, don't auto indent
- enhancement: auto add a new line when press enter between '/*' and '*/'
This commit is contained in:
parent
db9f0f0219
commit
67f8629be3
4
NEWS.md
4
NEWS.md
|
@ -1,3 +1,7 @@
|
||||||
|
Red Panda C++ Version 0.13.4
|
||||||
|
- fix: when copy comments, don't auto indent
|
||||||
|
- enhancement: auto add a new line when press enter between '/*' and '*/'
|
||||||
|
|
||||||
Red Panda C++ Version 0.13.3
|
Red Panda C++ Version 0.13.3
|
||||||
- enhancement: restore editor position after rename symbol
|
- enhancement: restore editor position after rename symbol
|
||||||
- enhancement: restore editor position after reformat code
|
- enhancement: restore editor position after reformat code
|
||||||
|
|
|
@ -10,7 +10,7 @@ isEmpty(APP_NAME) {
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(APP_VERSION) {
|
isEmpty(APP_VERSION) {
|
||||||
APP_VERSION=0.13.3
|
APP_VERSION=0.13.4
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(PREFIX) {
|
isEmpty(PREFIX) {
|
||||||
|
|
|
@ -2256,6 +2256,18 @@ void SynEdit::insertLine(bool moveCaret)
|
||||||
|
|
||||||
mUndoList->AddChange(SynChangeReason::crLineBreak, caretXY(), caretXY(), rightLineText,
|
mUndoList->AddChange(SynChangeReason::crLineBreak, caretXY(), caretXY(), rightLineText,
|
||||||
SynSelectionMode::smNormal);
|
SynSelectionMode::smNormal);
|
||||||
|
|
||||||
|
//insert new line in middle of "/*" and "*/"
|
||||||
|
if (!notInComment &&
|
||||||
|
( leftLineText.endsWith("/*") && rightLineText.startsWith("*/")
|
||||||
|
)) {
|
||||||
|
indentSpaces = calcIndentSpaces(mCaretY+1, "" , mOptions.testFlag(eoAutoIndent)) + mTabWidth;
|
||||||
|
indentSpacesForRightLineText = GetLeftSpacing(indentSpaces,true);
|
||||||
|
mLines->insert(mCaretY, indentSpacesForRightLineText);
|
||||||
|
nLinesInserted++;
|
||||||
|
mUndoList->AddChange(SynChangeReason::crLineBreak, caretXY(), caretXY(), "",
|
||||||
|
SynSelectionMode::smNormal);
|
||||||
|
}
|
||||||
//insert new line in middle of "{" and "}"
|
//insert new line in middle of "{" and "}"
|
||||||
if (notInComment &&
|
if (notInComment &&
|
||||||
( leftLineText.endsWith('{') && rightLineText.startsWith('}')
|
( leftLineText.endsWith('{') && rightLineText.startsWith('}')
|
||||||
|
@ -5120,6 +5132,10 @@ int SynEdit::insertTextByNormalMode(const QString &Value)
|
||||||
rescanRange(caretY);
|
rescanRange(caretY);
|
||||||
// step2: insert remaining lines of Value
|
// step2: insert remaining lines of Value
|
||||||
while (P < Value.length()) {
|
while (P < Value.length()) {
|
||||||
|
bool notInComment = !mHighlighter->isLastLineCommentNotFinished(
|
||||||
|
mHighlighter->getRangeState().state)
|
||||||
|
&& !mHighlighter->isLastLineStringNotFinished(
|
||||||
|
mHighlighter->getRangeState().state);
|
||||||
if (Value[P] == '\r')
|
if (Value[P] == '\r')
|
||||||
P++;
|
P++;
|
||||||
if (Value[P] == '\n')
|
if (Value[P] == '\n')
|
||||||
|
@ -5129,15 +5145,19 @@ int SynEdit::insertTextByNormalMode(const QString &Value)
|
||||||
Start = P;
|
Start = P;
|
||||||
P = GetEOL(Value,Start);
|
P = GetEOL(Value,Start);
|
||||||
if (P == Start) {
|
if (P == Start) {
|
||||||
if (P<Value.length())
|
if (P<Value.length()) {
|
||||||
Str = GetLeftSpacing(calcIndentSpaces(caretY,"",true),true);
|
if (mHighlighter && mOptions.testFlag(eoAutoIndent) && notInComment) {
|
||||||
else
|
Str = GetLeftSpacing(calcIndentSpaces(caretY,"",true),true);
|
||||||
Str = sRightSide;
|
} else {
|
||||||
|
Str = "";
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
Str = sRightSide;
|
||||||
} else {
|
} else {
|
||||||
Str = Value.mid(Start, P-Start);
|
Str = Value.mid(Start, P-Start);
|
||||||
if (P>=Value.length())
|
if (P>=Value.length())
|
||||||
Str += sRightSide;
|
Str += sRightSide;
|
||||||
if (mHighlighter && mOptions.testFlag(eoAutoIndent)) {
|
if (mHighlighter && mOptions.testFlag(eoAutoIndent) && notInComment) {
|
||||||
int indentSpaces = calcIndentSpaces(caretY,Str,true);
|
int indentSpaces = calcIndentSpaces(caretY,Str,true);
|
||||||
Str = GetLeftSpacing(indentSpaces,true)+trimLeft(Str);
|
Str = GetLeftSpacing(indentSpaces,true)+trimLeft(Str);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ SUBDIRS += \
|
||||||
|
|
||||||
APP_NAME = RedPandaCPP
|
APP_NAME = RedPandaCPP
|
||||||
|
|
||||||
APP_VERSION = 0.13.3
|
APP_VERSION = 0.13.4
|
||||||
|
|
||||||
linux: {
|
linux: {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue