summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-04-11 21:42:41 +1000
committerJesse Duffield <jessedduffield@gmail.com>2021-04-11 21:42:41 +1000
commit764bd556f3500bf51556e8f475d5efdda7fd9c46 (patch)
treef27e4cb66e6246d4556ee642642e16f149da3c11
parent069c7c9d3583c15aea34c08ff7c8be299c94f60d (diff)
prettify config.md
-rw-r--r--docs/Config.md475
1 files changed, 239 insertions, 236 deletions
diff --git a/docs/Config.md b/docs/Config.md
index b22c4318c..337e23b54 100644
--- a/docs/Config.md
+++ b/docs/Config.md
@@ -2,190 +2,190 @@
Default path for the config file:
-* Linux: `~/.config/lazygit/config.yml`
-* MacOS: `~/Library/Application Support/lazygit/config.yml`
-* Windows: `%APPDATA%\lazygit\config.yml`
+- Linux: `~/.config/lazygit/config.yml`
+- MacOS: `~/Library/Application Support/lazygit/config.yml`
+- Windows: `%APPDATA%\lazygit\config.yml`
For old installations (slightly embarrassing: I didn't realise at the time that you didn't need to supply a vendor name to the path so I just used my name):
-* Linux: `~/.config/jesseduffield/lazygit/config.yml`
-* MacOS: `~/Library/Application Support/jesseduffield/lazygit/config.yml`
-* Windows: `%APPDATA%\jesseduffield\lazygit\config.yml`
+- Linux: `~/.config/jesseduffield/lazygit/config.yml`
+- MacOS: `~/Library/Application Support/jesseduffield/lazygit/config.yml`
+- Windows: `%APPDATA%\jesseduffield\lazygit\config.yml`
## Default
```yaml
- gui:
- # stuff relating to the UI
- scrollHeight: 2 # how many lines you scroll by
- scrollPastBottom: true # enable scrolling past the bottom
- sidePanelWidth: 0.3333 # number from 0 to 1
- expandFocusedSidePanel: false
- mainPanelSplitMode: 'flexible' # one of 'horizontal' | 'flexible' | 'vertical'
- theme:
- lightTheme: false # For terminals with a light background
- activeBorderColor:
- - white
- - bold
- inactiveBorderColor:
- - green
- optionsTextColor:
- - blue
- selectedLineBgColor:
- - default
- selectedRangeBgColor:
- - blue
- commitLength:
- show: true
- mouseEvents: true
- skipUnstageLineWarning: false
- skipStashWarning: true
- showFileTree: false # for rendering changes files in a tree format
- showCommandLog: false
- git:
- paging:
- colorArg: always
- useConfig: false
- merging:
- # only applicable to unix users
- manualCommit: false
- # extra args passed to `git merge`, e.g. --no-ff
- args: ""
- pull:
- mode: 'merge' # one of 'merge' | 'rebase' | 'ff-only'
- skipHookPrefix: WIP
- autoFetch: true
- branchLogCmd: "git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --"
- allBranchesLogCmd: "git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium"
- overrideGpg: false # prevents lazygit from spawning a separate process when using GPG
- disableForcePushing: false
- refresher:
- refreshInterval: 10 # file/submodule refresh interval in seconds
- fetchInterval: 60 # re-fetch interval in seconds
- update:
- method: prompt # can be: prompt | background | never
- days: 14 # how often an update is checked for
- reporting: 'undetermined' # one of: 'on' | 'off' | 'undetermined'
- confirmOnQuit: false
- # determines whether hitting 'esc' will quit the application when there is nothing to cancel/close
- quitOnTopLevelReturn: false
- disableStartupPopups: false
- notARepository: 'prompt' # one of: 'prompt' | 'create' | 'skip'
- keybinding:
- universal:
- quit: 'q'
- quit-alt1: '<c-c>' # alternative/alias of quit
- return: '<esc>' # return to previous menu, will quit if there's nowhere to return
- quitWithoutChangingDirectory: 'Q'
- togglePanel: '<tab>' # goto the next panel
- prevItem: '<up>' # go one line up
- nextItem: '<down>' # go one line down
- prevItem-alt: 'k' # go one line up
- nextItem-alt: 'j' # go one line down
- prevPage: ',' # go to next page in list
- nextPage: '.' # go to previous page in list
- gotoTop: '<' # go to top of list
- gotoBottom: '>' # go to bottom of list
- prevBlock: '<left>' # goto the previous block / panel
- nextBlock: '<right>' # goto the next block / panel
- prevBlock-alt: 'h' # goto the previous block / panel
- nextBlock-alt: 'l' # goto the next block / panel
- nextMatch: 'n'
- prevMatch: 'N'
- optionMenu: 'x' # show help menu
- optionMenu-alt1: '?' # show help menu
- select: '<space>'
- goInto: '<enter>'
- confirm: '<enter>'
- confirm-alt1: 'y'
- remove: 'd'
- new: 'n'
- edit: 'e'
- openFile: 'o'
- scrollUpMain: '<pgup>' # main panel scrool up
- scrollDownMain: '<pgdown>' # main panel scrool down
- scrollUpMain-alt1: 'K' # main panel scrool up
- scrollDownMain-alt1: 'J' # main panel scrool down
- scrollUpMain-alt2: '<c-u>' # main panel scrool up
- scrollDownMain-alt2: '<c-d>' # main panel scrool down
- executeCustomCommand: ':'
- createRebaseOptionsMenu: 'm'
- pushFiles: 'P'
- pullFiles: 'p'
- refresh: 'R'
- createPatchOptionsMenu: '<c-p>'
- nextTab: ']'
- prevTab: '['
- nextScreenMode: '+'
- prevScreenMode: '_'
- undo: 'z'
- redo: '<c-z>'
- filteringMenu: '<c-s>'
- diffingMenu: 'W'
- diffingMenu-alt: '<c-e>' # deprecated
- copyToClipboard: '<c-o>'
- submitEditorText: '<enter>'
- appendNewline: '<tab>'
- status:
- checkForUpdate: 'u'
- recentRepos: '<enter>'
- files:
- commitChanges: 'c'
- commitChangesWithoutHook: 'w' # commit changes without pre-commit hook
- amendLastCommit: 'A'
- commitChangesWithEditor: 'C'
- ignoreFile: 'i'
- refreshFiles: 'r'
- stashAllChanges: 's'
- viewStashOptions: 'S'
- toggleStagedAll: 'a' # stage/unstage all
- viewResetOptions: 'D'
- fetch: 'f'
- toggleTreeView: '`'
- branches:
- createPullRequest: 'o'
- checkoutBranchByName: 'c'
- forceCheckoutBranch: 'F'
- rebaseBranch: 'r'
- mergeIntoCurrentBranch: 'M'
- viewGitFlowOptions: 'i'
- fastForward: 'f' # fast-forward this branch from its upstream
- pushTag: 'P'
- setUpstream: 'u' # set as upstream of checked-out branch
- fetchRemote: 'f'
- commits:
- squashDown: 's'
- renameCommit: 'r'
- renameCommitWithEditor: 'R'
- viewResetOptions: 'g'
- markCommitAsFixup: 'f'
- createFixupCommit: 'F' # create fixup commit for this commit
- squashAboveCommits: 'S'
- moveDownCommit: '<c-j>' # move commit down one
- moveUpCommit: '<c-k>' # move commit up one
- amendToCommit: 'A'
- pickCommit: 'p' # pick commit (when mid-rebase)
- revertCommit: 't'
- cherryPickCopy: 'c'
- cherryPickCopyRange: 'C'
- pasteCommits: 'v'
- tagCommit: 'T'
- checkoutCommit: '<space>'
- resetCherryPick: '<c-R>'
- copyCommitMessageToClipboard: '<c-y>'
- stash:
- popStash: 'g'
- commitFiles:
- checkoutCommitFile: 'c'
- main:
- toggleDragSelect: 'v'
- toggleDragSelect-alt: 'V'
- toggleSelectHunk: 'a'
- pickBothHunks: 'b'
- submodules:
- init: 'i'
- update: 'u'
- bulkMenu: 'b'
+gui:
+ # stuff relating to the UI
+ scrollHeight: 2 # how many lines you scroll by
+ scrollPastBottom: true # enable scrolling past the bottom
+ sidePanelWidth: 0.3333 # number from 0 to 1
+ expandFocusedSidePanel: false
+ mainPanelSplitMode: 'flexible' # one of 'horizontal' | 'flexible' | 'vertical'
+ theme:
+ lightTheme: false # For terminals with a light background
+ activeBorderColor:
+ - white
+ - bold
+ inactiveBorderColor:
+ - green
+ optionsTextColor:
+ - blue
+ selectedLineBgColor:
+ - default
+ selectedRangeBgColor:
+ - blue
+ commitLength:
+ show: true
+ mouseEvents: true
+ skipUnstageLineWarning: false
+ skipStashWarning: true
+ showFileTree: false # for rendering changes files in a tree format
+ showCommandLog:
+git:
+ paging:
+ colorArg: always
+ useConfig: false
+ merging:
+ # only applicable to unix users
+ manualCommit: false
+ # extra args passed to `git merge`, e.g. --no-ff
+ args: ''
+ pull:
+ mode: 'merge' # one of 'merge' | 'rebase' | 'ff-only'
+ skipHookPrefix: WIP
+ autoFetch: true
+ branchLogCmd: 'git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --'
+ allBranchesLogCmd: 'git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium'
+ overrideGpg: false # prevents lazygit from spawning a separate process when using GPG
+ disableForcePushing: false
+refresher:
+ refreshInterval: 10 # file/submodule refresh interval in seconds
+ fetchInterval: 60 # re-fetch interval in seconds
+update:
+ method: prompt # can be: prompt | background | never
+ days: 14 # how often an update is checked for
+reporting: 'undetermined' # one of: 'on' | 'off' | 'undetermined'
+confirmOnQuit: false
+# determines whether hitting 'esc' will quit the application when there is nothing to cancel/close
+quitOnTopLevelReturn: false
+disableStartupPopups: false
+notARepository: 'prompt' # one of: 'prompt' | 'create' | 'skip'
+keybinding:
+ universal:
+ quit: 'q'
+ quit-alt1: '<c-c>' # alternative/alias of quit
+ return: '<esc>' # return to previous menu, will quit if there's nowhere to return
+ quitWithoutChangingDirectory: 'Q'
+ togglePanel: '<tab>' # goto the next panel
+ prevItem: '<up>' # go one line up
+ nextItem: '<down>' # go one line down
+ prevItem-alt: 'k' # go one line up
+ nextItem-alt: 'j' # go one line down
+ prevPage: ',' # go to next page in list
+ nextPage: '.' # go to previous page in list
+ gotoTop: '<' # go to top of list
+ gotoBottom: '>' # go to bottom of list
+ prevBlock: '<left>' # goto the previous block / panel
+ nextBlock: '<right>' # goto the next block / panel
+ prevBlock-alt: 'h' # goto the previous block / panel
+ nextBlock-alt: 'l' # goto the next block / panel
+ nextMatch: 'n'
+ prevMatch: 'N'
+ optionMenu: 'x' # show help menu
+ optionMenu-alt1: '?' # show help menu
+ select: '<space>'
+ goInto: '<enter>'
+ confirm: '<enter>'
+ confirm-alt1: 'y'
+ remove: 'd'
+ new: 'n'
+ edit: 'e'
+ openFile: 'o'
+ scrollUpMain: '<pgup>' # main panel scrool up
+ scrollDownMain: '<pgdown>' # main panel scrool down
+ scrollUpMain-alt1: 'K' # main panel scrool up
+ scrollDownMain-alt1: 'J' # main panel scrool down
+ scrollUpMain-alt2: '<c-u>' # main panel scrool up
+ scrollDownMain-alt2: '<c-d>' # main panel scrool down
+ executeCustomCommand: ':'
+ createRebaseOptionsMenu: 'm'
+ pushFiles: 'P'
+ pullFiles: 'p'
+ refresh: 'R'
+ createPatchOptionsMenu: '<c-p>'
+ nextTab: ']'
+ prevTab: '['
+ nextScreenMode: '+'
+ prevScreenMode: '_'
+ undo: 'z'
+ redo: '<c-z>'
+ filteringMenu: '<c-s>'
+ diffingMenu: 'W'
+ diffingMenu-alt: '<c-e>' # deprecated
+ copyToClipboard: '<c-o>'
+ submitEditorText: '<enter>'
+ appendNewline: '<tab>'
+ status:
+ checkForUpdate: 'u'
+ recentRepos: '<enter>'
+ files:
+ commitChanges: 'c'
+ commitChangesWithoutHook: 'w' # commit changes without pre-commit hook
+ amendLastCommit: 'A'
+ commitChangesWithEditor: 'C'
+ ignoreFile: 'i'
+ refreshFiles: 'r'
+ stashAllChanges: 's'
+ viewStashOptions: 'S'
+ toggleStagedAll: 'a' # stage/unstage all
+ viewResetOptions: 'D'
+ fetch: 'f'
+ toggleTreeView: '`'
+ branches:
+ createPullRequest: 'o'
+ checkoutBranchByName: 'c'
+ forceCheckoutBranch: 'F'
+ rebaseBranch: 'r'
+ mergeIntoCurrentBranch: 'M'
+ viewGitFlowOptions: 'i'
+ fastForward: 'f' # fast-forward this branch from its upstream
+ pushTag: 'P'
+ setUpstream: 'u' # set as upstream of checked-out branch
+ fetchRemote: 'f'
+ commits:
+ squashDown: 's'
+ renameCommit: 'r'
+ renameCommitWithEditor: 'R'
+ viewResetOptions: 'g'
+ markCommitAsFixup: 'f'
+ createFixupCommit: 'F' # create fixup commit for this commit
+ squashAboveCommits: 'S'
+ moveDownCommit: '<c-j>' # move commit down one
+ moveUpCommit: '<c-k>' # move commit up one
+ amendToCommit: 'A'
+ pickCommit: 'p' # pick commit (when mid-rebase)
+ revertCommit: 't'
+ cherryPickCopy: 'c'
+ cherryPickCopyRange: 'C'
+ pasteCommits: 'v'
+ tagCommit: 'T'
+ checkoutCommit: '<space>'
+ resetCherryPick: '<c-R>'
+ copyCommitMessageToClipboard: '<c-y>'
+ stash:
+ popStash: 'g'
+ commitFiles:
+ checkoutCommitFile: 'c'
+ main:
+ toggleDragSelect: 'v'
+ toggleDragSelect-alt: 'V'
+ toggleSelectHunk: 'a'
+ pickBothHunks: 'b'
+ submodules:
+ init: 'i'
+ update: 'u'
+ bulkMenu: 'b'
```
## Platform Defaults
@@ -193,22 +193,22 @@ For old installations (slightly embarrassing: I didn't realise at the time that
### Windows
```yaml
- os:
- openCommand: 'cmd /c "start "" {{filename}}"'
+os:
+ openCommand: 'cmd /c "start "" {{filename}}"'
```
### Linux
```yaml
- os:
- openCommand: 'sh -c "xdg-open {{filename}} >/dev/null"'
+os:
+ openCommand: 'sh -c "xdg-open {{filename}} >/dev/null"'
```
### OSX
```yaml
- os:
- openCommand: 'open {{filename}}'
+os:
+ openCommand: 'open {{filename}}'
```
### Recommended Config Values
@@ -216,8 +216,8 @@ For old installations (slightly embarrassing: I didn't realise at the time that
for users of VSCode
```yaml
- os:
- openCommand: 'code -rg {{filename}}'
+os:
+ openCommand: 'code -rg {{filename}}'
```
## Color Attributes
@@ -243,16 +243,16 @@ The available attributes are:
If you have issues with a light terminal theme where you can't read / see the text add these settings
```yaml
- gui:
- theme:
- lightTheme: true
- activeBorderColor:
- - black
- - bold
- inactiveBorderColor:
- - black
- selectedLineBgColor:
- - default
+gui:
+ theme:
+ lightTheme: true
+ activeBorderColor:
+ - black
+ - bold
+ inactiveBorderColor:
+ - black
+ selectedLineBgColor:
+ - default
```
## Struggling to see selected line
@@ -260,15 +260,16 @@ If you have issues with a light terminal theme where you can't read / see the te
If you struggle to see the selected line I recommend using the reverse attribute on selected lines like so:
```yaml
- gui:
- theme:
- selectedLineBgColor:
- - reverse
- selectedRangeBgColor:
- - reverse
+gui:
+ theme:
+ selectedLineBgColor:
+ - reverse
+ selectedRangeBgColor:
+ - reverse
```
The following has also worked for a couple of people:
+
```yaml
gui:
theme:
@@ -297,33 +298,33 @@ For all possible keybinding options, check [Custom_Keybindings.md](https://githu
### Example Keybindings For Colemak Users
```yaml
- keybinding:
- universal:
- prevItem-alt: 'u'
- nextItem-alt: 'e'
- prevBlock-alt: 'n'
- nextBlock-alt: 'i'
- nextMatch: '='
- prevMatch: '-'
- new: 'k'
- edit: 'o'
- openFile: 'O'
- scrollUpMain-alt1: 'U'
- scrollDownMain-alt1: 'E'
- scrollUpMain-alt2: '<c-u>'
- scrollDownMain-alt2: '<c-e>'
- undo: 'l'
- redo: '<c-r>'
- diffingMenu: 'M'
- filteringMenu: '<c-f>'
- files:
- ignoreFile: 'I'
- commits:
- moveDownCommit: '<c-e>'
- moveUpCommit: '<c-u>'
- branches:
- viewGitFlowOptions: 'I'
- setUpstream: 'U'
+keybinding:
+ universal:
+ prevItem-alt: 'u'
+ nextItem-alt: 'e'
+ prevBlock-alt: 'n'
+ nextBlock-alt: 'i'
+ nextMatch: '='
+ prevMatch: '-'
+ new: 'k'
+ edit: 'o'
+ openFile: 'O'
+ scrollUpMain-alt1: 'U'
+ scrollDownMain-alt1: 'E'
+ scrollUpMain-alt2: '<c-u>'
+ scrollDownMain-alt2: '<c-e>'
+ undo: 'l'
+ redo: '<c-r>'
+ diffingMenu: 'M'
+ filteringMenu: '<c-f>'
+ files:
+ ignoreFile: 'I'
+ commits:
+ moveDownCommit: '<c-e>'
+ moveUpCommit: '<c-u>'
+ branches:
+ viewGitFlowOptions: 'I'
+ setUpstream: 'U'
```
## Custom pull request URLs
@@ -334,7 +335,7 @@ the pull request. You can do so on your `config.yml` file using the following sy
```yaml
services:
- "<gitDomain>": "<provider>:<webDomain>"
+ '<gitDomain>': '<provider>:<webDomain>'
```
Where:
@@ -344,19 +345,21 @@ Where:
- `webDomain` is the URL where your git service exposes a web interface and APIs, e.g. `gitservice.work.com`
## Predefined commit message prefix
+
In situations where certain naming pattern is used for branches and commits, pattern can be used to populate
commit message with prefix that is parsed from the branch name.
Example:
-* Branch name: feature/AB-123
-* Commit message: [AB-123] Adding feature
+
+- Branch name: feature/AB-123
+- Commit message: [AB-123] Adding feature
```yaml
- git:
- commitPrefixes:
- my_project: # This is repository folder name
- pattern: "^\\w+\\/(\\w+-\\w+).*"
- replace: "[$1] "
+git:
+ commitPrefixes:
+ my_project: # This is repository folder name
+ pattern: "^\\w+\\/(\\w+-\\w+).*"
+ replace: '[$1] '
```
## Custom git log command