Page 5 of 8

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Wed Jul 23, 2014 1:23 pm
by murks
The issue is gone and the document map works. Thanks for implementing the request so quickly.

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Thu Jul 24, 2014 11:29 pm
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!

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Sun Jul 27, 2014 10:05 pm
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.

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Fri Aug 01, 2014 3:49 pm
by Rukiri
This looks pretty darn neat!
But, could you give me an actual reason to use this over sublime text 2?

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Fri Aug 01, 2014 11:24 pm
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.

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Sat Aug 02, 2014 1:54 am
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.

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Sat Aug 02, 2014 5:20 am
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.

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Sat Aug 02, 2014 7:35 am
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:

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Sun Aug 03, 2014 12:04 am
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.

Re: ZeroBrane Studio Lua IDE v0.70 is out

Posted: Tue Aug 05, 2014 4:26 pm
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!