Mollusk IDE -- June 30 Windows update

Monkey Forums/Monkey Programming/Mollusk IDE -- June 30 Windows update

grudlux(Posted 2013) [#1]
NEWER MOLLUSK THREAD HERE: http://www.monkeycoder.co.nz/Community/posts.php?topic=5886

-------------------------------------------------------------------------

Hello all!

I am proud to announce that version 1.0 of my unofficial, mid-level IDE for Monkey is now available to the public!

http://www.grudlux.com/mollusk

Only the Windows version is up right now. My goal is to get the Mac version ready for release soon, then I will resume work on new features (there are already a lot of requests).

You can try the free HTML5-only demo, or buy the full version for $10 USD -- includes lifetime updates!

If you have any urgent problems, please email me. If you have any other feedback, feel free to post here.

Thanks again, especially to the beta testers for all their input,

- Ryan


therevills(Posted 2013) [#2]
Congrats on the release, always good to see new tools :)

What does it give me that Ted doesn't... in other words sell it to me :D


AdamRedwoods(Posted 2013) [#3]
yup, you need a features list and perhaps a (realistic) roadmap, but overall it looks great!


Qcat(Posted 2013) [#4]
Congrats nice release. just ordered myself a copy am looking forward to the Mac version.


CopperCircle(Posted 2013) [#5]
Great, I will buy it when the Mac version is ready.


Sammy(Posted 2013) [#6]
Great for a v1 release and very reasonably priced too, purchased! :)


Why0Why(Posted 2013) [#7]
Tried the demo, looks pretty nice. One feature that is a must have for me is auto completion for types and modules as well. If you are using a framework there are thousands of fields and methods and it is much easier to get on with it with auto completion.

I definitely like it being one file and no config necessary. I use Skydrive for all of my source and access the same data from multiple computers and this definitely makes it easy.


FelipeA(Posted 2013) [#8]
One feature that is a must have for me is auto completion for types and modules as well.


Yes!, please add this on a future update. I'll buy this as soon the mac version is out, anything is better than working with Ted. ( sorry little ted ).


Whiteball(Posted 2013) [#9]
Really liking this so far, great job.

One feature that is a must have for me is auto completion for types and modules as well.
I'm all for that too, would be real handy.

Would like to be able to set a different colour for 'locals' as well if possible.


skape(Posted 2013) [#10]
Trying it out and will certainly purchase when it's available for Mac.

One feature that is a must have for me is auto completion for types and modules as well.

Agreed. (Maybe not *must have* for me, but highest on the additional functionality list.)


Mikele(Posted 2013) [#11]
It does work great! Just purchased. Thanks!


Gerry Quinn(Posted 2013) [#12]
Very nice... I am torn between Mollusc and Jungle, which I have also been evaluating lately. Mollusc so far seems like it is mostly a better TED, but I have gotten used to the TED style. Jungle is very powerful but some of the features get in my way slightly.

I have a feeling I may eventually end up with both!


Sammy(Posted 2013) [#13]
Small request, a separate colour for remarks.


grudlux(Posted 2013) [#14]
therevills, Adam, & all: I've added a simple table of Ted and Mollusk features at http://www.grudlux.com/mollusk/features.htm -- let me know if you think I should add anything (even if Ted has it and Mollusk doesn't, I'm trying to be honest here!)

The color options can be expanded... I like the idea for #rem differentiation. (By the way, today I found some #rem parsing mistakes that need fixing...)

v1.1 is underway - look for Mac support and better Auto-complete (possibly folding?) - and someday I will get back to my Monkey games ;)

Thanks to everyone for the comments and the handful of people who already purchased it!


Gerry Quinn(Posted 2013) [#15]
Here's one that struck me especially hard as I was previously testing Jungle. Mollusc has the same behaviour as Ted in that if there is no Main() function in the open page it will not build and run when you press F5. Jungle solves this with solutions and entry points. If you've once been without this annoyance, going back to it is a pain.

A lightweight alternative for Mollusc might be:
- if there is a Main() function on the currently open page, start with that
- otherwise if a Main() function has previously been run in the current session, start with that (the most recent one) instead.

This would allow you to simply press F5 most times to compile and run, while at the same time allowing you to run an example or load a different project without any hassle.


Edit: You actually have this option, or a similar one, in Set Build Source! That is fine, in fact I was going to suggest it as an alternative to the above, then I looked again at the Mollusc menus! I guess you have a customer, then - a better Ted is really what I needed.

One minor issue: if you select Build and run, then cancel when Monkey starts, you have to kill the build before building again. But it's already the same with Ted and Android, so it may just be a hard-to-avoid consequence of one program calling another.


Redbeer(Posted 2013) [#16]
I'll definitely consider a purchase when you have the Mac version up.
I use Winblows at home but at work I'm forced to use Mac, so i have yet to look at a better IDE/Editor, simply because I like to work in a consistent environment.
Staying consistent keeps my speed up and frustration level low.
However, I miss features like autocomplete...


Why0Why(Posted 2013) [#17]
Defining the entry point is very nice. I definitely take it for granted now!


Beaker(Posted 2013) [#18]
+1 for Mac.


therevills(Posted 2013) [#19]
I've added a simple table of Ted and Mollusk features at http://www.grudlux.com/mollusk/features.htm -- let me know if you think I should add anything (even if Ted has it and Mollusk doesn't, I'm trying to be honest here!)

That's better! One thing the Ted does is that it has limited support for BlitzMax too.


grudlux(Posted 2013) [#20]
Gerry,

That is a very good point about detecting files without Main() functions... I will think about improving it beyond just the 'Set Build Source' feature.

Also: could you please email me and explain your Build/Launch Android issue? I'm not sure exactly what you're doing. If the problem happens to me, I can possibly fix it.


Gerry Quinn(Posted 2013) [#21]
Hi Ryan,

Actually I am quite happy with Set Build Source! So long as there is some feature that means I don't have to find the Main function every time I build, I don't really care what the details are. The above was just my first thought on how to implement it, and my second thought was what you in fact did.

The Build/Launch issue I noticed was on HTML5 - I didn't think Ted had it, but experimenting now I see that Ted is worse! For some reason I thought that if I clicked F5 in Ted, but then clicked Cancel when mserver starts to run (I rarely tell Windows not to give me its run warning when an unsigned program starts), it would return to Ted. But trying it now I find that Ted actually crashes! Mollusc is fine if I just click the red X.

/tldr; Ignore my comment on this issue, Mollusc is working fine!


wiebow(Posted 2013) [#22]
Well done on releasing this! It looks nice. No Linux version? Too bad, for me anyway.


Gerry Quinn(Posted 2013) [#23]
I like Mollusc, it fixes Ted annoyances and the price is right!

A couple of suggestions for improvements:

If auto-capitalisation is selected, I think it should behave like Ted and auto-capitalise any lines that the cursor moves over. Inevitably one gets left with the odd uncapitalised keyword, and it's nice to have a simple way to get rid of these.

The code window shows #Rem-ed out methods. I think these should be invisible.

Also, does the code window really need to remind me which part is the top and which is the bottom ;-)


grudlux(Posted 2013) [#24]
@wiebow I might look into Linux later, but for now I have a big to-do list for even one OS (then there's the Mac port...)

@Gerry I didn't notice Ted does that. I'll consider it.

For the next update I have completely rewritten the lexer, so hiding items inside #rem blocks should be easy.

The "top" and "bottom" items are simply there as clickable shortcuts. You can right-click and choose to hide them (maybe I will hide them by default?)

A good v1.1 update should be ready within this week (probably Windows-only still)


semar(Posted 2013) [#25]
Nice work.

However, it does not work under Linux (using wine). The official IDE does.


Gerry Quinn(Posted 2013) [#26]
Ah, I hadn't realised the Top and Bottom were either clickable, or hideable. I see no reason why you should change anything so!

There is one significant thing Mollusc lacks that Ted provides: the integrated GLFW debugger. Are you planning to include that? (It's not that high a priority as there is always the option to switch to Ted for a debugging session.)


grudlux(Posted 2013) [#27]
@semar Sorry to hear it doesn't work under Wine. I don't know why it wouldn't, so maybe I will investigate.

@Gerry The (GLFW) debugger is on my to-do but not-urgent list. I've barely used it before, I don't yet know how it communicates with the IDE. Might be simple, might not...?


Gerry Quinn(Posted 2013) [#28]
Yes it is probably one of the more difficult things, so I would be inclined to sort out all the small things first.

By the way, I found a few more minor issues:

- functions within classes are highlighted and not indented. It seems to me that they should just be the same colour and indented like class methods.

- there should be a 'Save All..' option for currently open files

- 'Autosave before build and launch' only saves the currently viewed file. (If you have edited two files without saving, and the second is open in the edit panel, then when you compile your program the changes to the second file take effect, but the old version of the first file is still used.)

[Obviously the third is trivial once you have implemented the second!]


grudlux(Posted 2013) [#29]
1. You are right, functions inside classes are not indented... because I did not know Monkey allowed functions inside classes! (I only started with Monkey this year.) I will consider this a bug and fix it in a future version, probably not v1.1 because I plan to release it within 24 hours.

2. I have thought about Save All. Obviously should be in the File menu... should it get a toolbar button? A keyboard hotkey? (Currently Ctrl+S is Save, Ctrl+Shift+S is Save As... are there 'standard' hotkeys for Save As versus Save All? I use Notepad++ as a big influence, and it has Ctrl+Shift+S for Save All, Ctrl+Alt+S for Save As...)

3. Are you sure Autosave is enabled? If not, only the active file is saved before a Build/Launch (like you're saying). If it's enabled, all files should be saved (except new files that don't have a set file path yet - this is intentional). If this isn't happening, maybe it's a bug?


Gerry Quinn(Posted 2013) [#30]
I can't say I especially love your hot-keys choices (I would prefer F6 for 'just build'), but it really doesn't matter much - I'm getting used to Ctrl-B. They are just an adjunct to menus for operations that are used a lot. '"Save All" is Ctrl-Shift-s in MSVC too, so that seems like a good one. I don't think it needs a toolbar button.

I think there is a bug where it doesn't always work as intended. I have 'Auto-save files before build and launch' selected in Preferences. I tried again this morning as an experiment:, with three files in my current project. I added Print "a" (or b/c) to the constructor of the main class of each file.

a was the main app and entry point, b and c were objects that are instantiated in App.OnCreate(). I didn't save anything but left the b file open and pressed F5. Output was ab.

I then added Print "d" to the constructor of something that gets instantiated by c (an odd choice, maybe, but that they were just classes that were easy to test). I went back to b and pressed F5. This time output was abcd!

So something odd is happening - it is saving some files but somehow not getting them all every time.


grudlux(Posted 2013) [#31]
Hi Gerry, I'd like to solve this before v1.1! But I haven't been able to reproduce it in the v1.0 or my upcoming version.

Can you possibly email me a few small code files and exact steps to follow, if you can find a repeatable failure case?

As for the hotkeys -- I think I will make "Save All" Ctrl+Shift+S and "Save As" Ctrl+Alt+S... this is how NP++ does it, and it seems to be common.

If you have feedback on the hotkeys, you can email me that too. Build already has three hotkeys: F7 (like Ted) Ctrl+B (which I see along with Alt+B in many IDEs) and Ctrl+F5 (personal preference).


Gerry Quinn(Posted 2013) [#32]
Here is an example. It seems to be fairly consistent on my PC. There are three files:





Load all three in that order and compile (it will print 'm').

Then remove the ' in bb.monkey, then in aa.monkey. Stay looking at aa and press F5 again. I think you will find the output is ma rather than mab. Next time it may be mab.

Anyway, that's what I'm seeing. Conceivably there's something on my system that stops it recognising all changed files, but I can't think what.


grudlux(Posted 2013) [#33]
Perfect example! Thank you!

I found the problem and I've already fixed it, and yes indeed it was related to the order of the files versus which one has focus.

Now I just want to polish one or two more things for v1.1.


semar(Posted 2013) [#34]
Now I just want to polish one or two more things for v1.1.

Great grudiux. By the way, could you take a look at how to make Mollusk also Linux-Wine friendly, like TED is ?

:)


grudlux(Posted 2013) [#35]
JUNE 8 UPDATE:

Version 1.1 is out now! http://www.grudlux.com/mollusk/

Major changes:
- Auto-complete now scans your open files for completion keywords
- Support for #Rem is improved (nestable, styling corrected, separate color)
- Word wrap mode
- New hotkeys / minor GUI improvements
- Bug fixes
Full change list: http://www.grudlux.com/mollusk/versions.txt


Two bits of "bad news"

1. After v1.0 I said I would work on the Mac port before adding new features... well my access to Macs was limited, and I was motivated to make all those other changes, so Mollusk is still Windows-only for now. NOW I am prepared to shift focus to the Mac.

2. A few users have reported problems building GLFW projects that work fine in Ted. I tried a few things, but I haven't found a good solution yet... just be aware that I am working hard to fix it. I will release a quick v1.11 patch when I figure it out.


grudlux(Posted 2013) [#36]
@semar I will try running Mollusk under Wine. I don't know what part of it is not compatible. Does it give you any sort of error description or information? Any log or anything?


Gerry Quinn(Posted 2013) [#37]
Looks nice!


Sammy(Posted 2013) [#38]
Great update, thanks!


Qcat(Posted 2013) [#39]
Fantastic Update!! Has a dyslexic the auto complete has made a huge difference to me.


Difference(Posted 2013) [#40]
NOW I am prepared to shift focus to the Mac.

Nice :-)


amando(Posted 2013) [#41]
Awesome. Awaiting for so long for a Mac IDE!


skape(Posted 2013) [#42]
Good luck with with the Mac porting. :)


TFT(Posted 2013) [#43]
Hallo,

the price and the IDE are nice. MOLLUSC have a lot potencial. I have buy this and i hope you make it long time work for this IDE. Lot of things are missing in TED. The Jungle IDE are to big and to slow on my mobile system. Many things are miss.

The Idee from GerryQuinn nice.

TFT


NoOdle(Posted 2013) [#44]
Does autocomplete work correctly for user modules?


grudlux(Posted 2013) [#45]
Noodle: Yes, the auto-complete now scans user modules for classes, fields, etc. (but only files OPEN in the editor).

It works pretty well, and I'm still improving it. I recommend you download the demo and try it out.

PS. I'm a bit behind on the Mac version of Mollusk because I'm having enough trouble getting Monkey working right on Mac...


Sammy(Posted 2013) [#46]
Any way to re-arrange the IDE's frames? Sounds a bit silly but I have a widescreen monitor and looking far left all the time in the source pane, is giving me a real pain in the neck! :D I'd hate to cut down IDE space by sizing the main window smaller just to centre the source a little.


grudlux(Posted 2013) [#47]
Hmmm.... would it be enough to be able to swap the left and right panes? (Sidebar on the left?) That wouldn't be too hard.

It would be a fair bit of work to make a fully customizable GUI...


Gerry Quinn(Posted 2013) [#48]
What about adding the a second instance of the Help / Code / Files window on the left? Then you could for example have code on the left with the bottom app output minimised, and help on the right with the usual Build Log / App Output area .

That seems like it would be very flexible and yet easy to implement! It doesn't even need any extra options as the user can simply make either side disappear if he doesn't like it. Or even use one side showing Code as a general rule, but open the other if he wants to look at Help a lot.


Sammy(Posted 2013) [#49]
Hmmm.... would it be enough to be able to swap the left and right panes? (Sidebar on the left?) That wouldn't be too hard.


Yeah that would be fine, thank you. :)

Gerry's suggestion would be better but whatever is the easiest to do.


GW_(Posted 2013) [#50]
Ryan, Your email has been offline for a few days now. do you have a new address?


grudlux(Posted 2013) [#51]
Huh! You were right! How long was it down?!?

Something must have happened when I was messing with my domain last week... even though I checked it and it appeared to be enabled and active.

I just reset it and it seems to be working now. Thank you for that!!


grudlux(Posted 2013) [#52]
JUNE 30 UPDATE:

Version 1.2 is out now! http://www.grudlux.com/mollusk/

Major changes:
- One-click switching between light/dark color themes
- Sidebar can be moved to the left or right
- Export code to HTML feature
- Bug fixes (including that big GLFW build problem)

Full change list: http://www.grudlux.com/mollusk/versions.txt


The Mac version still has issues, but maybe a beta version will be ready soon?


Soap(Posted 2013) [#53]
Could you add a bundle option? Like five licenses in one purchase?


grudlux(Posted 2013) [#54]
I think I could set that up... Why do you want multiple licenses? For multiple people to use it? (If it's just for you, one purchase is fine, you can use it on as many systems as you want.)


skape(Posted 2013) [#55]
The Mac version still has issues, but maybe a beta version will be ready soon?


If / when you do that, I'm quite interested... good luck!


Sammy(Posted 2013) [#56]
Thanks for the new update Ryan!


garyk1968(Posted 2013) [#57]
Would like a Mac version too when available.


Soap(Posted 2013) [#58]
For multiple people. I buy licenses for everyone on my team who uses a tool, but I'm also lazy and don't want to enter info in multiple times.


grudlux(Posted 2013) [#59]
How's this: a 5-user discounted bundle version, https://sites.fastspring.com/grudlux/instant/molluskbundle


SHiLLSiT(Posted 2013) [#60]
I just found Mollusk today and really like the features it has when compared to Ted. However, I can't seem to figure out how to get whole folders in the file browser? Is this even possible? Its really hard to locate a certain file when everything is in a single list.


grudlux(Posted 2013) [#61]
You're talking about the "Files" tab on the sidebar, right? No it doesn't handle folders right now... just a flat list of files.

Would it be better if it sorted the files in alphabetical order (instead of the order the file tabs are in)?


Paul - Taiphoz(Posted 2013) [#62]
I think it really needs to be upgraded to a full and proper file list, to show folders at the very least, and possibly also show other assets, like images, sound files etc.

In terms of Sound and IMages, it should be easy enough to show a preview when the user clicks on one, or give them the option to preview it on the desktop.


Gerry Quinn(Posted 2013) [#63]
Couple of points:

V1.31 (Windows version) seems to have lost the ability to detect commented out regions. The #Rem doesn't get flagged as a keyword and the following code doesn't turn green. This was working in 1.3.

Commented-out functions still get shown in the code window.

My top suggestion for future versions: a 'Find in files' option like MSVC has (searching in open files would do, though other options would be nice).


Paul - Taiphoz(Posted 2013) [#64]
yup noticed that as well.


SHiLLSiT(Posted 2013) [#65]
You're talking about the "Files" tab on the sidebar, right? No it doesn't handle folders right now... just a flat list of files.

Would it be better if it sorted the files in alphabetical order (instead of the order the file tabs are in)?


I agree with Taiphoz:
I think it really needs to be upgraded to a full and proper file list, to show folders at the very least, and possibly also show other assets, like images, sound files etc.


I'd like to see a normal file structure here of my project directory rather than a list of open files.


grudlux(Posted 2013) [#66]
Shoot.... it's not just #Rem, it looks like I broke the #preprocessor detection when I made some changes for v1.31. I will fix this very soon!

As for the "Files" tab... originally it was intended to just be a quick list of all open files, for you to switch between them. But I guess that's pointless (that's what the tabs are for) and everybody would prefer a file browser, possibly with the ability to preview media files? I like this idea, I will work on it for v1.40.

@Gerry, "Find in Files" is a feature I love, it's been on my personal to-do list since the beginning, I just haven't gotten around to it yet!


Thanks for all the feedback!


grudlux(Posted 2013) [#67]
Any other feedback, could you all post in this newer Mollusk thread: http://www.monkeycoder.co.nz/Community/posts.php?topic=5565

It's easier for me to keep track of! :)