Author Topic: inspiration  (Read 14504 times)

abductee

  • Guest
inspiration
« on: May 23, 2007, 12:04:15 am »
well, hello!
after using one of the recent nightly builds of codeblocks, i might conclude there seems to be a god after all. but anyway, the topic is code-completion. i've been using a very neat plugin for the last couple of years called "Visual assist". imho it is the best you cen aget at the moment in terms of usuability and so on. i myself have been using it since like 1999 or 2000? dunno. around the visual studio 5/6 days anyway. my point is:
nobody needds to reinvent the wheel. this tool has a usuability that rocks( i tested it even on some older linux guys and they liked it :) but it is only available for M$ Visual Studio. when i recently switched to linux and saw all the IDEs available, it took me some times to realize that all those IDEs see syntax highlighting and code completion as two seperate features. ( which was really kinda like shocking... ) anyway, check it out: www.wholetomato.com. a free trial is available there. and they have lots of cool descriptions on their webpage. i would really really really like to see a similar feature in codeblocks, and wold be willing do do some testing. so what do you guys think?

Offline TDragon

  • Lives here!
  • ****
  • Posts: 943
    • TDM-GCC
Re: inspiration
« Reply #1 on: May 23, 2007, 12:09:16 am »
Think about what? I agree, a similar feature in Code::Blocks would be beyond excellent. Just take a gander around the other threads in this forum, however, to see precisely how difficult creating such a tool really is.
https://jmeubank.github.io/tdm-gcc/ - TDM-GCC compiler suite for Windows (GCC 9.2.0 2020-03-08, 32/64-bit, no extra DLLs)

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
About Free Software and licensing issues
« Reply #2 on: May 23, 2007, 10:43:26 pm »
Dear Abductee:

Yes, there's no need to reinvent the wheel. However, you just said it, they have a *FREE TRIAL*. Nothing guarantees that it will remain free.

Code::Blocks is an IDE licensed with the GPL, it means it's "Free (as in freedom) Software". This is why I like it. Anybody can make changes to it and contribute. Let's assume that we make Visual Assist a default part of C::B. And then the Visual Assist guys stop licensing it. We would end up with a crippled IDE. Therefore, we need to ensure that for C::B to remain usable, all the software it depends on must be redistributed and modified freely (for more info, check out http://www.fsf.org/ about software freedom). So, yes, there IS a need to reinvent the wheel. Because some of the wheels out there are patented and/or license-restricted. We need a wheel that EVERYBODY can use.

Now, If you're suggesting to make a visualassist plugin to make it work with Code::Blocks, you're welcome to do so. (just be careful with the licensing). Or why not ask the Visual Assist guys to make a C::B plugin? That would be neat! :)

Offline LRN

  • Single posting newcomer
  • *
  • Posts: 3
Re: inspiration
« Reply #3 on: July 09, 2007, 05:36:42 pm »
Yeah...abductee is very...ignorant about free/nonfree software etc.
But.
Quote
all those IDEs see syntax highlighting and code completion as two seperate features
He got a point.
C::B code completion looks good at the moment, however syntax highlighting is not so good in comparison with VAX.
Thing is, VAX utilizes language parser (same parser that is used for code completion, as far as i understand) for syntax highlighting. This enables it, for example, to highlight function names, variable names and macros in different color. Technically they ALL are identifiers, but since language parser knows the difference, syntax highlighter knows it too. I don't know for sure, but i think that spellchecking in function names (underlines wrong identifiers with red wavy line) works on top of that parser too.
If only my forum-search skills does not fail me, current code completion redesign plan does not have anything to to with syntax highlighting, thus this particular reinventing of a wheel will not be 100% successful, and guys like abductee will continue to whine about Linux/X-platform/FreeSoftware IDEs being dull and ugly. At least i will :)

Offline raph

  • Almost regular
  • **
  • Posts: 242
Re: inspiration
« Reply #4 on: July 09, 2007, 05:45:33 pm »
Codeblocks uses scintilla as editor component.
Scintilla takes care about syntax highlighting.
You may want to post a feature request there.

Offline LRN

  • Single posting newcomer
  • *
  • Posts: 3
Re: inspiration
« Reply #5 on: July 10, 2007, 04:28:02 am »
Yeah, Scintilla really takes care.
Just look at this. 2001, more than 5 years ago.

Scintilla needs external lexer to highlight something. I looked in lexer_cpp.xml from C::B.
Code
                        <!-- Secondary keywords and identifiers -->
                        <Set index="1"
                            value=""/>
Ugh-oh. Now i know, that there IS such capability. It's just that the parser, required to obtain a keyword list, resides outside PC :)
« Last Edit: July 10, 2007, 04:55:04 am by LRN »

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: inspiration
« Reply #6 on: July 10, 2007, 09:12:31 am »
Yeah, Scintilla really takes care.
Just look at this. 2001, more than 5 years ago.
Well you see... thing is we still use Scintilla :)
While it does have issues here and there, it mostly works for most things most of the time, contains most features one needs out of the box implemented as core functionality, and it's almost zero-config, zero-maintenance.

Having syntax highlighting done by the code completion parser is undesirable in several ways. Sorry, but there's no going for that at the present time or at the conceiveable future.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline LRN

  • Single posting newcomer
  • *
  • Posts: 3
Re: inspiration
« Reply #7 on: July 10, 2007, 05:22:28 pm »
Quote
Having syntax highlighting done by the code completion parser is undesirable in several ways
No, from what i learned about Scintilla, you could use it for more advanced highlighting. You just have to provide keywords, wich you could just take from parser. And maybe define a new keyword set, since you'll need at least two - for function calls and for macros.