>>>Is it a good idea for us to even work on a debugger?
Thats a good question and really one i can't answer for you, however let me explain the context of my first post in this thread. I am using the syntax editor in the context of a dynamic language and all my intellisense isn't based on parsing the document/project (like you would in C#) to work out what type something is.. its based on real time reflection or whatnot..
i.e the user types and runs
$a = "hello"
$a. when the type the dot, the intellisense they are getting will be for a string..
then they type
$a = [XML]"<bla><blabla>sdrfsdf</blabla></bla>"
$a. when they type the dot the intellisense will now be for an XmlDocument
so on the same way for the info tip functionality i want it like the vs.net dugger, where you hover over the varible and get this popup that allows you to see its properties and drill down mulitple levels (i.e of its an array or collection, you see all that, then can hover on one particulr item in the array, and then can see the properties of whatever type it is.
what would be the best way to do this on your part.
Well in the dotnet would you could just implement the full functionality yourself where i just pass in a dotnet object , and it would keep me mostly happy .. however if people wanted it to look, behave slightly different this wouldn't work, and it wouldn't work for use it cases on notdotnet languages and intergrating with different debuggers, also there are many cases when the pure dotnet reflection is not what i want, since the language i am using has an extensible type system, where you can just add properties and methods onto any class, standard dotnet reflection doesn't pick that up. So maybe you'd want to just provide the GUI framework, extensible enough for having a variety of columns, bolding icons, choosing which nodes can be expanded etc, and have a event sort of mechanism, where the control will ask the developers code for particular items, whether a sublevel can be expanded, and again an event when somebody expands that it calls the developers code that takes care of populating it.. also this might be too much work for some users who are just using standard dotnet stuff, so like in the intellisense you have a variety of helper methods to allow people to be lazy , and not hae to do the reflection themselves...
-Karl