Skip to content

Improve blame file type detection (#1803)#1829

Merged
th1000s merged 2 commits into
dandavison:mainfrom
dvermd:improve_blame_filetype_detection
Sep 22, 2024
Merged

Improve blame file type detection (#1803)#1829
th1000s merged 2 commits into
dandavison:mainfrom
dvermd:improve_blame_filetype_detection

Conversation

@dvermd

@dvermd dvermd commented Aug 26, 2024

Copy link
Copy Markdown
Contributor

closes #1803

Comment thread src/utils/process.rs Outdated
Comment on lines +728 to +731

let args = make_string_vec(&["git", "blame", "-w", "-C", "main.rs"]);
assert_eq!(guess_git_blame_filename(&args), Args("main.rs".into()));

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That unfortunately doesn't really fix it: Now -w takes an argument (when it does not), which means it "eats" the following -C. The problem is -C[<num>], which only takes a non-whitespace argument (or none) -- but this not really modeled at the moment.

Removing -C from the previous list should work for most cases. In the future a fallback to take the last argument containing a . should be added. And make it use the CallingProcess enum as mentioned in the TODO there.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been tricked by only looking at the synopsis part of the git blame man page when adding -w to this list.

I'll look at addressing this TODO and making a variant in CallingProcess.

@dvermd dvermd force-pushed the improve_blame_filetype_detection branch from 5392bc4 to c5bc7ed Compare September 10, 2024 04:20
Signed-off-by: dvermd <315743+dvermd@users.noreply.github.com>
@dvermd dvermd force-pushed the improve_blame_filetype_detection branch from c5bc7ed to aa78604 Compare September 15, 2024 13:47

@th1000s th1000s left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, a few small things.

Comment thread src/utils/process.rs Outdated
Comment thread src/utils/process.rs Outdated
Comment thread src/handlers/blame.rs Outdated
Comment thread src/utils/process.rs Outdated
Comment thread src/utils/process.rs
Signed-off-by: dvermd <315743+dvermd@users.noreply.github.com>
@th1000s th1000s merged commit 0dd38d4 into dandavison:main Sep 22, 2024
@th1000s

th1000s commented Sep 22, 2024

Copy link
Copy Markdown
Collaborator

Looks good, thank you!

@dvermd dvermd deleted the improve_blame_filetype_detection branch September 23, 2024 04:44
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Mar 26, 2026
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [dandavison/delta](https://github.com/dandavison/delta) | minor | `0.18.2` → `0.19.1` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>dandavison/delta (dandavison/delta)</summary>

### [`v0.19.1`](https://github.com/dandavison/delta/releases/tag/0.19.1)

[Compare Source](dandavison/delta@0.19.0...0.19.1)

This patch release fixes a release automation [bug](dandavison/delta#2127): release [0.19.0](https://github.com/dandavison/delta/releases/tag/0.19.0) did not include all release binaries.

#### What's Changed

- Fix CD: replace defunct ubuntu-20.04 runners by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;2129](dandavison/delta#2129)

**Full Changelog**: <dandavison/delta@0.19.0...0.19.1>

### [`v0.19.0`](https://github.com/dandavison/delta/releases/tag/0.19.0)

[Compare Source](dandavison/delta@0.18.2...0.19.0)

Tons of improvements; thanks very much to all delta contributors.

**This release is missing several binaries due to a [bug in the GitHub Actions release workflow](dandavison/delta#2127). Please use <https://github.com/dandavison/delta/releases/tag/0.19.1> instead.**

#### What's Changed

- Do not double panic in FakeParentArgs::drop by [@&#8203;dvermd](https://github.com/dvermd) in [#&#8203;1856](dandavison/delta#1856)
- Improve blame file type detection ([#&#8203;1803](dandavison/delta#1803)) by [@&#8203;dvermd](https://github.com/dvermd) in [#&#8203;1829](dandavison/delta#1829)
- Use same example config in manual as README by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;1879](dandavison/delta#1879)
- Clarify grep highlighter-related code by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;1877](dandavison/delta#1877)
- Don't set colorMoved in introductory instructions by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;1884](dandavison/delta#1884)
- Recommend zdiff3 merge.conflictStyle by [@&#8203;adamchainz](https://github.com/adamchainz) in [#&#8203;1260](dandavison/delta#1260)
- Add themes `weeping-willow`, `mirthful-willow` by [@&#8203;lvdh](https://github.com/lvdh) in [#&#8203;1864](dandavison/delta#1864)
- CI: switch to macos-13, as 12 will be unsupported soon by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1890](dandavison/delta#1890)
- Add optional capture-output writer to run\_app() by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1889](dandavison/delta#1889)
- Center-align README content by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;1893](dandavison/delta#1893)
- Redundant Option Checks, Unwrap Safety by [@&#8203;sharma-shray](https://github.com/sharma-shray) in [#&#8203;1892](dandavison/delta#1892)
- Add console commands for git configuration by [@&#8203;harmtemolder](https://github.com/harmtemolder) in [#&#8203;1896](dandavison/delta#1896)
- Honor pager path when checking less version by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;1903](dandavison/delta#1903)
- Rename some variables by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;1904](dandavison/delta#1904)
- Delete now-unused pricate homebrew formula step from Makefile (III) by [@&#8203;dvermd](https://github.com/dvermd) in [#&#8203;1830](dandavison/delta#1830)
- Support {host} in hyperlinks by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;1901](dandavison/delta#1901)
- Allow multiple hyperlinks per line by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1909](dandavison/delta#1909)
- Clippy 1.83 by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1918](dandavison/delta#1918)
- Support external subcommands: rg, diff, git-show (etc.) by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1769](dandavison/delta#1769)
- Don't keep subcommand stdout around by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1920](dandavison/delta#1920)
- hyperlink commit hashes of length 7 as well by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1924](dandavison/delta#1924)
- clippy 1.84 fix by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1938](dandavison/delta#1938)
- chore(deps): update git2 to use libgit2 1.9 by [@&#8203;chenrui333](https://github.com/chenrui333) in [#&#8203;1930](dandavison/delta#1930)
- Suggest minimum bat version in manual by [@&#8203;ernstki](https://github.com/ernstki) in [#&#8203;1941](dandavison/delta#1941)
- Upgrade unicode-width to v0.1.14 (but still < 0.2.0) by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1937](dandavison/delta#1937)
- Update terminal-colorsaurus version to 0.4.8 by [@&#8203;rashil2000](https://github.com/rashil2000) in [#&#8203;1936](dandavison/delta#1936)
- Fix index out of bounds crash for '@&#8203;@&#8203;  @&#8203;@&#8203;' hunk header by [@&#8203;adamchainz](https://github.com/adamchainz) in [#&#8203;1995](dandavison/delta#1995)
- Tune themes weeping-willow, mirthful-willow by [@&#8203;lvdh](https://github.com/lvdh) in [#&#8203;2011](dandavison/delta#2011)
- clippy 1.88 fixes by [@&#8203;injust](https://github.com/injust) in [#&#8203;2016](dandavison/delta#2016)
- Fix diff output when a diff ends with a mode change by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;2023](dandavison/delta#2023)
- fix: `cargo install git-delta --locked` fails on systems with GCC 15 by [@&#8203;tquin](https://github.com/tquin) in [#&#8203;2007](dandavison/delta#2007)
- Normalize `merge.conflictStyle` casing by [@&#8203;injust](https://github.com/injust) in [#&#8203;2015](dandavison/delta#2015)
- Styled zero lines fix by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;1916](dandavison/delta#1916)
- config: add setup instructions for Jujutsu (jj) vcs by [@&#8203;arjunmahishi](https://github.com/arjunmahishi) in [#&#8203;2048](dandavison/delta#2048)
- all: fix clippy complaints by [@&#8203;charlievieth](https://github.com/charlievieth) in [#&#8203;2038](dandavison/delta#2038)
- Cache the Git remote URL to speed up rendering hyperlinks by [@&#8203;charlievieth](https://github.com/charlievieth) in [#&#8203;1940](dandavison/delta#1940)
- deps: update cc by [@&#8203;ognevny](https://github.com/ognevny) in [#&#8203;2053](dandavison/delta#2053)
- rg json handling: fix line comment highlighting by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;2057](dandavison/delta#2057)
- Update dirs dependency to version 6 by [@&#8203;musicinmybrain](https://github.com/musicinmybrain) in [#&#8203;2063](dandavison/delta#2063)
- default line number to 1 for hyperlinks by [@&#8203;schpet](https://github.com/schpet) in [#&#8203;2061](dandavison/delta#2061)
- Fix line numbers showing filename when hyperlinks enabled by [@&#8203;tsvikas](https://github.com/tsvikas) in [#&#8203;2058](dandavison/delta#2058)
- less hist file: look at xdg paths by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;2065](dandavison/delta#2065)
- CI: remove x86 apple/macOS by [@&#8203;th1000s](https://github.com/th1000s) in [#&#8203;2074](dandavison/delta#2074)
- Update bat dependency from 0.24 to 0.26 by [@&#8203;dandavison](https://github.com/dandavison) in [#&#8203;2115](dandavison/delta#2115)

#### New Contributors

- [@&#8203;dvermd](https://github.com/dvermd) made their first contribution in [#&#8203;1856](dandavison/delta#1856)
- [@&#8203;lvdh](https://github.com/lvdh) made their first contribution in [#&#8203;1864](dandavison/delta#1864)
- [@&#8203;sharma-shray](https://github.com/sharma-shray) made their first contribution in [#&#8203;1892](dandavison/delta#1892)
- [@&#8203;harmtemolder](https://github.com/harmtemolder) made their first contribution in [#&#8203;1896](dandavison/delta#1896)
- [@&#8203;ernstki](https://github.com/ernstki) made their first contribution in [#&#8203;1941](dandavison/delta#1941)
- [@&#8203;tquin](https://github.com/tquin) made their first contribution in [#&#8203;2007](dandavison/delta#2007)
- [@&#8203;arjunmahishi](https://github.com/arjunmahishi) made their first contribution in [#&#8203;2048](dandavison/delta#2048)
- [@&#8203;charlievieth](https://github.com/charlievieth) made their first contribution in [#&#8203;2038](dandavison/delta#2038)
- [@&#8203;ognevny](https://github.com/ognevny) made their first contribution in [#&#8203;2053](dandavison/delta#2053)
- [@&#8203;musicinmybrain](https://github.com/musicinmybrain) made their first contribution in [#&#8203;2063](dandavison/delta#2063)
- [@&#8203;schpet](https://github.com/schpet) made their first contribution in [#&#8203;2061](dandavison/delta#2061)
- [@&#8203;tsvikas](https://github.com/tsvikas) made their first contribution in [#&#8203;2058](dandavison/delta#2058)

**Full Changelog**: <dandavison/delta@0.18.2...0.19.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My44OS42IiwidXBkYXRlZEluVmVyIjoiNDMuODkuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90IiwiYXV0b21hdGlvbjpib3QtYXV0aG9yZWQiLCJkZXBlbmRlbmN5LXR5cGU6Om1pbm9yIl19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 git blame -C loses syntax highlighting

2 participants