diff options
Diffstat (limited to 'src/Document.cxx')
| -rw-r--r-- | src/Document.cxx | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/src/Document.cxx b/src/Document.cxx index 0f71231b6..c5aad504d 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -600,6 +600,25 @@ int Document::GetLineIndentPosition(int line) {  	return pos;  } +int Document::GetColumn(int pos) { +	int column = 0; +	int line = LineFromPosition(pos); +	if ((line >= 0) && (line < LinesTotal())) { +		for (int i=LineStart(line);i<pos;i++) { +			char ch = cb.CharAt(i); +			if (ch == '\t') +				column = NextTab(column, tabInChars); +			else if (ch == '\r') +				return column; +			else if (ch == '\n') +				return column; +			else +				column++; +		} +	} +	return column; +} +  void Document::Indent(bool forwards, int lineBottom, int lineTop) {  	// Dedent - suck white space off the front of the line to dedent by equivalent of a tab  	for (int line = lineBottom; line >= lineTop; line--) { | 
