2

I'd like to create an IDE for a language and I'm wondering how to implement some features. In particular syntax highlighting and content assist are troubling as they must work even when editor content is not valid (when user is typing syntax hightlight should not disappear just because parser fails).

I am wondering how to approach this problem (and others as well). I've found this: How does code completion work? with a description of a solution to this problem, but it's rather brief.

I can come up with a way to implement all features I want at some point, but I'm not the first one and someone has done it already ;) (and reading source code of Eclipse is not that easy)

So, my real question is there a book discussing problems related with creating IDE? A detailed article discussing how to parse invalid code? Any source of information I should see?

Ah, and by IDE I don't mean a new application, just a set of plugins for eclipse.

Community
  • 1
  • 1
mabn
  • 2,473
  • 1
  • 26
  • 47
  • Syntax highlighting can be fudged with regular expressions and parsing (emacs does it all the time). Proper "intellisense"-style support, however, requires a proper parsing/incremental compilation stage where, at the very least, the type(s) for the expressions are determined. To say the least, it's not a trivial task. –  Mar 31 '12 at 01:45
  • I know that I need to parse the code. I would need it anyway to show call hierarchy/type hierarchy/navigate between types/support refactoring. But I would love to read insights of someone who is experienced in this area (preferably something extensive, a book for example). – mabn Mar 31 '12 at 02:08

1 Answers1

1

The following link will help you further..

Syntax Highlighting:Fast Colored TextBox for Syntax Highlighting

an OpenSource IDE:SharpDevelop

an eBook How to create IDE:[Dissecting a C# Application: Inside SharpDevelop]

matrix
  • 64
  • 6