Yes, precisely what I'm talking about. It seems clearly useful to have a 
variable target, but it feels (to me) like a hack to set currentTiddler to 
achieve that effect. Besides, doing so precludes expressions that depend on 
currentTiddler AND some other variable. I think it would be incredibly 
useful to be able to "dereference" any variable - not just currentTiddler - 
in inline transclusion. I'm happy to submit a pull request, I'm just asking 
how to go about creating such a feature, or why it's unnecessary or a bad 
idea.

On Wednesday, November 2, 2016 at 5:54:40 PM UTC-4, BJ wrote:
>
> At present we use the  currentTiddler variable in this way:
>
> {{!!field}}
>
> is, in psuedo code, {{<<currentTiddler>>!!field}}
>
>
> so if you have a value in a variable 'myvar' you can do 
> {{<<myvar>>!!field}} as
>
>
> <$vars currentTiddler=<<myvar>>/>
> {{!!field}}
> </$vars>
>
> all the best BJ
>
> On Wednesday, November 2, 2016 at 7:30:23 PM UTC, [email protected] wrote:
>>
>> I'm looking in to indirect inline transclusion with the curly-brace 
>> syntax, a la {{somevar->field}} which, if somevar is set to 
>> "tiddlername" (e.g. with <$set/>) then it would resolve to the same thing 
>> as {{tiddlername!!field}}. I think the arrow operator is reasonably 
>> appropriate. I can imagine a number of useful use cases for this notation.
>>
>> At first I thought I could just modify $:/core/modules/utils/utils.js 
>> such as modifying parseTextReference's regex to read (modifications in 
>> bold):
>>     var reTextRef = /(?:(.*?)!!(.+))*|(?:(.+?)->(.*))*
>> |(?:(.*?)##(.+))|(.*)/mg,
>>     ...
>>
>>
>>
>>
>>
>> *        if(match[3]) {            result.title = 
>> this.getVariable(match[3]);        }        if(match[4]) {            
>> result.field = match[4];        }*
>>
>> But then I realized that this is fundamentally impossible since variables 
>> are stored in widgets and there's no bound context inside the utils module 
>> that can reference the parent widget stack ... right?
>>
>> Is there another approach, or a way to make this approach work? I could 
>> define another parser or a new widget but I think it makes most sense as a 
>> subtle change from the existing curly-brace syntax. Besides, doing it 
>> inside parseTextReference means it would immediately work for everything 
>> that calls parseTextReference, such as within filters.
>>
>> Thoughts?
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/64e01b3c-1c0c-44dd-a473-245f62b18017%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to