Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

Python Code Completion

<< < (4/12) > >>

oBFusCATed:
Yes, this is probably the first step.

MortenMacFly:

--- Quote from: dmoore on October 18, 2012, 02:52:12 pm ---What happens with Fortran files?

--- End quote ---
I recall a chat I had with the Fortran plugin maintainer. Maybe you should ask him first, before implementing such. IIRC he solved it somehow and provided a patch. Sore there might be an API already in place for that.

dmoore:

--- Quote from: MortenMacFly on October 18, 2012, 04:33:41 pm ---
--- Quote from: dmoore on October 18, 2012, 02:52:12 pm ---What happens with Fortran files?

--- End quote ---
I recall a chat I had with the Fortran plugin maintainer. Maybe you should ask him first, before implementing such. IIRC he solved it somehow and provided a patch. Sore there might be an API already in place for that.

--- End quote ---

Did we accept a patch for this or does he just maintain patches for the repackaged C::B he releases?

MortenMacFly:

--- Quote from: dmoore on October 18, 2012, 05:58:50 pm ---Did we accept a patch for this or does he just maintain patches for the repackaged C::B he releases?

--- End quote ---
IIRC he sent me something. But honestly I don't recall what I did with it because it conflicted with the re-factoring of the SmartIdent feature. Its best to ask him again. I cannot have a closer look atm...

dmoore:
That's fine I'll follow up with him later. I see he registers handlers for cbEVT_COMPLETE_CODE and cbEVT_SHOW_CALL_TIP which the CC plugin (and not the SDK!) post messages to. I have now added the same handlers in the python code completion plugin.

Attached is a patch to get rid of some of the noise from the CC plugin on python and fortran files, which is really just a sequence of lexer checks scattered throughout the code like this:


--- Code: ---            //WORKAROUND FOR PYTHON/FORTRAN
            cbStyledTextCtrl *control = ed->GetControl();
            if (control->GetLexer() == wxSCI_LEX_PYTHON || control->GetLexer() == wxSCI_LEX_F77 || control->GetLexer() == wxSCI_LEX_FORTRAN)
                return;

--- End code ---

Realize this is a bit of a hack, but it will do the job until we refactor parts of CC to the SDK.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version