Re:Astro 1.0 – a web framework for building fast, content-fo...
by firesloth on Thursday August 11, 2022 @01:02PM
(#32428695)
For nim, you could use something like nimcr (https://nimble.directory/pkg/nimcr). You put a shebang in your script `#!/usr/bin/env nimcr` and then call it like a normal script.
eg:
$ code script.nim
#!/usr/bin/env nimcr
echo "hello world"
$ ./script.nim
hello world
edit:There's also the possibility of using nimscript, using nim e. It works similarly but you'd change the shebang line to something like
#!/usr/bin/env nim e --hints:off
Re:Astro 1.0 – a web framework for building fast, content-fo...
by firesloth on Saturday August 13, 2022 @04:34PM
(#32453540)
Actually another way to do nimscript is to make a config.nims file with tasks in it.
eg:
In config.nims:
switch("hints", "off")
task hello, "say hello world":
echo "hello world"
In bash: $ nim hello
hello world
Re:Astro 1.0 – a web framework for building fast, content-fo...
by cercatrova on Wednesday August 10, 2022 @12:02PM
(#32414232)
Just alias the command in your .bashrc? e.g. `alias n="nim compile --run n"`. I'm not sure what the issue is with longer commands because the benefits of writing in a strongly statically typed language definitely outweigh a few extra characters to type, which you don't even need to do with aliases.
For instance, my most-used bash script takes a file as input and opens either VIM or Emacs depending on whether the file is a .md or .org (simplified example). I run it like so:
I can edit ~/.local/bin/n and update the file, and use it immediately. I actually have my whole ~/.local/bin in version control. Having to type out e.g. ...would make the whole experience far less fluent. I probably would never use it.I'm asking because I'd love to rewrite this script in e.g. Rust, but I don't see any good way to deploy it to ~/.local/bin/n.