Estrela Editor

Estrela Editor is our wxLua-based editor primarly serving as Luxinia IDE, of course it can be used for any Lua coding. It has code completion, api tooltips and is (open-source/free). Hosted on SourceForge. Estrela has its origins in a wxLua sample by J. Winwood & John Labenski.

Paul Kulchenko has extended Estrela and turned it into ZeroBrane Studio. Estrela and ZBStudio? are essentially the same editor now, with ZBStudio? leading the future.

Simply grab the latest-snapshot from git, it will include required binaries, however all relevant files are pure lua:

zbstudio github repository (more updates)

sourceforge git repository

Where is estrela.exe?

  • Use zbstudio.exe from now on
  • Copy EstrelaEditor?.ini to ZeroBraneStudio?.ini in your HOME directory, to keep old project and file history
  • As zbstudio doesn't load all tools and specs (cg,glsl...) by default, you must create "cfg/user.lua" and copy the contents of cfg/estrela.cfg in it

Tutorials

Features

  • written in Lua, so easily customizable
  • automatically loads several 'plugin' like classes
    • specs: file syntax, lexer, keywords
    • apis: for code-completion and tool-tips
    • interpreters: how a project is run (e.g. starting luxinia, lua commandline, or integrated lua shell)
    • config: contains style and basic editor settings
    • tools: additional tools, e.g. cg compiler, dx fxc compiler
  • lua-shell to directly test code snippets
  • auto-completion for functions, keywords...
  • function tips
  • function list in file (quick jump to)
  • function call highlighting
  • project file browser (create new files in selected subdirectory)
  • experimental type/class guessing for auto-completion
  • different editor styles possible

Screenshots

auto-completion

auto-completion with partial matching

auto-completion with api resolve

api tooltips

project browser

styles

lua shell for running code directly

function highlighting

functions in file list

experimintal type guessing / type assignment

LuaJIT? FFI to Estrela API

converts structs, enums, consts...