Store selections for undo by tab deletion

This commit is contained in:
1024jp 2018-10-08 02:19:28 +09:00
parent ce662e409c
commit c85f244c0a
2 changed files with 3 additions and 0 deletions

View File

@ -7,6 +7,7 @@ Change Log
### Improvements
- Avoid selecting deleted spaces when undoing a soft tab deletion.
- Add “.cxx” extension to “C++” syntax style.
- Adjust width of line number views.

View File

@ -504,6 +504,7 @@ final class EditorTextView: NSTextView, CurrentLineHighlighting, Themable {
if self.isAutomaticTabExpansionEnabled,
let deletionRange = self.string.rangeForSoftTabDeletion(in: self.selectedRange, tabWidth: self.tabWidth)
{
self.setSelectedRangesWithUndo(self.selectedRanges)
self.selectedRange = deletionRange
}
@ -514,6 +515,7 @@ final class EditorTextView: NSTextView, CurrentLineHighlighting, Themable {
let nextCharacter = self.characterAfterInsertion,
self.matchingBracketPairs.contains(where: { $0.begin == Character(lastCharacter) && $0.end == Character(nextCharacter) })
{
self.setSelectedRangesWithUndo(self.selectedRanges)
self.selectedRange = NSRange(location: self.selectedRange.location - 1, length: 2)
}