Repository Analysis

jesseduffield/lazygit

simple terminal UI for git commands

0.7 Likely human-written View on GitHub
0.7
Adjusted Score
0.7
Raw Score
100%
Time Factor
2026-05-28
Last Push
78,636
Stars
Go
Language
155,523
Lines of Code
1090
Files
77
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 1MEDIUM 7LOW 69

Pattern Findings

77 matches across 8 categories. Click a row to expand file-level details.

Over-Commented Block54 hits · 54 pts
SeverityFileLineSnippet
LOW.golangci.yml41 # underscore, which we also use in a few places. Since it can't be
LOWdemo/config.yml1# Specify a command to be executed
LOWdemo/config.yml21# or use `auto` to take the current
LOWdocs/Config.md101 # Number from 0 to 1.0.
LOWdocs/Config.md121 mainPanelSplitMode: flexible
LOWdocs/Config.md241 # If true, show the bottom line that contains keybinding info and useful
LOWdocs/Config.md341# Config relating to git
LOWdocs/Config.md461 # If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀
LOWdocs/Config.md481
LOWdocs/Config.md581
LOWdocs-master/Config.md101 # Number from 0 to 1.0.
LOWdocs-master/Config.md121 mainPanelSplitMode: flexible
LOWdocs-master/Config.md241 # If true, show the bottom line that contains keybinding info and useful
LOWdocs-master/Config.md341# Config relating to git
LOWdocs-master/Config.md461 # If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀
LOWdocs-master/Config.md481
LOWdocs-master/Config.md581
LOWpkg/tasks/tasks.go161 self.throttle = false
LOWpkg/config/app_config_test.go401
LOWpkg/config/app_config_test.go421 # Possible values:
LOWpkg/config/app_config_test.go681
LOWpkg/config/app_config_test.go761
LOWpkg/config/user_config.go21 QuitOnTopLevelReturn bool `yaml:"quitOnTopLevelReturn"`
LOWpkg/config/user_config.go61type GuiConfig struct {
LOWpkg/config/user_config.go81 // Note that when using a pager, the pager has its own tab width setting, so you need to pass it separately in the page
LOWpkg/config/user_config.go101 // If true, increase the height of the focused side window; creating an accordion effect.
LOWpkg/config/user_config.go121 Language string `yaml:"language" jsonschema:"enum=auto,enum=en,enum=zh-TW,enum=zh-CN,enum=pl,enum=nl,enum=ja,enum=ko,en
LOWpkg/config/user_config.go141 // One of: 'mixed' (default) | 'filesFirst' | 'foldersFirst'
LOWpkg/config/user_config.go161 // If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.
LOWpkg/config/user_config.go181 // One of: 'normal' (default) | 'half' | 'full'
LOWpkg/config/user_config.go261 // colorArg: "always"
LOWpkg/config/user_config.go301 // Commands used to display git log of all branches in the main window, they will be cycled in order of appearance (arr
LOWpkg/config/user_config.go381 // One of: 'date-order' | 'author-date-order' | 'topo-order' | 'default'
LOWpkg/integration/tests/ui/accordion.go1package ui
LOWpkg/integration/tests/ui/range_select.go1package ui
LOWpkg/integration/tests/staging/diff_context_change.go21 // diff --git a/file1 b/file1
LOWpkg/integration/tests/staging/stage_hunks.go21 // hunk looks like:
LOW…s/cherry_pick/cherry_pick_commit_that_becomes_empty.go81 // 1. We increment the selected line index after pasting by the number of pasted
LOW…ntegration/tests/worktree/bare_repo_worktree_config.go21 // we're going to have a directory structure like this:
LOWpkg/gocui/view.go61 // from a previous render until we explicitly set them to nil, allowing us to
LOWpkg/gocui/view.go81
LOWpkg/gocui/view.go121 // The rune slice can be defined with 3 different lengths.
LOWpkg/gui/filetree/node.go21
LOWpkg/gui/types/keybindings.go21 // If defined, this is used in place of Description when showing the keybinding
LOWpkg/gui/types/refresh.go41 // Normally a refresh of the branches tries to keep the same branch selected
LOWpkg/gui/types/common.go261
LOWpkg/gui/style/text_style.go1package style
LOWpkg/gui/controllers/bisect_controller.go61func (self *BisectController) openMidBisectMenu(info *git_commands.BisectInfo, commit *models.Commit) error {
LOW…g/gui/controllers/helpers/window_arrangement_helper.go41 // Width of the screen (in characters)
LOWpkg/commands/models/worktree.go1package models
LOWpkg/commands/git_config/get_key.go21// without limitation the rights to use, copy, modify, merge, publish,
LOWpkg/commands/patch/patch_test.go661 expectedResults []int
LOWpkg/commands/patch/transform.go21
LOWpkg/commands/git_commands/commit_loader.go421 // same, the command was rescheduled.
Decorative Section Separators7 hits · 32 pts
SeverityFileLineSnippet
MEDIUMpkg/integration/tests/ui/accordion.go10// ╶─Status─────────────────────────╴┌─Patch──────────────────────────────────────────────────────────┐
MEDIUMpkg/integration/tests/ui/accordion.go11// ╶─Files - Submodules──────0 of 0─╴│commit 6e56dd04b70e548976f7f2928c4d9c359574e2bc ▲
MEDIUMpkg/integration/tests/ui/accordion.go13// ┌─Commits - Reflog───────────────┐│Date: Wed Jul 19 22:00:03 2023 +1000 │
MEDIUMpkg/integration/tests/ui/accordion.go15// │6e56dd04 CI commit 11 █└────────────────────────────────────────────────────────────────┘
MEDIUMpkg/integration/tests/ui/accordion.go16// │a35c687d CI commit 10 ▼┌─Command log────────────────────────────────────────────────────┐
MEDIUMpkg/integration/tests/ui/accordion.go17// └───────────────────────10 of 20─┘│Random tip: To filter commits by path, press '<ctrl+s>' │
MEDIUMpkg/integration/tests/ui/accordion.go18// ╶─Stash───────────────────0 of 0─╴└────────────────────────────────────────────────────────────────┘
Fake / Example Data10 hits · 12 pts
SeverityFileLineSnippet
LOWpkg/integration/tests/commit/copy_tag_to_clipboard.go19 shell.SetAuthor("John Doe", "john@doe.com")
LOW…g/integration/tests/commit/copy_author_to_clipboard.go19 shell.SetAuthor("John Doe", "john@doe.com")
LOWpkg/integration/tests/commit/auto_wrap_message.go31 Type("Lorem ipsum dolor sit amet, consectetur adipiscing elit.").
LOWpkg/integration/tests/commit/auto_wrap_message.go31 Type("Lorem ipsum dolor sit amet, consectetur adipiscing elit.").
LOWpkg/integration/tests/commit/auto_wrap_message.go33 Content(Equals("Lorem ipsum dolor \nsit amet, \nconsectetur \nadipiscing elit.")).
LOWpkg/integration/tests/commit/auto_wrap_message.go44 "subject\n \n Lorem ipsum dolor\n sit amet,\n consectetur\n adipiscing elit."))
LOWpkg/integration/tests/commit/auto_wrap_message.go54 Content(Equals("Lorem ipsum dolor \nsit amet, \nconsectetur \nadipiscing elit.")).
LOWpkg/gocui/text_area_test.go1011var testContent = `Lorem ipsum dolor sit amet, consectetur adipiscing elit.
LOWpkg/gocui/text_area_test.go1011var testContent = `Lorem ipsum dolor sit amet, consectetur adipiscing elit.
LOWpkg/commands/git_commands/commit_loader_test.go636 AuthorName: "John Doe",
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippet
HIGHpkg/tasks/tasks_test.go156// A dummy reader that simply yields as many blank lines as requested. The only
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippet
LOWdemo/config.yml49# Don't forget to add a backgroundColor style with a null as type
LOW.github/workflows/ci.yml173 # If you change this, make sure to also update scripts/golangci-lint-shim.sh
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWscripts/bisect.sh3# How to use:
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOWscripts/check_filenames.sh6 # Check if the file name contains uppercase letters
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippet
LOWpkg/gui/layout.go89 // already), so we need to check if it did