forked from qt-creator/qt-creator
		
	completion: enable multiple completors for different use cases.
Introduce CompletionPolicy enum, use 'TextCompletion' for the new plain text completion, and 'SemanticCompletion' or 'QuickFixCompletion' for the existing cases. Reviewed-by: Erik Verbruggen
This commit is contained in:
		@@ -653,8 +653,15 @@ static int startOfOperator(TextEditor::ITextEditable *editor,
 | 
			
		||||
    return start;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool CppCodeCompletion::supportsEditor(TextEditor::ITextEditable *editor)
 | 
			
		||||
{ return m_manager->isCppEditor(editor); }
 | 
			
		||||
bool CppCodeCompletion::supportsPolicy(TextEditor::CompletionPolicy policy) const
 | 
			
		||||
{
 | 
			
		||||
    return policy == TextEditor::SemanticCompletion;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool CppCodeCompletion::supportsEditor(TextEditor::ITextEditable *editor) const
 | 
			
		||||
{
 | 
			
		||||
    return m_manager->isCppEditor(editor);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TextEditor::ITextEditable *CppCodeCompletion::editor() const
 | 
			
		||||
{ return m_editor; }
 | 
			
		||||
 
 | 
			
		||||
@@ -79,7 +79,8 @@ public:
 | 
			
		||||
    int startPosition() const;
 | 
			
		||||
    bool shouldRestartCompletion();
 | 
			
		||||
    QList<TextEditor::CompletionItem> getCompletions();
 | 
			
		||||
    bool supportsEditor(TextEditor::ITextEditable *editor);
 | 
			
		||||
    bool supportsEditor(TextEditor::ITextEditable *editor) const;
 | 
			
		||||
    bool supportsPolicy(TextEditor::CompletionPolicy policy) const;
 | 
			
		||||
    bool triggersCompletion(TextEditor::ITextEditable *editor);
 | 
			
		||||
    int startCompletion(TextEditor::ITextEditable *editor);
 | 
			
		||||
    void completions(QList<TextEditor::CompletionItem> *completions);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user