[REBOL] Re: rebol protocol
From: bry:itnisk at: 13-Dec-2002 10:07
I haven't taken this any further yet, we're moving today so I probably
won't have time to, and the reason why I'm working with this has nothing
to do with Rebol, but since I have rebol in the back of my mind a lot
lately when I started working with it I naturally thought it would be
cool for Rebol.
What's going on is that reb:c:\some.r won't load straight in rebol.exe,
am uncertain why this should be since other exe's can be passed stuff
this way.
There's sure to be some underlying logic why this is, I have some ideas
but don't want to express them yet as they are somewhat vague and
undeveloped.
This is why I have the test.r, so that rebol.exe loads test.r and test.r
would then have code to interpret the argument which was passed it.
For example if I have a link in a html page, like the following:
<a href="reb:test this">test</a> then test.r receives the following
commandline ["reb:test" "this"]
one could obviously have a number of protocols, rebsite: which would
take the argument and go to the index.r in View.
reb-blocks: which would be used for passing in a block.
And so forth.
If you copy the following into a text file and save it with the .reg
extension and click on it, it will add the proper stuff to your
registry, you get the same stuff if you save export a registry key, for
example look at the key nntp under HKEY_CLASS_ROOT/nntp, this tells
windows how to handle the nntp protocol:
This as a .reg file will add to the registry.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\reb]
@="\"URL:Reb Protocol\""
URL Protocol
=""
[HKEY_CLASSES_ROOT\reb\shell]
[HKEY_CLASSES_ROOT\reb\shell\open]
[HKEY_CLASSES_ROOT\reb\shell\open\command]
@="c:\\rebol\\view\\rebol.exe test.r %1"
as a general rule it's not considered good to use reg files anymore as
they have no logic in them, so one should use wscript, but as I know
what it is I want to do I'll just use the .reg file.
Another interesting thing, in light of the stuff Rebol is especially
good at if you look at HKEY_CLASS_ROOT/mailto this is what handles the
mailto protocol.
The @ is what puts it into the Default value.
The protocol accepts reb:
Reb:// will also be accepted of course as reb:// is contained in reb:
right?
Am uncertain exactly why this is, suppose it has to do with some weird
thing in Urlmon.dll but don't intend to go look right now.
About the question of using browse:
If I use browse "reb:test this" I get ["reb://test" "this/"], if I use
browse reb://c:\some.r?query=some.xml I get
["reb://c:\some.r/?query=some.xml"] as my commandline argument
This seems good to me.