You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,9 @@ Based on the amazing work by Sei Lisa and Mako Nozaki, who compiled the [LSL2 Ke
14
14
- Auto-completions for major LSL constructions, functions and constants (as far as I could make them work)
15
15
- OpenSimulator & Aurora Sim LSL functions/constants (not all are correctly tagged, though)
16
16
- Opening the LSL Portal on the Second Life Wiki for the object currently selected
17
-
- Experimental: LSlint (LSL linter) support
17
+
- Experimental (but mostly functional): LSlint (LSL linter) support, which will show syntax errors (like the built-in viewer, but better) and even some semantic analysis (redundant code, declared but unused elements, etc.) which the SL Viewer does _not_ include (!).
18
+
- On Preferences you can set the location of the LSL linter, as well as of its definition table (`builtins.txt`). Defaults are the included versions in the extension itself.
19
+
- Lots of (optional) debugging messages spamming on the console (which can be turned off).
18
20
19
21
### Not done yet:
20
22
@@ -24,7 +26,10 @@ Based on the amazing work by Sei Lisa and Mako Nozaki, who compiled the [LSL2 Ke
24
26
- Getting the scope selections to work.
25
27
- Automagically updating the syntax auto-completions every time Lisa & Nozaki update their own database (there are now a few tools to help with that).
26
28
- Using Panic's new support for Tree-sitter grammars, which is even trickier to deal with (and requires some compilation) than the current language files...
27
-
- Fully support the LSL linter from W-Hat.
29
+
- Fully support the LSL linter from W-Hat, namely, by allowing more options to be checked/selected.
30
+
- Fix `lslint` to support OSSL overloaded functions (ha!).
31
+
- Investigate alternatives to `lslint` which are extensions/expansions and which also might make some things easier to catch.
32
+
- Create a LSL LSP. (Hah!)
28
33
29
34
## Disclaimers, Acknowledgements & Warnings
30
35
@@ -36,6 +41,8 @@ But please note that LSL is a language in perpetual flux, with Linden Lab (and t
36
41
37
42
While this extension is _mostly_ working, and should give you adequate syntax colouring (and even reasonable scoping) don't expect the results to be _exactly_ the same as inside the viewer's editor. In particular, the colours will match your Nova theme, not the conventions set by Linden Lab. It's theoretically possible to create a new, specific theme to deal with the LL colour conventions, but I haven't done that yet (I'm not expecting many people to use _this_ extension!).
38
43
44
+
On the other hand, the inclusion of `lslint` (LSL Linter) allows Nova to go well beyond the Linden Lab's built-in code editor in the viewer.
45
+
39
46
Also thanks to other Nova extension developers (including, but not limited to, Genealabs) for writing good, clean, understandable code that I shamelessly copied and reused.
40
47
41
48
## Extra goodies!
@@ -50,17 +57,17 @@ Although it's more conventional to do those tools in either Perl or Python, whic
50
57
51
58
### LSL linter
52
59
53
-
We don't have a language server for LSL (yet!) but we have something reasonably similar: the [`lslint` project](https://github.com/Makopo/lslint/). If you don't want to compile it on your own, it's included under the `/LSLint` directory. You have to run it passing the `builtins.txt` file that has been pre-assembled with the latest & greatest LSL definitions (also present in the very same directory).
60
+
We don't have a language server for LSL (yet!) but we have something reasonably similar: the [`lslint` project](https://github.com/Makopo/lslint/). If you don't want to compile it on your own, it's included under the `/LSLint` directory. You have to run it passing the `builtins.txt` file that has been pre-assembled with the latest & greatest LSL & OSSL definitions (also present in the very same directory is `builtins-only-lsl.txt` which limits linting 'official' LSL only, and not any of its dialects).
54
61
55
-
You can add it as an optional action on Nova; this extension doesn't do that automatically on your behalf yet.
62
+
Kudos to the whole W-Hat team, which released the original lslinter code into the public domain, and special thanks to Makopo for being its current (main) maintainer, as well as Sei Lisa for the many corrections and improvements.
56
63
57
64
## Legal Acknowledgements
58
65
59
66
Second Life®, Linden Scripting Language and the inSL logo are trademarks of Linden Research, Inc. No infringement is intended.
60
67
61
68
Nova® and the Nova logo are registered trademarks of Panic Inc.
62
69
63
-
The KWDB (a.k.a. LSL2/OSSL/AA Keywords Database and Derived Files Generator) is copyrighted by Sei Lisa and Mako Nozaki and released under a [GNU Lesser General Public License 3](http://www.gnu.org/licenses/lgpl-3.0.html), with parts also copyrighted by Linden Lab and released under the same license.
70
+
The KWDB (a.k.a. LSL2/OSSL/AA Keywords Database and Derived Files Generator) is copyrighted by Sei Lisa and Mako Nozaki and released under a [GNU Lesser General Public License 3](https://www.gnu.org/licenses/lgpl-3.0.html), with parts also copyrighted by Linden Lab and released under the same license.
"description": "List of LSL built-in functions and parameters. By default, uses the builtins.txt that comes with this version (KWDB 0.0.20231219001). See LSLint/README.md for more information on how to build your own file.",
27
+
"description": "List of LSL built-in functions and parameters. By default, uses the builtins.txt that comes with this version (KWDB 0.0.20231219001). See LSLint/README.md for more information on how to build your own file. A LSL-only bultins-only-lsl.txt is also provided for convenience.",
0 commit comments