mirror of
https://codeberg.org/scip/sway-descratch.git
synced 2026-08-23 22:34:23 +02:00
update dependencies, add linter config, satisfy linter
This commit is contained in:
104
.golangci.yml
Normal file
104
.golangci.yml
Normal file
@@ -0,0 +1,104 @@
|
||||
version: "2"
|
||||
|
||||
linters:
|
||||
enable:
|
||||
- errcheck
|
||||
- govet
|
||||
- ineffassign
|
||||
- staticcheck
|
||||
- unused
|
||||
- arangolint
|
||||
- asasalint
|
||||
- asciicheck
|
||||
- bidichk
|
||||
- bodyclose
|
||||
- canonicalheader
|
||||
- clickhouselint
|
||||
- containedctx
|
||||
- copyloopvar
|
||||
- cyclop
|
||||
- decorder
|
||||
- dogsled
|
||||
- dupword
|
||||
- durationcheck
|
||||
- embeddedstructfieldcheck
|
||||
- errchkjson
|
||||
- errname
|
||||
- exhaustive
|
||||
- exptostd
|
||||
- fatcontext
|
||||
- funcorder
|
||||
- funlen
|
||||
- ginkgolinter
|
||||
- gocheckcompilerdirectives
|
||||
- gochecknoinits
|
||||
- gochecksumtype
|
||||
- gocritic
|
||||
- gocyclo
|
||||
- godoclint
|
||||
- goheader
|
||||
- gomoddirectives
|
||||
- gomodguard_v2
|
||||
- goprintffuncname
|
||||
- gosmopolitan
|
||||
- grouper
|
||||
- iface
|
||||
- importas
|
||||
- inamedparam
|
||||
- interfacebloat
|
||||
- intrange
|
||||
- iotamixing
|
||||
- lll
|
||||
- loggercheck
|
||||
- makezero
|
||||
- misspell
|
||||
- modernize
|
||||
- nakedret
|
||||
- nestif
|
||||
- nilerr
|
||||
- nilnesserr
|
||||
- nlreturn
|
||||
- nonamedreturns
|
||||
- nosprintfhostport
|
||||
- paralleltest
|
||||
- perfsprint
|
||||
- prealloc
|
||||
- promlinter
|
||||
- protogetter
|
||||
- reassign
|
||||
- recvcheck
|
||||
- rowserrcheck
|
||||
- sloglint
|
||||
- spancheck
|
||||
- sqlclosecheck
|
||||
- tagalign
|
||||
- testableexamples
|
||||
- testifylint
|
||||
- testpackage
|
||||
- thelper
|
||||
- tparallel
|
||||
- unconvert
|
||||
- unparam
|
||||
- unqueryvet
|
||||
- usestdlibvars
|
||||
- usetesting
|
||||
- varnamelen
|
||||
- wastedassign
|
||||
- whitespace
|
||||
- wsl_v5
|
||||
- zerologlint
|
||||
|
||||
settings:
|
||||
varnamelen:
|
||||
ignore-names:
|
||||
- err
|
||||
- wg
|
||||
- mu
|
||||
- ts
|
||||
- to
|
||||
- es
|
||||
- op
|
||||
- fd
|
||||
- id
|
||||
- fn
|
||||
|
||||
@@ -2,7 +2,7 @@ matrix:
|
||||
platform:
|
||||
- linux/amd64
|
||||
goversion:
|
||||
- 1.24
|
||||
- 1.26
|
||||
|
||||
labels:
|
||||
platform: ${platform}
|
||||
|
||||
70
Makefile
Normal file
70
Makefile
Normal file
@@ -0,0 +1,70 @@
|
||||
# Copyright © 2025-2026 Thomas von Dein
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
#
|
||||
# no need to modify anything below
|
||||
tool = sway-descratch
|
||||
VERSION = $(shell grep VERSION main.go | head -1 | cut -d '"' -f2)
|
||||
archs = darwin freebsd linux
|
||||
PREFIX = /usr/local
|
||||
UID = root
|
||||
GID = 0
|
||||
HAVE_POD := $(shell pod2text -h 2>/dev/null)
|
||||
|
||||
all: buildlocal
|
||||
|
||||
|
||||
buildlocal:
|
||||
CGO_LDFLAGS='-static' go build -tags osusergo,netgo -ldflags "-extldflags=-static" -o $(tool)
|
||||
|
||||
install: buildlocal
|
||||
install -d -o $(UID) -g $(GID) $(PREFIX)/bin
|
||||
install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1
|
||||
install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/
|
||||
install -o $(UID) -g $(GID) -m 444 $(tool).1 $(PREFIX)/man/man1/
|
||||
|
||||
clean:
|
||||
rm -rf $(tool) coverage.out testdata t/out
|
||||
|
||||
test: clean
|
||||
mkdir -p t/out
|
||||
go test ./... $(ARGS)
|
||||
|
||||
testlint: test lint
|
||||
|
||||
lint:
|
||||
golangci-lint run --show-stats=false
|
||||
|
||||
testfuzzy: clean
|
||||
go test -fuzz ./... $(ARGS)
|
||||
|
||||
singletest:
|
||||
@echo "Call like this: make singletest TEST=TestPrepareColumns ARGS=-v"
|
||||
go test -run $(TEST) $(ARGS)
|
||||
|
||||
cover-report:
|
||||
go test ./... -cover -coverprofile=coverage.out
|
||||
go tool cover -html=coverage.out
|
||||
|
||||
goupdate:
|
||||
go get -t -u=patch ./...
|
||||
|
||||
buildall:
|
||||
./mkrel.sh $(tool) $(VERSION)
|
||||
|
||||
release:
|
||||
gh release create v$(VERSION) --generate-notes
|
||||
|
||||
6
go.mod
6
go.mod
@@ -1,8 +1,8 @@
|
||||
module sway-descratch
|
||||
|
||||
go 1.23.5
|
||||
go 1.26
|
||||
|
||||
require (
|
||||
codeberg.org/scip/swayipc/v2 v2.0.0
|
||||
github.com/alecthomas/repr v0.5.2
|
||||
codeberg.org/scip/swayipc/v2 v2.1.0
|
||||
github.com/alecthomas/repr v0.5.4
|
||||
)
|
||||
|
||||
4
go.sum
4
go.sum
@@ -1,4 +1,8 @@
|
||||
codeberg.org/scip/swayipc/v2 v2.0.0 h1:uHiETbutVJAUQVSzC5/PPFo2S+gEoCnzydhErYiQYNM=
|
||||
codeberg.org/scip/swayipc/v2 v2.0.0/go.mod h1:F+rmNQ+NjLDr8fU7HW/jSjiUIXeYfQ1cSyBiGByhoWI=
|
||||
codeberg.org/scip/swayipc/v2 v2.1.0 h1:tBiOBOUFDOA38+acZwx4BO5Yo/VVwxbqkL+R2/zmW6c=
|
||||
codeberg.org/scip/swayipc/v2 v2.1.0/go.mod h1:cqicjgMgPS7tGTJgjqjSMvnLeMA+J3to/YnufcysCns=
|
||||
github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=
|
||||
github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||
github.com/alecthomas/repr v0.5.4 h1:OVP7JEcuzU9CCDsT6STCr3rg17oQfWILtPWd2EG0uN4=
|
||||
github.com/alecthomas/repr v0.5.4/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||
|
||||
10
main.go
10
main.go
@@ -28,7 +28,7 @@ import (
|
||||
"github.com/alecthomas/repr"
|
||||
)
|
||||
|
||||
const VERSION = `v0.0.3`
|
||||
const VERSION = `v0.0.4`
|
||||
|
||||
func main() {
|
||||
if len(os.Args) > 1 {
|
||||
@@ -54,7 +54,7 @@ func main() {
|
||||
// first, retrieve the whole sway root node
|
||||
root, err := ipc.GetTree()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
log.Fatal(err) // nolint:gocritic
|
||||
}
|
||||
|
||||
// get the hidden scratchpad workspace
|
||||
@@ -78,8 +78,9 @@ func main() {
|
||||
func retrieveWindow(ipc *swayipc.SwayIPC, scratch *swayipc.Node, id int) {
|
||||
// make sure the id exists
|
||||
var exists bool
|
||||
|
||||
for _, con := range scratch.FloatingNodes {
|
||||
if con.Id == id {
|
||||
if con.ID == id {
|
||||
exists = true
|
||||
}
|
||||
}
|
||||
@@ -95,13 +96,12 @@ func retrieveWindow(ipc *swayipc.SwayIPC, scratch *swayipc.Node, id int) {
|
||||
repr.Println(responses)
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func listScratchedContainer(scratch *swayipc.Node) {
|
||||
// list the windows
|
||||
for _, con := range scratch.FloatingNodes {
|
||||
fmt.Printf("%d %s\n", con.Id, con.Name)
|
||||
fmt.Printf("%d %s\n", con.ID, con.Name)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user