sub
shfmt
sub | shfmt | |
---|---|---|
4 | 10 | |
1,733 | 26 | |
0.0% | - | |
0.0 | 10.0 | |
over 2 years ago | about 5 years ago | |
Shell | Makefile | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sub
-
The Unreasonable Effectiveness of Makefiles
Scripts in bin have no documentation, no easy way to enumerate them, etc. There is definitely a time and a place for bin scripts, especially as things grow in complexity. However the beauty of just is that there's one file (the justfile) that defines all of your project's actions. You don't have to go spelunking into bin to figure out how to tweak a compiler flag, etc. And since just will run anything there's no reason why your complex bin scripts can't just be called from a simple one liner task in a justfile.
Could your write a bash script that does stuff like enumerate all the bin scripts, pull out documentation comments, etc.? Absolutely, and people have followed that pattern for a while (see https://github.com/qrush/sub) but it's a bunch of boilerplate to copy between projects. Just pulls out that logic into a simpler config file.
- Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks
- Bashly – Create beautiful bash scripts from simple YAML configuration
-
sd: my script directory
Many moons ago Basecamp published sub (github) which runs on a similar idea with different tradeoffs being chosen.
shfmt
-
Go Run
Are you assuming that based on visiting the vanity import path in a browser?
https://github.com/mvdan/sh is the repo looks like v3.8.0 was released 2 weeks ago.
- FLiP Stack Weekly for 13-Feb-2023
- new user trying to learn what am i doing wrong?
-
Production pipelines are tested in production
For shell specifically, ShellCheck and Shfmt are great.
- Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks
-
How common are code bases where 90% of functions have the same signature?
I haven't worked in, like, a ton of Go code bases, but I've worked in several (work, my own code, Gio UI, github.com/mvdan/sh, some others), and I've never seen this pattern that extensively. It does seem like something of an antipattern.
-
Ask HN: Let's Build CheckStyle for Bash?
- sh: https://github.com/mvdan/sh
-
Autofix missing spaces for test operators in bash
I guess what you're asking is to automatically format on save. There's https://github.com/mvdan/sh, which between other things, is a shell formatter. I don't know what you're using but shfmt is available in the repos of some linux distros.
- s/bash/zsh/g
-
Code formatter, linters, etc. Recommendations?
There is shellcheck, and shellharden which is a strict version of it. There are similar stuff here, some that also help with your editor. You can also use a docker version of shfmt. See here for a quick tutorial on shfmt.
What are some alternatives?
bashly - Bash command line framework and CLI generator
ShellCheck - ShellCheck, a static analysis tool for shell scripts
tlog - Terminal I/O logger
shellharden - The corrective bash syntax highlighter
hofmod-cli - Hofstadter generator for Golang CLIs
neoformat - :sparkles: A (Neo)vim plugin for formatting code.
tclmake - Partial make clone in pure Tcl
bash-timestamping-sqlite - bash commandline timestamping using a sqlite database for personal analytics, activity logging and auditing
vscode-bash-debug - Bash shell debugger extension for VSCode (based on bashdb)
zplug - :hibiscus: A next-generation plugin manager for zsh
run - Task runner that helps you easily manage and invoke small scripts and wrappers
volta - Volta: JS Toolchains as Code. ⚡