Skip to content

Add Origin-applying SyntaxRegistry#8376

Merged
APickledWalrus merged 4 commits intodev/featurefrom
feature/origin-apply-syntax-registry
Jan 21, 2026
Merged

Add Origin-applying SyntaxRegistry#8376
APickledWalrus merged 4 commits intodev/featurefrom
feature/origin-apply-syntax-registry

Conversation

@APickledWalrus
Copy link
Copy Markdown
Member

Problem

As we move more syntax into modules, we are wanting to apply a common ModuleOrigin for all syntaxes that a module registers. This requires static registry methods to accept an Origin and apply them. Ideally, we can simplify this process without having to update these methods.

Solution

Currently, the SyntaxRegistry of the default Skript and SkriptAddon implementations will apply an AddonOrigin to infos registered without one. I have taken this system and generalized it by adding a new OriginApplyingRegistry implementation. Just as with the existing system, the register method applies an origin before passing back to the default (backing) implementation. I have replaced the existing internal system to use this one.

For modules, we can use this system in a similar fashion:

// for example, we are in a module's load method
SyntaxRegistry syntaxRegistry = SyntaxRegistry.withOrigin(addon.syntaxRegistry(), AddonModule.origin(addon, this));
// now, no need to pass origins!
MySyntax.register(syntaxRegistry);

Testing Completed

I have added a JUnit test for the AddonOrigin functionality.

Supporting Information

n/a


Completes: none
Related: none
AI assistance: none

@APickledWalrus APickledWalrus requested a review from a team as a code owner January 15, 2026 20:17
@APickledWalrus APickledWalrus added the feature Pull request adding a new feature. label Jan 15, 2026
@APickledWalrus APickledWalrus requested review from Burbulinis and removed request for a team January 15, 2026 20:17
@github-project-automation github-project-automation bot moved this to Awaiting Merge in 2.15 Releases Jan 15, 2026
@github-project-automation github-project-automation bot moved this from Awaiting Merge to In Review in 2.15 Releases Jan 16, 2026
@APickledWalrus APickledWalrus changed the base branch from master to dev/feature January 21, 2026 20:44
@github-project-automation github-project-automation bot moved this from In Review to Awaiting Merge in 2.15 Releases Jan 21, 2026
@skriptlang-automation skriptlang-automation bot added the feature-ready A PR/issue that has been approved, tested and can be merged/closed in the next feature version. label Jan 21, 2026
@APickledWalrus APickledWalrus merged commit 1e6bf23 into dev/feature Jan 21, 2026
10 checks passed
@github-project-automation github-project-automation bot moved this from Awaiting Merge to Done - Awaiting Release in 2.15 Releases Jan 21, 2026
@APickledWalrus APickledWalrus deleted the feature/origin-apply-syntax-registry branch January 21, 2026 21:47
@skriptlang-automation skriptlang-automation bot added completed The issue has been fully resolved and the change will be in the next Skript update. and removed feature-ready A PR/issue that has been approved, tested and can be merged/closed in the next feature version. labels Jan 21, 2026
sovdeeth pushed a commit to sovdeeth/Skript that referenced this pull request Feb 9, 2026
sovdeeth added a commit that referenced this pull request Apr 2, 2026
* Add Origin-applying SyntaxRegistry (#8376)

* Add reduce/fold Expression (#8353)

* Location with Yaw/Pitch (#8351)

* Test framework: support directory resources (#8377)

* Test framework: support directory resources

* use walkFileTree

* oops forgot imports

* Pattern Stringification Customization (#8391)

* Implement StringificationProperties

* Package cleanup

* Fix missing call in GroupPatternElement stringification (#8449)

Fix GroupPatternElement stringification

* Stabilise damage source experiment (#8414)

* Stabilise damage source experiment

* Replace STABLE with MAINSTREAM

* Remove experiment from damage source test

* Remove unstable API usage supression

---------

Co-authored-by: sovdee <10354869+sovdeeth@users.noreply.github.com>

* Add vector(n) (#8412)

* Init commit

* Fix not registering overloading for old namespaces

* Standardize Module usage + add child modules (#8346)

* child module support

* Create child modules and move over existing Bukkit addon modules.

* Update newer modules

* Clean up

* Requested changes and additional conversions

Just tags left!

* convert last module

* standardize package hierarchies

* remove bad imports

* fix bad examples

* Replace ChildAddonModule with HierarchicalAddonModule, move display/interaction modules into entity module, few other requested changes

* requested changes

* varargs registrar (thanks blue!)

* Use addonmodule javadocs to point to other useful tools

* Requested Changes

* Requested Changes

* Added option to compress file backups (#8396)

* Add fast path for integer strings in variable name comparator (#8483)

* Initial conversion

* Some more conversion

* fixes

* Update StructCommand.java

* no tests

---------

Co-authored-by: Patrick Miller <apickledwalrus@icloud.com>
Co-authored-by: mibers <midaswoah2@gmail.com>
Co-authored-by: _tud <98935832+UnderscoreTud@users.noreply.github.com>
Co-authored-by: devdinc <234956748+devdinc@users.noreply.github.com>
Co-authored-by: Tiberiu Sabău <96194994+tibisabau@users.noreply.github.com>
Co-authored-by: Efnilite <35348263+Efnilite@users.noreply.github.com>
Co-authored-by: Pesek <42549665+Pesekjak@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

completed The issue has been fully resolved and the change will be in the next Skript update. feature Pull request adding a new feature.

Projects

Status: Done - Awaiting Release

Development

Successfully merging this pull request may close these issues.

3 participants