Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: shfmt | Distribution: openSUSE Tumbleweed |
Version: 3.12.0 | Vendor: openSUSE |
Release: 1.1 | Build date: Sun Aug 24 16:32:07 2025 |
Group: Unspecified | Build host: reproducible |
Size: 3033801 | Source RPM: shfmt-3.12.0-1.1.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: https://github.com/mvdan/sh | |
Summary: A shell formatter with bash support |
A shell formatter. Supports POSIX Shell, Bash, and mksh.
BSD-3-Clause
* Sun Aug 24 2025 Alessio Biancalana <dottorblaster@opensuse.org> - Update to version 3.12.0: * CHANGELOG: add entry for v3.12.0 * README.md: add another example to caveats * interp: add HandlerContext.Builtin * interp: add test cases with exit inside a process substitution * interp: add HandlerContext.Pos * interp: swap math/rand for math/rand/v2 * interp: add exitStatus.ok for `code == 0` comparisons * interp: move oneIf under exitStatus * interp: export IsBuiltin * interp: refactor builtins to return an exitStatus * interp: remove Runner.exitShell * interp: simplify trapping on error * interp: reduce the size of exitStatus * interp: convert strings to integers as int64 * interp: reject return with invalid arguments * syntax: skip allocating in SplitBraces when there are no braces * interp: avoid always copying CallExpr.Args to expand aliases * interp: move Runner.setFatalErr to exitStatus * interp: forward custom exit status errors when using `wait` * interp: keep custom exit status errors when using a naked `exit` * interp: positional parameters are unset when missing * interp: support reading $RANDOM and $SRANDOM * interp: add and fix more subshell exit and errexit edge cases * interp: propagate custom exit status errors in command substitutions * interp: simplify code with the exitStatus type * interp: use the Runner.Run context for calls to ReadDirHandlerFunc2 * interp: group "exit status" Runner fields into a type * interp: add more custom exit error test cases * interp: simplify returning exit codes in builtinCode * interp: forward custom non-fatal errors in pipefail and subshells * interp: a non-nil fatalErr implies a non-zero exit status code * interp: properly deprecate ReadDirHandlerFunc * interp: a non-nil fatalErr implies exiting is true * interp: add test cases for custom exit status errors being dropped * interp: wait with arguments returns the status code of the last job * update golang.org/x deps * pattern: deduplicate the implementation of the `*` regular expression * pattern: simplify the regexp flag logic * all: modernize -fix * pattern: skip needsEscaping loop if the mode discards the shortcut * pattern: the shortcut cannot be taken when NoGlobCase is given * pattern: globstar does not need `(?s)` as it does not use `.` * pattern: add test cases matching newlines * pattern: drop tests combining Shortest and EntireString * pattern: implement Shortest via (?U) * pattern: refactor Regexp to use a tiny string lexer * pattern: test error strings properly * pattern: allow ** to match non-leading dots * pattern: allow * to match non-leading dots * expand: always use pattern.NoGlobStar option * expand: resolve iterator warnings spotted by gopls * interp: turn flattenAssigns into an iterator * interp: reuse flagParser for `declare` flags * interp: allow joint flags on `declare` * interp: do not panic on extglob in another scenario * Revert "all: assume C.UTF-8 is available in the tests" * cmd/shfmt: do not allow --write to replace non-regular files * cmd/shfmt: add test case for #843 * fileutil: treat all non-regular files as definitely not shell scripts * cmd/shfmt: improve symlink testscript tests * cmd/shfmt: add support for simplify and minify via EditorConfig * cmd/shfmt: test that we don't mix sibling EditorConfig file settings * update dependencies * interp: undo removal of "unnecessary" type conversion * pattern: make the globstar "**" not match leading dots in basenames * expand: rely on pattern's handling of leading dots with "*" * pattern: make "*" not match leading dots in basenames * pattern: tweak how **/ is transpiled as a regexp * pattern: remove the broken Braces mode * all: remove two unnecessary type conversions * pattern: add test cases for matching dot-prefixed filenames * interp: subshells in a pipe are run concurrently * pattern: replace bytes.Buffer with strings.Builder * pattern: "**" only acts as globstar when alone as a path element * pattern: add more test cases for globstar not used on its own * interp: expose ExitStatus and deprecate NewExitStatus and IsExitStatus * interp: return non-fatal ExecHandler errors via Runner.Run * interp: make tests reliable on MacOS * interp: clarify that Runner.err is for fatal errors only at this point * interp: decouple `return` from Runner.err * interp: add more test cases for exec handler errors causing a stop * interp: set exit status 1 as a fallback on custom exec handler errors * interp: add more test cases for failing pipes * interp: correct the exit statuses of commands used in tests * interp: add more test cases for exec handler errors and exit statuses * interp: show which errors end up in Runner.Run in the handler tests * docs: `prettier-plugin-sh` now uses `sh-syntax` * README: polish a few bits and add the main interpreter caveat * README: actually include sh-syntax link * _js: drop mvdan-sh JS package built with GopherJS * pattern: add NoGlobStar mode * Add README entry * chore: a tiny typo in comment * interp: make the new background shell tests more resilient * interp: document overlayEnviron a bit more * interp: make a full copy of the environment for background subshells * interp: initial support for $! and wait PID * interp: clarify handler docs a bit * expand: tweak tilde expansion to match Bash semantics * interp: add comment next to prev.Local = false * interp: support modifying local vars from parent caller funcs * interp: refactor overlayEnviron.Set to deduplicate map lookups * interp: add more test cases for local vars and parent funcs * interp: set BASH_REMATCH when doing a regular expression match with `=~` * expand: clarify Variable.Set * expand: heredocs unescape \$, \\, and \`, just not \" * update deps * all: make more use of strings.Cut and friends * CHANGELOG: add entry for v3.11.0 * interp: skip handler test using process substitutions on Windows * interp: only obey TMPDIR if it is an absolute dir * update all dependencies * interp: do not hard-code the use of os.TempDir for named pipes * interp: do not open our own ProcSubst FIFO files via OpenHandler * interp: test process substitutions with an OpenHandler * fileutil: shebang detection improvements * syntax: use LangError consistently and add a LangUsed field * syntax: make IsIncomplete more robust * syntax: cover "EOF immediately after heredoc" in Stmts via a test * all: start exposing iter.Seq2[T, error] APIs * all: run gopls's modernize -fix * all: gofumpt * interp: better support for directories in test -r, -w, -x checks * all: make use of slices.Backward * README: Add neoformat NeoVim / Vim plugin * interp: second attempt at fixing /dev/null on Windows * interp: work around apparent Go 1.24 regression with os.DevNull on Windows * interp: add a test case where OpenHandler gets given a non-local path * update x/sys and x/term * start using range-over-func * make use of maps.Keys and maps.Values from Go 1.23 * add Go 1.24.x, drop 1.22.x * go mod tidy * interp: deduplicate calls to Runner.lookupVar * interp,expand: rethink setting variables * interp: add more tests for 1108 * expand: don't unescape characters inside here-documents * expand: make ValueKind a fmt.Stringer * interp: process substitutions are not waited for * interp: document that HandlerContext.Stdin is always a file * expand: fix broken links * interp: improve method signature * all: add godoc links where possible * pattern: fix outdated comment, and add godoc links * cmd/shfmt: switch away from func() int for testscript * syntax: use generics to walk nilable node fields * syntax: use generics to walk over lists of nodes * syntax: recover binary commands properly * syntax: initial support for recovering from missing tokens * interp: skip cancellable reader test on Windows * interp: don't test cancelling a read via os.Stdin * interp: drop muesli/cancelreader for os.File.SetReadDeadline * interp: simplify context logic thanks to context.AfterFunc * all: fix a few typos * CI: test `go build` for plan9 and wasm * all: fix build on plan9 * syntax: linkify syntax node godocs * cmd/shfmt: support -l=0 and -f=0 flags * update deps * expand: fix sequential '\' in double quote literals * CHANGELOG: prepare for v3.10.0 * cmd/shfmt: bump deps in Dockerfile * interp: let HandlerContext.Stdin be nil again when there is no stdin * interp: support closing stdin, stdout, and stderr files * cmd/shfmt: move --filename out of parser options * interp: test and fix `read` with regular files as stdin * all: clarify that the "keep padding" formatting option is deprecated * cmd/shfmt: report correct language read from EditorConfig in errors * cmd/shfmt: show broken behavior in test for #1102 * update all deps * interp: add an Interactive option to be used by cmd/gosh * cmd/gosh: add bad test case for #1100 * syntax: parse all CRLF line endings as LF * syntax: add a few godoc links * cmd/shfmt: test that -i=0 does not skip ignore=true from EditorConfig * README: clarify caveat for `declare` * expand: use cmp.Or * syntax: include skipped backslashes in backticks for column numbers * syntax: actually use qt.CmpEquals * syntax: include skipped null bytes in column numbers * syntax: add test case for positions after skipped null bytes * syntax: do not use %d verb for syntax.Pos * all: more tweaks thanks to Go 1.22 * syntax/typedjson: use reflect.TypeFor * go.mod: update dependencies * syntax: fix a fmt.Sprintf issue spotted by the latest go vet * all: swap bytes.Buffer for strings.Builder * CHANGELOG: prepare for v3.9.0 * add Go 1.23.x, drop 1.21.x * interp: add -s (silent) support to the read builtin * cmd/gosh: use an os.Pipe in another interactive test * interp: fix data race regression with stdin pipe changes * interp: use os.Pipe when StdIO or OpenHandler produce non-file stdins * interp: add a broken test for stdin draining with StdIO * interp: do not include TODOs in godoc comments * interp: implement here-documents via os.Pipe * interp: verify tests with Bash 5.2 * syntax: use the min builtin * update dependencies * syntax: use Parser.matched consistently * update editorconfig and golang.org/x deps * interp: implement -O and -G tests * expand: allocate fewer objects in Fields * expand: replace sort.SearchStrings with slices.BinarySearchFunc * update dependencies * syntax: add support for the Bash 5.2 @k expansion operator * expand: avoid a panic when ParamExp.Repl.Orig is nil * syntax: avoid a slice bounds check on every input byte * syntax: implement basic offset overflow protection * syntax: reduce the amount of allocation batching again * syntax: remove colOverflow conditional * syntax: make Parser.reset a bit more conservative * syntax: move benchmarks to a separate file * syntax: quicktest can take go-cmp options now * cmd/shfmt: drop SHFMT_NO_EDITORCONFIG warning * cmd/shfmt: swap out pkg/diff for internal/diff * cmd/shfmt: simplify with fewer globals * all: update dependencies * all: shadow the variable in type switches * DebugPrint: Print the string value of tokens * Allow case-insensitive filename globbing; add nocaseglob * interp: cancellable reads; EOF on "read" sets var to "" * syntax: swap frankban/quicktest for go-quicktest/qt * syntax: drop go1.18 build tag for fuzz_test.go * all: make use of the slices package * cmd/shfmt: fix typo in shfmt.1.scd * cmd/shfmt: document when --filename is needed for EditorConfig support * CHANGELOG: prepare for v3.8.0 * all: start using Go 1.21 std APIs * CI: bump bash image version * add Go 1.22, drop Go 1.20 * CI: bump github actions * bump dependencies before the next release * cmd/shfmt: add --apply-ignore flag for tools and editors * cmd/shfmt: support editorconfig language sections * syntax: backquotes affect backslashes in single quotes too * syntax: better column numbers for escapes inside backquotes * cmd/shfmt: document how EditorConfig's "ignore" works * syntax: detect bash 5.2 rather than 5.1 * update dependencies * README: fix up a few links * Update Arch Linux package URL in README.md * interp: support subshells with FuncEnviron as Env * expand: support zero-padding in brace expansions * syntax: support brace expansions with uppercase letters * interp: support parentheses in classic test commands * interp: add TODOs about test operator precedence * interp,expand: add support for fs.DirEntry * appease unparam * interp: determine access to a directory via unix.Access * syntax: allow redirects before all arguments * all: add Go 1.21, drop 1.19 * Update README.md * syntax: better error when using "function" in POSIX mode * cmd/shfmt: don't recommend inline EditorConfig comments * CHANGELOG: fix formatting on the latest link references * Sun Jul 23 2023 Jeff Kowalczyk <jkowalczyk@suse.com> - Packaging improvements: * Re-enable binary stripping and debuginfo boo#121093 * Use BuildRequires: golang(API) >= 1.19 as a clearer way to indicate the minimum Go toolchain version in go.mod is go1.19. * Add comment embedding version info via ldflags is necessary here due to upstream code choice to always return (devel). * Add basic %check to execute the binary --help, also --version since that is an open issue for this package. * Fix rpmlint warnings to not repeat package name in summary. This package currently only includes the formatter binary, not the parser or interpreter. Update the summary and description to reflect that. * Sun Jul 23 2023 Erefd X <zzndb001@gmail.com> - Update to version 3.7.0: * prepare for v3.7.0 * cmd/shfmt: bump Dockerfile image versions * CHANGELOG: start the release notes for v3.7.0 * syntax: stop embedding Pos in error struct types * all: assume C.UTF-8 is available in the tests * syntax: treat &> as an error in POSIX mode * syntax: run "confirm" shell commands in a temp dir * syntax: don't parse `$foo#bar` as a comment * all: apply minor suggestions from gopls * syntax: add TODO about writer methods on Printer - Add ldflags version info back since --version option always print (devel) - Update required version to BuildRequires: golang(API) > 1.18 * Mon Jul 18 2022 Jeff Kowalczyk <jkowalczyk@suse.com> - Revise packaging to align with Go application package patterns * Drop dependency on golang-packaging obsolete macros use GOPATH * Use obs-service-go_modules for dependency vendoring * Drop go build ldflags version info as go1.18+ embeds metadata * Drop separate package installing shfmt application source * Tue Jun 07 2022 Erefd X <zzndb001@gmail.com> - Update to version 3.5.0 * Fix the Docker publishing script bug which broke 3.5.0 - #860 check CHANGELOG.md for more detail - Update spec * Wed May 11 2022 Erefd X <zzndb001@gmail.com> - Update to version 3.5.0 * drops support for Go 1.16 * Switch to -ln=auto by default to detect the shell language * Add support for long flags, like --indent for -i * Sun Feb 20 2022 Erefd X <zzndb001@gmail.com> - Update to version 3.4.3 * New Docker v3 tag to track the latest stable version * Don't duplicate errors when walking directories * Sat Dec 25 2021 Erefd X <zzndb001@gmail.com> - Update to version 3.4.2 * Wed Nov 24 2021 Erefd X <zzndb001@gmail.com> - Update to version 3.4.1 * Sun Oct 03 2021 Erefd X <zzndb001@gmail.com> - Update to version 3.4.0 – Walks directories ~10% faster thanks to filepath.WalkDir
/usr/bin/shfmt /usr/share/doc/packages/shfmt /usr/share/doc/packages/shfmt/CHANGELOG.md /usr/share/doc/packages/shfmt/README.md /usr/share/licenses/shfmt /usr/share/licenses/shfmt/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Aug 29 22:24:45 2025