@ -38,21 +38,16 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
@@ -38,21 +38,16 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
set { allowCompleteExistingExpression = value ; }
}
protected override void GenerateCompletionData ( TextArea textArea , char charTyped )
{
#if DEBUG
if ( DebugMode ) {
Debugger . Break ( ) ;
}
#endif
/// <summary>
/// Gets/Sets whether code templates should be included in code completion.
/// </summary>
public bool ShowTemplates { get ; set ; }
if ( ! allowCompleteExistingExpression ) {
preSelection = "" ;
if ( charTyped ! = '\0' ) {
preSelection = null ;
}
ExpressionContext context = overrideContext ? ? ExpressionContext . Default ;
AddResolveResults ( ParserService . CtrlSpace ( caretLineNumber , caretColumn , fileName , textArea . Document . TextContent , context ) , context ) ;
void AddTemplates ( TextArea textArea , char charTyped )
{
if ( ! ShowTemplates )
return ;
ICompletionData suggestedData = DefaultIndex > = 0 ? completionData [ DefaultIndex ] : null ;
ICompletionData [ ] templateCompletionData = new TemplateCompletionDataProvider ( ) . GenerateCompletionData ( fileName , textArea , charTyped ) ;
for ( int i = 0 ; i < completionData . Count ; i + + ) {
if ( completionData [ i ] . ImageIndex = = ClassBrowserIconService . KeywordIndex ) {
@ -71,6 +66,28 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
@@ -71,6 +66,28 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
if ( templateCompletionData [ j ] ! = null )
completionData . Add ( templateCompletionData [ j ] ) ;
}
if ( suggestedData ! = null ) {
completionData . Sort ( DefaultCompletionData . Compare ) ;
DefaultIndex = completionData . IndexOf ( suggestedData ) ;
}
}
protected override void GenerateCompletionData ( TextArea textArea , char charTyped )
{
#if DEBUG
if ( DebugMode ) {
Debugger . Break ( ) ;
}
#endif
if ( ! allowCompleteExistingExpression ) {
preSelection = "" ;
if ( charTyped ! = '\0' ) {
preSelection = null ;
}
ExpressionContext context = overrideContext ? ? ExpressionContext . Default ;
AddResolveResults ( ParserService . CtrlSpace ( caretLineNumber , caretColumn , fileName , textArea . Document . TextContent , context ) , context ) ;
AddTemplates ( textArea , charTyped ) ;
return ;
}