aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2023-03-10Feature [feature-requests:#1481] Fix lineTop to assign document line instead ofZufu Liu1-1/+1
screen line as that is expected.
2023-03-02Add multithreaded wrap to significantly improve performance of wrapping largeNeil8-15/+176
files.
2023-03-02Cache client size when view moved or sized. That allows access to it fromNeil Hodgson2-2/+8
secondary threads which otherwise shows warnings. Earlier approach of caching client rectangle failed to handle scrolling.
2023-02-17Remove PropGetExpanded and treat GetPropertyExpanded as GetProperty since it noNeil1-16/+1
longer expands property references.
2023-02-17Use maximum 4 digits for next fold level display when lexer incorrectly setsNeil1-3/+3
fold level to -1. Previously 8 digits were displayed due to sign extension. Limit formatted length although no possibility of exceeding 100 characters.
2023-02-14Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDEDMitchell Foral1-1/+1
handler retriggered an autocompletion list, but with no items that match the typed character.
2023-02-13Where a multi-byte character contains multiple styles, display each byte as aNeil1-0/+16
representation. This makes it easier to see and fix lexers that change styles mid-character, commonly because they use fixed size buffers.
2023-02-12Feature [feature-requests:#1476] Move default representation code intoNeil5-66/+74
SpecialRepresentations class.
2023-02-12Fix clipping of line end wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT.Neil1-2/+3
2023-02-12Bug [#2378]. Fix overlapping of text with line end wrap marker.Zufu Liu3-5/+5
2023-01-25When an autocompletion list is shown in response to SCN_CHARADDED, do notMitchell Foral1-2/+3
process character as fill-up or stop. This avoids closing immediately when a character may both trigger and finish autocompletion.
2023-01-25Use LineLayout::LineNumber inside LineLayoutCache so it doesn't have to beNeil2-4/+3
declared to be a friend.
2023-01-25Hoist line wrapping code into LineLayout::WrapLine as it has few dependencies.Neil3-52/+60
2023-01-23Allow UTF-8 entries to coexist in the position cache alongside the documentNeil3-56/+44
encoding. Elements like character representations may be in UTF-8 while the document is in a different encoding. UTF-8 will be used for additional features and may later be the only encoding for the position cache. This change does not change performance or the proportion of strings cached - its purpose is to clean up callers and prepare for greater UTF-8 use.
2023-01-16Use intervals for drawing.Neil5-57/+70
2023-01-15Replace XYACCUMULATOR with XYPOSITION as will not return to single-precisionNeil2-22/+22
float calculations. Remove unnecessary casts.
2023-01-15Consolidate calculation of horizontal offset and use in more regular way.Neil1-15/+17
2023-01-15Simplify DrawIndentGuide and move decision to offset out of loop.Neil2-9/+10
2023-01-15As text base line is constant, move calculation out of loop.Neil1-11/+13
2023-01-19Feature [feature-requests:#1444] Move GetFoldParent from Document to LineLevelsNeil3-12/+24
as better modularity. Add LineLevels::GetFoldLevel for better type safety. Simplify bounds checks in GetLevel and GetFoldLevel.
2023-01-17Fix SCI_VERTICALCENTRECARET to update the vertical scroll position.Mitchell Foral1-0/+1
2023-01-13Declarations on separate lines. Ensure variable initialization.Neil1-7/+10
2023-01-12Shorten code with std::swap.Neil1-3/+1
2023-01-12Remove erroneous and unnecessary casts for FindTextFull.Neil1-4/+4
2023-01-12Feature [feature-requests:#1474] Simplify code.Zufu Liu1-3/+4
2023-01-12Feature [feature-requests:#1474] Simplify with InsertString(string_view).Zufu Liu2-16/+12
2023-01-12Feature [feature-requests:#1474] Move EOL string function to Document and returnZufu Liu4-41/+30
string_view.
2023-01-12Bug [#2372]. Optimize previous commit.Zufu Liu1-2/+2
2023-01-10Bug [#2372]. Fix SCI_LINESJOIN bug where carriage returns were incorrectlyZufu Liu1-12/+10
retained.
2023-01-09Hoist common calculation into function.Neil1-3/+11
Use logical and to stop conversion warning.
2023-01-09Use unsigned literal and temporary to stop conversion warnings for each ↵Neil1-4/+6
includer.
2023-01-09Move methods from header to implementation to avoid conversion warnings forNeil2-2/+10
each includer.
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 Liu2-16/+10
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-12Reorder arguments to drawing functions to be consistent.Neil3-359/+373
Make methods private or make into functions where possible to hide more implementation. Reorder methods and functions so related code closer and header and implementation match order. Use unnamed namespace instead of static.
2022-12-09Use const. Replace magic number with constant.Neil1-2/+2
2022-12-09More safety for potentially empty unwraps with ElementColourForced returning aNeil4-16/+23
ColourRGBA which is opaque black if the element not found.
2022-12-09Ensure unwraps of std::optional<ColourRGBA> can be checked by Code Analysis.Neil1-17/+15
This prevents warnings about dangerous potential unwraps. The cases where this was detected were protected by earlier checks but the analyser couldn't see that. Its also easier for maintainers to see safe and unsafe unwraps with the changes.
2022-12-09Mark OptionalColour as noexcept.Neil1-1/+1
2022-12-09Shorten code with ColourOptional alias for std::optional<ColourRGBA>.Neil4-27/+29
2022-12-09Feature [feature-requests:#1458] Replace complex CopySelectionRange call withZufu Liu1-3/+2
simpler RangeText. This also preserves any NUL characters.
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-12-02Feature [feature-requests:#1458] Move code into member functions, useZufu Liu1-106/+76
string_view and constexpr.
2022-12-01Change release compilation optimization option to favour speed over space.Mitchell Foral1-1/+1
-O2 for MSVC and -O3 for gcc and clang. Change code in Editor.cxx to avoid a warning that occurs with gcc -O3.
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.Neil2-4/+4
2022-11-22Add SCI_REPLACETARGETMINIMAL to change text without causing unchanged prefix andNeil4-11/+50
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 CharacterExtractedNeil2-39/+44
constructor. Move CharacterExtracted out of Document so it can be more widely used.