Author Topic: (Minor) improvement of CodeCompletion?  (Read 16055 times)

Offline takeshi miya

  • Lives here!
  • ****
  • Posts: 1487
Re: (Minor) improvement of CodeCompletion?
« Reply #15 on: November 19, 2005, 02:02:40 am »
I researched the other day for heavy full real open source C++ parsers and found more or less this:

Synopsis
Developed for the Synopsis autodoc generation app.

Elsa
Elsa can parse most C++ "in the wild". It has been tested with some notable large programs, including Mozilla, Qt, ACE, and itself.

ANTLR C++/CodeStore
Modified a little this open-source multi-platform IDE: VCFBuilder.
ANTLR is one of the most popular and well know parser generators out there.

Assist++
Developed for this another open-source cross-platform IDE: Ultimate++.


And these C/C++ pre-processor parsers:

ucpp
Wave


All of the parsers mentioned uses Abstact Syntax Trees.
The best ones seems to be ANTLR and Elsa.

Ctags is not a C++ parser, and doesn't have the same functionality, so it would belong to another plugin.
« Last Edit: November 19, 2005, 02:05:21 am by Takeshi Miya »

Offline anonuser

  • Multiple posting newcomer
  • *
  • Posts: 44
Re: (Minor) improvement of CodeCompletion?
« Reply #16 on: November 19, 2005, 02:21:15 am »
Gotcha, but nice work, now do you know how hard it would be to make a plugin that would take advantage of those engines?

Offline takeshi miya

  • Lives here!
  • ****
  • Posts: 1487
Re: (Minor) improvement of CodeCompletion?
« Reply #17 on: November 19, 2005, 02:49:22 am »
I don't think it would be really hard, all those parsers are written in good C++.
I compiled ANTLR (CodeStore) importing a MSVC workspace in C::B and it compiled almost out-of-the-box. Didn't tried the others yet.

I would like to know what do you guys think about what's best path:
-Modify the actual CodeCompletion plugin to use one of these parsers.
-Try to improve the current C::B parser.
-Create a new CodeCompletion plugin for one of these parsers, thus having two CodeCompletion plugins in the meantime.

Offline anonuser

  • Multiple posting newcomer
  • *
  • Posts: 44
Re: (Minor) improvement of CodeCompletion?
« Reply #18 on: November 19, 2005, 03:07:47 am »
I'd think rip out the current code completion plugin and rewrite using one of thses parsers.
Add in some cool features like
argument highlighting.

A major improvment would to make sure the the popup for code completion has no window border.

Pressing tab to complete would also rock.


Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9488
Re: (Minor) improvement of CodeCompletion?
« Reply #19 on: November 19, 2005, 03:10:08 am »
Pressing tab to complete would also rock.
Try CTRL+Space!

Morten.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline anonuser

  • Multiple posting newcomer
  • *
  • Posts: 44
Re: (Minor) improvement of CodeCompletion?
« Reply #20 on: November 19, 2005, 03:20:49 am »
After you ctrl+space you need to press enter to complete. Why not tab?

Offline mmkider

  • Almost regular
  • **
  • Posts: 150
Re: (Minor) improvement of CodeCompletion?
« Reply #21 on: November 19, 2005, 04:28:50 am »
But CTRL+Space   had to be using another   purpose     in non-english ctiy.

Offline anonuser

  • Multiple posting newcomer
  • *
  • Posts: 44
Re: (Minor) improvement of CodeCompletion?
« Reply #22 on: November 19, 2005, 06:19:31 am »
pardon?
I'm talking about confirming auto-completion with tab as well as enter that way you can ctrl+space then press tab to confirm. Its just something I've picked up in other development platforms (codeforge, eclipse +CDT, Visual Studio)