mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-08-28 10:15:32 -05:00
For a long time lazygit has used the term "custom pager" to refer to what's really a "diff renderer". A pager is a program that allows you to view output page by page (hence the name), e.g. less; lazygit's custom diff renderers are not pagers. It used the term only because the feature is implemented using git's GIT_PAGER env var, but that's an implementation detail. Rename the 'git.pagers' config to 'git.diffRenderers', and restructure its elements while we're at it to make things clearer: - Add a 'type' field to explicitly specify which type of diff renderer it is (the two fundamentally different ones are 'stdinFilter' and 'extDiff'). - Add a third type, 'rawGit', which has an 'args' field that makes it easy to use 'git --color-words' as a custom renderer - Unify the old 'pager' and 'externalDiffCommand' fields to a single 'command' field for both types Existing config files are migrated automatically.
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package git_commands
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
|
"github.com/jesseduffield/lazygit/pkg/common"
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
)
|
|
|
|
type GitCommon struct {
|
|
*common.Common
|
|
version *GitVersion
|
|
cmd oscommands.ICmdObjBuilder
|
|
os *oscommands.OSCommand
|
|
repoPaths *RepoPaths
|
|
config *ConfigCommands
|
|
diffRendererConfigManager *config.DiffRendererConfigManager
|
|
}
|
|
|
|
func NewGitCommon(
|
|
cmn *common.Common,
|
|
version *GitVersion,
|
|
cmd oscommands.ICmdObjBuilder,
|
|
osCommand *oscommands.OSCommand,
|
|
repoPaths *RepoPaths,
|
|
config *ConfigCommands,
|
|
diffRendererConfigManager *config.DiffRendererConfigManager,
|
|
) *GitCommon {
|
|
return &GitCommon{
|
|
Common: cmn,
|
|
version: version,
|
|
cmd: cmd,
|
|
os: osCommand,
|
|
repoPaths: repoPaths,
|
|
config: config,
|
|
diffRendererConfigManager: diffRendererConfigManager,
|
|
}
|
|
}
|