/ZeroBraneStudio

Lightweight Lua-based IDE for Lua with code completion, syntax highlighting, live coding, remote debugger, and code analyzer; supports Lua 5.1, 5.2, 5.3, LuaJIT and other Lua interpreters on Windows, OSX, and Linux

Primary LanguageLuaOtherNOASSERTION

Project Description

ZeroBrane Studio is a lightweight cross-platform Lua IDE with code completion, syntax highlighting, remote debugger, code analyzer, live coding, and debugging support for several Lua engines (Lua 5.1, Lua 5.2, Lua 5.3, LuaJIT, LÖVE, Moai, Gideros, Corona, Marmalade Quick, Cocos2d-x, GSL-shell, Adobe Lightroom, OpenResty/Nginx, Lapis, Moonscript, and others). It originated from the Estrela Editor.

ZeroBrane Studio debugger screenshot

Features

  • Written in Lua, so easily customizable.
  • Small, portable, and cross-platform (Windows, Mac OSX, and Linux).
  • Auto-completion for functions, keywords, and custom APIs.
  • Interactive console to directly test code snippets with local and remote execution.
  • Integrated debugger with local and remote debugging for Lua 5.1, Lua 5.2, Lua 5.3, LuaJIT, and other Lua engines.
  • Live coding with Lua, LÖVE, Gideros, Moai, Corona SDK, GSL-shell, and other engines.
  • Function outline.
  • Fuzzy search with Go To File, Go To Symbol, and Insert Library Function.
  • Several ways to extend the current functionality:
    • specs (spec/): specifications for file syntax, lexer, and keywords;
    • apis (api/): descriptions for code completion and tooltips;
    • interpreters (interpreters/): components for setting debugging and run-time project environment;
    • packages (packages/): plugins that provide additional functionality;
    • config (cfg/): settings for styles, color themes, and other preferences;
    • translations (cfg/i18n/): translations of the menus and messages to other languages;
    • tools (tools/): additional tools.

Documentation

Installation

ZeroBrane Studio can be installed into and run from any folder. No compilation is needed, although the scripts to compile required libraries for Windows, OSX, and Linux platforms are available in the build/ folder.

Usage

Open file(s):
  zbstudio [option] [<project directory>] <filename> [<filename>...]
  non-options are treated as a project directory to set or a file to open

Set project directory:
  zbstudio <project directory> [<filename>...]
  (0.39+) a directory passed as a parameter will be set as the project directory

Override default configuration:
  zbstudio -cfg "<luacode overriding config>" [<filename>]
  e.g.: zbstudio -cfg "editor.fontsize=12" somefile.lua

Load custom configuration:
  zbstudio -cfg path/file.lua [<filename>]
  e.g.: zbstudio -cfg cfg/estrela.lua

If you are loading a file, you can also request the cursor to be set on a particular line or at a particular position by using filename:<line> and filename:p<pos> syntax (0.71+).

Contributing

See CONTRIBUTING.

Author

ZeroBrane Studio and MobDebug

ZeroBrane LLC: Paul Kulchenko (paul@kulchenko.com)

Estrela Editor

Luxinia Dev: Christoph Kubisch (crazybutcher@luxinia.de)

Where is Estrela?

The projects have been merged and ZeroBrane Studio will lead the future. Please reassociate files with ZeroBrane Studio. To keep your history of files and projects copy the contents of the EstrelaEditor.ini in your HOME directory to ZeroBraneStudio.ini. If you have used Estrela for graphics shader authoring or luxinia, create/modify the cfg/user.lua to include the content of cfg/estrela.lua to load all tools and specifications by default again.

License

See LICENSE.