Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ on:
push:
branches:
- main
paths:
- 'src/**'
- '*.slnx'
- '.github/workflows/build.yml'

jobs:
build:
Expand Down
28 changes: 1 addition & 27 deletions .github/workflows/commit-lint.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Lint Commit Messages
name: Lint PR Title

on:
pull_request:
Expand Down Expand Up @@ -31,29 +31,3 @@ jobs:
run: |
echo "Validating PR title: $PR_TITLE"
echo "$PR_TITLE" | npx commitlint --verbose

commitlint:
name: Lint Commit Messages
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for all branches and tags

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install commitlint
run: |
npm install --save-dev @commitlint/cli@18.4.3 @commitlint/config-conventional@18.4.3

- name: Validate PR commits
run: |
# Get the base branch (usually main)
BASE_SHA=$(git merge-base origin/${{ github.base_ref }} HEAD)

# Lint all commits in the PR
npx commitlint --from $BASE_SHA --to HEAD --verbose
4 changes: 3 additions & 1 deletion .github/workflows/contributors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ name: Update Contributors

on:
schedule:
- cron: '0 0 * * *'
- cron: '0 6 * * *'
workflow_dispatch:

jobs:
contributors:
uses: CodingWithCalvin/.github/.github/workflows/contributors.yml@main
with:
output-format: html
secrets: inherit
64 changes: 32 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,46 +34,46 @@

---

## Features
## Features

### Inline Blame Annotations
### 🔍 Inline Blame Annotations

See who changed each line **directly in the editor** - author name, commit date, and message displayed right at the end of each line!

- **Color-coded by author** - each contributor gets a unique vibrant color
- **Heat map mode** - green = recent, red = old (optional)
- **Configurable opacity** and display format
- **Hover for full commit details**
- 🎨 **Color-coded by author** - each contributor gets a unique vibrant color
- 🔥 **Heat map mode** - green = recent, red = old (optional)
- 👁️ **Configurable opacity** and display format
- 💬 **Hover for full commit details**

![Inline Blame](https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/blame-inline.png)

### Blame Gutter Margin
### 📊 Blame Gutter Margin

A visual indicator in the editor margin showing commit history **at a glance**.

- Age bars showing relative commit age
- Author color indicators
- Click to copy commit SHA
- Hover for commit details
- 📈 Age bars showing relative commit age
- 🎯 Author color indicators
- 📋 Click to copy commit SHA
- 🔎 Hover for commit details

![Blame Gutter](https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/blame-gutter.png)

### Status Bar Blame
### 📍 Status Bar Blame

See blame info for the **current line** right in the Visual Studio status bar - updates instantly as you navigate!

- **Real-time updates** - blame follows your cursor
- **Customizable format** - choose what to display with `{author}`, `{date}`, `{message}`, `{sha}` placeholders
- **Relative or absolute dates** - "2 days ago" or "1/21/2026"
- **Auto-truncate** - configurable max length keeps your status bar tidy
- **Real-time updates** - blame follows your cursor
- 🎛️ **Customizable format** - choose what to display with `{author}`, `{date}`, `{message}`, `{sha}` placeholders
- 📅 **Relative or absolute dates** - "2 days ago" or "1/21/2026"
- ✂️ **Auto-truncate** - configurable max length keeps your status bar tidy

![Status Bar Blame](https://raw.githubusercontent.com/CodingWithCalvin/VS-GitRanger/main/resources/blame-status-bar.png)

### What's Next?
### 🔮 What's Next?

Check out our [issues list](https://github.com/CodingWithCalvin/VS-GitRanger/issues) to see what features are planned and vote on what you'd like to see next!

## Installation
## 🛠️ Installation

### Visual Studio Marketplace

Expand All @@ -86,11 +86,11 @@ Check out our [issues list](https://github.com/CodingWithCalvin/VS-GitRanger/iss

Download the latest `.vsix` from the [Releases](https://github.com/CodingWithCalvin/VS-GitRanger/releases) page and double-click to install.

## Configuration
## ⚙️ Configuration

Configure Git Ranger via **Tools > Options > Git Ranger**

### Blame Settings
### 🏷️ Blame Settings

| Setting | Description | Default |
|---------|-------------|---------|
Expand All @@ -101,14 +101,14 @@ Configure Git Ranger via **Tools > Options > Git Ranger**
| Show Commit Message | Display message in inline blame | `true` |
| Date Format | `relative` or custom format string | `relative` |

### Color Settings
### 🎨 Color Settings

| Setting | Description | Default |
|---------|-------------|---------|
| Color Mode | `Author`, `Age`, or `None` | `Author` |
| Max Age (days) | Maximum age for heat map | `365` |

### Display Settings
### 🖥️ Display Settings

| Setting | Description | Default |
|---------|-------------|---------|
Expand All @@ -117,7 +117,7 @@ Configure Git Ranger via **Tools > Options > Git Ranger**
| Gutter Width | Width in pixels | `40` |
| Show Age Bars | Visual age indicators | `true` |

### Status Bar Settings
### 📍 Status Bar Settings

| Setting | Description | Default |
|---------|-------------|---------|
Expand All @@ -126,20 +126,20 @@ Configure Git Ranger via **Tools > Options > Git Ranger**
| Use Relative Dates | Show "2 days ago" vs absolute date | `true` |
| Max Length | Truncate long messages (0 = unlimited) | `100` |

### Diagnostics
### 🔧 Diagnostics

| Setting | Description | Default |
|---------|-------------|---------|
| Log Level | Output pane verbosity: `None`, `Error`, `Info`, `Verbose` | `Error` |

*Logs are written to the "Git Ranger" output pane in Visual Studio.*

## Requirements
## 📋 Requirements

- Visual Studio 2022 (17.0) or later
- .NET Framework 4.8
- 💻 Visual Studio 2022 (17.0) or later
- 🔧 .NET Framework 4.8

## Technology Stack
## 🏗️ Technology Stack

| Component | Technology |
|-----------|------------|
Expand All @@ -148,24 +148,24 @@ Configure Git Ranger via **Tools > Options > Git Ranger**
| Graph Rendering | SkiaSharp *(planned)* |
| VS Integration | Community.VisualStudio.Toolkit |

## Contributing
## 🤝 Contributing

Contributions are welcome! Whether it's bug reports, feature requests, or pull requests - all feedback helps make this extension better.

### Development Setup
### 🔧 Development Setup

1. Clone the repository
2. Open the solution in Visual Studio 2022 or 2026
3. Ensure you have the "Visual Studio extension development" workload installed
4. Press F5 to launch the experimental instance

## License
## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

## Contributors
## 👥 Contributors

<!-- readme: contributors -start -->
<!-- readme: contributors -end -->
Expand Down