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
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,50 @@ No changes yet.

---

## [1.1.0] - 2026-03-25

### Added

- **Editor Bookmarks (1–9)**
- Set bookmarks using `Ctrl + Shift + 1–9`
- Jump to bookmarks using `Ctrl + 1–9`
- Bookmarks store file, line, and column position
- Per-repository persistence (switching repo switches bookmark set)

- **Bookmark UI Integration**
- Gutter decorations with numbered icons (1–9)
- Subtle line highlight for bookmarked locations
- Hover tooltip indicating bookmark slot

- **Bookmark Commands & Actions**
- Set bookmark from editor and changelist context menu
- Clear single bookmark
- Clear all bookmarks with confirmation
- Slot-specific commands for set / jump / clear

- **Context Menu Support**
- Right-click -> Set Bookmark
- Right-click -> Clear Bookmark
- View title -> Clear All Bookmarks

- **Overwrite Confirmation**
- Confirmation dialog when replacing an existing bookmark slot

### Changed

- Bookmark decorations now refresh automatically when:
- setting a bookmark
- clearing a bookmark
- switching editors

### Fixed

- Bookmark positioning now correctly respects cursor location when set via context menu
- Bookmark decorations now refresh immediately without requiring window reload
- Fixed stale changelist file decorations after bulk operations by ensuring stage-state refresh stays synchronized with the decoration provider.

---

## [1.0.2] - 2026-03-22

### Changed
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ It provides explicit control over:
- commits and amend
- push workflows
- stash management
- **editor navigation via bookmarks**

All through a predictable UI built directly on top of the Git CLI.

Expand Down Expand Up @@ -91,6 +92,14 @@ Inspect and manage stashed changes with file-level previews.

---

### Bookmarks and Navigation

Set bookmarks and jump quickly between important locations in your code.

![Bookmark demo](media/demo_bmrk.gif)

---

## Key Features

- IntelliJ-style changelists
Expand All @@ -100,6 +109,7 @@ Inspect and manage stashed changes with file-level previews.
- Built-in stash management
- Drag and drop organization
- Explicit Git workflow with no hidden behavior
- Editor bookmarks (1–9) with instant navigation

---

Expand Down Expand Up @@ -130,6 +140,13 @@ Inspect and manage stashed changes with file-level previews.
- Inspect stash contents
- Apply, pop, and delete stashes

### Bookmarks

- Set bookmarks (1–9) from editor or context menu
- Jump instantly between locations
- Gutter decorations with slot indicators
- Per-repository persistence

---

## Documentation
Expand Down
113 changes: 111 additions & 2 deletions docs/MANUAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ Stage individual lines directly from the editor or diff view.

1. Open a file diff or source file
2. Select the lines you want to stage
3. Right-click Stage Selected Lines
3. Right-click -> Stage Selected Lines

Only the selected changes are staged.

Expand Down Expand Up @@ -282,6 +282,115 @@ All operations use repo-relative paths.

---

## Bookmarks

Quick navigation across files using numbered bookmarks (1–9), similar to IntelliJ.

### Core Behavior

* Supports **9 bookmark slots (1–9)**

* Each slot holds **one location**

* A bookmark stores:

* file (repo-relative)
* line
* column

* Bookmarks are **persisted per repository**

* Switching repository switches bookmark set automatically

---

### Setting Bookmarks

You can set bookmarks in multiple ways:

* **Keyboard**

* `Ctrl + Shift + 1–9` or `Cmd + Shift + 1–9` -> Set bookmark
* **Editor right-click**

* `GW: Set Bookmark…`
* `GW: Clear Bookmark…`
* `GW: Clear All Bookmark`
If a slot is already used:

* A confirmation dialog is shown
* You can **replace or cancel**

---

### Jumping to Bookmarks

* `Ctrl + 1–9` or `Cmd + 1–9` -> Jump to bookmark

Behavior:

* Opens the file if not open
* Moves cursor to saved position
* Reveals location in editor

---

### Clearing Bookmarks

* Clear single bookmark:

* Command: `Clear Bookmark`
* Slot-specific commands available

* Clear all bookmarks:

* View title action
* Context menu
* Confirmation required

---

### Visual Indicators

* Bookmarks are shown in the **editor gutter**

* Each slot has its own icon (1–9)

* Decorations include:

* gutter icon
* subtle line highlight

* Decorations update automatically when:

* bookmark is set
* bookmark is cleared
* editor becomes visible

---

### Behavior Notes

* Works on **any file inside the repository**

* not limited to changed files
* Bookmarks outside repo are ignored
* Line numbers are safely clamped if file changes
* Decorations are editor-only (not shown in tree view)

---

### Keybindings

Default:

* `Ctrl + Shift + 1–9` or `Cmd + Shift + 1–9` -> Set bookmark
* `Ctrl + 1–9` or `Ctrl + 1–9` -> Jump to bookmark

Users can override keybindings via VS Code settings.

---

## Usage

### Changelists & Commits
Expand All @@ -298,7 +407,7 @@ All operations use repo-relative paths.

### Stashes

1. Right-click a changelist Stash changes
1. Right-click a changelist -> Stash changes
2. Enter optional message
3. Open Stashes view
4. Expand stash
Expand Down
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-1.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-3.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-4.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-5.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-6.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-7.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-8.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions media/bookmarks/bookmark-9.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/demo_bmrk.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading