I just updated my current project to use both #shellcheck and #shfmt (yes, I am writing a lot of bash at the moment).
Writing #bash like a grown-up feels weird.
But a good weird!
I just updated my current project to use both #shellcheck and #shfmt (yes, I am writing a lot of bash at the moment).
Writing #bash like a grown-up feels weird.
But a good weird!
Late evening release of a blog post I've worked on today on a day off (it's enjoyable, OK?) on what I did to make the combo of the Bash language server and shfmt work with Editorconfig settings for Bash script files that don't have extensions. In Neovim 🚀
Share & enjoy! https://qmacro.org/blog/posts/2025/09/01/auto-formatting-extensionless-bash-scripts-in-neovim/
#NixOS has made me like
#bash. I use it so frequently with pkgs.writeShellApplication and have accepted to use its non-POSIX "advanced" features like (associative) arrays, the [[ ]] conditional syntax, the variable string mangling magic, etc. I absolutely love how writeShellApplication automatically runs everything through #shellCheck and makes it easy to set runtimeInputs and runtimeEnv. I'd love for it to pass the result through #shfmt though 😉Me experimenting with build scripts for bash, using
- #shfmt - formatting
- #shellcheck - linting
- bats - unit testing
- #shelldoc - for google style docstrings
- source - library importing
- #bashlog - basic logging
- TODO: #bpkg - library packaging