LSL-Plus
Jump to navigation
Jump to search
LSL Plus
LSL Plus is an offline IDE for editing and debugging of LSL code. LSL Plus is Free/Libre Open Source Software (FLOSS), meaning source is included when you download the software, and you are free to update it and redistribute it.
LSL Plus has the following features:
- Source Level Debugging:
- set breakpoints
- single step through code
- examine variables all the way up the call stack, including global variables
- Typical IDE editor features:
- source code completions
- integrated information about types, names of built in function arguments
- documentation hover support
- auto indentation
- syntax highlighting
- A Extensive simulation framework for running multiple scripts and testing concurrency
- Build an environment with avatars, objects, prims, inventory, etc.
- Embed any number of scripts in any number of prims
- Add specialized event handlers to simulate avatar actions or external services (e.g. HTTP servers)
- Test link message, chat, inter-object email, sensors, touches
- A Unit Testing framework:
- specify the code entry point you want to test (a function, or a specific handler in a specific state).
- specify the expect return value, and/or the expected change to the state of global variables
- specify the external calls you expect the code to make
- framework executes the code, checks results, displays test results, and test log.
- Meta-language features: split your code up into reusable modules, test them separately. LSL Plus will create the combined, validated scripts for you for upload into Second Life.
- Optimization support: inlining, constant folding, pruning of unused elements.
- Integrated into Eclipse, giving you access to several integrated source code control systems (CVS, Subversion, etc.), Mylyn task management, etc.
- Future directions:
- Write LSL unit tests in LSL, instead of declaratively
- Visualization support
- Improved physics fidelity
- And bug fixes (it is in late beta)
- More scripting of Simulator events, for more interesting tests
- Refactoring support