chore: add modernizer linter (#11936)

- Go has a suite of small linters that helps with modernizing Go code by using newer functions and catching small mistakes, https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/modernize.
- Enable this linter in golangci-lint.
- There's also [`go fix`](https://go.dev/blog/gofix), which is not yet released as a linter in golangci-lint: https://github.com/golangci/golangci-lint/pull/6385

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11936
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
This commit is contained in:
Gusted 2026-04-02 03:29:37 +02:00 committed by Gusted
parent d728fddec5
commit 77dbc35138
249 changed files with 659 additions and 1010 deletions

View file

@ -5,6 +5,7 @@ package context
import (
"net/http"
"slices"
auth_model "forgejo.org/models/auth"
"forgejo.org/models/perm"
@ -47,10 +48,8 @@ func CanEnableEditor() func(ctx *Context) {
// RequireRepoWriterOr returns a middleware for requiring repository write to one of the unit permission
func RequireRepoWriterOr(unitTypes ...unit.Type) func(ctx *Context) {
return func(ctx *Context) {
for _, unitType := range unitTypes {
if ctx.Repo.CanWrite(unitType) {
return
}
if slices.ContainsFunc(unitTypes, ctx.Repo.CanWrite) {
return
}
ctx.NotFound(ctx.Req.URL.RequestURI(), nil)
}
@ -85,10 +84,8 @@ func RequireRepoReader(unitType unit.Type) func(ctx *Context) {
// RequireRepoReaderOr returns a middleware for requiring repository write to one of the unit permission
func RequireRepoReaderOr(unitTypes ...unit.Type) func(ctx *Context) {
return func(ctx *Context) {
for _, unitType := range unitTypes {
if ctx.Repo.CanRead(unitType) {
return
}
if slices.ContainsFunc(unitTypes, ctx.Repo.CanRead) {
return
}
if log.IsTrace() {
var format string