Diff view does not switch when staged
A recent changes seems to make it so that gitsavvy doesn't know the difference between the "diff view" and the "diff view (staged)".  Steps:

1. Change a file.
2. In the "Git Status" view, press `f` (lowercase) to open a view to show the changes.
3. Go back to the status view (without closing the diff view), and stage the change.
4. Press `Shift-F` to open a view to show the staged changes.

What happens: Pressing `Shift-F` brings focus to the diff view opened in step 2, which refreshes and is empty.

Expected: Pressing `Shift-F` should open a new view with the staged changes.

This used to work, but something changed recently so that it doesn't seem to work right. A workaround is to close the diff view before step 4.

Using  2.22.2.

diff --git a/core/commands/diff.py b/core/commands/diff.py
index cdf75652..75e2b924 100644
--- a/core/commands/diff.py
+++ b/core/commands/diff.py
@@ -143,6 +143,7 @@ class gs_diff(WindowCommand, GitCommand):
         for view in self.window.views():
             if compute_identifier_for_view(view) == this_id:
                 settings = view.settings()
+                settings.set("git_savvy.diff_view.in_cached_mode", in_cached_mode)
                 focus_view(view)
                 break
 
['core/commands/diff.py']