aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.h
AgeCommit message (Collapse)AuthorFilesLines
2023-03-02Add multithreaded wrap to significantly improve performance of wrapping largeNeil1-0/+5
files.
2023-01-12Feature [feature-requests:#1474] Move EOL string function to Document and returnZufu Liu1-0/+1
string_view.
2022-12-21Bug [#2340]. Avoid repeated call in GetFoldParent for around 10% performanceZufu Liu1-2/+2
gain with Visual C++ 64-bit release mode on 300,000 line file. Remove duplicated code and simplify. GetFoldLevel and thus GetFoldParent can't throw so mark as noexcept.
2022-11-24Add const and noexcept where sensible.Neil1-2/+2
2022-11-22Add SCI_REPLACETARGETMINIMAL to change text without causing unchanged prefix andNeil1-0/+5
suffix to be marked as modified in change history.
2022-11-12Hoist common conversion from UTF-8 byte string into CharacterExtractedNeil1-14/+25
constructor. Move CharacterExtracted out of Document so it can be more widely used.
2022-10-20Change ScintillaBase::AutoCompleteInsert to take a string_view and addNeil1-0/+1
Document::InsertString overload taking a string_view. These changes simplify callers.
2022-10-19Fix noexcept warnings from recent changes.Neil1-0/+1
2022-09-12Remove NotifyLexerChanged notification from DocWatcher.Neil1-2/+0
This is a private interface but could be used by independent platform layers and was exposed by ScintillaDocument in the Qt implementation of ScintillaEdit.
2022-08-09Remove unnecessary semicolons.Neil1-5/+5
2022-07-31Added change history which can display document changes (modified, saved, ...)Neil1-1/+7
in the margin or in the text.
2021-10-21Feature [feature-requests:#1417] Use backward iteration to find space / controlZufu Liu1-1/+1
character and text / punctuation boundaries in SafeSegment as will be simpler and faster in almost all cases. Simplify BreakFinder::Next calling SafeSegment.
2021-09-30Feature [feature-requests:#1416] Remove extra check that is never true andZufu Liu1-1/+1
remove parameter used just for this test.
2021-08-22Follow rule-of-zero / rule-of-5 where reasonable by removing standard operatorsNeil1-1/+1
that are not needed.
2021-08-22Encapsulate an ILexer5* in LexerInstance class to simplify client code.Neil1-8/+28
2021-07-15Feature [feature-requests:#1370] Implement SCI_ALLOCATELINES to allocate indicesZufu Liu1-0/+1
to hold some number of lines. This is an optimization that can decrease reallocation overhead.
2021-07-05Feature [feature-requests:#1408] Check both bytes of potential DBCS characterZufu Liu1-1/+1
before treating as a character.
2021-07-03Feature [feature-requests:#1408] Simplify code, remove IsDBCSTrailByteInvalid.Zufu Liu1-1/+0
Drop temporary test for IsDBCSTrailByteNoExcept.
2021-07-03Feature [feature-requests:#1408] Use positive IsDBCSTrailByteNoExcept functionZufu Liu1-0/+1
instead of negated IsDBCSTrailByteInvalid.
2021-05-28Better exception handling for noexcept methods. More accurate noexcept marking.Neil1-1/+4
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-45/+34
and ScintillaStructures.h using scoped enumerations. Use these headers instead of Scintilla.h internally. External definitions go in the Scintilla namespace and internal definitio0ns in Scintilla::Internal.
2021-05-20Add LevelIsHeader and LevelIsWhitespace as fold levels will become enum classNeil1-0/+8
later so not work well with '&'.
2021-05-08Feature [feature-requests:1373]. Make idle actions smoother by measuringNeil1-1/+1
per-byte and allowing just one line to be processed in a time slice. Very long lines will not distort estimation or block interaction as much.
2021-05-08Feature [feature-requests:1373]. Add methods for refining idle task durations.Zufu Liu1-0/+2
2021-04-05Extract CharClassify::cc as CharacterClass and change to enum class.Neil1-3/+3
2021-03-18Use unique_ptr for CaseFolderForEncoding to show transfer of ownership.Neil1-1/+1
2020-07-16Make EncodingFamily an enum class for more type safety.Neil1-1/+1
2020-07-15Feature [feature-requests:1368]. Add BraceMatchNext API.Zufu Liu1-1/+1
2020-06-12Bug [#2141]. Implement end of line annotations.Prakash Sahni1-1/+7
2020-06-11Use noexcept where safe and maintainable.Neil1-1/+1
2020-05-03Feature [feature-requests:1347]. Add InsertLines method to PerLine interface andNeil1-0/+1
all implementations. This will allow insertion of lines in batches in a future change set. Added tests for PerLine implementations.
2020-04-08Simplify PerLine, remove casts, use noexcept, const, & constexpr where possible.Neil1-8/+8
2020-04-08Feature [feature-requests:1344]. Add methods for iterating through the markerIain Clarke1-0/+2
handles and marker numbers on a line.
2020-03-31Pass argument as unique_ptr to show transfer of ownership. Add const and ↵Neil1-2/+2
noexcept.
2019-12-22Define ILexer5 with methods for retrieving name, ID, and property values.Neil1-1/+1
Implement ILexer5 on object lexers. Implement ILexer5 on LexerSimple wrapper for function lexers.
2019-07-01Use noexcept on Document where reasonable with no effect on external interface.Neil1-33/+34
Adds LengthNoExcept method that copies Length but only for internal use.
2019-07-01Use noexcept in HighlightDelimiter - its a simple struct.Neil1-5/+5
2019-04-26Feature [feature-requests:#1238]. Simplify camel case forcing by checking onlyNeil1-1/+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-0/+3
to optimize speed of character category features.
2019-03-03Use constexpr where reasonable and move groups of static functions into unnamedNeil1-1/+1
namespace.
2019-03-03Use noexcept where reasonable.Neil1-5/+5
2019-03-03Delete standard methods of UndoGroup so it can not be copied.Neil1-0/+5
2018-10-15Extract duration measurement damping and clamping into ActionDuration class soNeil1-1/+21
that it can be reused.
2018-07-10Optional indexing of line starts in UTF-8 documents by UTF-32 code points andNeil1-0/+5
UTF-16 code units added.
2018-06-10Using noexcept for simple functions.Neil1-29/+29
2018-05-21Draw invalid bytes in DBCS when detected as blobs in a similar way to UTF-8.Neil Hodgson1-0/+3
2018-05-14Replace 0 with nullptr.Neil1-4/+4
2018-04-21Tighten definition of regular expression iterators so they are noexcept andNeil1-8/+11
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-3/+4
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-17Add SC_DOCUMENTOPTION_TEXT_LARGE option for documents larger than 2 GigaBytes.Neil1-0/+2
This option is provisional and experimental.