There are a few issues here. The simplest one is that we need a regexp that can detect URLs within wikitext. I believe that we should evolve a regexp that minimises false positives; negatives can always be fixed by writing an explicit <a> element.
I do think it makes sense to allow users to extend the built-in list of protocols. The easiest way to accomplish that would be to dynamically build the regexp by concatenating the known protocols from $tw.config.
Another underlying issue is the way that TW Classic implemented pretty links ambiguously; they can be used for external links or tiddler links. There are heuristics within the core to choose the correct option at the time the link is clicked, based on the characters within the link text, and by checking for a reference to an existing tiddler. Thus, one can write either of these:
[[a link|HelloThere]]
I've been making some changes to link handling in the "widgetsredux2" branch:
The changes so far are:
* Explicit external links are parsed directly as <a> elements (instead of as <$link> widgets that are resolved at click time)
* Pretty links can only be used for tiddler links, and not for external links
My plan now is to introduce a pretty syntax for external links as discussed on an earlier hangout. I think we discussed something like this:
Hopefully we can come up with something a bit more concise.
Best wishes
Jeremy