v0.26.1 75cd777

.golangci.yml RawHistoryFolder

1version: "2"
2
3linters:
4  default: none
5  enable:
6    - bodyclose
7    - copyloopvar
8    - dogsled
9    - dupl
10    - errcheck
11    - errorlint
12    - funlen
13    - gocheckcompilerdirectives
14    - goconst
15    - gocritic
16    - gocyclo
17    # - godox # TODOs/FIXMEs are intentional markers
18    - mnd
19    - goprintffuncname
20    - gosec
21    - govet
22    - ineffassign
23    - lll
24    - misspell
25    - nakedret
26    - nolintlint
27    - revive
28    - staticcheck
29    - testifylint
30    - unconvert
31    - unparam
32    - unused
33    - whitespace
34
35  settings:
36    dupl:
37      threshold: 150
38    funlen:
39      lines: -1
40      statements: 50
41    goconst:
42      min-len: 2
43      min-occurrences: 3
44    gocritic:
45      enabled-tags:
46        - diagnostic
47        - experimental
48        - opinionated
49        - performance
50        - style
51      disabled-checks:
52        - dupImport
53        - ifElseChain
54        - octalLiteral
55        - whyNoLint
56        - unnamedResult
57        - hugeParam
58        - singleCaseSwitch
59    gocyclo:
60      min-complexity: 20
61    mnd:
62      checks:
63        - argument
64        - case
65        - condition
66        - return
67      ignored-numbers:
68        - '0'
69        - '1'
70        - '2'
71        - '3'
72        - '4'
73        - '5'
74        - '10'
75        - '16'
76        - '32'
77        - '64'
78        - '100'
79        - '1000'
80      ignored-functions:
81        - strings.SplitN
82        - make
83        - time.Sleep
84        - time.Duration
85        - strconv.ParseInt
86        - strconv.ParseUint
87        - strconv.ParseFloat
88    govet:
89      enable:
90        - nilness
91        - shadow
92    errorlint:
93      asserts: false
94    lll:
95      line-length: 140
96    misspell:
97      locale: US
98    nolintlint:
99      allow-unused: false
100      require-explanation: true
101      require-specific: true
102    revive:
103      rules:
104        - name: indent-error-flow
105        - name: unused-parameter
106        - name: unused-receiver
107
108  exclusions:
109    generated: lax
110    paths:
111      - vendor
112    rules:
113      # Test files get relaxed rules
114      - path: _test\.go
115        linters:
116          - dupl
117          - mnd
118          - lll
119          - funlen
120          - goconst
121          - errcheck
122          - gosec
123      # Generated SQL code
124      - path: internal/db/.*\.sql\.go
125        linters:
126          - all
127      - path: internal/db/models\.go
128        linters:
129          - unused
130      # gosec false positives
131      - text: "G115:"
132        linters:
133          - gosec
134      - text: "G404:"
135        linters:
136          - gosec
137      - text: "G301:"
138        linters:
139          - gosec
140      - text: "G302:"
141        linters:
142          - gosec
143      - text: "G306:"
144        linters:
145          - gosec
146      - text: "G204:"
147        linters:
148          - gosec
149      - text: "G304:"
150        linters:
151          - gosec
152      # GTK callbacks require unused parameters
153      - path: internal/ui/
154        text: "unused-parameter"
155        linters:
156          - revive
157      - path: internal/ui/
158        text: "unused-receiver"
159        linters:
160          - revive
161      # Adapter structs intentionally keep receivers for interface compliance
162      - path: internal/infrastructure/.*adapter\.go
163        text: "unused-receiver"
164        linters:
165          - revive
166
167run:
168  timeout: 20m
169  modules-download-mode: readonly
170  build-tags:
171    - webkit_cgo

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close