diff options
| author | nyamatongwe <unknown> | 2003-03-28 10:30:22 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2003-03-28 10:30:22 +0000 | 
| commit | 4280d26bd57c1af6fd4f0a66145ce771dbe426dd (patch) | |
| tree | b4d345ea3d2742f7d94ccf976fb18528cb7c9ea2 /src/Document.cxx | |
| parent | bf2653e0515d95d3aac8053147e143da9acb30de (diff) | |
| download | scintilla-mirror-4280d26bd57c1af6fd4f0a66145ce771dbe426dd.tar.gz | |
Jakub's paragraph movement commands.
Diffstat (limited to 'src/Document.cxx')
| -rw-r--r-- | src/Document.cxx | 29 | 
1 files changed, 28 insertions, 1 deletions
| diff --git a/src/Document.cxx b/src/Document.cxx index 635b380f9..255c9ee11 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -720,6 +720,33 @@ void Document::ConvertLineEnds(int eolModeSet) {  	EndUndoAction();  } +int Document::ParaDown(int pos) { +	int line = LineFromPosition(pos); +	while (line < LinesTotal() && LineStart(line) != LineEnd(line)) { // skip non-empty lines +		line++; +	} +	while (line < LinesTotal() && LineStart(line) == LineEnd(line)) { // skip empty lines +		line++; +	} +	if (line < LinesTotal()) +		return LineStart(line); +	else // end of a document +		return LineEnd(line-1); +} + +int Document::ParaUp(int pos) { +	int line = LineFromPosition(pos); +	line--; +	while (line >= 0 && LineStart(line) == LineEnd(line)) { // skip empty lines +		line--; +	} +	while (line >= 0 && LineStart(line) != LineEnd(line)) { // skip non-empty lines +		line--; +	} +	line++; +	return LineStart(line); +} +  Document::charClassification Document::WordCharClass(unsigned char ch) {  	if ((SC_CP_UTF8 == dbcsCodePage) && (ch >= 0x80))  		return ccWord; @@ -1328,4 +1355,4 @@ int Document::ExtendStyleRange(int pos, int delta) {  			pos++;  	}  	return pos; -}
\ No newline at end of file +} | 
