aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2025-05-15Remove else after return when that clarifies code.Neil1-104/+90
2025-05-12Add SCI_AUTOC{G,S}ETIMAGESCALE and implement for Qt and GTK.orbitalquark4-0/+11
2025-05-03Use noexcept, emplace_back, avoid a cast, and simplify code.Neil2-9/+10
2025-05-03Remove else after return when that clarifies code.Neil1-61/+42
2025-04-22Silence warnings for else-after, no default in switch, default destructor,Neil1-26/+18
parameter naming.
2025-04-22Move common IME code from platform layers to ScintillaBase.Neil2-0/+32
2025-04-18Control restoring vertical scroll position for undo withNeil2-4/+6
SC_UNDO_SELECTION_HISTORY_SCROLL flag to SCI_SETUNDOSELECTIONHISTORY.
2025-04-17Tweak SC_MARK_BAR to be slightly wider.Neil1-1/+1
2025-04-10Avoid 'magic' number with constexpr and add comments.Neil1-8/+12
2025-04-08Simplify code and fix impossible INTEGER_OVERFLOW warning from Coverity.Neil1-4/+4
2025-04-08Fix impossible INTEGER_OVERFLOW warning from Coverity.Neil1-1/+1
2025-04-08Fix COPY_INSTEAD_OF_MOVE performance warning from Coverity.Neil1-1/+1
2025-04-08Silence warning.Neil1-2/+1
2025-04-03Turn on type conversion warnings for GCC and fix them.Neil9-27/+32
2025-04-03Silence 'magic' number clang-tidy warning where there is intense use of literalNeil4-0/+28
constants for processing character encodings or similar and where declaring constants would make the code more obscure, not less.
2025-03-27Optimize case-insensitive DBCS search to be around 5 times faster by using 64KNeil2-0/+82
memory to cache folding data for each DBCS code page used.
2025-03-27Use constant definitions to avoid warnings.Neil2-11/+17
2025-03-09Avoid warnings by replacing &[0] with .data(), adding [[nodiscard]], replacingNeil2-22/+20
typedef with using, and initialising at declaration.
2025-03-08Define constants for UTF-8 and UTF-16 implementation for clarity.Neil2-62/+100
Add tests to check that inverted conversions yield the original value.
2025-03-06Move static functions and variables into unnamed namespace and use constexpr.Neil2-37/+48
2025-03-03Feature [feature-requests:#1417]. Improve UTF-8 segmentation for some controlNeil1-2/+8
characters and invalid bytes. Add more test cases.
2025-02-25Bug [#2463]. Disallow case changes if the range contains protected textJoachim Mairboeck1-1/+1
2025-02-19Use ComPtr for render targets of SurfaceD2D.Neil1-2/+2
Add comments about different types of Surface.
2025-02-18Minor warnings silenced. No return value from void functions, catch theNeil1-7/+10
impossible exception, const some iterators.
2025-02-18Avoid type error from some compilers from returning braced values likeNeil1-16/+8
{ unicodeReplacementChar, 1 } instead of constructed objects. Declare named const values for 2 failure cases of CharacterExtracted. Remove some dead code.
2025-02-15Minor changes to reduce warnings from Clang-Tidy.Neil1-28/+21
2025-02-15Fix the previous change to prioritise breaking at style-change and spaces (whenNeil1-11/+16
specified) and only discard the last combined character when these fail.
2025-02-14For wrapping, try to break lines without separating letters from modifiers.Neil1-0/+7
There are still problems for languages like Javanese but it will improve most cases. Unicode proposal to improve line breaking: https://www.unicode.org/L2/L2022/22080r2-line-break-ortho-bnd.pdf
2025-02-14Implement LastCharacter to return the last character or character fragment in aNeil2-4/+27
potentially invalid UTF-8 string. Use this in DiscardLastCombinedCharacter. Place DiscardLastCombinedCharacter in Scintilla::Internal namespace for use in text wrap.
2025-02-14Feature [feature-requests:#1417]. Fix some UTF-8 segmentation bugs byNeil1-12/+14
prioritising Unicode-safe base character check over ASCII punctuation check and by treating emoji modifiers as modifiers instead of base characters. This is better for 1) Keycap emoji: *, VARIATION SELECTOR-16, COMBINING ENCLOSING KEYCAP 2) Emoji + skin tone: WAVING HAND SIGN, EMOJI MODIFIER FITZPATRICK TYPE-1-2
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.