ZeroBrane Studio Lua IDE v0.70 is out

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
murks
Party member
Posts: 185
Joined: Tue Jun 03, 2014 4:18 pm

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by murks »

The issue is gone and the document map works. Thanks for implementing the request so quickly.
dan369
Prole
Posts: 44
Joined: Tue Apr 15, 2014 10:53 pm

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by dan369 »

paulclinger wrote:@murks, I pushed several changes for DocumentMap (including those that should fix the "release" warnings). Scrolling on OSX/Linux should be improved as well.

@dan369, did you get it working? You only need to try with the latest ZeroBrane Studio...
Yep and the document map works perfectly :D!
Image

At first I was like "bug?" but then I realised that was where my text_cursor was, such awesome attention to detail!
paulclinger
Party member
Posts: 227
Joined: Thu Jun 28, 2012 8:46 pm

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by paulclinger »

dan369 wrote:At first I was like "bug?" but then I realised that was where my text_cursor was, such awesome attention to detail!
Thank you! I thought it could be useful to see the current cursor line ;).

I pushed several updates to the document map that fixed issues with editing after scrolling on OSX and improved scrolling on all platforms (v0.22). You'll need the latest ZBS from github for OSX fixes. Paul.
User avatar
Rukiri
Citizen
Posts: 68
Joined: Mon Jun 27, 2011 5:52 am

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by Rukiri »

This looks pretty darn neat!
But, could you give me an actual reason to use this over sublime text 2?
paulclinger
Party member
Posts: 227
Joined: Thu Jun 28, 2012 8:46 pm

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by paulclinger »

Rukiri wrote:This looks pretty darn neat!
But, could you give me an actual reason to use this over sublime text 2?
Thank you. I'm not trying to compete with Sublime or Notepad++, although I do take their "lightweightedness" as an example to follow and many users like that ZBS is lightweight, portable, and cross-platform. My main goal was to provide a convenient way to debug Lua applications running on any platform, so the main focus is on providing convenient debugging functions and those are completely absent in Sublime. Specifically, ZBS has a debugger with stack/watch views, expression tooltips, local/remote code execution, pretty-printing of tables, and a static analyzer. There is also Lua focused scope-aware variable indicators and selection and "go to definition". The debugger supports not only remote, but also cross-platform debugging, when, for example, your application runs on Linux and the IDE on Windows and the mapping between file paths is done transparently to the user (this is also used for debugging of embedded applications). There is also support for debugging Lua-based languages that may have different (non-standard) syntax, like moonscript and GSL-shell.

The IDE has somewhat unique features, like live coding for arbitrary Lua scripts and markdown formatting in comments, that also allows for macro execution; the latter is used for providing instructions and learning materials tightly integrated with the IDE.

ZBS also mostly works "out-of-the-box" and will try to detect your Love executable when you select Love as the interpreter. It integrates with a number of popular Lua-based frameworks and includes plugin API that allows to extend its functions where needed. For example, DocumentMap functionality discussed in this thread is implemented as a plugin and there are more than 40 other plugins in the repository.

Having said that, there are several popular (and frequently requested) features that are still missing from ZBS; most notably file navigation with fuzzy search and a symbol/function outline.

I think it largely comes down to personal preference; if you like Sublime interface, you are probably going to stick with it. If you are interested in powerful debugging features, you may give ZBS a try. I'm also interested in user feedback (as you may see from discussions in this forum) and am consistently working on improving ZBS based on it. Even if you don't like my decisions, you can always take the source code and tweak it to your liking ;).

If you decide to try ZBS, check the list of features and tips and tricks page.
Clouds
Prole
Posts: 23
Joined: Tue Nov 27, 2012 4:06 am

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by Clouds »

I've given ZBS a try for a week or so, coming from jEdit and wishing for LÖVE/Lua code and variable autocomplete, and a "run" button.

A few niggles:
- When you have side-by-side documents/tab collections, the position of the dividing line (put another way, the size of each view) doesn't seem to save between closing/reopening ZBS. It resets.
- I wish the autodelimiter package was smarter. Dreamweaver has the behavior I'm used to - only auto-typing the closing delimiter when its matching closer doesn't exist further on in the code. For example, using autodelimiter.lua, if I have "{ true }" and I first edit it to "{ true )" and then change the opening delimiter, it creates "() true )" instead of "( true )". You might suggest I improve it myself and submit a pull request, but I make no claims to be an expert programmer.
- Well, there's a "run+debug" button, but only a menu item+hotkey for plain "run". A GUI button for plain "run" - reasonable? Superfluous?
- Although I've specified editor.usetabs = true and editor.autotabs = true, it still inserts spaces instead of a tab character when I indent.
paulclinger
Party member
Posts: 227
Joined: Thu Jun 28, 2012 8:46 pm

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by paulclinger »

Clouds wrote:I've given ZBS a try for a week or so, coming from jEdit and wishing for LÖVE/Lua code and variable autocomplete, and a "run" button.
@clouds, thank you for the feedback!

> - When you have side-by-side documents/tab collections, the position of the dividing line (put another way, the size of each view) doesn't seem to save between closing/reopening ZBS. It resets.

Indeed; this is a wxwidgets defect/limitation, but I may have a workaround for it. It if works, it should be available in a day or two.

> - I wish the autodelimiter package was smarter. Dreamweaver has the behavior I'm used to - only auto-typing the closing delimiter when its matching closer doesn't exist further on in the code. For example, using autodelimiter.lua, if I have "{ true }" and I first edit it to "{ true )" and then change the opening delimiter, it creates "() true )" instead of "( true )".

I considered that, but it makes things more difficult and non-obvious; for example, when you're typing "string.sub" inside parentheses in "print()", do I need to add the delimiter after "string.sub(" or not? There is already a closing one, but it's for "print", so you'd probably expect one more added; this requires tracking of balanced parentheses, but becomes even more difficult if you consider that the statement can span multiple lines. So, I opted for a simple and straightforward solution that covers majority of cases.

> You might suggest I improve it myself and submit a pull request, but I make no claims to be an expert programmer.

It wouldn't be the first response on my mind, but it's always welcome ;). In this particular case, I can implement it myself if someone can come up with a proper logic that handles these situations (and is not too cumbersome).

> - Well, there's a "run+debug" button, but only a menu item+hotkey for plain "run". A GUI button for plain "run" - reasonable? Superfluous?

Reasonable. The main reason not to have it now is that I couldn't come up with a good icon for both running and debugging, so I decided to stick with one. I didn't really like the "bug" icon you can see in other IDEs. I'm experimenting with different icons, but if you can come up with a good one, let me know.

> - Although I've specified editor.usetabs = true and editor.autotabs = true, it still inserts spaces instead of a tab character when I indent.

This is because autotabs takes precedence and your file probably didn't have any tabs. You probably don't need autotabs; it's useful when you are editing someone else's code and want to preserve whatever indentation they are using (spaces or tabs). usetabs is useful when you need to force tabs for new files (or all files if no autotabs is specified). I think my mistake was that when both are specified and the file doesn't have any indentation, the value was set to "no tabs", whereas you'd expect it to be "use tabs". I just pushed a fix for this issue. If I misunderstood the situation, let me know.

Note that in either case these settings don't change anything for the current formatting/indentation. If you want that changed, just have "editor.usetabs = true" and then use Ctrl-I to re-indent the file.
Clouds
Prole
Posts: 23
Joined: Tue Nov 27, 2012 4:06 am

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by Clouds »

paulclinger wrote:Indeed; this is a wxwidgets defect/limitation, but I may have a workaround for it. It if works, it should be available in a day or two.
Well, OK then. :D
this requires tracking of balanced parentheses, but becomes even more difficult if you consider that the statement can span multiple lines.
Yes, and comments, and quoted text, and escapes...
if someone can come up with a proper logic that handles these situations (and is not too cumbersome).
I don't know about cumbersomeness and neither do I quite get the ramifications of being under "the Vim license", but these two Vim scripts look like they've figured it out.
I'm experimenting with different icons, but if you can come up with a good one, let me know.
I offer up the attached. Licensed for use and sublicense by paulclinger without limits, and retaining all rights myself.
I think my mistake was that when both are specified and the file doesn't have any indentation, the value was set to "no tabs", whereas you'd expect it to be "use tabs". I just pushed a fix for this issue. If I misunderstood the situation, let me know.
That indeed sounds like the situation; it was a new file. I'd expected it to be governed by the value of editor.usetabs when no indents of any kind are present. Hurray for fixes! :awesome:
Attachments
scratchpad.png
scratchpad.png (554 Bytes) Viewed 4989 times
debug.png
debug.png (490 Bytes) Viewed 4989 times
paulclinger
Party member
Posts: 227
Joined: Thu Jun 28, 2012 8:46 pm

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by paulclinger »

Clouds wrote:
paulclinger wrote:Indeed; this is a wxwidgets defect/limitation, but I may have a workaround for it. It if works, it should be available in a day or two.
Well, OK then. :D
I pushed a change that puts the workaround in place. There is now limited support for saving editor tab configuration (as long as you don't go too fancy with multiple lines).

> if someone can come up with a proper logic that handles these situations (and is not too cumbersome).
>> I don't know about cumbersomeness and neither do I quite get the ramifications of being under "the Vim license", but these two Vim scripts look like they've figured it out.

yes, this looks interesting, but those plugins are 500+ lines long (although they do a bit more than just provide autodelimiters.

> I'm experimenting with different icons, but if you can come up with a good one, let me know.
>> I offer up the attached. Licensed for use and sublicense by paulclinger without limits, and retaining all rights myself.

Thank you! I think I'll go with making toolbar elements more customizable to allow anyone to add their own icons or modify the toolbar content.
User avatar
Rudenko
Prole
Posts: 2
Joined: Mon Jun 02, 2014 9:27 pm
Location: Tiraspol
Contact:

Re: ZeroBrane Studio Lua IDE v0.70 is out

Post by Rudenko »

Thank you for awesome IDE!
I wonder, can ZBS do autocomplete for functions loops etc ?
like sublime text 3 on screenshot.
thank you!
Attachments
autoc.png
autoc.png (86.93 KiB) Viewed 4892 times
Post Reply

Who is online

Users browsing this forum: No registered users and 51 guests