The using of CamelCases and what the Tilde is doing

Couldn’t you bypass this problem by making a copy of those regexes used only for the purpose of identifying wikilinks? Then if there’s an error, there just wouldn’t be any wikilinks? Hopefully the problem would be obvious if you changed the wikilinks settings and wikilinks stopped working.

? Does that mean jypre is using TWC?

My assumption is that they learned on TWC that it didn’t work properly and haven’t tried it again since then. Especially because of this bit:

I’m curious is there a way to run a filter that would display all tiddlers that are CamelCase?

It would be possible if you took the TW5 Regular Expressions and built them into a test.

However I would ask Why?

And also note: although camel case can “generate a title” a title itself is not necessarily camel case, and in fact camel case is word based, so a title may or may not be a camel case word, or contain zero or more camel case words.

You might want to find them all and convert them into real links before turning off Camel case. Just a guess.

1 Like

I tend not to use camel case too often, but I would be curious mainly because we have many options for filtering tiddler titles.

I searched around for a camel case regex pattern, but it seems to match tiddler titles that also contain spaces. Is there a way to exclude spaces from the match?

<$set name="camel-case-pattern" value="[A-Z]([A-Z0-9]*[a-z][a-z0-9]*[A-Z]|[a-z0-9]*[A-Z][A-Z0-9]*[a-z])[A-Za-z0-9]*">
<<list-links "[!is[system]regexp:title<camel-case-pattern>]">>
</$set>
1 Like

I’m thinking the problem is that you haven’t anchored the pattern to the beginning of the tiddler title by starting your regex with ^. As it is, the filter matches if the title contains any substring which is CamelCase, rather than if the entire title is CamelCase.

Ok, I m replying to myself but just to support the Original thread and potentially help people avoid complex solutions, I just want to reiterate what I published earlier.

This time I will spell it out rather than leave it as an exercise for the reader.

If you set the variable tv-wikilinks using set/vars/define to apply to the current tiddler or globally it kindly ignores camel case, “[[tiddler links]]” and even "gobbles up the “~” which is used to suggest camel case is not a link.

Thus you could use the following in a global macro or locally in a tiddler to make either value yes/no a global behaviour with local exceptions.

\define  tv-wikilinks() yes
\define  tv-wikilinks() no

I am working on way to make this conditional!