feat(git): add `renamed` support
This is the initial implementation of renamed support. Note that I removed :args(paths) and made the git status command always run at the repository root. This causes fetcher to process the entire git status output every time it runs, which will obviously lead to performance issues.
However, it seems we have no other choice: When using :args(paths), the command never outputs renamed files, and since renames can occur across folders, it must be executed at the root directory.
We might consider adding an option to let users decide whether to enable this feature, even at the cost of performance.
adding an option to let users decide whether to enable this feature
How can we get opts in fetch() context? Using a global variable?
Waiting for #111 to be merged. (the 09df50f commit)