zerobrane studio config


You can change their types, colors, or disable them. If you get a firewall warning, you need to allow the connection for the debugging to work properly. Lightweight. You can access this configuration file by going to Edit | Preferences | Settings: User (v0.37+). You can close search multiple results pages by using right click on the tab and selecting Close Search Results Pages from the popup menu. If you are using a server version of Ubuntu, you may need to run sudo apt-get install libgtk2.0-0 xdg-utils. For example, abc/*.lua will exclude all Lua files in abc directory, but not in its subdirectories, while abc/**.lua will exclude all Lua files in abc directory and all its subdirectories and abc/ will exclude abc directory along with all its subdirectories. Tabs in notebooks can also be split vertically or horizontally. Powerful. (Ross Berteig), Love the debugger, saving my life. (Troy Sandal), Thanks again for your awesome IDE. (as any character), char-sets ([] and [^]), modifiers + and *, and characters ^ and $ to match beginning and end of the string. Regular expressions only match within a single line (not over multiple lines). For example, when searching for MyVariable([1-9]) and replacing with MyOtherVariable\1, MyVariable1 will be replaced with MyOtherVariable1, MyVariable2 with MyOtherVariable2, and so on. The values for the header and the footer are strings that may include arbitraty text and various placeholders. You may have a symlink in your path and be referencing paths to your scripts differently in the code and in the IDE (using a path with symlink in one case and not using it in the other case). Make sure to save your ZeroBrane Studio system settings (Edit | Preferences | Settings: System) before upgrading as those are saved inside the application directory and will be lost during the upgrade. Lightweight. To limit the number of levels shown during pretty printing, instead of val, use return require('mobdebug').line(val, {maxlevel = 1}), and instead of =val, use return require('mobdebug').line(a, {indent = ' ', maxlevel = 1}). (v1.30+) Any configured parameters will be saved and restored on the next IDE launch. Note that the shebang line (the first line in a file that starts with #! what a breath of fresh air. (doctorbling), IMHO, ZBS is the fastest, most-flexible, best-thought-out IDE AND Debugger I've used since I began coding professionally in 1980. (Michael Berlyn), Love ZeroBrane Studio. (as any character), char-sets ([] and [^]), modifiers + and *, and characters ^ and $ to match beginning and end of the string. You can open cfg/scheme-picker.lua in the IDE and click on links with color scheme names to test included schemes. If you try to access the value of b in the Watch or the Console window, youll get nil as that upvalue is not present in the scope of that function. Using Ctrl+Scroll still zooms only the current editor tab. On Windows, if HOME environment variable is not set, then the concatenation of HOMEDRIVE and HOMEPATH environment variables is used instead. and as shown in user-sample.lua. See the example. You can use this setting to specify an alternative interpreter you want to use (for example, LuaJIT instead of Lua interpreter). The values shown are the default values. To add your own custom API to be recognized in auto-complete and tooltips, you can use the api configuration setting. See all Corona-specific preferences for details. for example: 1+2, collectgarbage('count'), or tbl and tbl[1] or nil. To merge or split windows and tabs and to change their positions, check the section in the Tips and Tricks document. (v0.39+) To search and auto-complete commands in the console history, you can start typing the command and then use TAB, which will auto-complete the last matching command. I use it for all of the work Ive started doing in Lua! (v1.40+) HiDPI awareness has also been enabled for Lua executables for all supported versions. The content of the Outline can be configured in various ways.

After the file is opened, the cursor will be moved to the specified position or the beginning of the specified line. The location (and the name) of this file is system dependent: The only modification that is done to the system outside of the installation directory is adding a link to the executable to the startup menu. ZeroBrane Studio uses Lua files to allow users to modify its default settings and to set editor color scheme, UI language, paths to executables, and other general and editor preferences. I am using it usually 10 hrs every day w/o problems. (Srdjan Markovic), I love ZBS. access the context menu (right click on the mouse) in the Outline and select toggle Sort By Name. You can unhide hidden files by selecting Show Hidden Files from the same menu. LuaJIT is a bit more strict than Lua 5.1 in some checks and may return errors even when your application runs fine by Lua 5.1. (v1.80+) editor.specmap table provides a way to associate file extension with a file format. I am using it usually 10 hrs every day w/o problems. (Srdjan Markovic), I love ZBS. Some interpreters also allow interpreter specific arguments in configuration file(s): Command line parameters configured from the IDE (Project | Command Line Parameters) take precedence over arg. This will modify the default shortcut for Program | Start Debugging command. Note that you can still use the IDE to debug your applications as the luasocket library required for debugging is compiled as universal binary and can be loaded into both 32bit and 64bit applications. mdb.origline, mdb.line = mdb.line, function(v) return mdb.origline(v, {numformat = "0x%x"}) end (v0.50+) Command line parameters can be specified in several ways (for those interpreters that support them): The command line parameters will be shown next to the interpreter in the right panel of the status bar. To quickly search for selected string (when its different from the previous search string), you can use Select and Find Next (Ctrl/Cmd-F3) and Select and Find Previous (Ctrl/Cmd-Shift-F3). You can set the project directory, which will be used to set the current directory when your application is run or debugged. System and user configuration changes do not take effect until the configuration file is saved and ZeroBrane Studio is restarted. I use it for all of the work Ive started doing in Lua! For example, in local foo = 1; local foo = 2, first foo variable will be striken out as its shadowed by the second foo instance and the second foo variable will be marked with dashed underline. You can refresh search results by using right click on the tab and selecting Refresh Search Results from the popup menu. To uninstall the IDE you can simply remove the directory where it was installed and delete the link added to the startup menu. To run multiple instances of the IDE, you can start one instance as you normally do, and then start the second instance using this command: zbstudio -cfg "singleinstance=false". Note that the full executable name is expected, not a directory name. Those characters cant be deleted with some of the delete operations (line cut or delete selection) and need to be deleted using Delete or Backspace. the description for possible accelerator values, ]], option supported by the Serpent serializer, Use the context menu in the Project tree (mouse right click) and then. Works. Release the mouse to fix the split. This is described in the command line parameters section. Individual commands can also be specified as configuration parameters; for example, zbstudio.exe -cfg "language='ru'" will set Russian as the user interface language in the IDE. (v0.39+) When regular expression search is used with search and replace, \n refer to first through ninth pattern captures marked with brackets (). See editor settings for details. If you are using RedHat Enterprise Linux version, you may need to run sudo yum install xdg-utils dejavu-lgc-sans-fonts. Any existing button on the toolbar can be removed individually by setting toolbar.icons[ID-of-the-button] to false. If you want to avoid docking, press Ctrl/Cmd button before releasing the mouse button. Each string may include tabs to separate parts of the header/footer that have different adjustments. If you want to see them side by side, you can drag one of the tabs to a different location inside the same window and dock it there. Lightweight. You can remove the configuration file ZeroBrane Studio is using to store these settings. Note that on macOS the per-system configuration file and packages may be overwritten when a new version of ZeroBrane Studio is installed to the Applications directory, so you may want to save them before upgrading. To modify a key mapping for a particular menu item, see the key mapping section. Starting from v0.39, ZeroBrane Studio is using LuaJIT as its internal Lua engine. For example, setting editor.specmap.foo = 'lua' will make files with .foo extension to be recognized as Lua files (for the purpose of syntax highlighting, folding, and other format-specific actions). and those local variables that are shadowed by other local variables are striken out. If you are using an older version, you may need to open and edit the file directly. The IDE is using port 8172 to communicate with the application being debugged. To refresh the project tree manually you have several options: If you are using one of the earlier versions, you can check Refresh Project plugin (Windows only). local mdb = require('mobdebug') You may be using your own Lua engine that doesnt report file names relative to the project directory (as set in the IDE). Yes; even when you use a 32bit version of the IDE, you can still run and debug 64bit applications. what a breath of fresh air. (doctorbling), IMHO, ZBS is the fastest, most-flexible, best-thought-out IDE AND Debugger I've used since I began coding professionally in 1980. (Michael Berlyn), Love ZeroBrane Studio. I use it for all of the work Ive started doing in Lua! Powerful. (Ross Berteig), Love the debugger, saving my life. (Troy Sandal), Thanks again for your awesome IDE. All rights reserved 2012-2021 Paul Kulchenko, [[ See an example in user-sample.lua, Regular expressions only match within a single line (not over multiple lines). If you are on macOS, you may need to use open -n ZeroBraneStudio.app --args -cfg "debugger.port = 8173". You can also configure the IDE to auto-open files for you. You will see a prompt in the Output window where you can enter your input. For example, having #!lua as the first line in a file with extension .bar will set it as a file of Lua format. To search or replace using regular expressions, you can toggle Regular expression icon on the search panel toolbar. (v1.30 and earlier) Note that using this setting negatively affects indicators that have alpha property (the indicators are not shown when this setting is enabled). In addition to placeholders from this list, %D can be used for the current timestamp, %p for the current page, and %P for the total number of pages. All results shown in the Console window are pretty printed as one line, with all complex results shown with all their elements. If you launch the application outside of the IDE, make sure you flush the printed output (or use io.stdout:setvbuf('no')) before accepting the input.

(v1.20 and earlier) You need to output something using print or io.write before reading input. To change the default order, add the following to the configuration file: outline.sort = true/false. In addition to that, ** pattern is handled differently from * pattern and means a match in all (sub-)directories. I am using it usually 10 hrs every day w/o problems. (Srdjan Markovic), I love ZBS. Breakpoints set in source files may not work for several reasons: See this section in the documentation for details on how to enable it. These are scope indicators: global variables are marked with solid underlines, When launching the IDE and passing a filename as a parameter, its possible to include the line number (using filename:) and position (using filename:p) in the file. Works. If you made changes by moving panels/windows around and want to undo them, To uninstall the IDE you can run zbstudio-uninstall command. When using an older version (before v0.95), reference them in the global environment: local G = ; toolbar.icons[G.ID_NEW] = false. This IDE is fantastic! (Eddie Dover), ZeroBrane Studio has got a working debugger, full IDE feature set, small footprint, and is completely customizable in lua. Yes; see Lua 5.3 debugging section for details. To modify the key mapping, you can add the following line to the configuration file: This will bind Ctrl-E combination to remove the line content from the current position to the end of the line.

Starting from version 1.21, this is no longer needed, as the global environment is already available, so those methods can be used directly (as can be seen in cfg/user-sample.lua). This is covered in the description of system configuration. The values shown are example values for a Windows-based system, not default values. These settings can be used to change the location of the executable file for different interpreters. If you are using macOS or Linux, set the path accordingly. You have no idea how excited I was to find this little gem! (Jonathan Shieh), It's a joy to use; totally rock solid. (Jeff Smith), Complaining about Zerobrane is like complaining that a beautiful spring day is a couple degrees too warm. (Jim Burnes). In most cases you dont need to specify this as ZeroBrane Studio will check default locations for the executable, but in those cases when auto-detection fails, you can specify the path yourself. The single instance check is disabled on macOS by default; to run multiple instances, you need to use open -n ZeroBraneStudio.app.

These regular expressions do not accept Lua character classes that start with % (like %s, %d, and others), but accept . If you are on macOS, you may need to use open -n ZeroBraneStudio.app. You can still refresh the Project tree content manually when it gets out of sync by using Refresh item in the Project tree local menu (activated with right click on an item). If you need to set several values you can separate them with a semicolon: zbstudio.exe -cfg "language='ru'; editor.fontsize = 12". local variables that shadow other local variables in the same scope are marked with dashed underlines, what a breath of fresh air. (doctorbling), IMHO, ZBS is the fastest, most-flexible, best-thought-out IDE AND Debugger I've used since I began coding professionally in 1980. (Michael Berlyn), Love ZeroBrane Studio. Ctrl-Drag/Cmd-Drag will move the window without trying to dock it. You have no idea how excited I was to find this little gem! (Jonathan Shieh), It's a joy to use; totally rock solid. (Jeff Smith), Complaining about Zerobrane is like complaining that a beautiful spring day is a couple degrees too warm. (Jim Burnes). One typical example is string escape sequences. (This restriction has been removed in v1.20) Formatted comments allow usage of Markdown formatting, which uses styles with hidden characters. For example, .svn and *.svn will exclude all files with svn extension and .svn/ and .svn\ will completely skip processing of the .svn directory. For example, if you step into function abc from the following fragment local a, b = 1, 2; function abc() print(a) end then only a variable will be listed as the upvalue. keymap[ID.STARTDEBUG] = "Ctrl-Shift-D".

I use it for all of the work Ive started doing in Lua! To quickly search for previously searched word, you can use Find Next (F3) and Find Previous (Shift-F3). Works. If you want to start the execution from a different file, you may set it using the following steps: This will set the selected file as the start file; the file will have a different icon to help distinguish it from other files. and includes the file type) will also be analyzed, but only for files with extensions not listed in the specmap table. I've moved over to it, forsaking my previous investment in Decoda! (Stephen Nichols), my kids love ZeroBrane. (Phil Hagelberg), ZBS is beautiful experience. To print complex elements on multiple lines, you can prepend the expression with =, as in ={1,2,3,'a','b','c'}. (v1.40+) All the changes in the file system will be reflected in the Project tree when they happen in the folders expanded in the tree. (v1.51+) Another option to limit the number of levels shown during pretty printing, is to add a comment with serializer options, so instead of val, use val -- {maxlevel = 2}. To jump to the position referred to in the error message shown in the Output window, you can double click on the line showing the error message. In addition to system-wide and per-user configurations, it is also possible to provide a set of parameters that will be in effect only for one session. Powerful. (Ross Berteig), Love the debugger, saving my life. (Troy Sandal), Thanks again for your awesome IDE. The menu item will also show how many instances will be selected (screenshot and details). (v0.81+) You may set corona = {showconsole = true} in system or user configuration. All rights reserved 2012-2021 Paul Kulchenko, change their types, colors, or disable them, documentation on styles and color schemes, The capitalization of the file known to the IDE. Some configuration information that needs to be preserved between launches (windows and panels sizes and positions, open editor tabs, recently used projects and files and so on) is saved in a special file. Works. You can start one instance as you normally do and then start the second instance using the following command: zbstudio -cfg "singleinstance=false; debugger.port = 8173". You can see other matches if you continue pressing TAB. The access and the processing is the same for all config files. I am using it usually 10 hrs every day w/o problems. (Srdjan Markovic), I love ZBS. Possible placeholder values to use in formats (v0.61+): To modify a key mapping for a particular menu item, you can add the following command to your configuration: Works. The editor provides default commands that can be modified to map to the key combinations you prefer. The setup script installs the IDE into the specified directory. To change the order of functions displayed in the Outline between sorted and in the order of appearence in the source file, With earlier versions you can use the edgemark plugin.

The array syntax is still supported, but deprecated. lua uncaught exception When you select all instance of a variable, you can navigate them forward and backward using Find Next (F3) and Find Previous (Shift-F3). You can also change the color and the type of the marker: styles.marker.currentline = {ch = wxstc.wxSTC_MARK_UNDERLINE, bg = {0, 0, 255}} (this will set the background to blue). System-wide cfg/user.lua (which you may need to create) is located under the directory you installed ZeroBrane Studio to. I use it for all of the work Ive started doing in Lua! Per-user packages are stored in HOME/.zbstudio/packages/ directory. The new configuration will be used until you reset or change it. Images loaded as toolbar and other icons can be tinted; this allows for easy changes to the style of the IDE without any modifications to the images themselves. what a breath of fresh air. (doctorbling), IMHO, ZBS is the fastest, most-flexible, best-thought-out IDE AND Debugger I've used since I began coding professionally in 1980. (Michael Berlyn), Love ZeroBrane Studio. If you want to install the IDE into a user directory, use the second or third option. and as shown in user-sample.lua. When you release the mouse, the panel will become a standalone window that you can then re-position and dock as described earlier in this section. These regular expressions do not accept Lua character classes that start with % (like %s, %d, and others), but accept . To uninstall the IDE you can move the application (ZeroBraneStudio.app) from the Applications directory to the Trash. $HOME/Library/Preferences/ZeroBraneStudio Preferences on macOS, and in To enable document map that provides a birds-eye view of the currently edited document, you can use document map plugin. Since the Lua executable is 32bit, you get the error about incompatible architectures. All rights reserved 2012-2021 Paul Kulchenko, Download and install one of the packages provided on the. To undock or re-dock the window, doubleclick on the tab background of the notebook in that window (v0.60+). To run multiple instances of the IDE to debug two applications, you can start one instance as you normally do, and then start the second instance using this command: zbstudio -cfg "singleinstance=false; debugger.port = 8173". You have no idea how excited I was to find this little gem! (Jonathan Shieh), It's a joy to use; totally rock solid. (Jeff Smith), Complaining about Zerobrane is like complaining that a beautiful spring day is a couple degrees too warm. (Jim Burnes). You may also review xcode-keys configuration file that can be used to modify keyboard shortcuts to match those in XCode. For example, the value \t\tPage %p of %P for the header will print Page 1 of 1 adjusted to the right for one-page output. You need to have a file opened in the IDE before you can step into functions defined in that file. (v1.40+) The parameters will be saved per-project and restored when the project directory is updated. Collapse/Expand a particular directory, which will refresh its content. You may still need to enable it for other executables (not included with the IDE) as needed to make the applications you start from the IDE dpi-aware as well. If all the buttons between two separators are removed, then two separators are merged into one to keep proper spacing. The solution in this case is to fix the escape sequence and replace \/ with /, which will have the same effect in Lua 5.1, LuaJIT, and Lua 5.2. The icon used may refer to the existing image file by name ("FILE-OPEN") or to wx.wxBitmap object; see this plugin for an example on how to create a toolbar bitmap. I've moved over to it, forsaking my previous investment in Decoda! (Stephen Nichols), my kids love ZeroBrane. (Phil Hagelberg), ZBS is beautiful experience. See Debugging of 64bit applications section for details. There is one caveat with debugging of fragments loaded with loadstring: one-line code fragments will be interpreted as filenames. To avoid this issue you need to configure the IDE to use your own 64bit Lua executable by setting path.lua = '/full/path/lua-executable' in the configuration. You can use any option supported by the Serpent serializer, for example, you can change the format for the results of the expression using numformat option: val --{numformat = "%x"}. For example, to show the values in the hexadecimal format, add the following fragment to the configuration file: This will affect all the numbers shown in the Watch, Stack, and tooltips, but will not affect Local/Remote Console windows. For example, click and hold the mouse on the tab of the Markers panel and drag it out of the notebook. For example, Ctrl-D will duplicate the current line. Powerful. (Ross Berteig), Love the debugger, saving my life. (Troy Sandal), Thanks again for your awesome IDE. All rights reserved 2012-2021 Paul Kulchenko, key code, which may be a code for a visible character (, (optional) operating system, which is one of. When there is a conflict, the IDE shortcuts take preference over editor shortcuts. Per-user configuration is stored in HOME/.zbstudio/user.lua (where HOME is the path specified by the HOME environment variable). Lua (and some engines based on it, like LVE) has output buffered by default, I am using it usually 10 hrs every day w/o problems. (Srdjan Markovic), I love ZBS. ZeroBrane Studio is using UTF-8 encoding, which allows users to use any supported language, but the files need to use Unicode encodings. (v1.11+) If you are using v1.11 or later, this is no longer be needed as the IDE launcher (zbstudio.exe) enables dpi awareness by default. This IDE is fantastic! (Eddie Dover), ZeroBrane Studio has got a working debugger, full IDE feature set, small footprint, and is completely customizable in lua. I've moved over to it, forsaking my previous investment in Decoda! (Stephen Nichols), my kids love ZeroBrane. (Phil Hagelberg), ZBS is beautiful experience. Use outputshell instead of output in earlier versions. To jump to the position in the source code referred to in the Stack window, double click on a function name in the stack frame. You can try changing the current line marker to something more visible, like underline by adding the following code to the configuration file: styles.marker.currentline.ch = wxstc.wxSTC_MARK_UNDERLINE.