diff options
| -rw-r--r-- | include/ILexer.h | 8 | ||||
| -rw-r--r-- | lexers/LexEDIFACT.cxx | 4 | ||||
| -rw-r--r-- | lexlib/LexAccessor.h | 21 | ||||
| -rw-r--r-- | lexlib/StyleContext.h | 2 | ||||
| -rw-r--r-- | qt/ScintillaEdit/ScintillaDocument.cpp | 4 | ||||
| -rw-r--r-- | qt/ScintillaEdit/ScintillaDocument.h | 2 | ||||
| -rw-r--r-- | src/Document.cxx | 4 | ||||
| -rw-r--r-- | src/Document.h | 6 | ||||
| -rw-r--r-- | src/Editor.cxx | 6 | 
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: | 
