[Libreoffice-commits] core.git: Branch 'feature/gsoc-basic-ide-completion-and-other-bits' - basctl/source
Gergo Mocsi
gmocsi91 at gmail.com
Fri Jul 12 02:26:49 PDT 2013
basctl/source/basicide/baside2b.cxx | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
New commits:
commit 84b18461e5fad248dc9a80f90d1e3296722fda9b
Author: Gergo Mocsi <gmocsi91 at gmail.com>
Date: Fri Jul 12 11:18:36 2013 +0200
GSOC work nested reflection fix
Ive fixed the parameter problem: I use the tokens created
by the syntax highlighter (it's struct HighlightPortion),
and put the identiiers to the vector, and reflect them.
Change-Id: I08888e4a8bf00fa987a16466f4a5ac03836e5ee7
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index e62bf60..4d15c48 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -524,7 +524,16 @@ void EditorWindow::KeyInput( const KeyEvent& rKEvt )
OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified
OUString aStr = aLine.copy( std::max(aLine.lastIndexOf(" "), aLine.lastIndexOf("\t"))+1 ); // variable name
OUString sActSub = GetActualSubName( nLine );
- std::vector< OUString > aVect = Split( aStr, '.' );
+ std::vector< OUString > aVect; //= Split( aStr, '.' );
+
+ HighlightPortions aPortions;
+ aHighlighter.getHighlightPortions( nLine, aLine, aPortions );
+ for ( size_t i = 0; i < aPortions.size(); i++ )
+ {
+ HighlightPortion& r = aPortions[i];
+ if( r.tokenType == 1 ) // extract the identifers(methods, base variable)
+ aVect.push_back( aLine.copy(r.nBegin, r.nEnd - r.nBegin) );
+ }
OUString sBaseName = aVect[0];
for( unsigned int i = 0; i < aCodeCompleteCache.size(); ++i)
{
More information about the Libreoffice-commits
mailing list