detached ece7682

.goreleaser.yaml RawHistoryFolder

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