jeremy@jermolene.com
9d4aa47356
Clarify/simplify some tests
2022-10-09 13:54:08 +01:00
jeremy@jermolene.com
0a309f4865
Merge branch 'master' into parameterised-transclusions
2022-10-01 10:18:34 +01:00
Jeremy Ruston
db6abb9703
Improve recursion detection for transclusion and filters ( #6970 )
2022-10-01 10:13:40 +01:00
jeremy@jermolene.com
8f9d5cabaa
Missing tests for parameters widget
2022-09-16 16:07:32 +01:00
jeremy@jermolene.com
82b22523aa
Rejig genesis widget to be easier to use
2022-09-09 10:37:39 +01:00
jeremy@jermolene.com
30f7b37cba
Make use of type attribute consistent
2022-07-18 19:44:37 +01:00
jeremy@jermolene.com
79b20bdaa8
Fix up handling of slot/fill for custom widgets
...
Previously we were wrapping the body in an implicit `<$fill $name="ts-body">` widget
2022-06-09 18:02:47 +01:00
jeremy@jermolene.com
006ae6e759
Refactor $parameters widget
...
The objective is to add a $depth attribute so that it is possible to reach up to retrieve the parameters of ancestor transclusions. However, doing so requires changing the encoding of parameter names so that it is not possible for a user parameter to clash with an attribute like $depth. So now we have to double up dollars on any attribute names seen by the parameters widget, just like with the transclude widget itself.
2022-05-31 09:03:20 +01:00
jeremy@jermolene.com
f803e00567
Test showing how to un-override a core widget
2022-05-28 16:58:20 +01:00
jeremy@jermolene.com
7fc65d0d1a
Remove accidental commit 6cc99fcbe3
2022-05-27 08:36:31 +01:00
jeremy@jermolene.com
6cc99fcbe3
WIP
2022-05-25 15:15:17 +01:00
jeremy@jermolene.com
3e09eacd20
Missed off 22e7ec2381
2022-05-23 16:32:19 +01:00
jeremy@jermolene.com
ec1ec8ccd8
Fix invocation of JS macros
2022-05-21 16:31:34 +01:00
jeremy@jermolene.com
e50101322f
Require $$ for custom widgets, and that overridden JS widgets must exist
...
See https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1133637763
2022-05-21 15:47:19 +01:00
jeremy@jermolene.com
bbd9e2f243
Rename <$value> widget to <$fill>
2022-05-13 09:18:25 +01:00
jeremy@jermolene.com
36cf50aa96
Use \widget for custom widget definitions, and remove need for angle brackets
...
Need to do some refactoring of all those isFunctionDefinition/isProcedureDefinition/isWidgetDefinition flags into a single property
2022-05-13 08:49:53 +01:00
jeremy@jermolene.com
904e30a0e2
Detect recursion by tracking widget tree depth
...
The old recursion marker approach was very slow, and didn't catch test cases like editions/test/tiddlers/tests/data/transclude/Recursion.tid
2022-05-12 16:26:33 +01:00
jeremy@jermolene.com
774459fa73
Transclude: replace paramNames/paramValues with more robust JSON payload
...
More details at https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1123719153
2022-05-11 13:51:11 +01:00
jeremy@jermolene.com
e092113f9f
Switch to using \procedure to define new-style macros, and \function for custom filter operator functions
...
I now need to update the OP!
2022-05-09 18:00:09 +01:00
jeremy@jermolene.com
64448ae774
Make the macrocall widget delegate to the transclude widget
2022-05-08 20:48:33 +01:00
jeremy@jermolene.com
4f2f689ab9
Clarify that the recent changes allow functions to be invoked with the double bracket syntax
...
In other words, the transclude widget distinguishes between functions and macros and handles the parameters appropriately
2022-05-08 16:05:32 +01:00
jeremy@jermolene.com
e9630328f1
Extend transclude widget to work with old-style macros and use it for the macrocall shortcut syntax
2022-05-08 15:59:20 +01:00
jeremy@jermolene.com
f307f00e32
Fixes to enable the transclude widget itself to be overridden
...
There are two big changes here:
Replace the previous "ts-wrapper" mechanism, which we had been using to redefine custom widgets inside their definitions to prevent recursive calls. Now we've got the genesis widget we can instead control recursion through a new "$remappable" attribute that allows the custom widget mechanism to be skipped.
We also extend the slot widget to allow a depth to be specified; it then reaches up by the indicated number of transclusion widgets to find the one from which it should retrieve the slot value.
2022-05-05 08:20:14 +01:00
jeremy@jermolene.com
e99137f4cc
Cache parse trees when transcluding variables
2022-05-03 17:59:45 +01:00
jeremy@jermolene.com
719a5614cb
Change tiddler separator used in wikitext tests
...
Underscore looked ambiguous; I kept typing dashes by accident
2022-05-03 16:53:00 +01:00
jeremy@jermolene.com
e1df50d981
Fix parameter handling
2022-05-03 12:54:29 +01:00
jeremy@jermolene.com
c4743ebbec
Fix importing of function definitions
2022-05-03 09:39:05 +01:00
jeremy@jermolene.com
a888cd57cd
Unquoted parameters should not eat a succeeding comma
...
Fixes #6672
2022-05-02 13:49:41 +01:00
jeremy@jermolene.com
689a6c5b6a
Rewrite some tests to use the shortcut syntaxes
2022-05-02 10:56:22 +01:00
jeremy@jermolene.com
5f02cc49fd
Add support for accessing function parameters as name/value pairs
2022-05-02 10:00:50 +01:00
jeremy@jermolene.com
8b867be8ef
Add pragma rule for parameters declarations
2022-05-02 09:15:45 +01:00
jeremy@jermolene.com
c9bd1b5274
Add wikitext shortcut for new-style function definitions
2022-04-30 12:44:26 +01:00
jeremy@jermolene.com
886c8620f5
Replace ubertransclude widget with transclude widget
2022-04-30 10:00:38 +01:00