aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-06-10Backport: Using noexcept for simple functions.Neil1-6/+6
Backport of changeset 7029:c726541dbd11.
2018-06-10Backport: Updated the code and comment for running a regex over multiple ↵Neil1-8/+14
lines at once 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. Backport of changeset 7028:9227461c9330.
2018-05-25Backport: Draw invalid bytes in DBCS when detected as blobs in a similar way ↵mitchell1-0/+87
to UTF-8. Backport of changeset 6962:514fde42ccbf, but without std::string_view.
2018-05-16Backport: Use noexcept method to preserve noexcept.Neil1-1/+1
Backport of changeset 6956:beee37b055d6.
2018-05-16Backport: Fix regex crash reported with libstdc++ on macOS that occursNeil Hodgson1-7/+0
when the regex has a locale imbued. Backport of changeset 6953:85ff33e92309.
2018-05-06Backport: Use <chrono> for platform-independent timing and remove ↵mitchell1-4/+6
ElapsedTime. Also use #if for painting measurement as there are 7 sections of code to enable. Backport of changeset 6741:af5d9064c25c.
2018-04-22Backport: Remove casts between char and unsigned char where possible.Neil1-7/+7
Backport of changeset 6731:8e06234817c0.
2018-04-21Backport: Tighten definition of regular expression iterators so they are ↵Neil1-69/+96
noexcept and 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. Backport of changeset 6724:f2dfdc0dddd3.
2018-04-19Backport: Casting changed in many places, due to change to 64-bit variables ↵Neil1-91/+94
for 64-bit 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. Backport of changeset 6705:5c0a80740b8c.
2018-04-19Backport: Remove casts by using harmonized types. Drop NUL termination that ↵Neil1-16/+13
is not needed. Backport of changeset 6701:6be1be362cfc.
2018-05-05Backport: Add SC_DOCUMENTOPTION_TEXT_LARGE option for documents larger than ↵mitchell1-3/+8
2 GigaBytes. This option is provisional and experimental. Backport of changesets 6696:9729ff36c5b1 and 6723:cffe824ab55e. Also added '#include <cstddef>' to top of src/RESearch.cxx to fix 32-bit build error.
2018-03-28Backport: Templatize decorations to allow 32-bit or 64-bit positions.Neil1-1/+1
Backport of changeset 6693:7247d1c9c27f.
2018-04-16Backport: Determine if line start or end pattern before loop.Neil1-5/+7
Backport of changeset 6692:1868a36cb306.
2018-04-13Backport: Use 'override' for methods that are overridden.Neil1-28/+28
Group some method declarations and definitions for AddRef/Release and PerLine. Backport of changeset 6684:bd4aae09fb4b.
2018-04-13Backport: Fix bug with regular expression searches failing to match at line ↵Neil1-16/+4
start or end. This was a work-around for infinite loops when replacing empty matches and this is now the application's responsibility. Backport of changeset 6683:bcae0331720b.
2018-04-11Backport: Remove workaround for problems with noexcept.Neil1-10/+2
Backport of changeset 6681:84298b2b66f2.
2018-05-05Backport: Split decorations into interface and implementation.mitchell1-4/+6
Backport of changeset 6658:693e737f3155.
2018-03-27Backport: Return a FillResult struct from RunStyles::FillRange instead of ↵Neil1-4/+4
modifying arguments as that is clumsy when converting types. Backport of changeset 6657:43515e7709c6.
2018-05-05Backport: Feature [feature-requests:#1212]. Move Unicode conversions into ↵mitchell1-1/+0
UniConversion. Move Unicode conversion functions UnicodeFromUTF8 and UTF8FromUTF32Character into UniConversion. Backport of changeset 6645:463fa6965d9a.
2018-05-05Backport: Feature [feature-requests:#1211]. Use pre-computed table for ↵mitchell1-2/+0
UTF8BytesOfLead. Friendlier treatment of invalid UTF-8. Add tests for UniConversion handling invalid UTF-8. Simplify UTF8Classify tests. Backport of changeset 6643:ebbb4e5aaf93.
2018-03-09Backport: Use Position/Line/int more accurately in preparation for large ↵Neil1-6/+6
documents. Backport of changeset 6480:f2650eaa75e6.
2018-03-01Backport: Mark variables as const where simple.Neil1-49/+49
Backport of changeset 6470:d78a4b522662.
2018-02-02Backport: Implement SC_DOCUMENTOPTION_STYLES_NONE.Neil1-1/+2
Backport of changeset 6448:431b814a54a6.
2018-01-28Backport: Use std::abs in preference to abs as std::abs is generic and abs ↵Neil1-1/+2
casts to int which may drop information. Backport of changeset 6434:ed27432729c3.
2017-12-13Backport: Use explicit typedefs instead of deprecated derivation from ↵Greg Smith1-3/+21
std::iterator. This fixes a C4996 / STL4015 warning from Visual C++ 2017.5 that the std::iterator class template is deprecated in C++17. Backport of changeset 6421:fd2f856b8d58.
2017-10-16Backport: Use const for interface CharacterIndexer and its implementation ↵Neil1-3/+3
DocumentIndexer. Backport of changeset 6401:fccfa635ff0c.
2017-09-11Backport: The Scintilla namespace is always active for internal symbols and ↵Neil1-12/+0
for the lexer and document interfaces. Backport of changeset 6388:d62863ae40a3.
2017-08-28Backport: New header ILoader.h defines ILoader interface as it does not ↵Neil1-0/+1
belong in ILexer.h. Backport of changeset 6383:9c8257ff60b7.
2017-07-09Backport: Bug [#1955]. The data parameter to ILoader::AddData made const.Justin Dailey1-1/+1
Backport of changeset 6340:52f12c3eebcd.
2017-06-22Backport: Cast between Sci_Position.h types used for lexers and Position.h ↵Neil1-72/+83
types used in core to allow the Sci_Position.h types to widen to 64-bits. Backport of changeset 6324:95346e626cf8.
2017-06-19Backport: The default encoding is now UTF-8.Neil1-1/+1
Backport of changeset 6320:8d56eaef4f0a.
2017-06-12Backport: Removed unused functions and methods from Platform.h.Neil1-1/+1
Replaced Platform::Clamp with Sci::clamp. Drop MouseButtonBounce workaround for very early GTK+/Linux. Backported from changeset 6307:7030530a9a0f.
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
2017-04-06Added const where possible.Neil1-47/+47
2017-04-01Standardize on C++ headers, remove headers that aren't needed and add <cstddef>Neil1-5/+5
where it may be needed in the future.
2017-03-31Prefer standard min/max over Platform's as adapts to changed types.Neil1-3/+3
2017-03-31Hide decorations details a little.Neil1-0/+4
2017-03-31Using Sci::Position and Sci::Line to mark variables that are document positionsNeil1-215/+215
and lines.
2017-03-07Avoid potential problems with memcmp reading past end of object.Neil1-2/+6
2017-03-06Use several C++11 features as examples so problems with these features are seen.Vicente1-3/+3
Features used are move constructor, unique_ptr, deleted functions, enum class, lambda expression, and range for loop.
2017-03-04Use C++11 keyword "override" for methods that override a base class.Neil1-6/+6
2017-01-22Remove extraneous "void".Neil1-1/+1
2016-11-07Specify 'noexcept' to use Clang with GNU <regex>.Neil1-2/+10
Since 'noexcept' is not available with all compilers, restrict it to cases where needed.
2016-10-06Word selection, navigation, and manipulation is now performed on charactersNeil1-118/+344
instead of bytes leading to more natural behaviour for multi-byte encodings like UTF-8.