feat: e on the status pane edits the config, as in lazygit
CI / Checks (pull_request) Successful in 25s
PR title / Conventional title (pull_request) Successful in 1s

Instead of a global E: e on the status pane opens the config, shown
in its footer as "e edit config".

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kebandClaude Opus 5.5 committed 2026-10-13 13:00:27 +02:00
1 parent 765f9f6aea
commit afaf7ac567
7 files changed
+26 -16

No files matched your search

+4 -2
View File
@@ -17,7 +17,7 @@ import (
"git.kebcloud.no/keb/lazysecrets/internal/update"
)
// Opening a repo's file (e): SOPS files with sops edit, which decrypts
// Opening a repo's file (e), or on the status pane the config: SOPS files with sops edit, which decrypts
// them for the editor and encrypts them again after. Other files, inside
// nvim: in that nvim, once lazysecrets has quit; else in $VISUAL or
// $EDITOR, coming back after; else in the system's default app. On a
@@ -47,6 +47,8 @@ func (m *Model) edit() tea.Cmd {
var c provider.Container
var o *provider.Object
switch m.focus {
case paneStatus: // like lazygit's status panel
return m.editConfig()
case paneSources:
m.flash = warning("select a file to open it")
return nil
@@ -100,7 +102,7 @@ func (m *Model) edit() tea.Cmd {
const configHeader = "# lazysecrets config: " + update.DefaultRepo + "/src/branch/main/docs/config.md\n"
// editConfig opens the user's config file (the first of them), as e
// opens a file, making it if it isn't there yet.
// opens a file, making it if it isn't there yet: e on the status pane.
func (m *Model) editConfig() tea.Cmd {
if len(m.configFiles) == 0 {
m.flash = warning("no config file")