aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/ILexer.h8
-rw-r--r--lexers/LexEDIFACT.cxx4
-rw-r--r--lexlib/LexAccessor.h21
-rw-r--r--lexlib/StyleContext.h2
-rw-r--r--qt/ScintillaEdit/ScintillaDocument.cpp4
-rw-r--r--qt/ScintillaEdit/ScintillaDocument.h2
-rw-r--r--src/Document.cxx4
-rw-r--r--src/Document.h6
-rw-r--r--src/Editor.cxx6
9 files changed, 20 insertions, 37 deletions
diff --git a/include/ILexer.h b/include/ILexer.h
index f01029178..5680acb4e 100644
--- a/include/ILexer.h
+++ b/include/ILexer.h
@@ -20,7 +20,7 @@ namespace Scintilla {
#define SCI_METHOD
#endif
-enum { dvOriginal=0, dvLineEnd=1 };
+enum { dvRelease4=2 };
class IDocument {
public:
@@ -35,7 +35,7 @@ public:
virtual int SCI_METHOD SetLevel(Sci_Position line, int level) = 0;
virtual int SCI_METHOD GetLineState(Sci_Position line) const = 0;
virtual int SCI_METHOD SetLineState(Sci_Position line, int state) = 0;
- virtual void SCI_METHOD StartStyling(Sci_Position position, char mask) = 0;
+ virtual void SCI_METHOD StartStyling(Sci_Position position) = 0;
virtual bool SCI_METHOD SetStyleFor(Sci_Position length, char style) = 0;
virtual bool SCI_METHOD SetStyles(Sci_Position length, const char *styles) = 0;
virtual void SCI_METHOD DecorationSetCurrentIndicator(int indicator) = 0;
@@ -45,10 +45,6 @@ public:
virtual bool SCI_METHOD IsDBCSLeadByte(char ch) const = 0;
virtual const char * SCI_METHOD BufferPointer() = 0;
virtual int SCI_METHOD GetLineIndentation(Sci_Position line) = 0;
-};
-
-class IDocumentWithLineEnd : public IDocument {
-public:
virtual Sci_Position SCI_METHOD LineEnd(Sci_Position line) const = 0;
virtual Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const = 0;
virtual int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const = 0;
diff --git a/lexers/LexEDIFACT.cxx b/lexers/LexEDIFACT.cxx
index 63805b04e..c21351bf5 100644
--- a/lexers/LexEDIFACT.cxx
+++ b/lexers/LexEDIFACT.cxx
@@ -125,7 +125,7 @@ void LexerEDIFACT::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDoc
// Style buffer, so we're not issuing loads of notifications
LexAccessor styler (pAccess);
- pAccess->StartStyling(posCurrent, '\377');
+ pAccess->StartStyling(posCurrent);
styler.StartSegment(posCurrent);
Sci_Position posSegmentStart = -1;
@@ -188,7 +188,7 @@ void LexerEDIFACT::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDoc
if (posSegmentStart == -1)
return;
- pAccess->StartStyling(posSegmentStart, -1);
+ pAccess->StartStyling(posSegmentStart);
pAccess->SetStyleFor(posFinish - posSegmentStart, SCE_EDI_BADSEGMENT);
}
diff --git a/lexlib/LexAccessor.h b/lexlib/LexAccessor.h
index 064a17581..0cf6e8ce0 100644
--- a/lexlib/LexAccessor.h
+++ b/lexlib/LexAccessor.h
@@ -79,11 +79,8 @@ public:
}
return buf[position - startPos];
}
- IDocumentWithLineEnd *MultiByteAccess() const {
- if (documentVersion >= dvLineEnd) {
- return static_cast<IDocumentWithLineEnd *>(pAccess);
- }
- return 0;
+ IDocument *MultiByteAccess() const {
+ return pAccess;
}
/** Safe version of operator[], returning a defined value for invalid position. */
char SafeGetCharAt(Sci_Position position, char chDefault=' ') {
@@ -120,17 +117,7 @@ public:
return pAccess->LineStart(line);
}
Sci_Position LineEnd(Sci_Position line) {
- if (documentVersion >= dvLineEnd) {
- return (static_cast<IDocumentWithLineEnd *>(pAccess))->LineEnd(line);
- } else {
- // Old interface means only '\r', '\n' and '\r\n' line ends.
- Sci_Position startNext = pAccess->LineStart(line+1);
- const char chLineEnd = SafeGetCharAt(startNext-1);
- if (chLineEnd == '\n' && (SafeGetCharAt(startNext-2) == '\r'))
- return startNext - 2;
- else
- return startNext - 1;
- }
+ return pAccess->LineEnd(line);
}
int LevelAt(Sci_Position line) const {
return pAccess->GetLevel(line);
@@ -153,7 +140,7 @@ public:
}
// Style setting
void StartAt(Sci_PositionU start) {
- pAccess->StartStyling(start, '\377');
+ pAccess->StartStyling(start);
startPosStyling = start;
}
Sci_PositionU GetStartSegment() const {
diff --git a/lexlib/StyleContext.h b/lexlib/StyleContext.h
index a536822e2..abfc07318 100644
--- a/lexlib/StyleContext.h
+++ b/lexlib/StyleContext.h
@@ -18,7 +18,7 @@ namespace Scintilla {
// syntactically significant. UTF-8 avoids this as all trail bytes are >= 0x80
class StyleContext {
LexAccessor &styler;
- IDocumentWithLineEnd *multiByteAccess;
+ IDocument *multiByteAccess;
Sci_PositionU endPos;
Sci_PositionU lengthDocument;
diff --git a/qt/ScintillaEdit/ScintillaDocument.cpp b/qt/ScintillaEdit/ScintillaDocument.cpp
index 076292c95..b7b6d8239 100644
--- a/qt/ScintillaEdit/ScintillaDocument.cpp
+++ b/qt/ScintillaEdit/ScintillaDocument.cpp
@@ -217,8 +217,8 @@ int ScintillaDocument::lines_total() {
return (static_cast<Document *>(pdoc))->LinesTotal();
}
-void ScintillaDocument::start_styling(int position, char flags) {
- (static_cast<Document *>(pdoc))->StartStyling(position, flags);
+void ScintillaDocument::start_styling(int position) {
+ (static_cast<Document *>(pdoc))->StartStyling(position);
}
bool ScintillaDocument::set_style_for(int length, char style) {
diff --git a/qt/ScintillaEdit/ScintillaDocument.h b/qt/ScintillaEdit/ScintillaDocument.h
index 510127f94..ddb246d6c 100644
--- a/qt/ScintillaEdit/ScintillaDocument.h
+++ b/qt/ScintillaEdit/ScintillaDocument.h
@@ -63,7 +63,7 @@ public:
int line_end_position(int pos);
int length();
int lines_total();
- void start_styling(int position, char flags);
+ void start_styling(int position);
bool set_style_for(int length, char style);
int get_end_styled();
void ensure_styled_to(int position);
diff --git a/src/Document.cxx b/src/Document.cxx
index ac4322e1b..209060e5e 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -2033,8 +2033,8 @@ int Document::GetCharsOfClass(CharClassify::cc characterClass, unsigned char *bu
return charClass.GetCharsOfClass(characterClass, buffer);
}
-void SCI_METHOD Document::StartStyling(Sci_Position position, char) {
- endStyled = position;
+void SCI_METHOD Document::StartStyling(Sci_Position position) {
+ endStyled = static_cast<Sci::Position>(position);
}
bool SCI_METHOD Document::SetStyleFor(Sci_Position length, char style) {
diff --git a/src/Document.h b/src/Document.h
index fd72c56c6..520755ae3 100644
--- a/src/Document.h
+++ b/src/Document.h
@@ -195,7 +195,7 @@ struct RegexError : public std::runtime_error {
/**
*/
-class Document : PerLine, public IDocumentWithLineEnd, public ILoader {
+class Document : PerLine, public IDocument, public ILoader {
public:
/** Used to pair watcher pointer with user data. */
@@ -286,7 +286,7 @@ public:
virtual void RemoveLine(Sci::Line line);
int SCI_METHOD Version() const {
- return dvLineEnd;
+ return dvRelease4;
}
void SCI_METHOD SetErrorStatus(int status);
@@ -412,7 +412,7 @@ public:
void SetDefaultCharClasses(bool includeWordClass);
void SetCharClasses(const unsigned char *chars, CharClassify::cc newCharClass);
int GetCharsOfClass(CharClassify::cc characterClass, unsigned char *buffer) const;
- void SCI_METHOD StartStyling(Sci_Position position, char mask);
+ void SCI_METHOD StartStyling(Sci_Position position);
bool SCI_METHOD SetStyleFor(Sci_Position length, char style);
bool SCI_METHOD SetStyles(Sci_Position length, const char *styles);
Sci::Position GetEndStyled() const { return endStyled; }
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 5a200e952..bf81bb8ea 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -2105,7 +2105,7 @@ void Editor::ClearAll() {
void Editor::ClearDocumentStyle() {
pdoc->decorations.DeleteLexerDecorations();
- pdoc->StartStyling(0, '\377');
+ pdoc->StartStyling(0);
pdoc->SetStyleFor(pdoc->Length(), 0);
cs.ShowAll();
SetAnnotationHeights(0, pdoc->LinesTotal());
@@ -5549,7 +5549,7 @@ void Editor::AddStyledText(char *buffer, Sci::Position appendLength) {
for (i = 0; i < textLength; i++) {
text[i] = buffer[i*2+1];
}
- pdoc->StartStyling(CurrentPosition(), static_cast<unsigned char>(0xff));
+ pdoc->StartStyling(CurrentPosition());
pdoc->SetStyles(textLength, text.c_str());
SetEmptySelection(sel.MainCaret() + lengthInserted);
}
@@ -6390,7 +6390,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
return pdoc->GetLineEndTypesActive();
case SCI_STARTSTYLING:
- pdoc->StartStyling(static_cast<int>(wParam), static_cast<char>(lParam));
+ pdoc->StartStyling(static_cast<int>(wParam));
break;
case SCI_SETSTYLING: