aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
AgeCommit message (Collapse)AuthorFilesLines
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.
2017-07-09Bug [#1955]. The data parameter to ILoader::AddData made const.Justin Dailey1-1/+1
2017-06-22Update IDocument for version 4. Drop IDocumentWithLineEnd interface to just haveNeil1-2/+2
IDocument but with all the methods from IDocumentWithLineEnd. This removes version checking (for now). Use dvRelease4 ID. Drop mask argument to StartStyling.
2017-06-22Cast between Sci_Position.h types used for lexers and Position.h types used inNeil1-72/+83
core to allow the Sci_Position.h types to widen to 64-bits.
2017-06-19The default encoding is now UTF-8.Neil1-1/+1
2017-06-12Removed unused functions and methods from Platform.h.Neil1-1/+1
Replaced Platform::Clamp with Sci::clamp but will later change this to std::clamp once on full C++17 compilers. Drop MouseButtonBounce workaround for very early GTK+/Linux.
2017-05-21Use unique_ptr and forward_list to regularize PerLine data structures.Neil1-0/+1
2017-05-10Use unique_ptr fpr Partitioning, RunStyles, SparseVector, PositionCache andNeil1-43/+58
Document.
2017-05-02More consistent use of size_t when converting Unicode formats.Neil1-1/+1
2017-04-29Use std::unique_ptr, std::vector, and move construction to simplify UndoHistoryNeil1-3/+3
and make it easier to modify. Remove out of date warning suppression.
2017-04-22Using unique_ptr to simplify ownership of images, case folder, and list box.Neil1-9/+3
2017-04-22Encapsulate the LexInterface of Document.Neil1-4/+8
2017-04-09Further use of range-for.Neil1-24/+24