Skip to content

Commit

Permalink
Update documentation around shellsl and feature support
Browse files Browse the repository at this point in the history
  • Loading branch information
SaladDais committed Jul 6, 2023
1 parent e8d028e commit a0dd4af
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,32 @@ pip install -e .

## How

For a real-world example, see <https://github.com/SaladDais/SLGraphPather> or <https://github.com/SaladDais/SickJoke>'s
tests and test coverage reporting.
For a real-world example of local LSL testing with Lummao, see <https://github.com/SaladDais/SLGraphPather> or
<https://github.com/SaladDais/SickJoke>'s tests and test coverage reporting.

Along with the python API, a helper `lummao` script is provided that takes in an LSL file and outputs a python file.
It can be invoked like `lummao input.lsl output.py`.

If you just want to run an LSL script from the command-line, the `shellsl` command will be installed alongside `lummao`,
and can be run from the commandline like so:

```
$ shellsl tests/test_resources/lsl_conformance.lsl
All tests passed
```

## Why

If you've ever written a sufficiently complicated system in LSL, you know how annoying it is to debug your scripts
or be sure if they're even correct. Clearly the sanest way to bring sanity to your workflow is to convert your LSL
scripts to Python, so you can mock LSL library functions and use Python debuggers. Hence the name "Lummao".
scripts to Python, so you can mock LSL library functions and use Python debuggers. Hence, the name "Lummao".

## TODO

* Symbol shadowing behavior is not correct. Python has very different shadowing rules.
* Provide mock helpers for:
* * inter-script communication
* * HTTP
* * auto-stubs for all functions
* * state-aware event queueing

## License

Expand Down
4 changes: 2 additions & 2 deletions extras/hello_shellsl.lsl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/local/bin/shellsl
// obviously, shellsl has to be placed here for the shebang to work.
#!/usr/bin/env shellsl
// The shebang should allow executing LSL files directly!

default {
state_entry() {
Expand Down

0 comments on commit a0dd4af

Please sign in to comment.