Skip to content

Pattern Stringification Customization#8391

Merged
sovdeeth merged 4 commits intodev/featurefrom
feature/pattern-string-customization
Jan 29, 2026
Merged

Pattern Stringification Customization#8391
sovdeeth merged 4 commits intodev/featurefrom
feature/pattern-string-customization

Conversation

@APickledWalrus
Copy link
Copy Markdown
Member

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:

  • Excluding parse tags
  • Excluding type flags (e.g. %-~*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

@APickledWalrus APickledWalrus requested review from a team as code owners January 20, 2026 18:26
@APickledWalrus APickledWalrus added enhancement Feature request, an issue about something that could be improved, or a PR improving something. feature Pull request adding a new feature. labels Jan 20, 2026
@APickledWalrus APickledWalrus requested review from Absolutionism and UnderscoreTud and removed request for a team January 20, 2026 18:26
@skriptlang-automation skriptlang-automation bot added the needs reviews A PR that needs additional reviews label Jan 20, 2026
@APickledWalrus APickledWalrus moved this to In Review in 2.15 Releases Jan 20, 2026
@github-project-automation github-project-automation bot moved this from In Review to Awaiting Merge in 2.15 Releases Jan 20, 2026
@skriptlang-automation skriptlang-automation bot added feature-ready A PR/issue that has been approved, tested and can be merged/closed in the next feature version. and removed needs reviews A PR that needs additional reviews labels Jan 20, 2026
@sovdeeth sovdeeth merged commit 571c281 into dev/feature Jan 29, 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 29, 2026
@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 29, 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>
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. enhancement Feature request, an issue about something that could be improved, or a PR improving something. feature Pull request adding a new feature.

Projects

Status: Done - Awaiting Release

Development

Successfully merging this pull request may close these issues.

4 participants