mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-29 21:05:59 +02:00
Format on Save
This commit is contained in:
parent
f41365a58e
commit
e34dee7438
5 changed files with 18 additions and 3 deletions
|
@ -123,6 +123,7 @@ namespace IDE.ui
|
|||
AddPropertiesItem(category, "Show Line Numbers", "mShowLineNumbers");
|
||||
AddPropertiesItem(category, "Free Cursor Movement", "mFreeCursorMovement");
|
||||
AddPropertiesItem(category, "Enable File Recovery", "mEnableFileRecovery");
|
||||
AddPropertiesItem(category, "Format on Save", "mFormatOnSave");
|
||||
|
||||
category.Open(true, true);
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ namespace IDE.ui
|
|||
|
||||
UndoBatchStart mUndoBatchStart;
|
||||
PersistentTextPosition mTrackedCursorPosition;
|
||||
EditWidgetContent.LineAndColumn? mVirtualCursorPos;
|
||||
PersistentTextPosition mSelStartPostion;
|
||||
PersistentTextPosition mSelEndPostion;
|
||||
|
||||
|
@ -35,6 +36,7 @@ namespace IDE.ui
|
|||
editWidgetContent.mData.mUndoManager.Add(firstUndoAction);
|
||||
editWidgetContent.mData.mUndoManager.Add(new EditWidgetContent.SetCursorAction(editWidgetContent));
|
||||
|
||||
mVirtualCursorPos = editWidgetContent.mVirtualCursorPos;
|
||||
mTrackedCursorPosition = new PersistentTextPosition((int32)editWidgetContent.CursorTextPos);
|
||||
editWidgetContent.PersistentTextPositions.Add(mTrackedCursorPosition);
|
||||
|
||||
|
@ -54,6 +56,10 @@ namespace IDE.ui
|
|||
var editWidgetContent = (SourceEditWidgetContent)mEditWidget.Content;
|
||||
editWidgetContent.CursorTextPos = mTrackedCursorPosition.mIndex;
|
||||
editWidgetContent.PersistentTextPositions.Remove(mTrackedCursorPosition);
|
||||
|
||||
if ((mVirtualCursorPos != null) && (editWidgetContent.CursorLineAndColumn.mColumn == 0))
|
||||
editWidgetContent.CursorLineAndColumn = .(editWidgetContent.CursorLineAndColumn.mLine, mVirtualCursorPos.Value.mColumn);
|
||||
|
||||
delete mTrackedCursorPosition;
|
||||
|
||||
if (mSelStartPostion != null)
|
||||
|
|
|
@ -4389,7 +4389,7 @@ namespace IDE.ui
|
|||
base.FindNext(dir);
|
||||
}
|
||||
|
||||
public void ReformatDocument()
|
||||
public void ReformatDocument(bool ignoreSelection = false)
|
||||
{
|
||||
if (!mIsBeefSource)
|
||||
return;
|
||||
|
@ -4442,7 +4442,7 @@ namespace IDE.ui
|
|||
}
|
||||
}
|
||||
|
||||
if (mEditWidget.Content.HasSelection())
|
||||
if ((mEditWidget.Content.HasSelection()) && (!ignoreSelection))
|
||||
parser.ReformatInto(mEditWidget, mEditWidget.Content.mSelection.Value.MinPos, mEditWidget.Content.mSelection.Value.MaxPos);
|
||||
else
|
||||
parser.ReformatInto(mEditWidget, 0, text.Length);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue