Skip to main content
Version control widgets show information about your current repository, including branch name, changes, and sync status.

Git

Displays information about the current Git repository, including branch name, changes, and remote tracking status.

Basic configuration

set -g @dracula-plugins "git"

Options

@dracula-git-disable-status
boolean
default:"false"
Hide details of Git changes (added, modified, deleted files).
@dracula-git-show-current-symbol
string
default:"✓"
Symbol shown when the branch is up to date with HEAD. Avoid bash special characters like $, *, and !.
@dracula-git-show-diff-symbol
string
default:"!"
Symbol shown when the branch has uncommitted changes.
@dracula-git-no-repo-message
string
default:""
Message displayed when the current pane is not in a Git repository.
@dracula-git-no-untracked-files
boolean
default:"false"
Hide untracked files from being displayed as local changes.
@dracula-git-show-remote-status
boolean
default:"false"
Show remote tracking branch with diverge/sync state (e.g., “…origin/main +2 -1”).
@dracula-git-show-repo-name
boolean
default:"false"
Display the repository name before the branch name.

Status symbols

When status is enabled (default), the widget shows file change counts:
  • A - Added files
  • M - Modified files
  • U - Updated files
  • D - Deleted files
Example: ! 2A 3M 1D main means 2 added, 3 modified, 1 deleted file on the main branch.

Usage examples

# Basic Git status
set -g @dracula-plugins "git"

# Show repository name
set -g @dracula-git-show-repo-name true

# Show remote tracking info
set -g @dracula-git-show-remote-status true

# Hide untracked files
set -g @dracula-git-no-untracked-files true

# Minimal display (branch only)
set -g @dracula-git-disable-status true
set -g @dracula-git-show-current-symbol ""
set -g @dracula-git-show-diff-symbol ""

Remote tracking examples

When @dracula-git-show-remote-status is enabled:
  • main...origin/main - In sync with remote
  • main...origin/main +3 - 3 commits ahead of remote
  • main...origin/main -2 - 2 commits behind remote
  • main...origin/main +1 -2 - 1 ahead, 2 behind (diverged)

Mercurial

Displays information about the current Mercurial repository, including branch name and changes.

Basic configuration

set -g @dracula-plugins "hg"

Options

@dracula-hg-disable-status
boolean
default:"false"
Hide details of Mercurial changes.
@dracula-hg-show-current-symbol
string
default:"✓"
Symbol shown when the branch is up to date with HEAD. Avoid bash special characters.
@dracula-hg-show-diff-symbol
string
default:"!"
Symbol shown when the branch has uncommitted changes.
@dracula-hg-no-repo-message
string
default:""
Message displayed when not in a Mercurial repository.
@dracula-hg-no-untracked-files
boolean
default:"false"
Hide untracked files from being displayed as local changes.

Usage examples

# Basic Mercurial status
set -g @dracula-plugins "hg"

# Minimal display
set -g @dracula-hg-disable-status true

# Custom symbols
set -g @dracula-hg-show-current-symbol "✔"
set -g @dracula-hg-show-diff-symbol "✘"

# Hide untracked files
set -g @dracula-hg-no-untracked-files true

Fossil

Displays information about the current Fossil repository.

Basic configuration

set -g @dracula-plugins "fossil"
The Fossil widget provides basic repository detection and status information. Configuration options are being developed.

Multiple version control systems

You can enable multiple version control widgets simultaneously. Each widget only displays when you’re in a repository of that type:
# Support all version control systems
set -g @dracula-plugins "git hg fossil"

# Configure each separately
set -g @dracula-git-show-remote-status true
set -g @dracula-git-show-repo-name true

set -g @dracula-hg-disable-status false
set -g @dracula-hg-show-current-symbol "✓"

# Customize colors
set -g @dracula-git-colors "green dark_gray"
set -g @dracula-hg-colors "cyan dark_gray"
set -g @dracula-fossil-colors "orange dark_gray"

Complete example

# Git widget with full information
set -g @dracula-plugins "git"

# Show everything
set -g @dracula-git-show-repo-name true
set -g @dracula-git-show-remote-status true
set -g @dracula-git-disable-status false

# Custom symbols
set -g @dracula-git-show-current-symbol "✓"
set -g @dracula-git-show-diff-symbol "!"

# Filter untracked files
set -g @dracula-git-no-untracked-files false

# No message when not in a repo
set -g @dracula-git-no-repo-message ""

# Styling
set -g @dracula-git-colors "green dark_gray"

Tips for version control widgets

Version control widgets detect repository information from the current tmux pane’s working directory. Navigate to a repository in your terminal for the widget to display information.
Enabling detailed status information (file counts, remote tracking) may slightly impact performance in large repositories. Consider using @dracula-git-disable-status true for better performance.

Build docs developers (and LLMs) love