Bug Report: Log display preferences do not persist
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 5.6k
- Forks
- 357
- Avg merge
- 15h 47m
- Merged PRs (30d)
- 2
Description
Describe the bug
Log display switches (graph, decorate, color) don't persist between sessions despite remember_settings = true, causing :NeogitLogCurrent to ignore user preferences.
To Reproduce
- Open
:Neogit logpopup - Enable
graph,decorate,colorswitches - Run any log action to see a beautiful graph
- Later run
:NeogitLogCurrent. plain log without preferences
Expected behavior
All log commands should respect last-used display preferences, consistent with other persisted switches like reverse.
Additional Context
Display switches are marked internal = true which prevents persistence:
:switch("g", "graph", "Show graph", { enabled = true, internal = true }) -- ❌ Not persisted
:switch("r", "reverse", "Reverse order") -- ✅ Persisted
I propose to remove internal = true
or to add persisted = true to override
:switch("g", "graph", "Show graph", {
enabled = true,
-- internal = true, -- remove
})
Environment
- OS: Linux/macOS/Windows
- Neovim version: 0.10+
- Neogit version: latest
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the popup switch definitions for graph, decorate, color, and reverse, then inspect how remember_settings handles internal switches. Reproduce the difference between :Neogit log and :NeogitLogCurrent, and verify that all log commands retain the last-used display preferences.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, lua, neovim
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100