aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2025-02-07Add vertical scroll position into undo selection history unconditionally.Neil3-14/+21
2025-02-07Use operator== inside <= and >= to shorten code.Neil1-14/+8
Drop else after return in asymmetric cases to clarify the returned value.
2025-02-06Feature [feature-requests:#1540]. Avoid memory leaks caused by addition ofNeil1-1/+4
uninitialized_value_construct_n by using loop in InsertEmpty.
2025-02-05Use new SelectionSegment constructor and SelectionRange::AsSegment to simplifyNeil3-12/+8
code.
2025-02-05Simplify SelectionRange::Intersect and add SelectionRange constructor fromNeil2-14/+18
positions without virtual space. Add unit tests.
2025-02-04Also delete the local reference to model state when history disabled.Neil1-0/+1
2025-02-04Ensure undo selection history for view is deleted when view destroyed orNeil4-2/+17
history disabled.
2025-02-04Fix segmentation of long lexemes to avoid breaking before modifiers like accentsNeil2-7/+98
that must be drawn with their base letters. This is only a subset of implementing grapheme cluster boundaries but it improves behaviour with some Asian scripts like Thai and Javanese. Javanese is mostly written with (ASCII) Roman characters so issues will be rare but Thai uses Thai script. Also slightly improves placement of combining accents in European texts. https://github.com/notepad-plus-plus/notepad-plus-plus/issues/14822 https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16115
2025-02-04Add overload of UnicodeFromUTF8 that takes a string_view.Neil3-1/+14
2025-02-01Serialize selection type and ranges with SCI_GETSELECTIONSERIALIZED andNeil4-0/+38
SCI_SETSELECTIONSERIALIZED.
2025-02-01Use string form for selection undo history as it saves significant space.Neil4-47/+21
On average takes around 20% of SelectionSimple.
2025-02-01Implement serialization of Selection to and from strings.Neil2-0/+152
Requires std::from_chars to be available.
2025-02-01Reconnect to document's undo selection history after switching documents whenNeil1-0/+1
performing undo or redo.
2025-01-31Add default basic constructor and operator!= to SelectionPosition to ease use.Neil2-26/+25
Use default member initializer, constexpr for constructors and equality operators and <, [[nodiscard]] for comparison operators. Add simple unit tests for Selection. Not trying to be exhaustive here, just start the process of adding tests.
2025-01-30In Clear, clear fields in declaration order and ensure all fields handled.Neil1-3/+5
2025-01-25Bug [#1224]. Use enum for undo selection history and make API names moreNeil3-8/+9
consistent as 'undo selection' instead of 'selection undo' as more closely associated with undo than selection.
2025-01-22Bug [#1224]. Remember selection in undo history. SCI_SETSELECTIONUNDOHISTORY.Neil12-8/+295
2025-01-22There will be more use of std::vector<SelectionRange> so name it.Neil1-3/+4
2025-01-08Feature [feature-requests:#1540]. Optimize InsertEmpty to memset equivalent.Zufu Liu1-8/+6
Simplify second argument by std::fill -> std::fill_n, std::copy -> std::copy_n.
2025-01-07Feature [feature-requests:#1539]. Avoid calling UpdateBidiData for each subline.Zufu Liu1-15/+13
Remove vector of draw phases.
2024-12-15Feature [feature-requests:#1537]. Use const where possible.Neil1-1/+1
2024-12-15Feature [feature-requests:#1537]. Use noexcept where possible.Zufu Liu2-4/+4
2024-12-15Feature [feature-requests:#1537]. Extract common code into function.Zufu Liu1-8/+10
2024-12-13Feature [feature-requests:#1538]. Reduce range checks in PartitionFromPositionZufu Liu1-1/+1
to improve performance.
2024-12-13Feature [feature-requests:#1537]. Remove explicit initialization which isZufu Liu1-3/+1
identical to default initialization. Remove constructor argument which is same as default.
2024-12-06Feature [feature-requests:#1537]. Avoid truncation potential with PerformSort.Zufu Liu2-14/+11
Use string_view to improve safety.
2024-12-06Feature [feature-requests:#1537]. Refactor Sorter in AutoComplete.Zufu Liu1-13/+21
Move into unnamed namespace. Don't hold onto AutoComplete*. Simplify indexing by 2. Use const.
2024-12-03Feature [feature-requests:#1537]. Simpify calculation of start of search forZufu Liu1-1/+1
brace matching.
2024-12-03Feature [feature-requests:#1537]. Avoid holding onto Document without need.Zufu Liu1-2/+1
2024-11-24Bug [#2457]. Fix moving line down to empty final line and moving empty finalpawelzwronek1-3/+7
line up. Handle edge cases when moving selected lines. Allow moving the selection when the end line of the document is empty or when moving up the last empty line.
2024-12-02Improve performance of simple case where FillRange just inserts two entries andNeil1-1/+18
does not need to split, merge, or delete runs. This avoids multiple binary searches and is a significant improvement for situations such as marking large numbers of search matches in a huge document.
2024-12-02Remove explicit initialization which is identical to default initialization.Neil1-5/+2
Remove constructor argument which is same as default. Shorten code and avoid else.
2024-12-02Optimize calculating lines of range to redraw when whole range is on one line.Neil1-4/+8
SciLineFromPosition is a binary search over the line indices but LineStart is just indexing so is less expensive. This code may limit performance when updating many positions.
2024-12-01Code format: no space in -1.Neil1-2/+2
2024-12-01Feature [feature-requests:#1535]. Improve performance of DBCS brace matching.Zufu Liu1-11/+5
2024-12-01Feature [feature-requests:#1535]. Improve performance of DBCS text by avoidingZufu Liu1-16/+7
calling LineStartPosition.
2024-11-26Bug [#2458]. Add include of cstdint to provide intptr_t and uintptr_t.Neil13-0/+14
2024-11-25Bug [#2456]. Fix wrapping removed lines.Pawel Z Wronek1-0/+6
2024-11-17Feature [feature-requests:#1533]. More performance for SCI_BRACEMATCH byZufu Liu2-7/+42
avoiding costly NextPosition call where possible. Approximately 60% improvement on tested system.
2024-11-17Feature [feature-requests:#1533]. Improve performance of SCI_BRACEMATCH by onlyZufu Liu1-8/+6
retrieving style for braces. Approximately 25% improvement on tested system.
2024-10-24Update to Unicode 15.1.Neil1-2/+4
https://github.com/ScintillaOrg/lexilla/issues/285
2024-09-28Prefer member intializers.Neil1-18/+18
2024-09-28Remove private field that was never used.Neil2-3/+0
2024-09-02Hoist some common code into methods.Neil3-39/+28
RangeContainsProtected gains an overload that takes a SelectionRange as this is common use and simplifies callers. ClearSelectionRange is common code used to clear selected text and update a SelectionRange before inserting text.
2024-08-22Feature [feature-requests:#1524]. Use same name in declaration and definition.Neil1-1/+1
2024-08-15Add SCI_STYLESETSTRETCH to support condensed and expanded text styles.Neil5-3/+17
2024-08-09Simplify code that sets an empty selection at a position.Neil2-6/+3
2024-07-31Feature [feature-requests:#1524]. Add SCI_LINEINDENT and SCI_LINEDEDENT.Martijn Laan2-6/+12
These force the multiline behaviour of SCI_TAB and SCI_BACKTAB.
2024-07-28Add SCI_GETUNDOSEQUENCE to determine whether an undo sequence is active and itsNeil7-0/+18
nesting depth.
2024-07-27Feature [feature-requests:#1530]. SCI_SETCOPYSEPARATOR sets string to separateNeil2-4/+14
parts of multiple selection when copied.