aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
AgeCommit message (Collapse)AuthorFilesLines
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.
2016-08-20Make some methods const where reasonable.Neil1-1/+1
2016-04-28C++ 11 <regex> support built by default.Neil1-3/+3
2016-03-26Fix truncation warning in 64-bit build.Neil1-2/+2
2016-01-31Replace expressions to find level number of a fold level with function call.Neil1-18/+18
Simplifies code by removing any precedence issues and is shorter.
2015-12-07Prefer StyleIndexAt over StyleAt to avoid problems with out-of-bounds access forNeil1-2/+2
styles > 0x7f.