Jump to content

Aura Edit: A New LSL Code Editor with Modern Features


Joeey Aura
 Share

Recommended Posts

If you're familiar with Alphons's LSLEditor and are looking for a modern alternative,
then Aura Edit might be worth checking out.

What Does Aura Edit Offer?

  • Tabbed Workspace: Keep multiple scripts open and switch between them easily. Unsaved tabs are remembered for convenience.

  • Flexible Interface: Detach and rearrange tabs to personalize your workspace layout.

  • Improved Navigation: Get a quick overview of your entire script with the enhanced scrollbar.

  • Syntax Highlighting: Write code that's easy to read and understand, with support for LSL, JSON, HTML, XML, and PHP.
  • Code Folding and Navigation: Collapse sections of code and jump to functions and events with ease.
  • Adjustable Text Zoom: Customize the text size for optimal comfort, especially helpful for late-night coding sessions.
  • Formatting and Code Assistance: Format your code automatically in Allman or K&R styles, and utilize features like JSON formatting and escape/unescape for cleaner integration.
  • Real-Time Error Checking: Catch syntax errors as you type and write code with confidence.
  • Code Analysis: Gain insights into your code's quality with helpful warnings and suggestions.
  • Custom Code Snippets: Save frequently used code blocks and insert them into any script to save time.
  • Contextual Help: Hover over LSL keywords and functions to instantly access relevant wiki documentation.
  • Code Comparison: Compare two scripts side-by-side to identify changes effectively.
  • In-Editor Code Execution (Early Stage): Run your LSL code directly within the editor and see the output (limited functionality currently under development).
  • FTP Integration: Transfer your scripts directly between Aura Edit and your server using FTP (File Transfer Protocol).

Advanced Features: custom comments 

Aura Edit allows for customization through comments:
  • Auto-completion: Use //AUTO to add words to the auto-complete list, separated by commas. Here's an example:
//AUTO something,Nothing,skycolor,someVarName
This will add "something", "Nothing", "skycolor", and "someVarName" to the suggestions when you start typing them in your code.
  • Bookmarks: Create bookmarks in the function list with //LABEL (follows script order) or //NOTE (appears at the top) comments. For instance:
//LABEL bookmark_here this needs fixing!
//NOTE lookAtThis hey check out this code
These comments will create bookmarks in the function list, allowing you to easily jump to those specific sections of your code. //LABEL will list them in the order they appear in the script, while //NOTE will group them at the top regardless of placement.
  • Custom Folding: Use //{ and //} comments to collapse specific code sections that wouldn't normally be collapsible. This can help declutter your workspace and improve focus.

Installation

Windows only. I will explore compilations for linux if the need arises. not sure about mac

  Download here
   unzip to a folder (is only 2 files, an exe and dll) 
   this is written in c# and will require the dotnet 8 framework which will
   download from microsoft atomically the first time if you don't already have the runtime installed

I primarily script in SL and use this daily as my primary editor, so I will be keeping it updated with the latest functions added by linden lab
this currently contains everything current and contained in the combat2.0 updates coming soon.
the editor will auto update when updates come available 
if you have any feature requests or find any bugs feel free to contact me in world via IM or notecard

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Great work joeey,

I know this is a big project and I'm sure it will convert into one of the next preferred SL development environments shortly, overall to people who need to test their projects without access to SL.

I wish you could add all of these features you have in mind.

I will start testing this last release.

Please, can you give us some short instructions on how we can quickly start developing in your app?

my best wishes, beta

Link to comment
Share on other sites

this is a code editor, it can be used for writing code, so when or if LUA ever sees the light of day in SL i can add that functionality to the editor as well
the editor already support lua highlighting, 

If SL one day supports lua will all the LSL functions i can add that to the editor as well. 

LSL is not going away, and much of this sounds like compiling LSL to lua runtime, which does not change how LSL is written.

also I'm dubious of things never talked about before and then announced at SLB.. like puppetry.. where is that now.. dead on on hold indefinitely.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Testing it now

Autocomplete currently requires a lot of typing because it doesn't support abreviations - EG

"dkv" i'd expect to find llDeleteKeyValue

Likewise, should probably add the parameters when an item from autocomplete is selected, ideally with the first parameter selected to type into, and then pressing tab to select the next parameter to fill out or shift-tab to go back to the previous.

For most it's probably fine, I just do so much programming day to day that I get RSI trying to type things out fully 😅

Link to comment
Share on other sites

@Innula Zenovka oh multiple non-contiguous selections could be tricky to do but I can look into that. I did think of adding a clipboard editor

@Extrude Ragu i had never thought of doing autocomplete like that, this should be pretty easy to do, I can definitely add that, I have tried to show the parameters of each but its difficult with my current setup to put text in the box that isn't actually there, but it is something id very much like to add, and will continue to try adding that

its great to get feedback of different people and different ways people do things  since up until now I've only added things for the ways I do things

  • Thanks 1
Link to comment
Share on other sites

Well, I've actually started to look into multi-caret editing, and it will give me trouble. But maybe there's a different way to achieve the same thing.

@NaomiLocket and @Innula Zenovka

I have never used an editor with multi-caret editing and never found the need for it. What do you use it for? I can't even imagine a time I would really need to do that, and especially not very often. The only thing I can imagine is if you wanted to refactor a script, rename variables or something where it changes all of them at once. If that's the case, I can do that in a different way since the editor is compiling the LSL script and is aware of the differences between a local variable and global, and the same word inside a string or comment.

There actually is a hidden feature in the editor now where if you hit CTRL-L on an LSL script it will analyze the script for the Halstead complexity measures. I was just something I ran across while researching compilers and thought it might be interesting to see what the numbers would be for LSL scripts. I'm not really sure if I will move that to a menu or just keep it as a shortcut.

Link to comment
Share on other sites

By making a multiple expanding matching selection we can select several matches with carets and type over that match with a replacement in place without going through find and replace. It leaves the freedom to be choosy about how many replacements and where the replacements are made.

Quote

The only thing I can imagine is if you wanted to refactor a script, rename variables or something where it changes all of them at once. If that's the case, I can do that in a different way since the editor is compiling the LSL script and is aware of the differences between a local variable and global, and the same word inside a string or comment.

Yes it was basically that. @Joeey Aura

ETA: Sublime text and VS Code should have a documented feature or visual demonstration somewhere about it. Sublime was one of the early 'modern' editors to make it a highlighted feature I think. The neovim/vim group tend to enjoy same or similar features also I believe.

Edited by NaomiLocket
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...