aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
AgeCommit message (Collapse)AuthorFilesLines
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
2018-04-13Use 'override' for methods that are overridden.Neil1-28/+28
Group some method declarations and definitions for AddRef/Release and PerLine.
2018-04-13Fix bug with regular expression searches failing to match at line start or end.Neil1-16/+4
This was a work-around for infinite loops when replacing empty matches and this is now the application's responsibility.
2018-04-11Remove workaround for problems with noexcept.Neil1-10/+2
2018-03-28Split decorations into interface and implementation.Neil1-4/+6
2018-03-27Return a FillResult struct from RunStyles::FillRange instead of modifyingNeil1-4/+4
arguments as that is clumsy when converting types.
2018-03-24Feature [feature-requests:#1212]. Move Unicode conversions into UniConversion.Zufu Liu1-1/+0
Move Unicode conversion functions UnicodeFromUTF8 and UTF8FromUTF32Character into UniConversion.
2018-03-22Feature [feature-requests:#1211]. Use pre-computed table for UTF8BytesOfLead.Zufu Liu1-2/+0
Friendlier treatment of invalid UTF-8. Add tests for UniConversion handling invalid UTF-8. Simplify UTF8Classify tests.
2018-03-09Use Position/Line/int more accurately in preparation for large documents.Neil1-6/+6
2018-03-01Mark variables as const where simple.Neil1-49/+49
2018-03-01Use make_unique in preference to new.Neil1-5/+5
From Effective Modern C++ Item 21.
2018-02-02Implement SC_DOCUMENTOPTION_STYLES_NONE.Neil1-1/+2
2018-01-28Replace Sci::clamp with C++ standard std::clamp function.Neil1-1/+1
std::clamp is from C++17.
2018-01-28Use std::abs in preference to abs as std::abs is generic and abs casts to intNeil1-1/+2
which may drop information.
2017-12-13Use explicit typedefs instead of deprecated derivation from std::iterator.Greg Smith1-3/+21
This fixes a C4996 / STL4015 warning from Visual C++ 2017.5 that the std::iterator class template is deprecated in C++17.
2017-10-16Use const for interface CharacterIndexer and its implementation DocumentIndexer.Neil1-3/+3
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-12/+0
interfaces ILexer4 and IDocument.
2017-08-28New header ILoader.h defines ILoader interface as it does not belong in ↵Neil1-0/+1
ILexer.h.
2017-06-22Merge Ilexer and ILexerWithSubStyles into ILexer4 to avoid need for versionNeil1-5/+1
checking in 4.0. Use lvRelease4 ID.