TiddlyWiki5/core/modules/widgets
Jeremy Ruston 6bc77cf3e2
Dynamic parameters for macro/procedure/function calls (#9055)
* Initial commit

The idea is to extend the macro call syntax to accept dynamic parameter values (ie thing:{{more}} etc). Eventually, this will work in all the contexts in which the double angle bracket syntax is valid.

This initial commit gets the tests passing, but doesn't yet activate the new functionality.

* Test for standalone macro calls with dynamic parameters

* Parse attribute macros with the new parser

This fixes the tests

* Test for attribute macros

* Add some examples

* Tweak examples

* Fix test

* Temporarily disable a broken serializer test

* Fix/dynamic macro calls test (#9459)

* Revert "Temporarily disable a broken serializer test"

This reverts commit b3144300ee.

* restore synamic parameter parse result

* lint

* lint

* remove duplicate

* Update core/modules/parsers/parseutils.js

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update editions/test/tiddlers/tests/data/serialize/DynamicWidgetAttribute.tid

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update editions/test/tiddlers/tests/data/serialize/DynamicWidgetAttribute.tid

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: mixed qouted and unquoted

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix unneeded diff

* Minor docs update

* Genuflecting to the linter

* Remove debug logging

* Add change note

* Allow single closing square brackets within double square brackets quoted strings

* Only allow new style parameter values if the separator is an equals sign

* On reflection, new style values should not be allowed for anonymous parameters

Backwards compatibility

* Docs updates

* Docs updates

---------

Co-authored-by: lin onetwo <linonetwo012@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 11:24:06 +00:00
..
action-confirm.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-createtiddler.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-deletefield.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-deletetiddler.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-listops.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-log.js Fix sluggishness bug in ActionLogWidget (#9489) 2025-12-13 09:34:47 +00:00
action-navigate.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-popup.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-sendmessage.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-setfield.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
action-setmultiplefields.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
audio.js Allow intercept of audioparser by widget and pass attributes (#9024) 2025-10-29 12:19:09 +00:00
browse.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
button.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
checkbox.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
codeblock.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
count.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
data.js Remove function wrappers from core/modules (#9028) 2025-04-14 18:29:08 +01:00
diff-text.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
draggable.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
droppable.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
dropzone.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
edit-binary.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
edit-bitmap.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
edit-shortcut.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
edit-text.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
edit.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
element.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
encrypt.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
entity.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
error.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
eventcatcher.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
fieldmangler.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
fields.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
fill.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
genesis.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
image.js Extends image widget with support for data-attributes and on load actions (#9050) 2026-02-04 11:12:58 +00:00
importvariables.js feat: serialize AST node back to wikitext string (#8258) 2025-10-29 21:21:36 +00:00
jsontiddler.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
keyboard.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
let.js Fix LetWidget to always set all staged variables on first render (#9494) 2026-01-20 10:24:56 +00:00
link.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
linkcatcher.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
list.js fix duplicated code introduced with PR #7596 (#9057) 2025-06-03 17:31:38 +01:00
log.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
macrocall.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
messagecatcher.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
navigator.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
parameters.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
password.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
qualify.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
radio.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
range.js Remove support for IE in range widget (#9275) 2025-10-06 17:26:34 +01:00
raw.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
reveal.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
scrollable.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
select.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
setmultiplevariables.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
setvariable.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
slot.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
testcase.js Remove function wrappers from core/modules (#9028) 2025-04-14 18:29:08 +01:00
text.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
tiddler.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
transclude.js Recurse exception handling to better handle '{{}}' in place of recently installed fix (#9548) 2026-02-04 11:21:16 +00:00
vars.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00
view.js Revert "Root stylesheet refresh - Stylesheets in single <style> tags (#8130)" 2026-01-05 16:05:15 +00:00
void.js feat: serialize AST node back to wikitext string (#8258) 2025-10-29 21:21:36 +00:00
widget.js Dynamic parameters for macro/procedure/function calls (#9055) 2026-02-04 11:24:06 +00:00
wikify.js Remove module function wrapper and add matching configurations for dprint and eslint (#7596) 2025-03-21 17:22:57 +00:00