Pattern Stringification Customization#8391
Merged
sovdeeth merged 4 commits intodev/featurefrom Jan 29, 2026
Merged
Conversation
UnderscoreTud
approved these changes
Jan 20, 2026
Absolutionism
approved these changes
Jan 20, 2026
sovdeeth
approved these changes
Jan 21, 2026
sovdeeth
pushed a commit
to sovdeeth/Skript
that referenced
this pull request
Feb 9, 2026
* Implement StringificationProperties * Package cleanup
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
There is a need internally to have control over how compiled patterns are stringified (e.g. in docs). Currently, this is done through regular expressions and other string manipulations. A native solution would be preferable.
Solution
I have introduced a new interface,
StringificationProperties, that enables control over what parts of a pattern are included during stringification. Currently, it supports:%-~*number@1%is stringified as%number%).There is a builder available for creating a properties object.
I have also cleaned up the patterns package to be better in align with code standards, along with having it utilize some of then newer Java features that are available.
Testing Completed
I have added a rather simple JUnit test for this functionality.
Supporting Information
Completes: none
Related: none
AI assistance: none