.goreleaser.yaml RawHistoryFolder

1version: 2
2
3project_name: vev
4
5before:
6  hooks:
7    - go mod tidy
8
9builds:
10  - id: vev
11    main: .
12    binary: vev
13    env:
14      - CGO_ENABLED=0
15    goos:
16      - linux
17      - darwin
18    goarch:
19      - amd64
20      - arm64
21    ignore:
22      - goos: darwin
23        goarch: amd64
24    ldflags:
25      - -s -w
26      - -X github.com/bnema/vev/internal/app.version={{.Version}}
27      - -X github.com/bnema/vev/internal/app.commit={{.ShortCommit}}
28      - -X github.com/bnema/vev/internal/app.date={{.Date}}
29
30archives:
31  - id: default
32    # Contract consumed by install.sh and the AUR package block:
33    # vev_linux_x86_64.tar.gz / vev_linux_arm64.tar.gz / vev_darwin_arm64.tar.gz
34    name_template: >-
35      {{ .ProjectName }}_{{ .Os }}_{{ if eq .Arch "amd64" }}x86_64{{ else }}{{ .Arch }}{{ end }}
36    formats: ['tar.gz']
37    files:
38      - LICENSE
39      - README.md
40      - scripts/vev-bar-top-right
41      - scripts/vev-bar-bottom-right
42
43checksum:
44  # Fixed name: install.sh downloads .../download/<tag>/checksums.txt
45  name_template: checksums.txt
46  algorithm: sha256
47
48changelog:
49  sort: asc
50  use: github
51  filters:
52    exclude:
53      - '^docs(\(.+\))?:'
54      - '^test(\(.+\))?:'
55      - '^ci(\(.+\))?:'
56      - '^chore(\(.+\))?:'
57      - '^build\(deps.*\):'
58      - Merge pull request
59      - Merge branch
60  groups:
61    - title: Features
62      regexp: '^feat(\(.+\))?:'
63      order: 0
64    - title: Bug Fixes
65      regexp: '^fix(\(.+\))?:'
66      order: 1
67    - title: Performance
68      regexp: '^perf(\(.+\))?:'
69      order: 2
70    - title: Refactoring
71      regexp: '^refactor(\(.+\))?:'
72      order: 3
73    - title: Other Changes
74      order: 999
75
76release:
77  github:
78    owner: bnema
79    name: vev
80  draft: false
81  replace_existing_draft: true
82  replace_existing_artifacts: true
83  prerelease: auto
84  make_latest: true
85  footer: |
86    ---
87
88    ## Install
89
90    ### Script (Linux x86_64/arm64, macOS arm64)
91    ```sh
92    curl -fsSL https://raw.githubusercontent.com/bnema/vev/{{ .Tag }}/install.sh | VEV_VERSION={{ .Tag }} sh
93    ```
94
95    ### Arch Linux
96    ```sh
97    yay -S vev-bin
98    ```
99
100    ### macOS note
101    The darwin binary is ad-hoc signed by the Go toolchain, not notarized.
102    Installing via the script or `curl` avoids the quarantine attribute;
103    if you downloaded the archive with a browser, Gatekeeper will block it.
104    Removing the attribute bypasses a Gatekeeper security control — only do
105    it for the vev binary itself, after verifying its checksum:
106    ```sh
107    xattr -d com.apple.quarantine ~/.local/bin/vev
108    ```
109
110    {{- if .PreviousTag }}
111    **Full Changelog**: https://github.com/bnema/vev/compare/{{ .PreviousTag }}...{{ .Tag }}
112    {{- else }}
113    **Full Changelog**: https://github.com/bnema/vev/releases/tag/{{ .Tag }}
114    {{- end }}
115
116git:
117  tag_sort: -version:refname
118
119aurs:
120  - name: vev-bin
121    ids: ['default']
122    homepage: https://github.com/bnema/vev
123    description: Terminal multiplexer with a per-user daemon, server-side rendering, and minimal socket/SSH diffs
124    maintainers:
125      - bnema <b at bnema dot dev>
126    license: MIT
127    private_key: '{{ .Env.AUR_KEY }}'
128    git_url: ssh://aur@aur.archlinux.org/vev-bin.git
129    # auto: prerelease tags (v1.2.3-rc.1) are not pushed to AUR.
130    skip_upload: auto
131    provides:
132      - vev
133    conflicts:
134      - vev
135    package: |-
136      install -Dm755 "./vev" "${pkgdir}/usr/bin/vev"
137      install -Dm755 "./scripts/vev-bar-top-right" "${pkgdir}/usr/bin/vev-bar-top-right"
138      install -Dm755 "./scripts/vev-bar-bottom-right" "${pkgdir}/usr/bin/vev-bar-bottom-right"
139      install -Dm644 "./LICENSE" "${pkgdir}/usr/share/licenses/vev-bin/LICENSE"
140    commit_msg_template: 'Update to {{ .Tag }}'

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 12

Tags 11

↑↓ moveenter openesc close