private string GetPreviousWord()
{
int cursorPos = scintillaControl1.CurrentPos;
int lineNumber = scintillaControl1.LineFromPosition(cursorPos);
int startOfLine = scintillaControl1.PositionFromLine(lineNumber);
string lineText = scintillaControl1.GetLine(lineNumber);
int offset = (cursorPos - startOfLine) - 1;
if ((offset > 0) && (lineText[offset] == '.'))
{
offset--;
}
int numChars = 0;
while (offset >= 0)
{
if ((lineText[offset] == '_') || Char.IsLetterOrDigit(lineText, offset))
{
offset--;
numChars++;
}
else
{
break;
}
}
offset++;
return lineText.Substring(offset, numChars);
}