summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/Config.md3
-rw-r--r--docs/README.md3
-rw-r--r--docs/Searching.md21
-rw-r--r--docs/keybindings/Keybindings_en.md19
-rw-r--r--docs/keybindings/Keybindings_ja.md17
-rw-r--r--docs/keybindings/Keybindings_ko.md17
-rw-r--r--docs/keybindings/Keybindings_nl.md19
-rw-r--r--docs/keybindings/Keybindings_pl.md19
-rw-r--r--docs/keybindings/Keybindings_ru.md17
-rw-r--r--docs/keybindings/Keybindings_zh-CN.md19
-rw-r--r--docs/keybindings/Keybindings_zh-TW.md17
-rw-r--r--go.mod8
-rw-r--r--go.sum15
-rw-r--r--pkg/commands/models/commit_file.go4
-rw-r--r--pkg/config/user_config.go38
-rw-r--r--pkg/gui/command_log_panel.go4
-rw-r--r--pkg/gui/context.go32
-rw-r--r--pkg/gui/context/branches_context.go13
-rw-r--r--pkg/gui/context/commit_files_context.go11
-rw-r--r--pkg/gui/context/filtered_list.go93
-rw-r--r--pkg/gui/context/filtered_list_view_model.go33
-rw-r--r--pkg/gui/context/list_view_model.go (renamed from pkg/gui/context/basic_view_model.go)14
-rw-r--r--pkg/gui/context/local_commits_context.go15
-rw-r--r--pkg/gui/context/menu_context.go13
-rw-r--r--pkg/gui/context/patch_explorer_context.go14
-rw-r--r--pkg/gui/context/reflog_commits_context.go13
-rw-r--r--pkg/gui/context/remote_branches_context.go15
-rw-r--r--pkg/gui/context/remotes_context.go13
-rw-r--r--pkg/gui/context/search_trait.go74
-rw-r--r--pkg/gui/context/stash_context.go13
-rw-r--r--pkg/gui/context/sub_commits_context.go18
-rw-r--r--pkg/gui/context/submodules_context.go13
-rw-r--r--pkg/gui/context/suggestions_context.go8
-rw-r--r--pkg/gui/context/tags_context.go13
-rw-r--r--pkg/gui/context/working_tree_context.go11
-rw-r--r--pkg/gui/controllers.go15
-rw-r--r--pkg/gui/controllers/files_controller.go4
-rw-r--r--pkg/gui/controllers/filter_controller.go48
-rw-r--r--pkg/gui/controllers/helpers/confirmation_helper.go4
-rw-r--r--pkg/gui/controllers/helpers/helpers.go2
-rw-r--r--pkg/gui/controllers/helpers/refresh_helper.go4
-rw-r--r--pkg/gui/controllers/helpers/search_helper.go260
-rw-r--r--pkg/gui/controllers/helpers/window_arrangement_helper.go12
-rw-r--r--pkg/gui/controllers/list_controller.go13
-rw-r--r--pkg/gui/controllers/local_commits_controller.go4
-rw-r--r--pkg/gui/controllers/patch_explorer_controller.go6
-rw-r--r--pkg/gui/controllers/quit_actions.go13
-rw-r--r--pkg/gui/controllers/remote_branches_controller.go9
-rw-r--r--pkg/gui/controllers/remotes_controller.go10
-rw-r--r--pkg/gui/controllers/search_controller.go48
-rw-r--r--pkg/gui/controllers/search_prompt_controller.go53
-rw-r--r--pkg/gui/controllers/switch_to_diff_files_controller.go1
-rw-r--r--pkg/gui/controllers/switch_to_sub_commits_controller.go15
-rw-r--r--pkg/gui/editors.go11
-rw-r--r--pkg/gui/filetree/file_tree.go6
-rw-r--r--pkg/gui/filetree/file_tree_view_model.go4
-rw-r--r--pkg/gui/gui.go20
-rw-r--r--pkg/gui/gui_common.go4
-rw-r--r--pkg/gui/gui_driver.go4
-rw-r--r--pkg/gui/keybindings.go12
-rw-r--r--pkg/gui/layout.go14
-rw-r--r--pkg/gui/menu_panel.go3
-rw-r--r--pkg/gui/searching.go103
-rw-r--r--pkg/gui/types/common.go5
-rw-r--r--pkg/gui/types/context.go24
-rw-r--r--pkg/gui/types/search_state.go31
-rw-r--r--pkg/gui/views.go13
-rw-r--r--pkg/i18n/dutch.go2
-rw-r--r--pkg/i18n/english.go101
-rw-r--r--pkg/i18n/japanese.go2
-rw-r--r--pkg/i18n/korean.go2
-rw-r--r--pkg/i18n/polish.go2
-rw-r--r--pkg/i18n/russian.go2
-rw-r--r--pkg/i18n/traditional_chinese.go2
-rw-r--r--pkg/integration/components/int_matcher.go12
-rw-r--r--pkg/integration/components/menu_driver.go12
-rw-r--r--pkg/integration/components/view_driver.go55
-rw-r--r--pkg/integration/tests/commit/search.go1
-rw-r--r--pkg/integration/tests/file/discard_all_dir_changes.go117
-rw-r--r--pkg/integration/tests/file/discard_unstaged_dir_changes.go56
-rw-r--r--pkg/integration/tests/file/discard_unstaged_file_changes.go41
-rw-r--r--pkg/integration/tests/filter_and_search/filter_commit_files.go84
-rw-r--r--pkg/integration/tests/filter_and_search/filter_files.go76
-rw-r--r--pkg/integration/tests/filter_and_search/filter_menu.go48
-rw-r--r--pkg/integration/tests/filter_and_search/filter_remote_branches.go59
-rw-r--r--pkg/integration/tests/filter_and_search/nested_filter.go151
-rw-r--r--pkg/integration/tests/filter_and_search/nested_filter_transient.go106
-rw-r--r--pkg/integration/tests/test_list.go10
-rw-r--r--pkg/theme/theme.go4
-rw-r--r--pkg/utils/fuzzy_search.go21
-rw-r--r--pkg/utils/fuzzy_search_test.go53
-rw-r--r--pkg/utils/search.go48
-rw-r--r--pkg/utils/search_test.go80
-rw-r--r--pkg/utils/slice.go11
-rw-r--r--vendor/github.com/jesseduffield/gocui/view.go4
-rw-r--r--vendor/golang.org/x/sys/cpu/endian_little.go4
-rw-r--r--vendor/golang.org/x/sys/unix/mkall.sh2
-rw-r--r--vendor/golang.org/x/sys/unix/mkerrors.sh6
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux.go30
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd.go17
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go48
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go22
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go32
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go22
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go22
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go22
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go22
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s12
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go22
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s10
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux.go46
-rw-r--r--vendor/golang.org/x/sys/windows/syscall_windows.go13
-rw-r--r--vendor/golang.org/x/sys/windows/zsyscall_windows.go8
-rw-r--r--vendor/modules.txt8
120 files changed, 2549 insertions, 489 deletions
diff --git a/docs/Config.md b/docs/Config.md
index 86681264c..08e82b5ab 100644
--- a/docs/Config.md
+++ b/docs/Config.md
@@ -36,6 +36,9 @@ gui:
- bold
inactiveBorderColor:
- white
+ searchingActiveBorderColor:
+ - cyan
+ - bold
optionsTextColor:
- blue
selectedLineBgColor:
diff --git a/docs/README.md b/docs/README.md
index 4f58a2a56..c0c8191d2 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,7 +1,8 @@
-# Documentation Overview
+# Documentation Overview
* [Configuration](./Config.md).
* [Custom Commands](./Custom_Command_Keybindings.md)
* [Custom Pagers](./Custom_Pagers.md)
* [Keybindings](./keybindings)
* [Undo/Redo](./Undoing.md)
+* [Searching/Filtering](./Searching.md)
diff --git a/docs/Searching.md b/docs/Searching.md
new file mode 100644
index 000000000..589831c55
--- /dev/null
+++ b/docs/Searching.md
@@ -0,0 +1,21 @@
+# Searching/Filtering
+
+## View searching/filtering
+
+Depending on the currently focused view, hitting '/' will bring up a filter or search prompt. When filtering, the contents of the view will be filtered down to only those lines which match the query string. When searching, the conten