Option to disable attributes for non matching text in quick select mode (#6683) master
* feat: optionally disable non-matching text attributes in Quick Select Add a configuration option 'disable_attributes_for_non_matching_text_in_quick_select' that disables all attributes for non-matching text in Quick Select Mode. The default value for 'disable_attributes_for_non_matching_text_in_quick_select' is false This resolves the issue https://github.com/wezterm/wezterm/issues/4022 * docs: documentation for disabling attributes for non matching text in QuickSelect Add documentation for the below configuration option: - `disable_attributes_for_non_matching_text_in_quick_select` * feat: display quick select label and match in bold * refactor: fetch colors from existing reference to config * fix: reset additional attributes for non matching text Reset additional below mentioned attributes to default for non matching text if the configuration option disable-attributes-for-non-matching-text-in-quick-select-mode is true - Italic - Blink - StrikeThrough - Invisible - Hyperlink * fix: update attributes to reset * feat: add reset_attributes function in termwiz cell Add reset_attributes function in termwiz cell Use the above function to reset cell attributes for the cell * refactor: update method name to clear_attributes * termwiz: update version because public method has been added Update termwiz version because a new method 'reset_attributes' has been added in termwiz/src/cell.rs * fix: update get_lines method in quickselect to be same as with_lines_mut * termwiz: simpler method name, implementation to clear cell attributes Use simpler method name and implementation as per suggestion https://github.com/wezterm/wezterm/pull/6683#discussion_r1966596988 * refactor: clear cell attributes for every line if flag is set Clear attributes for every line if the configuration option disable-attributes-for-non-matching-text-in-quick-select has been set Partially implement changes mentioned in suggestion https://github.com/wezterm/wezterm/pull/6683#discussion_r1966597826 * refactor: replace for loop with for_each method to iterate through cells Partially implement changes mentioned in suggestion https://github.com/wezterm/wezterm/pull/6683#discussion_r1966597826 * refactor: rename configuration option to quick_select_remove_styling Rename option to remove styling in quick select from 'disable_attributes_for_non_matching_text_in_quick_select' to 'quick_select_remove_styling' Implement changes mentioned in suggestion https://github.com/wezterm/wezterm/pull/6683#discussion_r1966598496 * fix: remove bold attribute when displaying quick select label, match This is in order to raise this in a separate PR Suggestion mentioned here https://github.com/wezterm/wezterm/pull/6683#issuecomment-2676394535 * docs: update documentation for quick_select_remove_styling * termwiz: just bump minor part Since the only change in termwiz is addition of a public method, it should be forward compatible, so we can just bump the minor part Apply changes mentioned in suggestion https://github.com/wezterm/wezterm/pull/6683#discussion_r1966600258 * fix: clear attributes for each cell in all lines in get_lines method Apply changes mentioned in suggestion https://github.com/wezterm/wezterm/pull/6683#discussion_r1966848308 * fix: clear appdata for line after clearing attributes of each cell Move call to clear appdata for line after the call to clear attributes from each cell when configuration option 'quick_select_remove_styling' is enabled Apply changes mentioned in suggestion https://github.com/wezterm/wezterm/pull/6683#discussion_r1966848015