aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/CellBuffer.cxx
AgeCommit message (Collapse)AuthorFilesLines
2025-01-22Bug [#1224]. Remember selection in undo history. SCI_SETSELECTIONUNDOHISTORY.Neil1-0/+4
2024-11-26Bug [#2458]. Add include of cstdint to provide intptr_t and uintptr_t.Neil1-0/+1
2024-07-28Add SCI_GETUNDOSEQUENCE to determine whether an undo sequence is active and itsNeil1-0/+4
nesting depth.
2024-03-08Reformat with astyle.Neil1-2/+2
2024-03-02Feature [feature-requests:#1511] Add mayCoalesce argument to BeginUndoAction.John Ehresman1-2/+2
2024-02-27Restore change history to the extent possible when restoring undo history.Neil1-59/+74
2024-02-18Restore change history when restoring undo history.Neil1-0/+58
2024-02-16Implement detach point access with SCI_SETUNDODETACH and SCI_GETUNDODETACH.Neil1-4/+12
Write more documentation for undo history.
2024-02-15Perform validation of undo state when SCI_SETUNDOCURRENT called, setting statusNeil1-2/+2
when invalid.
2024-02-09Implement API to read and write undo history from applications.Neil1-0/+48
2024-02-09Avoid overhead of extra start actions that delimited user operations. Now reliesNeil1-7/+7
on mayCoalesce flag to indicate that a user operation is complete when false.
2024-02-01Store undo text in ScrapStack, a single allocation instead of one allocation perNeil1-16/+6
step. This saves about 50% for a long sequence of single byte actions.
2024-02-01Add UndoAction class as internal type for undo actions and make Action a structNeil1-25/+16
that is used for reporting undo steps to Document. This will allow further minimization of undo memory use.
2024-02-01Move UndoHistory into its own module that is accessible from CellBuffer andNeil1-288/+34
tests but hidden from most of Scintilla. Access through std::unique_ptr.
2024-01-27Use noexcept where reasonable.Neil1-16/+16
2024-01-27Feature [feature-requests:#1458] Reduce memory used for undo actions.Zufu Liu1-9/+4
2023-12-08Throw error when allocating more than 2G without SC_DOCUMENTOPTION_TEXT_LARGE.Neil1-0/+4
2023-11-19Add const where possible.Neil1-1/+1
2023-11-19Fix type conversion warning.Neil1-1/+1
2023-10-26Implement LineEnd method in CellBuffer as it is a basic function and only usesNeil1-0/+27
CellBuffer fields. Declare LineEnd noexcept as it should never throw and that allows methods calling it to also be noexcept. Call LineEndPosition to simplify Editor::LineSelectionRange.
2023-06-25Strip line end white-space.Neil1-1/+1
2022-09-19Stop turning on change history when there are steps that can be undone asNeil1-1/+1
performing undo before start of change history can crash.
2022-07-31Added change history which can display document changes (modified, saved, ...)Neil1-0/+94
in the margin or in the text.
2022-07-30Add cast functions to simplify code and avoid warnings.Neil1-24/+41
Change targetAct type to avoid type widening warnings.
2022-07-30Apply rule-of-zero to CellBuffer internals.Neil1-14/+0
2022-07-29Apply rule-of-zero to delete standard methods where possible as handled byNeil1-8/+1
contained types. This allows flexibility as most lower-level data types can be moved and SplitVector and Partitioning of non-move-only types may be copied. CellBuffer still needs destructor due to incomplete type so retains all standard operations.
2021-10-26Explicit constructors.Neil1-1/+1
2021-10-26Ensure variables initialized.Neil1-1/+1
2021-08-24Remove line end white space.Neil1-1/+1
2021-07-15Feature [feature-requests:#1370] Implement SCI_ALLOCATELINES to allocate indicesZufu Liu1-0/+23
to hold some number of lines. This is an optimization that can decrease reallocation overhead.
2021-07-15Feature [feature-requests:#1381] Move SplitView to header so it can be used moreNeil1-0/+15
widely. Ensure that case where all text is after the gap is as efficient as when all text is before the gap.
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-53/+56
and ScintillaStructures.h using scoped enumerations. Use these headers instead of Scintilla.h internally. External definitions go in the Scintilla namespace and internal definitio0ns in Scintilla::Internal.
2021-05-20Prefer Sci::invalidPosition to INVALID_POSITION as Scintilla.h will eventuallyNeil1-1/+1
not be visible to most code.
2021-05-05Avoid some warnings in ResetLineEnds.Neil1-3/+3
2021-04-05Change actionType to an enum class.Neil1-27/+27
2021-03-18std::optional is a basic vocabulary type that may be used widely so includeNeil1-0/+1
almost everywhere.
2021-03-18Move assert and debug trace functions into their own header Debugging.h.Neil1-2/+1
PLATFORM_ASSERT is used in data structure headers which led to including graphics and windowing APIs in data structure modules.
2021-03-17Extract geometry and colour definitions from Platform.h into src/Geometry.h.Neil1-0/+1
2020-06-11Use noexcept where safe and maintainable.Neil1-1/+1
2020-05-19Encapsulate common check for PS, LS, and NEL as UTF8IsMultibyteLineEnd.Neil1-6/+3
Avoids construction of temporary array.
2020-05-04Feature [feature-requests:1347]. Optimize large insertions by using aZufu Liu1-29/+122
table-driven line end discovery algorithm and performing line insertions in batches.
2020-05-02Optimize LineVector by maintaining an activeIndices field to avoid callingNeil1-30/+34
LineStartIndex::Active.
2020-03-24Use noexcept where possible.Neil1-19/+23
2019-11-01Avoid calling vector::shrink_to_fit in destructors as it is not noexcept.Neil1-1/+0
The destructors of the members will ensure that everything is correct. Potential unhandled exceptions reported by Coverity.
2019-09-28Remove virtual call in constructor to stop warnings.Neil1-1/+0
Init was not needed in LineVector as each field is constructed to a good state. This code worked correctly before this change.
2019-09-26Remove extraneous check.Neil1-3/+1
2019-06-04Fix extra white space.Neil1-2/+2
2019-06-04Bug [#2104]. Use '%.0f' and casts to double to fix printf format string bugs.Neil1-4/+8
This will extend valid maximum position from 31-bits to 53-bits which is ample.
2019-05-17Fixed performance bug where line end positions were reset withot need whenNeil1-1/+0
switching from or to Unicode. Only noticeable on huge files.
2019-04-28Declare reading methods as noexcept where reasonable.Neil1-14/+14