aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/CellBuffer.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-07-10Optional indexing of line starts in UTF-8 documents by UTF-32 code points andNeil1-6/+328
UTF-16 code units added.
2018-05-14Include <string_view> to allow future use in Platform interface and Unicode.Neil1-0/+1
2018-04-28Delete standard functions on classes where there could be attempts to copy.Neil1-0/+5
2018-04-24Feature [feature-requests:#1215]. Make Action move constructor noexcept and useNeil1-8/+0
default implementation.
2018-04-22Remove casts between char and unsigned char where possible.Neil1-1/+1
2018-04-21Tighten definition of regular expression iterators so they are noexcept andNeil1-13/+13
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-2/+6
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-19Casts that avoid warnings if Position and Line are different sizes.Neil1-2/+2
2018-04-19Remove potential allocation in destructor which could have thrown.Neil1-1/+0
2018-04-19Remove unnecessary extra allocation.Neil1-2/+0
2018-04-17Add SC_DOCUMENTOPTION_TEXT_LARGE option for documents larger than 2 GigaBytes.Neil1-2/+15
This option is provisional and experimental.
2018-04-17Templatize LineVector so it can later be switched between 32-bits and 64-bits.Neil1-8/+9
2018-04-14Make some changes recommended by clang-tidy.Neil Hodgson1-1/+1
2018-03-03Split LineVector into interface and implementation classes to allow futureNeil1-58/+84
choice between 32-bit and 64-bit position implementations.
2018-03-01Mark variables as const where simple.Neil1-4/+4
2018-03-01Use make_unique in preference to new.Neil1-1/+1
From Effective Modern C++ Item 21.
2018-02-02Implement SC_DOCUMENTOPTION_STYLES_NONE.Neil1-5/+22
2018-01-26Extend SplitVector to allow more than 2 billion elements on 64-bit systems.Neil1-2/+2
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-2/+0
interfaces ILexer4 and IDocument.
2017-04-29Use std::unique_ptr, std::vector, and move construction to simplify UndoHistoryNeil1-46/+22
and make it easier to modify. Remove out of date warning suppression.
2017-04-22Include <memory> for std::unique_ptr.Neil1-0/+1
2017-04-07Check index before checking value at index.Neil1-2/+2
2017-04-06Added const where possible.Neil1-16/+16
2017-04-01Standardize on C++ headers, remove headers that aren't needed and add <cstddef>Neil1-4/+5
where it may be needed in the future.
2017-03-31Using Sci::Position and Sci::Line to mark variables that are document positionsNeil1-37/+37
and lines.
2015-12-31Treat Unicode line ends like common line ends when maintaining fold state.Neil1-0/+19
2015-07-27Add Position.h as a place-holder and to allow #include "Position.h" in source.Neil1-0/+1
2015-02-16Fix bugs caused by deleting text with undo collection off when entering IME ↵Neil Hodgson1-0/+5
composition mode. This deleted text isn't in the undo history and it isn't in the document so can never be recovered so makes it impossible to correctly perform undo. Add logging for unexpected situations and throw an exception when undo can't be performed. Ensure empty marked text range is always in canonical (NSNotFound,0) form.
2014-10-20Optimize retrieval of empty range.Neil1-1/+1
2014-07-18Added the tentative undo feature. This is useful for IMEs that want to displayNeil1-1/+39
and manipulate a character being composed, but may then commit or remove it leaving no history in undo of the intermediate forms.
2014-05-24Removing style byte indicators.Neil1-7/+6
2013-10-18Avoid a spurious warning from Visual Studio 2013 Code Analysis.Neil1-0/+4
2013-07-21Normalising order of language headers.Neil1-2/+2
2013-07-03Make CellBuffer::DeleteChars return a pointer to the deleted data evenNeil1-6/+9
when deleting all of the buffer.
2013-07-03Restore return of data from InsertString/DeleteChars.nyamatongwe1-6/+5
2013-05-24Made methods const where they can be and are logically const as well.nyamatongwe1-3/+3
2013-05-03Moved allocation of data owned by Action into Action::Create.nyamatongwe1-12/+10
Made more variables const.
2013-04-19Using std::fill instead of a loop is much faster. As much as 4x on a large ↵nyamatongwe1-0/+2
block.
2013-01-26Fixed unused value warning.nyamatongwe1-2/+1
2013-01-19Support the three Unicode line ends NEL, LS, and PS in CellBuffer, Document,nyamatongwe1-7/+108
Editor and the message interface. Will only be turned on for lexers that support Unicode line ends.
2012-05-26Add GetRangePointer and GetGapPosition methods.nyamatongwe1-0/+8
2010-09-25Optimization of line layout by minimizing calls in Editor::LayoutLine and ↵nyamatongwe1-0/+13
avoiding case force processing unless at least one style uses a case force option.
2010-09-24Added GetRange method to SplitVector as fast way to retrieve elements.nyamatongwe1-4/+1
2010-05-05Made some methods const.nyamatongwe1-2/+2
2010-05-04Changed insertion of multi-line text so that markers are moved down.nyamatongwe1-1/+0
See bug #2986727.
2010-04-19Potential fix to bug #974009 and #2986727 Markers don't move when return isnyamatongwe1-6/+10
hit at start of line.
2010-03-13Adding const to methods where possible.nyamatongwe1-2/+2
2010-02-17Formatting whitespace.nyamatongwe1-3/+3
2010-01-19Fully intialize Action.nyamatongwe1-0/+1
2009-07-12Since now using exceptions, don't check result from new.nyamatongwe1-2/+0