aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
AgeCommit message (Collapse)AuthorFilesLines
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-08-21Bounds checks for setting annotation style.Mitchell Foral1-8/+12
2020-07-16Make EncodingFamily an enum class for more type safety.Neil1-3/+3
2020-07-16Add some const, constexpr.Neil1-1/+1
2020-07-15Feature [feature-requests:1368]. Add BraceMatchNext API.Zufu Liu1-2/+2
2020-06-17Simplify calls when known to be leaving a save point.Neil1-2/+2
2020-06-12Bug [#2141]. Implement end of line annotations.Prakash Sahni1-0/+35
2020-05-03Feature [feature-requests:1347]. Add InsertLines method to PerLine interface andNeil1-0/+7
all implementations. This will allow insertion of lines in batches in a future change set. Added tests for PerLine implementations.
2020-04-08Simplify PerLine, remove casts, use noexcept, const, & constexpr where possible.Neil1-8/+8
2020-04-08Feature [feature-requests:1344]. Add methods for iterating through the markerIain Clarke1-0/+8
handles and marker numbers on a line.
2020-03-31Pass argument as unique_ptr to show transfer of ownership. Add const and ↵Neil1-3/+3
noexcept.
2020-03-26Fix spelling mistakes.Neil1-2/+2
2020-03-23Replace const with constexpr where possible.Neil1-4/+4
2020-03-23perLineData is polymorphic so replace static_cast with dynamic_cast for betterNeil1-5/+5
type safety and adherence to C++ Core Guidelines C.146.
2020-03-23Drop possibility of Sci_Position, Sci::Line, Sci::Position not being ptrdiff_t.Neil1-8/+8
This reduces casting.
2020-01-10Bug [#2132]. Only check for LS/PS/NEL when Unicode line ends turned on.Zufu Liu1-1/+1
2019-07-01Use noexcept on Document where reasonable with no effect on external interface.Neil1-48/+48
Adds LengthNoExcept method that copies Length but only for internal use.
2019-06-28Bug [#2116]. Fix deletion of isolated invalid bytes.Zufu Liu1-11/+26
2019-04-26Feature [feature-requests:#1238]. Simplify camel case forcing by checking onlyNeil1-8/+0
for upper and lower case characters instead of current word characters. This changes behaviour for words like "_word" -> "_Word" instead of remaining "_word" but that doesn't matter for this feature's intended use which is to allow display of ASCII-only keywords in the user's preferred casing (else/ELSE/Else) for languages with case-insensitive keywords.
2019-03-29Feature [feature-requests:#1259]. Add SCI_SETCHARACTERCATEGORYOPTIMIZATION APINeil1-1/+9
to optimize speed of character category features.
2019-03-20Implement WStringFromUTF8 to simplify code that creates wstring objects forNeil1-10/+2
regular expressions and calling the Win32 API.
2019-03-03Use constexpr where reasonable and move groups of static functions into unnamedNeil1-3/+3
namespace.
2019-03-03Use noexcept where reasonable.Neil1-1/+1
2019-01-06Bug [#2068]. Fix some clang-tidy warnings.Zufu Liu1-1/+1
2019-01-03Bug [#2073]. Stop GetCharacterAndWidth returning negative character value.Zufu Liu1-2/+2
This occurred for single-byte encodings and was never hit as GetCharacterAndWidth is only called for multi-byte encodings.
2018-10-17Bug [#2051]. Correct return value from SCI_MARKERADD for invalid lines.Neil1-1/+1
2018-10-16Make damping work in ActionDuration.Colomban Wendling1-1/+1
2018-10-15Extract duration measurement damping and clamping into ActionDuration class soNeil1-22/+25
that it can be reused.
2018-09-16Use nullptr in Document where appropriate.Neil1-10/+10
2018-09-16Moved declaration to avoid warnings from linters.Neil1-2/+2
2018-07-24Fix reversion in revision 7063 which removed folding when changing code page.Neil1-0/+1
Changing code page now causes full restyle.
2018-07-10Optional indexing of line starts in UTF-8 documents by UTF-32 code points andNeil1-0/+22
UTF-16 code units added.
2018-06-10Using noexcept for simple functions.Neil1-6/+6
2018-06-10Updated the code and comment for running a regex over multiple lines at onceNeil1-8/+14
instead of breaking up into lines. Using the preprocessor to hide the multiline code instead of comments so that it is easier to experiment with.
2018-05-21Draw invalid bytes in DBCS when detected as blobs in a similar way to UTF-8.Neil Hodgson1-0/+87
2018-05-16Use noexcept method to preserve noexcept.Neil1-1/+1
2018-05-16Fix regex crash reported with libstdc++ on macOS that occursNeil Hodgson1-7/+0
when the regex has a locale imbued.
2018-05-14Use string_view for UniConversion functions.Neil1-4/+5
2018-05-14Include <string_view> to allow future use in Platform interface and Unicode.Neil1-0/+1
2018-05-03Specify type of std::clamp to avoid casting arguments.Neil1-1/+1
2018-04-26Use <chrono> for platform-independent timing and remove ElapsedTime.Neil1-4/+6
Also use #if for painting measurement as there are 7 sections of code to enable.
2018-04-22Remove casts between char and unsigned char where possible.Neil1-7/+7
2018-04-21Tighten definition of regular expression iterators so they are noexcept andNeil1-69/+96
define all the standard member functions. This cascades to all methods called by the iterators, affecting Document, CellBuffer, Partitioning, SplitVector and UTF-8 and DBCS functions. Other trivial functions declared noexcept.
2018-04-19Casting changed in many places, due to change to 64-bit variables for 64-bitNeil1-93/+96
builds. Some of the changes ensure no truncation while others remove casts that are no longer needed because the externally visible Sci_Position is now identical to Sci::Position. Some extra methods (CellBuffer::UCharAt and Document::SciLineFromPosition) added to avoid casting in client code. Sci::Line is currently identical to Sci::Position but it could be made smaller so lines have Sci::Line types and are cast. Some arguments widened.
2018-04-19Remove casts by using harmonized types. Drop NUL termination that is not needed.Neil1-16/+13
2018-04-17Add SC_DOCUMENTOPTION_TEXT_LARGE option for documents larger than 2 GigaBytes.Neil1-2/+7
This option is provisional and experimental.
2018-03-28Templatize decorations to allow 32-bit or 64-bit positions.Neil1-1/+1
2018-04-16Determine if line start or end pattern before loop.Neil1-5/+7