Wonkey Update

Started by iWasAdam, May 23, 2021, 12:26:29

Previous topic - Next topic

Derron

Think intellisense could also provide "definitions"



But even this could be improved quite a bit - eg by removing the "x:Float" right when entering "," manually - so not actually adding the text to the document but just like "shadow" displaying.

Also stuff like "overloaded functions/methods" should be handled properly.


IDE speed ... it should start "snappy" enough and editing/using should not require a phd :)


bye
Ron

iWasAdam

well - i'll see what can be done with the intellisense (I didn't write it). It seems to be generally robust with a huge amount of work being done by mark and nerobot (who wrote tedtogo - which wide2 is based on)

Speed. < 1 second to start wide2

huge file speed (15500 lines of code <- great for testing)
load time < 1 second.
scroll speed = instant
edit (anywhere in the file) instant
Intellisense - first load 2-3 seconds in background
intellisense updating - 1-2 second lag. it's basically a background system the constantly rebuilds :)

iWasAdam

shhhh - don't tell any but it looks like wide2 might be dead in the water
one of the devs has thrown a fit because I dropped the flawed themes...

Stay tuned with popcorn cause this one's gonna get messy

MikeHart

You have no luck with you endavors regarding the ui and Monkey2 it seems. I hope it will improve.

iWasAdam

the ui (mojox) is a flawed construct from start to end - bad in every way.

I got rid of the themes to make everything uniform and calm - now themes of some form are required - I need to find a way to drive right through the middle ground... - stay tuned...

A question for you - how did you approach this sort of thing with cerberus and it's ide?

col

#65
I agree with Derron's suggested additions.

In particular, code editing features such as 'goto definition', 'find all references', 'rename' etc should all work on the symbol from an AST not the text in the document...


  • a decent debugger that interacts with the document - 'mouse over' variables in the text will show you the value/contents of the variable. One small feature of stepping with the debugger is that it should stop in the function after running the last statement has run (before execution finally returns out) - for eg the BMax debugger exits the function immediately after running the last statement so that you can't see the result of that last statement - small issue but it was always annoying.
  • Placing/removing breakpoints while the code is running is a must for me too.
  • contextual syntax high-lighting, again using an AST to determine semantically correct colours for the text
  • Static analysis is also a bonus for me - no need to run the compiler to show you errors as it will done statically while editing - again an AST comes to the rescue here.

I appreciate some of those are are already suggested.

Just read your latest plight, hopefully things will work out ok for you all  8)
https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."

Derron

Once you add all the stuff needed for a proper IDE ... you could also have written an extension for VSCode, Atom, Sublime, ...  stuff many people might already have installed for other languages.

But I understand the approach of a custom IDE ... so eg a "new file" does not need to be saved as "myfile.wonkey" to be identified as "wonkey language file" (and so the wonkey extension in eg VS Code would handle it). Or maybe the addition of custom stuff like "image viewers" or so is easier - albeit this surely exists as extension for the bigger "editors".



bye
Ron

MikeHart

Quote from: iWasAdam on June 10, 2021, 08:15:48
the ui (mojox) is a flawed construct from start to end - bad in every way.

I got rid of the themes to make everything uniform and calm - now themes of some form are required - I need to find a way to drive right through the middle ground... - stay tuned...

A question for you - how did you approach this sort of thing with cerberus and it's ide?
TED didn't have themes in the beginning. So adding them was no problems for the userbase. By default  it looks like it has no theme active. Themes are css files and icons in QT.
I hope your question ment that.
Ones we have our VSCode extension ready, TED will be depreciated.

iWasAdam

thanks for the reply Mike. I wasn't sure how advanced ted was when you took it over. I know that mojox (the hideous ui component in monkey2/wonkey) was originally built as the UI for ted2. But your explanation is interesting and very helpful ;)

I think that wide2 is already very usable, but with the new 'theme' concept wanted I've had to cook up something very quick based on my other (well used) UI code (MiniUI)

With MiniUI in place I can start to replace some of the dratted mojox stuff with more approachable code. Giving users a nice visual place to construct and tinker with the look of Wide2 \o/

MikeHart

Compared to 2017, I added themes, more information in the code box, tinkered with the syntax highlighting and started with code completion.  I am glad we are switching to VSCodium. Olivier does a great job on it already.


For tools I am working on a ui module for CX. I have a working Imgui module but only for desktop because of the multiple target languages CX exports to.
So a CX native module is better I think.

Aurel [banned]

So wonkey IDE or ted2 is QT application..that is why looking strange to me .
Adam ..i have simple question:
Can i use my own IDE(scintilla based editor) to run wonkey code using command line arguments
or not?
thanks
(Y)

iWasAdam

wide (wonkey IDE) is mojox based, cerberus TED is QT based

Yep you can run your own editor and compile from the command line :)

Can I ask what you think looks strange/odd? Any help with these thoughts is great :)

MikeHart

#72
.. deleted because I misunderstood who was talked to.

Aurel [banned]

#73
wait a moment mojox is library or something similar
when i say strange i mean it is not native win app created with winApi
but because is crossplatform then make sense to me .
(Y)

col

#74
Something else that I use a lot and is a nice IDE feature is opening a file mentioned in the source code. Using an example in BMax:

Import "TestFile.bmx"

When right-clicking over the quoted text 'TestFile.bmx' the menu will have an option to open the file in the editor.
https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."