Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
806af5b
typing improvements from https://github.com/secondlife/sl-vscode-plug…
tapple Jan 14, 2026
8ae92f7
added missing definitions, copied from vscode json
tapple Jan 14, 2026
c38c360
added missing definitions, copied from vscode json
tapple Jan 14, 2026
313263a
converted the lua half of syntax_defs_default.json to yaml from https…
tapple Jan 14, 2026
9e4ca92
put the new fields in a consistent order
tapple Jan 14, 2026
54d1b19
make the new fields in lsl_defs naming-consistent
tapple Jan 14, 2026
e821561
slua-type: numeric is redundant with bool-semantics
tapple Jan 14, 2026
742433d
consistently put bool/index-semantics and slua-type after type
tapple Jan 14, 2026
82b1401
consistentl put name first in top-level dicts
tapple Jan 14, 2026
885bb72
consistently put name first in second-level dicts
tapple Jan 14, 2026
a202f56
consistently put name first in third-level dicts
tapple Jan 14, 2026
8f50050
consistently put name first in fourth-level dicts
tapple Jan 14, 2026
561ed4d
consistently put optional after type
tapple Jan 14, 2026
7ce80d3
add the new fields to the schema
tapple Jan 14, 2026
fa208df
Verified bit-identicality of generated syntax against keywords_lsl_78…
tapple Jan 15, 2026
8b958ac
Revert "Verified bit-identicality of generated syntax against keyword…
tapple Jan 15, 2026
0539dcc
added the func-id for llSetParcelForSale
tapple Jan 15, 2026
253056e
add a pretty-print option and match the field order of indra/newview/…
tapple Jan 16, 2026
00acc8f
Reordering needed to binary-match keywords_lsl_78aaa42a-9d1f-b7bb-ac9…
tapple Jan 16, 2026
21790b6
Revert "Reordering needed to binary-match keywords_lsl_78aaa42a-9d1f-…
tapple Jan 16, 2026
e20083b
now able to generate the lsl portion of keywords-lua
tapple Jan 16, 2026
00f9291
marked the llSetParcelForSale function id as unavailable
tapple Jan 16, 2026
d75a637
re-order slua_definitions to match slua_default.d.luau first, and lsl…
tapple Jan 16, 2026
5ae7922
made a seperate section for baseClasses, to better match slua_defs.d.…
tapple Jan 16, 2026
1531cde
keywords_slua sections controls, types, and constants are now generat…
tapple Jan 17, 2026
bf2c111
Now the builtin functions section is generated
tapple Jan 17, 2026
198c2b4
removed getfenv, setfenv
tapple Jan 17, 2026
a5458ca
Add basic validators to the slua_definitions parser: valid id, no dup…
tapple Jan 18, 2026
eac9a03
fix the builtin function types
tapple Jan 18, 2026
f91734a
fix validation errors
tapple Jan 19, 2026
7154828
llSetParcelForSale has more return values than true/false
tapple Jan 19, 2026
6e5c6c2
Merge remote-tracking branch 'origin/main' into slua-defs
tapple Jan 19, 2026
51beabf
add type alias generation
tapple Jan 19, 2026
cd7555c
converted structured types to strings
tapple Jan 19, 2026
cc77ea8
fix validation issues
tapple Jan 19, 2026
28fa1ff
fix hidden keyword fields
tapple Jan 20, 2026
2e7a4ff
generate classes
tapple Jan 20, 2026
696b61a
generate classes
tapple Jan 20, 2026
e615202
classes are now generated
tapple Jan 20, 2026
85f0c4f
moved quaternion, uuid, vector from globalVariables to modules
tapple Jan 20, 2026
ddce53f
generate modules
tapple Jan 20, 2026
ad5bbe3
fix variadics
tapple Jan 20, 2026
ef6b28a
fixed optionals
tapple Jan 20, 2026
b438041
add values to constants
tapple Jan 20, 2026
4dbb40b
converted quaternion, vector, uuid to module format
tapple Jan 20, 2026
56fa56f
fix bugs generating modules
tapple Jan 20, 2026
a31f5f9
Merged in bit32 comments from keywords_lua.xml
tapple Jan 20, 2026
f748d60
generate a library header in keywords_lua
tapple Jan 20, 2026
c8cf02e
Merged in coroutine comments from keywords_lua.xml
tapple Jan 20, 2026
6ea7e07
Merged in debug comments and private functions from keywords_lua.xml
tapple Jan 20, 2026
c113e12
don't generate private functions
tapple Jan 21, 2026
eafe6a4
Merged in bit32 comments from keywords_lua.xml
tapple Jan 21, 2026
c5c80e4
Merged in math comments from keywords_lua.xml
tapple Jan 21, 2026
3bdd699
Merged in os comments from keywords_lua.xml
tapple Jan 21, 2026
b49cf89
Merged in string comments from keywords_lua.xml
tapple Jan 21, 2026
7edc20e
Merged in table comments from keywords_lua.xml
tapple Jan 21, 2026
3ac7f9f
Merged in utf8 comments from keywords_lua.xml
tapple Jan 21, 2026
034f511
Merged in vector comments from keywords_lua.xml
tapple Jan 21, 2026
7240e78
generate a header for ll library
tapple Jan 21, 2026
67a780e
the "events" schema wasn't actually validating anything. now it is
tapple Jan 21, 2026
a22727f
fix schema errors now that events is actually being validated
tapple Jan 21, 2026
849a604
fixed slua detected events and state_entry/exit
tapple Jan 21, 2026
e370d5e
wrote an entry for table.shrink
tapple Jan 21, 2026
7741ff2
Improved the quaternion comments based on the vector comments
tapple Jan 21, 2026
ae5ca3f
a few small comment improvements in vector, quaternion, uuid
tapple Jan 21, 2026
7784901
Merge remote-tracking branch 'origin/main' into slua-defs
tapple Jan 21, 2026
4e58a5f
convert void -> () in luau
tapple Jan 21, 2026
1430304
convert void -> () in luau
tapple Jan 21, 2026
8b1b10b
spacing
tapple Jan 21, 2026
88f31c6
pre-commit run -a
tapple Jan 21, 2026
387afa4
validate globalVariables
tapple Jan 21, 2026
8bcb57e
label the functions/events deprecated in slua, and the wrapped Detect…
tapple Jan 22, 2026
94f5b16
remove goto from lua keywords
tapple Jan 23, 2026
deffcb3
add missing luau keywords continue and export
tapple Jan 23, 2026
16e53cd
add slua_definitions.yaml to README and CI
tapple Jan 23, 2026
49bf9ab
`userdata` is not a language keyword, just a string that `typeof` can…
tapple Jan 25, 2026
d403930
`table` is not a language keyword, just a string that `typeof` can re…
tapple Jan 25, 2026
d5cb400
Added period to the end of table comments, for consistency with other…
tapple Jan 25, 2026
36aa34b
removed `numeric` in favor of explicit `boolean | number`. `numeric` …
tapple Jan 25, 2026
8b07f21
better return type for llGetExperienceList
tapple Jan 25, 2026
892a981
add deprecated field
tapple Jan 25, 2026
2af7281
mark deprecated luau functions
tapple Jan 25, 2026
ad5db61
renamed slua-deprecated to slua-removed; re-added slua-deprecated
tapple Jan 25, 2026
6993330
renamed slua-deprecated to slua-removed; re-added slua-deprecated
tapple Jan 25, 2026
f6b3784
missed detected-semantics in llDetectedOwner, llDetectedTouchST
tapple Jan 26, 2026
78d248b
mark type aliases for export, and don't add non-exported ones to keyw…
tapple Jan 26, 2026
137f987
copied the lsl schema to start a slua schema
tapple Jan 26, 2026
c0ed674
updated schema version to 2019-09
tapple Jan 26, 2026
d4b6b70
updated schema version to 2020-12
tapple Jan 26, 2026
934ee94
validate the slua schema
tapple Jan 26, 2026
4880f6d
updated schema version to 2020-12
tapple Jan 26, 2026
7acd18a
validate constants
tapple Jan 26, 2026
570b953
renamed overoad to anonymous function
tapple Jan 26, 2026
d650486
validate functions
tapple Jan 26, 2026
500d337
delete extra cruft from the lsl schema
tapple Jan 26, 2026
ff31ecb
validate classes
tapple Jan 26, 2026
a95dc66
validate type aliases
tapple Jan 26, 2026
fa06281
rename module properties to constants
tapple Jan 26, 2026
aea8d48
renamed ModuleDeclaration to Module
tapple Jan 26, 2026
592e960
validate modules
tapple Jan 26, 2026
8a0ea31
fix validation errors
tapple Jan 26, 2026
a97a5a2
reverted c_compat
tapple Jan 26, 2026
452e358
downgrade the llsd requirement to the currently released one
tapple Jan 26, 2026
0d30824
fix CICD
tapple Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 16 additions & 5 deletions .github/workflows/validate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,24 @@ jobs:
python -m pip install --upgrade pip
pip install .

- name: Check if syntax generation produces valid output
- name: Check if LSL syntax generation produces valid output
run: |
# Generate syntax to a temporary file to verify it's valid
gen-lsl-definitions ./lsl_definitions.yaml syntax /tmp/syntax_output.llsd
gen-lsl-definitions ./lsl_definitions.yaml syntax /tmp/lsl_syntax_output.llsd
# Check that the output file was created and is not empty
if [ ! -s /tmp/syntax_output.llsd ]; then
echo "Error: Syntax generation produced empty output"
if [ ! -s /tmp/lsl_syntax_output.llsd ]; then
echo "Error: LSL Syntax generation produced empty output"
exit 1
fi
echo "✓ Syntax generation successful and produced non-empty output"
echo "✓ LSL Syntax generation successful and produced non-empty output"

- name: Check if SLua syntax generation produces valid output
run: |
# Generate syntax to a temporary file to verify it's valid
gen-lsl-definitions ./lsl_definitions.yaml slua_syntax ./slua_definitions.yaml /tmp/slua_syntax_output.llsd
# Check that the output file was created and is not empty
if [ ! -s /tmp/slua_syntax_output.llsd ]; then
echo "Error: SLua Syntax generation produced empty output"
exit 1
fi
echo "✓ SLua Syntax generation successful and produced non-empty output"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# LSL Definitions

This repository contains the canonical `lsl_definitions.yaml` file that serves as the authoritative source of truth for Second Life's LSL (Linden Scripting Language) library.
This repository contains the canonical `lsl_definitions.yaml` and `slua_definitions.yaml` files that serve as the authoritative source of truth for Second Life's LSL (Linden Scripting Language) and SLua (Server Lua) libraries.

## Purpose

Expand Down
Loading