> On May 22, 2015, at 12:46 AM, Filippo Cucchetto <[email protected]> 
> wrote:
> 
> Hi,
> i'm developing a QtCreator plugin for the Nim programming language here 
> (https://github.com/filcuc/QtCreatorNimEditor). Actually i've syntax 
> highlighting and indentation and i would like to start adding auto completion.
> The Nim programming language already provides a server app (nimsuggest)
> to which i can request suggestions/info passing the current file and cursor 
> position. This means that i don't need to create a Nim parser and AST. 
> What are the minimum steps for showing up the QtCreator completion popup and 
> for filling in the the menu entries?
> I've already gave a look to both the QmlEditor and CppEditor plugins so what 
> i need is just the list of classes i should implement and the most important 
> functions (maybe with an overall vision about how they relate to each other).
> 
> Thank you :)
> 

The simplest example that you can find, is probably ProFileEditor, which 
provides completion simply based on a fixed list of keywords.

In ProFileEditorFactory constructor:

     ProFileCompletionAssistProvider *pcap = new 
ProFileCompletionAssistProvider;
    setCompletionAssistProvider(pcap);

ProFileCompletionAssistProvider is a
 class ProFileCompletionAssistProvider : public 
TextEditor::CompletionAssistProvider

and mainly provides an instance of
 class TEXTEDITOR_EXPORT KeywordsCompletionAssistProcessor : public 
IAssistProcessor

which gets the information about the document and position through an 
“AssistInterface” and in turn provides an instance of
 class TEXTEDITOR_EXPORT GenericProposal : public IAssistProposal

which mainly consists of a list of AssistProposalItems

:D

Br, Eike

> -- 
> Filippo Cucchetto
> _______________________________________________
> Qt-creator mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/qt-creator

-- 
Eike Ziller, Senior Software Engineer - The Qt Company GmbH
 
The Qt Company GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 
144331 B

_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qt-creator

Reply via email to