Skip to content

Commit 6672b1c

Browse files
Minor editing of the 2 READMEs
1 parent efa65f2 commit 6672b1c

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,23 @@
55

66
A Nova extension providing syntax highlighting for Linden Scripting Language (LSL), the scripting language used in the Second Life® and OpenSimulator virtual world platforms.
77

8-
Based on the amazing work by Sei Lisa and Mako Nozaki, who compiled the [LSL2 Keywords Database](https://github.com/Sei-Lisa/kwdb) (version 0.0.20210612000), without which I would need to do everything manually (like I did for the first release!).
8+
Based on the amazing work by Sei Lisa and Mako Nozaki, who compiled the [LSL2 Keywords Database](https://github.com/Sei-Lisa/kwdb) (version 0.0.20210612000), also known as KWDB, without which I would need to do everything manually (like I did for the first release!).
99

1010
## Language Support
1111

1212
### This extension currently supports the following features of Linden Scripting Language:
1313

14-
- Syntax Highlighting for the latest version of LSL (as of the time of releasing this extension)
15-
- Auto-completions for major LSL constructions and functions (as far as I could make them work)
16-
- OpenSimulator & Aurora Sim LSL functions/constants
14+
- Syntax Highlighting for the latest version of LSL (as of the current release of the KWDB)
15+
- Auto-completions for major LSL constructions, functions and constants (as far as I could make them work)
16+
- OpenSimulator & Aurora Sim LSL functions/constants (not all are correctly tagged, though)
1717

1818
### Not done yet:
1919

20-
- Adding tooltips and parameter auto-completion for _all_ functions
20+
- Hovering tooltips. I haven't figured out how _that_ works _without_ using a Language Server Protocol application.
2121
- Distinguishing global from local scopes for variables. This shouldn't be too hard, since LSL is rather rigid with declarations, but I haven't done it yet.
22-
- Automagically updating the syntax auto-completions every time Lisa & Nozaki update their own database
22+
- Making the jumps to definition work consistently.
23+
- Getting the scope selections to work.
24+
- Automagically updating the syntax auto-completions every time Lisa & Nozaki update their own database (there are now a few tools to help with that).
2325

2426
## Disclaimers, Acknowledgements & Warnings
2527

@@ -47,6 +49,6 @@ Nova® and the Nova logo are registered trademarks of Panic Inc.
4749

4850
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.
4951

50-
Some of the test files under the `/Tests` directory have been shamelessly copied from the LSL Portal section of the [Second Life Wiki](http://wiki.secondlife.com/wiki/LSL_Portal); their authors are credited on each of them.
52+
Some of the test files under the `/Tests` directory have been shamelessly copied from the LSL Portal section of the [Second Life Wiki](http://wiki.secondlife.com/wiki/Category:LSL_Library), and, for the OpenSimulator dialect of LSL, from the [OpenSimulator Wiki](http://opensimulator.org/wiki/OSSL_Script_Library); their authors are credited on each of them.
5153

5254
Gwyneth Llewelyn is not affiliated with either of these companies or organisations, much less endorsed by any of them.

Tools/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ You have been warned.
2020

2121
Since I've 'discovered' Sei Lisa and Mako Nozaki's most excellent LSL2/OSSL/AA Keywords Database and Derived Files Generator, which is at the basis of almost all contemporary syntax highlighters because it is very comprehensive and has been continuously updated ver the years, it seemed rather stupid to manually 'duplicate' their work (they use similar resources/references), especially when I'm quite sure that I won't be able to keep up with them. As a consequence, it would be a pity if LSL support on Nova lagged behind what other editors (especially free and open-source ones!) were [already offering](https://github.com/buildersbrewery/linden-scripting-language).
2222

23-
Therefore, after much research (well, for me, at least), I decided to at least partially automate the process of keeping things up-to-date with the least effort, and write a small tool that converts the KWDB XML into Nova's syntax XML.
23+
Therefore, after much research (well, for me, at least), I decided to at least partially automate the process of keeping things up-to-date with the least effort, and write a small tool that converts the KWDB XML into Nova's auto-completions XML.
2424

2525
In reality, there are lots of tools doing the same for several other editors (many come from [the official KWDB repository](https://github.com/Sei-Lisa/kwdb) itself). Most are written in Python and/or Perl — two programming languages that I'm not really familiar with — so I decided to do it in [Go](https://golang.org). Allegedly, Go's performance in parsing XML is mediocre, but my other alternative — using PHP — was at least as bad, so, well, if you wish to tinker with the code, it's in Go...
2626

@@ -48,8 +48,10 @@ and to run it from the command line, it's as easy as typing:
4848

4949
`./kwdbxmlconvert`
5050

51-
If all goes well, you should get XML on the output. This is for the _completions_ — therefore, you need to pipe the output to `/Completions/Linden Scripting Language.xml`.
51+
If all goes well, you should get XML on the output. This is for the _completions_ XML file _only_ — therefore, you need to pipe the output to `/Completions/Linden Scripting Language.xml`.
5252

53-
You can run `./kwdbxmlconvert --help` to see some more options. In particular, at the time of writing, `kwdbxmlconvert` can _optionally_ also generate a few XML tags for the syntax configuration file; however, you will need to manually copy & paste the output to the required section(s); the process is not fully automated yet (the syntax file is considerably more complex!).
53+
You can run `./kwdbxmlconvert --help` to see some more options. In particular, at the time of writing, `kwdbxmlconvert` can _optionally_ also generate a few XML tags for the _syntax_ configuration file (by default, it generates a complete _auto-completions_ file, including tooltips); however, you will need to manually copy & paste the output for the _syntax_ to the required section(s); the process is not automated yet, mostly because the syntax file is considerably more complex as well as having most of the built-in functions and constants properly classified according to their (many) subtypes — the KWDB doesn't do that, except for (sometimes) tagging grid-specific versions (i.e. available on SL, OpenSimulator and/or Aurora Sim). This tagging is quite inconsistent.
5454

55-
After you have copied the files to their proper places, go back to Nova and uncheck, then re-check this extension — it should reload the new completions file (which also includes descriptions/tooltips). If not, well, try to restart Nova. If not even that works, it means that my own code is unable to parse the latest version of the LSL2 Keyword Database. That's a bummer! Sorry, you'll have to deinstall this extension, and re-install it again, thus restoring the original files... and losing all your own work, unless you remembered to back it up!
55+
There are also some weird duplications (or at least my simplistic coding finds a few duplicates here and there) and the overall KWDB is _not_ ordered; such ordering, where appropriate, was done manually. All this is _not_ automated, so consider the existing code as a work in progress.
56+
57+
Anyway... after you have copied the files to their proper places, go back to Nova and uncheck, then re-check this extension — it should reload the new completions file (which also includes descriptions/tooltips). If not, well, try to restart Nova. If not even that works, it means that my own code is unable to parse the latest version of the LSL2 Keyword Database. That's a bummer! Sorry, you'll have to deinstall this extension, and re-install it again, thus restoring the original files... and losing all your own work, unless you remembered to back it up!

0 commit comments

Comments
 (0)