Typically if want these kinds of requests to gain traction you’re going to need to provide a list of Nim articles proving the need for a new tag.
Good point. I just edited my post.
A quick search shows quite a few links.
I’m not for or against the tag; frankly I don’t care. I’m just stating how these kinds of requests typically work.
See here or even here.
Makes sense. Sorry if that came off bad, I’m new around here and don’t really know how things are done.
Thanks for the info.
It always bugs me why we need a shell like syntax? For all those shell clones in lisp, we already have an REPL. What those shell clones do is some kind of parsing the shell syntax and calling lisp functions anyway. You are not going to get a posix compatible shell anyway, then why do it?
Is it because unix shell has a superior syntax geared toward CLI? Is it mostly because we can save a few keystrokes?
It is an interesting point. The pipe and redirect syntax is very succinct and powerful though.
I really like the idea that of something like this that is mostly the same for simple cases (which probably make up 90%+ of my shell usage), but allows you to dip down to the more powerful syntax very easily when the need arises.
The reason I write a lot of shell scripts is the simplicity of invoking commands, reading and writing files, stdio, pipes, branching on exit codes, command substitution, etc.
Doing this with things like Python’s subprocess module is a pain, and often requires highly non-obvious things like spawning extra threads to avoid deadlocks, etc. Helper libraries make life much easier, although I agree that altering the syntax to match sh is usually unneccessary.
This is definitely a quality-of-life thing that you only notice when it’s gone. I typically use it as a function, but since it’s the shell, there’s ten thousand ways to do it. Here’s (my) fish shell version for copy-paste:
function man -d "Pretty manpages"
LESS_TERMCAP_mb=(printf "\e[1;31m") \
LESS_TERMCAP_md=(printf "\e[1;31m") \
LESS_TERMCAP_me=(printf "\e[0m") \
LESS_TERMCAP_se=(printf "\e[0m") \
LESS_TERMCAP_so=(printf "\e[1;44;33m") \
LESS_TERMCAP_ue=(printf "\e[0m") \
LESS_TERMCAP_us=(printf "\e[1;32m") \
That’s nice. Going to use that for sure.
FYI fish has a set_color builtin that might make that a bit more readable.