Difference between revisions of "LSL Alternate Editors"

From Second Life Wiki
Jump to navigation Jump to search
Line 24: Line 24:
[http://lslplus.sourceforge.net/ LSL PLus Eclipse Plugin]
[http://lslplus.sourceforge.net/ LSL PLus Eclipse Plugin]


The LSL Plus Eclipse plugin is a Editor/Unit Test environment for LSL implemented in Eclipse. It is a FLOSS project (Free/Libre Open Source Software). The latest release (0.3.2alpha5 - 2008-05-22) features multi-script execution with '''source level debugging''' (setting breakpoints, single stepping through code, examining variables on the call stack, etc.), making it unique among LSL IDEs.  It now supports both multi-script execution in a simulated environment (with avatars, prims, inventory, etc.) and '''unit''' testing - allowing you to test individual handlers and functions by precisely controlling the setup/teardown and interaction with the execution environment (including support for 'mocking' the LL function call that interact with the script environment).  It also has some additional code management features that encourage code re-use without having to cut-and-paste.
The LSL Plus Eclipse plugin is a Editor/Unit Test environment for LSL implemented in Eclipse. It is a FLOSS project (Free/Libre Open Source Software). The latest release (0.3.3alpha6 - 2008-05-28) features multi-script execution with '''source level debugging''' (setting breakpoints, single stepping through code, examining variables on the call stack, etc.), making it unique among LSL IDEs.  It now supports both multi-script execution in a simulated environment (with avatars, prims, inventory, etc.) and '''unit''' testing - allowing you to test individual handlers and functions by precisely controlling the setup/teardown and interaction with the execution environment (including support for 'mocking' the LL function call that interact with the script environment).  It also has some additional code management features that encourage code re-use without having to cut-and-paste.


Additionally, by using the Eclipse IDE you get features such as integration with source code control systems like CVS or Subversion, task management, integration with 3rd party bug tracking software, and so on.
Additionally, by using the Eclipse IDE you get features such as integration with source code control systems like CVS or Subversion, task management, integration with 3rd party bug tracking software, and so on.

Revision as of 12:00, 28 May 2008

There are several off-world editors available for free or purchase. Some have syntax highlighting for LSL that will make your code easier to follow. One will compile and execute a large subset of LSL. Below are some of the more popular editors for use with LSL.

If you have a favorite that is missing from the list, please feel free to add it.

For some of the editors mentioned here, the Shill project may have more up-to-date syntax files.

Off-world syntax checker

You can build a syntax checker yourself and hook it into whatever editor you fancy if you have the viewer source installed and compiled on your machine. The C++ source to build one yourself is here (JB Kraft).

Off-world edit and execute

This is heaven. Not only see if your syntax is correct, but actually execute your scripts in an off-world test environment. See multiple scripts send messages to one another, find concurrency bugs, test your list parsing routines.

LSL-Editor

LSL-Editor for Windows is a standalone LSL script editor, compiler and debugger. Binary code only (not open source).

Its compiler and debugger are already now reasonably accurate, but yet quite totally perfect. Please blog any LSL-Editor bugs you find into such places as our LSL-Editor Bugs article.

LSL-Plus

LSL PLus Eclipse Plugin

The LSL Plus Eclipse plugin is a Editor/Unit Test environment for LSL implemented in Eclipse. It is a FLOSS project (Free/Libre Open Source Software). The latest release (0.3.3alpha6 - 2008-05-28) features multi-script execution with source level debugging (setting breakpoints, single stepping through code, examining variables on the call stack, etc.), making it unique among LSL IDEs. It now supports both multi-script execution in a simulated environment (with avatars, prims, inventory, etc.) and unit testing - allowing you to test individual handlers and functions by precisely controlling the setup/teardown and interaction with the execution environment (including support for 'mocking' the LL function call that interact with the script environment). It also has some additional code management features that encourage code re-use without having to cut-and-paste.

Additionally, by using the Eclipse IDE you get features such as integration with source code control systems like CVS or Subversion, task management, integration with 3rd party bug tracking software, and so on.

Multi-platform Editors

ByronStar SL

Based on Eclipse, the ByronStar SL IDE includes most modern program editor features. It also includes custom features for LSL, such as variable checking, error markers, and code formatting. Eclipse is available for Macintosh, Linux, Windows, and many UNIX flavors.

Emacs

There's an Emacs LSL Mode available on this wiki, which provides syntax highlighting and indentation features. If you want some tips on writing LSL in emacs, read Xah Lee's page. Emacs is available for many Unix flavors, Macintosh and Windows.

You may come across (and attempt to use) Gary Evan's LSL major mode. It won't work with the Linden Scripting Language, as Gary wrote it for the Larch Shared Language.

vim

vim: vi improved. A multi-platform evolution of the most classical of the editors: vi. GPL code.
Plugins for VIM for install the syntax, autocompletion, autoident for LSL script into vim

SciTE

Easy to use, features syntax highlighting, folding, auto complete, help that opens the appropriate wiki page, and is setup to use the c preprocessor, and lslint.
Windows only SciTE-ez
Files for Linux or Windows Forum thread scite_lsl.tar.gz

jEdit

Developed in Java, this mature, cross-platform editor runs on any operating system with a Java 2 version 1.3 or higher virtual machine. It has all the features you'd expect from a full-GUI text editor. Syntax highlighting and tailored editing behavior is supported through "modes." (You can get the LSL 'modes' file here.) The editor supports a rich plug-in API; many third-party plug-ins exist to facility editing, formatting, communications, etc.
You can find jEdit here.

Shill - LSL Language Files for a Variety of Editors

Here is a page listing the various LSL language files for a variety of editors: Shill. There could be something here for your editor. Links are provided on the page for all files. (Most of the files there will be updated to 1.18.4.3 keywords in the next week or so. I'll update this note when that's done. --AdamMarker)

Windows Editors

Notepad++

Notepad++ is probably one of the best Windows editor around. Packed with features, extremely powerful and easy to use for beginners too. Best of all, it is GPL code.

ConTEXT

ConTEXT is a small, fast and powerful freeware text editor, developed mainly to serve as secondary tool for software developers.

The following syntax files are available for ConTEXT.

Crimson Editor

Crimson Editor is a professional source code editor for Windows. The following syntax files are available for Crimson Editor.

  • Aakanaar Last updated September 10, 2006 for Second Life version 1.10.0.



LSL-Editor

LSL-Editor is a standalone Windows LSL editor, compiler and debugger. All the usual editing, plus you can compile and execute.

TextPad [C]

TextPad is a powerful, but easy to use general purpose text editor. It is a commercial product, but there is a 30 day trial version available for free on the website.

The following syntax files are available for TextPad.

UltraEdit-32 [C]

UltraEdit-32 is a powerful text, HTML, and HEX editor. It is a commercial editor with a 30 day trial version available at the website. Important features:

  • column/block mode editing
  • brackets/braces matching
  • code-folding
  • configurable syntax highlighting via custom wordfiles
  • autocomplete (using keywords defined in the wordfile)
  • bookmarks, incremental searching, CTAG support
  • automatic conversion between Unix/Dos/MAC/UTF-8, etc
  • built-in FTP/SFTP client


The following syntax files are available for UltraEdit.

  • Podryck Sands Last updated April 12, 2007.
  • Stryfe Lowell Last updated 2007-04-15. Based on the original LSL Wiki and updated based on release notes. Currently at LSL 1.14.1.2.

Macintosh Editors

TextMate [C]

You can find details about Piero Padar's well-maintained TextMate bundle in the Scripting Tips forum. TextMate is a commercial Mac OS X text/program editor from Macromates.

There is a 30 day trial version available on their website.

SubEthaEdit [C]

This a great text editor with extensible language support. It also happens to be an incredible collaborative editor. Info at: http://www.subethaedit.net/

There is a contributed LSL mode by Zarf Vantongerloo. The mode is a little out of date and could use some love. But in general works great, doing syntax hilighting of LSL funcitons and adding a pop-up menu of all functions, states and event handlers to the top of the window.

An updated LSL mode by Mark Lentczner is available now from the SubEthaEditor User contributed modes Repository.

BBEdit and TextWrangler

You can get a LSL language module for BBEdit and TextWrangler at http://adammarker.org/bbedit.html

Linux Editors

Kate is an advanced text editor for KDE. Usually included in all KDE based distributions. A Kate LSL Mode is available on this wiki.