rund users welcome
Jonathan Marler
johnnymarler at gmail.com
Tue Sep 11 15:20:51 UTC 2018
On Tuesday, 11 September 2018 at 08:53:46 UTC, Kagamin wrote:
> On Saturday, 8 September 2018 at 04:24:20 UTC, Jonathan Marler
> wrote:
>> https://github.com/marler8997/rund
>
> I have an idea how to push shebang to userland and make it
> crossplatform: if, say, `rund -install prog.d` would copy/link
> itself into current folder under name "prog" and when run would
> work with file args[0]~".d", this will work the same on all
> platforms without shebang.
So your idea is that you could run `rund -install prog.d` which
would create some sort of file that allows you to run `./prog`
(on POSIX) or `prog` (on WINDOWS).
So something like this:
/path/prog.d
Posix:
/path/prog -> /usr/bin/rund
Windows 10 (It supports symbolic links)
/path/prog.exe -> C:\Programs\rund.exe
Windows <10
/path/prog.exe (a copy of rund.exe)
Then this would allow you to run "/path/prog" and which would
invoke rund and like you said we could take "argv[0]" and assume
that's the main source file.
The Posix/Windows 10 cases seem fine, but Windows <10 is not
great. In this case it has to keep an entire copy of rund around
(currently 1.8M). I think we can do better. Instead, `rund
-install prog.d` could generate a little "wrapper program" that
forwards any calls to rund. You could make this wrapper program
with a small D program, or with this BATCH script:
--- /path/prog.bat
@rund %~dp0prog.d %*
You get the same result. When you run "\path\prog" it will invoke
rund with the given args for prog.d. Thoughts?
More information about the Digitalmars-d
mailing list