mirror of
https://github.com/Xevion/dotfiles.git
synced 2026-01-31 02:24:11 -06:00
config: add delta config and enhance lazygit with Dracula theme
- Extract delta configuration to dedicated managed config file - Update lazygit with full Dracula theme and quality-of-life improvements - Remove banner comments from config files for cleaner format - Update git-related tool scripts (install-fonts, share utility)
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Delta Configuration - Dracula Theme
|
||||
[delta]
|
||||
# Core Settings
|
||||
navigate = true # n/N to jump between files
|
||||
side-by-side = false # Unified diff (better for small changes)
|
||||
line-numbers = true # Show line numbers
|
||||
syntax-theme = Dracula # Match Dracula theme
|
||||
paging = never # Let lazygit handle paging
|
||||
|
||||
# Display Quality
|
||||
true-color = always
|
||||
hyperlinks = true
|
||||
hyperlinks-file-link-format = "file://{path}"
|
||||
|
||||
# Line Number Styling (clearer format)
|
||||
line-numbers-left-format = "{nm:>4} ⋮" # Old file line
|
||||
line-numbers-right-format = "{np:>4} │" # New file line
|
||||
line-numbers-left-style = "#6272a4" # Dracula comment
|
||||
line-numbers-right-style = "#6272a4"
|
||||
line-numbers-minus-style = "#ff5555" # Red for removed
|
||||
line-numbers-plus-style = "#50fa7b" # Green for added
|
||||
line-numbers-zero-style = "#6272a4" # Comment for unchanged
|
||||
|
||||
# Hunk Headers (the @@ lines)
|
||||
hunk-header-style = file line-number syntax
|
||||
hunk-header-decoration-style = "#bd93f9" box # Purple box
|
||||
hunk-header-line-number-style = "#f1fa8c" # Yellow line numbers
|
||||
|
||||
# File Headers
|
||||
file-style = "#ff79c6" bold # Pink filename
|
||||
file-decoration-style = "#ff79c6" ul # Underline
|
||||
|
||||
# Diff Styling (subtle backgrounds)
|
||||
minus-style = syntax "#3f2d3d" # Subtle red bg for deletions
|
||||
minus-emph-style = syntax "#5f3746" # Stronger red for changed parts
|
||||
minus-non-emph-style = syntax auto
|
||||
plus-style = syntax "#273a2e" # Subtle green bg for additions
|
||||
plus-emph-style = syntax "#2f4f39" # Stronger green for changed parts
|
||||
plus-non-emph-style = syntax auto
|
||||
|
||||
# Whitespace Handling
|
||||
whitespace-error-style = "#ff5555" reverse # Highlight trailing whitespace
|
||||
|
||||
# Merge Conflict Styling
|
||||
merge-conflict-begin-symbol = "⌃"
|
||||
merge-conflict-end-symbol = "⌄"
|
||||
merge-conflict-ours-diff-header-style = "#f1fa8c" bold
|
||||
merge-conflict-theirs-diff-header-style = "#f1fa8c" bold italic
|
||||
|
||||
[interactive]
|
||||
diffFilter = delta --color-only --features=interactive
|
||||
|
||||
[delta "interactive"]
|
||||
keep-plus-minus-markers = false
|
||||
|
||||
[diff]
|
||||
colorMoved = default
|
||||
@@ -1,23 +1,137 @@
|
||||
gui:
|
||||
theme:
|
||||
activeBorderColor:
|
||||
- "#E97387"
|
||||
- bold
|
||||
inactiveBorderColor:
|
||||
- "#a5adce"
|
||||
optionsTextColor:
|
||||
- "#8caaee"
|
||||
selectedLineBgColor:
|
||||
- "#ECCFD3"
|
||||
cherryPickedCommitBgColor:
|
||||
- "#51576d"
|
||||
cherryPickedCommitFgColor:
|
||||
- "#CFF2E2"
|
||||
unstagedChangesColor:
|
||||
- "#E97387"
|
||||
defaultFgColor:
|
||||
- "#6B6B6B"
|
||||
searchingActiveBorderColor:
|
||||
- "#e5c890"
|
||||
authorColors:
|
||||
"*": "#babbf1"
|
||||
gui:
|
||||
# Dracula Theme - Official Colors
|
||||
theme:
|
||||
activeBorderColor:
|
||||
- "#ff79c6" # Pink
|
||||
- bold
|
||||
inactiveBorderColor:
|
||||
- "#6272a4" # Comment
|
||||
searchingActiveBorderColor:
|
||||
- "#8be9fd" # Cyan
|
||||
- bold
|
||||
optionsTextColor:
|
||||
- "#bd93f9" # Purple
|
||||
selectedLineBgColor:
|
||||
- "#44475a" # Current Line
|
||||
inactiveViewSelectedLineBgColor:
|
||||
- bold
|
||||
cherryPickedCommitFgColor:
|
||||
- "#8be9fd" # Cyan
|
||||
cherryPickedCommitBgColor:
|
||||
- "#44475a" # Current Line
|
||||
markedBaseCommitFgColor:
|
||||
- "#f1fa8c" # Yellow
|
||||
markedBaseCommitBgColor:
|
||||
- "#44475a" # Current Line
|
||||
unstagedChangesColor:
|
||||
- "#ff5555" # Red
|
||||
defaultFgColor:
|
||||
- "#f8f8f2" # Foreground
|
||||
authorColors:
|
||||
"*": "#bd93f9" # Unified purple for all authors
|
||||
# Nerd Fonts
|
||||
nerdFontsVersion: "3"
|
||||
showFileIcons: true
|
||||
# Visual Preferences
|
||||
border: "rounded"
|
||||
animateExplosion: true
|
||||
# Info Density (Balanced)
|
||||
showListFooter: true
|
||||
showFileTree: true
|
||||
showCommandLog: true
|
||||
showBottomLine: true
|
||||
showPanelJumps: true
|
||||
commitHashLength: 8
|
||||
showBranchCommitHash: false
|
||||
showDivergenceFromBaseBranch: "arrowAndNumber"
|
||||
# Disable Annoying Popups
|
||||
skipDiscardChangeWarning: true
|
||||
skipStashWarning: true
|
||||
skipRewordInEditorWarning: true
|
||||
showRandomTip: false
|
||||
# Window Sizing
|
||||
scrollHeight: 8
|
||||
sidePanelWidth: 0.3333
|
||||
expandFocusedSidePanel: false
|
||||
# Commit Display
|
||||
commitAuthorShortLength: 2
|
||||
commitAuthorLongLength: 17
|
||||
git:
|
||||
# Paging (use delta)
|
||||
pagers:
|
||||
- colorArg: always
|
||||
pager: delta
|
||||
# Auto-behaviors
|
||||
autoFetch: true
|
||||
autoRefresh: true
|
||||
fetchAll: true
|
||||
autoStageResolvedConflicts: true
|
||||
# Commit Settings
|
||||
commit:
|
||||
signOff: false
|
||||
autoWrapCommitMessage: true
|
||||
autoWrapWidth: 72
|
||||
# Log Display
|
||||
log:
|
||||
order: "topo-order"
|
||||
showGraph: "always"
|
||||
showWholeGraph: false
|
||||
# Parsing
|
||||
parseEmoji: true
|
||||
# Copy Behavior
|
||||
truncateCopiedCommitHashesTo: 12
|
||||
os:
|
||||
edit: "micro {{filename}}"
|
||||
editAtLine: "micro {{filename}}:{{line}}"
|
||||
editAtLineAndWait: "micro {{filename}}:{{line}}"
|
||||
editInTerminal: true
|
||||
update:
|
||||
method: "never"
|
||||
confirmOnQuit: false
|
||||
quitOnTopLevelReturn: false
|
||||
disableStartupPopups: true
|
||||
promptToReturnFromSubprocess: false
|
||||
refresher:
|
||||
refreshInterval: 2 # Fast refresh for file changes
|
||||
fetchInterval: 60 # Fetch from remote every 60s
|
||||
customCommands:
|
||||
- key: "a"
|
||||
context: "commits"
|
||||
description: "Show CI status for commit"
|
||||
command: 'bash -c "gh run list --commit {{.SelectedCommit.Sha}} --json conclusion,status,name,updatedAt --jq ''if length == 0 then \"No CI runs found\" else .[] | \"\\(.name): \\(if .conclusion == \"success\" then \"✓\" elif .conclusion == \"failure\" then \"✗\" elif .status == \"in_progress\" then \"⏳\" else \"?\" end) \\(.conclusion // .status)\" end''"'
|
||||
loadingText: "Checking CI status..."
|
||||
- key: "A"
|
||||
context: "commits"
|
||||
description: "View CI logs for commit"
|
||||
command: 'bash -c "RUN_ID=$(gh run list --commit {{.SelectedCommit.Sha}} --json databaseId -q ''.[0].databaseId''); if [ -n \"$RUN_ID\" ]; then gh run view $RUN_ID --log; else echo \"No CI runs found for this commit\"; fi"'
|
||||
loadingText: "Loading CI logs..."
|
||||
- key: "a"
|
||||
context: "localBranches"
|
||||
description: "Show CI status for branch"
|
||||
command: 'bash -c "gh run list --branch {{.SelectedLocalBranch.Name}} -L 1 --json conclusion,status,name,updatedAt --jq ''if length == 0 then \"No CI runs for this branch\" else .[0] | \"Latest: \\(.name) - \\(if .conclusion == \"success\" then \"✓ Passed\" elif .conclusion == \"failure\" then \"✗ Failed\" elif .status == \"in_progress\" then \"⏳ Running\" else .status end) (\\(.updatedAt))\" end''"'
|
||||
loadingText: "Checking CI status..."
|
||||
- key: "A"
|
||||
context: "localBranches"
|
||||
description: "View latest CI run for branch"
|
||||
command: 'bash -c "RUN_ID=$(gh run list --branch {{.SelectedLocalBranch.Name}} -L 1 --json databaseId -q ''.[0].databaseId''); if [ -n \"$RUN_ID\" ]; then gh run view $RUN_ID --log; else echo \"No CI runs found for this branch\"; fi"'
|
||||
loadingText: "Loading CI logs..."
|
||||
- key: "w"
|
||||
context: "files"
|
||||
description: "Commit staged changes without pre-commit hooks"
|
||||
prompts:
|
||||
- type: "input"
|
||||
title: "Commit message"
|
||||
key: "message"
|
||||
command: 'git commit --no-verify -m "{{.Form.message}}"'
|
||||
- key: "o"
|
||||
context: "commits"
|
||||
description: "Open commit in GitHub"
|
||||
command: "gh browse {{.SelectedCommit.Sha}}"
|
||||
- key: "o"
|
||||
context: "files"
|
||||
description: "Open file in GitHub"
|
||||
command: "gh browse {{.SelectedFile.Name}}"
|
||||
- key: "<c-r>"
|
||||
context: "localBranches"
|
||||
description: "Create PR for branch"
|
||||
command: "gh pr create --fill --web"
|
||||
|
||||
Reference in New Issue
Block a user