aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
AgeCommit message (Collapse)AuthorFilesLines
2023-10-15Bug [#2405]. Fix incorrect substitution when searching for a regular expressionZufu Liu1-0/+8
backwards.
2023-10-15Use std::array for regex match positions as it will simplify copying.Neil1-0/+1
This change set does not change behaviour.
2023-04-11Follow rule-of-zero to omit standard methods.Neil1-8/+1
2023-03-02Add multithreaded wrap to significantly improve performance of wrapping largeNeil1-0/+4
files.
2023-01-19Feature [feature-requests:#1444] Move GetFoldParent from Document to LineLevelsNeil1-9/+2
as better modularity. Add LineLevels::GetFoldLevel for better type safety. Simplify bounds checks in GetLevel and GetFoldLevel.
2023-01-12Feature [feature-requests:#1474] Simplify code.Zufu Liu1-3/+4
2023-01-12Feature [feature-requests:#1474] Simplify with InsertString(string_view).Zufu Liu1-3/+2
2023-01-12Feature [feature-requests:#1474] Move EOL string function to Document and returnZufu Liu1-0/+10
string_view.
2022-12-23Bug [#2360]. Switch back from dynamic_cast to static_cast for per-line dataMat Berchtold1-6/+6
structures. This undoes change set [eca055].
2022-12-21Bug [#2340]. Avoid repeated call in GetFoldParent for around 10% performanceZufu Liu1-14/+8
gain with Visual C++ 64-bit release mode on 300,000 line file. Remove duplicated code and simplify. GetFoldLevel and thus GetFoldParent can't throw so mark as noexcept.
2022-12-02Detangle ASCII and multi-byte code for case-insenstive UTF-8 searches.Neil1-21/+18
This avoids some work for the common case of ASCII text, which can reduce time taken for search in text that is ASCII or almost-all ASCII by 30%. Ensures that the bytes variable is always initialized. There are a small gains possible by making other minor changes but they would increase code length and add complexity. Add performance test for UTF-8 search in almost-all ASCII document. Increase size of test cases for more consistent results on faster computers.
2022-12-02Ensure variable is initialized.Neil1-3/+4
2022-11-28Bug [#2363]. Change 'paragraph up' commands SCI_PARAUP and SCI_PARAUPEXTEND toMichael Heath1-1/+4
go to the start position of the paragraph containing the caret. Only if the caret is already at the start of the paragraph will it go to the start of the previous paragraph.
2022-11-24Add const and noexcept where sensible.Neil1-2/+2
2022-11-22Add SCI_REPLACETARGETMINIMAL to change text without causing unchanged prefix andNeil1-0/+11
suffix to be marked as modified in change history.
2022-11-14Fix last change with CharacterExtracted to work on Unix.Neil1-1/+1
2022-11-12Hoist common conversion from UTF-8 byte string into CharacterExtractedNeil1-25/+19
constructor. Move CharacterExtracted out of Document so it can be more widely used.
2022-10-20Change ScintillaBase::AutoCompleteInsert to take a string_view and addNeil1-0/+4
Document::InsertString overload taking a string_view. These changes simplify callers.
2022-09-12Remove NotifyLexerChanged notification from DocWatcher.Neil1-8/+0
This is a private interface but could be used by independent platform layers and was exposed by ScintillaDocument in the Qt implementation of ScintillaEdit.
2022-08-17Display bar marker correctly on last line of document.Neil1-1/+1
2022-07-31Added change history which can display document changes (modified, saved, ...)Neil1-2/+26
in the margin or in the text.
2022-07-18Bug [#2338] Enable multiline regex for gcc and clang when REGEX_MULTILINE ↵Jacky Yang1-0/+4
defined. This requires gcc 11.3 or clang 14.
2022-07-17Feature [feature-requests:#1441] Line state optimized to avoid excess ↵Zufu Liu1-1/+1
allocations by always allocating for every line.
2022-07-04Feature [feature-requests:#1442] Tighter checking of indices avoids handlingZufu Liu1-2/+2
out-of-bounds in lower layer. Make expressions agree in ApplyStep for clarity.
2022-05-01Optimize case where there are no annotationsNeil1-0/+6
2022-01-13Optimize GetColumn a little.Neil1-0/+3
2021-11-24For iterators, make constructors explicit, remove operators that are defaultedNeil1-72/+17
correctly and use 'using' in preference to 'typedef'.
2021-10-26Explicit constructors.Neil1-1/+1
2021-10-24Grammar in comment.Neil1-1/+1
2021-10-21Feature [feature-requests:#1417] Use backward iteration to find space / controlZufu Liu1-31/+58
character and text / punctuation boundaries in SafeSegment as will be simpler and faster in almost all cases. Simplify BreakFinder::Next calling SafeSegment.
2021-10-12Feature [feature-requests:#1416] Prevent type mismatch.Neil1-1/+1
2021-10-12Feature [feature-requests:#1416] Use nullptr.Neil1-9/+9
2021-10-05Feature [feature-requests:#1417] Consolidate character classification functionsNeil1-62/+13
in CharacterType.h, merging duplicate functions, removing unused functions and stadardizing names.
2021-09-30Feature [feature-requests:#1416] Remove extra check that is never true andZufu Liu1-3/+1
remove parameter used just for this test.
2021-09-02Bug [#2281] Fix crash with too many subexpressions in regular expression searchNeil1-1/+1
with SCFIND_CXX11REGEX.
2021-08-24Remove line end white space.Neil1-1/+1
2021-08-22Follow rule-of-zero / rule-of-5 where reasonable by removing standard operatorsNeil1-5/+0
that are not needed.
2021-08-22Encapsulate an ILexer5* in LexerInstance class to simplify client code.Neil1-0/+14
2021-07-17Fix minor inconsistency with word searching results at start and end of documentNeil1-5/+9
which were considered word start / end positions even when first or last character did not fit requirements.
2021-07-17Extract word edge detection to prepare for fixing bug.Neil1-8/+11
This change does not affect behaviour.
2021-07-15Feature [feature-requests:#1370] Implement SCI_ALLOCATELINES to allocate indicesZufu Liu1-0/+4
to hold some number of lines. This is an optimization that can decrease reallocation overhead.
2021-07-16Feature [feature-requests:#1381] Fix position returned when in 2nd segment.Neil1-1/+1
2021-07-16Feature [feature-requests:#1381] Avoid strlen and more complex comparison.Zufu Liu1-3/+3
2021-07-15Feature [feature-requests:#1381] Move SplitView to header so it can be used moreNeil1-33/+1
widely. Ensure that case where all text is after the gap is as efficient as when all text is before the gap.
2021-07-14Feature [feature-requests:#1408] More accurate handling of invalid DBCS byteNeil1-3/+13
pairs in backwards NextPosition.
2021-07-05Feature [feature-requests:#1408] Check both bytes of potential DBCS characterZufu Liu1-4/+9
before treating as a character.
2021-07-12Use SplitFindChar to rapidly seek for a byte value for case-sensitive searches.Neil1-14/+62
Averaged 2x faster for forward search "needle" in Editor.cxx as UTF-8 or Latin1.
2021-07-12Create SplitView to avoid overhead of calling CellBuffer for reading characters.Neil1-7/+44
Increases performance of search by around 25%.
2021-07-12Optimize case-insensitive DBCS search.Neil1-1/+1
2021-07-12Rearrange and reformat code to minimize variable lifetime and bracket blocks.Zufu Liu1-12/+21