rummage 4.24__tar.gz → 4.25__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rummage-4.24 → rummage-4.25}/PKG-INFO +3 -3
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/.snippets/abbr.md +1 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/about/changelog.md +10 -0
- rummage-4.25/docs/src/markdown/images/settings_search.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/search.md +12 -0
- {rummage-4.24 → rummage-4.25}/gui.fbp +71 -2
- {rummage-4.24 → rummage-4.25}/pyproject.toml +1 -1
- {rummage-4.24 → rummage-4.25}/requirements/project.txt +2 -2
- {rummage-4.24 → rummage-4.25}/rummage/lib/__meta__.py +1 -1
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/app/custom_app.py +8 -8
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/webview.py +1 -1
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/about/changelog.html +10 -0
- rummage-4.25/rummage/lib/gui/data/docs/images/settings_search.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/search.html +12 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/import_settings_dialog.py +1 -1
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/rummage_dialog.py +6 -1
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/settings_dialog.py +8 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/gui.py +9 -2
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/settings/__init__.py +24 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/rumcore/__init__.py +5 -2
- {rummage-4.24 → rummage-4.25}/tools/gen_docs.py +2 -0
- rummage-4.24/docs/src/markdown/images/settings_search.png +0 -0
- rummage-4.24/rummage/lib/gui/data/docs/images/settings_search.png +0 -0
- {rummage-4.24 → rummage-4.25}/.coveragerc +0 -0
- {rummage-4.24 → rummage-4.25}/.gitignore +0 -0
- {rummage-4.24 → rummage-4.25}/LICENSE.md +0 -0
- {rummage-4.24 → rummage-4.25}/README.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/.snippets/links.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/.snippets/refs.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/about/contributing.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/about/license.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/extras.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/chain_button.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/chain_mode.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/chains.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/content_tab.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/file_pattern.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/files_tab.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/html_export.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/limit_search_panel.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/load_search.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/logo.svg +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/plugin_input.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/plugin_toggle.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/preview.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/regex_buttons.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/regex_tester.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/rummage.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/rummage.svg +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/save_search.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/search_replace_inputs.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/search_replace_panel.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/search_tab.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_backup.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_editor.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_encoding.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_export.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_general.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_history.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_import.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/settings_notify.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/thunar-basic.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/thunar-conditions.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/images/thunar-custom.png +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/index.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/installation.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/preferences.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/sitemap.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/src/markdown/usage.md +0 -0
- {rummage-4.24 → rummage-4.25}/docs/theme/announce.html +0 -0
- {rummage-4.24 → rummage-4.25}/docs/theme/assets/pymdownx-extras/extra-95634471d6.css +0 -0
- {rummage-4.24 → rummage-4.25}/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js +0 -0
- {rummage-4.24 → rummage-4.25}/docs/theme/main.html +0 -0
- {rummage-4.24 → rummage-4.25}/docs/theme/nav.html +0 -0
- {rummage-4.24 → rummage-4.25}/docs/theme/sitemap.html +0 -0
- {rummage-4.24 → rummage-4.25}/hatch_build.py +0 -0
- {rummage-4.24 → rummage-4.25}/requirements/docs.txt +0 -0
- {rummage-4.24 → rummage-4.25}/requirements/extras.txt +0 -0
- {rummage-4.24 → rummage-4.25}/requirements/lint.txt +0 -0
- {rummage-4.24 → rummage-4.25}/requirements/setup.txt +0 -0
- {rummage-4.24 → rummage-4.25}/requirements/test-project.txt +0 -0
- {rummage-4.24 → rummage-4.25}/requirements/test.txt +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/__main__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/checksum/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/checksum/sum_hashes.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/checksum/tiger.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/checksum/whirlpool.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/export_csv.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/export_html.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/fileops.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/sanitize_json.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/actions/updates.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/app/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/app/platform_window_focus.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/app/rummage_app.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/autocomplete_combo.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/collapsible_pane.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/custom_statusbar.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/date_picker.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/dock_icon.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/dynamic_lists.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/encoding_list.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/file_picker.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/load_search_list.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/pick_button.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/result_lists.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/search_chain_list.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/search_error_list.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/controls/time_picker.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/arrow_down.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/arrow_left.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/arrow_right.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/arrow_up.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/binary.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/doc.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/404.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/about/contributing.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/about/license.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/css/theme.css +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/extras.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/chain_button.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/chain_mode.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/chains.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/content_tab.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/file_pattern.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/files_tab.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/html_export.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/limit_search_panel.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/load_search.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/logo.svg +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/plugin_input.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/plugin_toggle.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/preview.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/regex_buttons.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/regex_tester.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/rummage.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/rummage.svg +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/save_search.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/search_replace_inputs.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/search_replace_panel.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/search_tab.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_backup.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_editor.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_encoding.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_export.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_general.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_history.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_import.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/settings_notify.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/thunar-basic.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/thunar-conditions.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/images/thunar-custom.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/index.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/installation.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/js/theme.js +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/preferences.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/sitemap.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/docs/usage.html +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/error.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/glass.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/results.css +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage.icns +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage.ico +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_1024.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_128.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_16.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_256.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_32.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_40.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_48.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_512.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/rummage_mac.png +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/data/sorttable.js +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/checksum_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/column_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/delete_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/edit_search_chain_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/error_text_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/export_settings_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/file_ext_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/generic_dialogs.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/html_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/load_search_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/msg_dialogs.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/overwrite_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/regex_test_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/save_search_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/search_chain_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/search_error_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/dialogs/support_info_dialog.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/localization/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/localization/locale/en_US/LC_MESSAGES/rummage.po +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/localization/locale/ru_RU/LC_MESSAGES/rummage.po +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/notify/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/notify/notify_linux.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/notify/notify_osx.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/notify/notify_windows.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/notify/util.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/util/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/util/colors.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/util/images.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/gui/util/png.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/rumcore/text_decode.py +0 -0
- {rummage-4.24 → rummage-4.25}/rummage/lib/rumcore/util.py +0 -0
- {rummage-4.24 → rummage-4.25}/tests/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/tests/test_rumcore.py +0 -0
- {rummage-4.24 → rummage-4.25}/tests/test_text_decode.py +0 -0
- {rummage-4.24 → rummage-4.25}/tests/test_versions.py +0 -0
- {rummage-4.24 → rummage-4.25}/tests/util.py +0 -0
- {rummage-4.24 → rummage-4.25}/tools/__init__.py +0 -0
- {rummage-4.24 → rummage-4.25}/tools/gui_patch.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rummage
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.25
|
|
4
4
|
Summary: A GUI search and replace app.
|
|
5
5
|
Project-URL: Homepage, https://github.com/facelessuser/Rummage
|
|
6
6
|
Author-email: Isaac Muse <Isaac.Muse@gmail.com>
|
|
@@ -27,12 +27,12 @@ Requires-Dist: backrefs>=7.0
|
|
|
27
27
|
Requires-Dist: bracex>=3.0
|
|
28
28
|
Requires-Dist: chardet>=7.4.3
|
|
29
29
|
Requires-Dist: coloraide>=8.10
|
|
30
|
-
Requires-Dist: filelock>=3.29.
|
|
30
|
+
Requires-Dist: filelock>=3.29.7
|
|
31
31
|
Requires-Dist: markdown>=3.10.2
|
|
32
32
|
Requires-Dist: pygments>=2.19.2
|
|
33
33
|
Requires-Dist: pymdown-extensions>=11.0
|
|
34
34
|
Requires-Dist: send2trash>=2.1.0
|
|
35
|
-
Requires-Dist: wcmatch<
|
|
35
|
+
Requires-Dist: wcmatch<12.0,>=11.0
|
|
36
36
|
Requires-Dist: wxpython>=4.1.0
|
|
37
37
|
Provides-Extra: extras
|
|
38
38
|
Requires-Dist: faust-cchardet>=2.1.19; extra == 'extras'
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.25
|
|
4
|
+
|
|
5
|
+
- **NEW**: Require `wcmatch` 11.0+.
|
|
6
|
+
- **NEW**: Add new "ZSH number range" option in settings to enable ZSH style number ranges in glob patterns (`<0-9>`).
|
|
7
|
+
- **FIX**: Fix an issue where logging would break.
|
|
8
|
+
|
|
9
|
+
## 4.24.1
|
|
10
|
+
|
|
11
|
+
- **NEW**: Fix URL handling in documentation rendering in `webview`.
|
|
12
|
+
|
|
3
13
|
## 4.24
|
|
4
14
|
|
|
5
15
|
- **NEW**: Drop support for Python 3.9.
|
|
Binary file
|
|
@@ -144,6 +144,18 @@ Pattern | Meaning
|
|
|
144
144
|
> If you need to escape `-` or `|`, you can put them in a sequence: `[-|]`. Remember to place `-` at the beginning of
|
|
145
145
|
> a sequence as `-` is also used to specify character ranges: `[a-z]`.
|
|
146
146
|
|
|
147
|
+
#### ZSH Number Ranges
|
|
148
|
+
|
|
149
|
+
ZSH number ranges are a simple syntax for specifying a simple range of numbers via `<0-100>`. Ends can also be omitted
|
|
150
|
+
allowing for unbounded ranges: `<->`, `<-100>`, `<0-100>`, etc. It should be noted that numbers must be whole, positive
|
|
151
|
+
numbers and manually specified numbers greater than 19 digits will be truncated.
|
|
152
|
+
|
|
153
|
+
ZSH number ranges also handle numbers padded with zeros, so `<0-9>` would match `5`, `05`, `005`, etc. You can pad your
|
|
154
|
+
match pattern with zeros (`<0010-0090>`), but it has no affect on the actual search. Input numbers will be normalized
|
|
155
|
+
(`<10-90>`) and ZSH padding number handling is always the same.
|
|
156
|
+
|
|
157
|
+
This can be enabled in [Preferences](./preferences.md#search).
|
|
158
|
+
|
|
147
159
|
#### Extended Match Syntax
|
|
148
160
|
|
|
149
161
|
In [Preferences](./preferences.md#search), you can also enable extended match patterns. Extended match patterns allow
|
|
@@ -8765,12 +8765,81 @@
|
|
|
8765
8765
|
<event name="OnCheckBox">on_fullfile_toggle</event>
|
|
8766
8766
|
</object>
|
|
8767
8767
|
</object>
|
|
8768
|
+
<object class="gbsizeritem" expanded="false">
|
|
8769
|
+
<property name="border">5</property>
|
|
8770
|
+
<property name="colspan">1</property>
|
|
8771
|
+
<property name="column">0</property>
|
|
8772
|
+
<property name="flag">wxALL</property>
|
|
8773
|
+
<property name="row">4</property>
|
|
8774
|
+
<property name="rowspan">1</property>
|
|
8775
|
+
<object class="wxCheckBox" expanded="false">
|
|
8776
|
+
<property name="BottomDockable">1</property>
|
|
8777
|
+
<property name="LeftDockable">1</property>
|
|
8778
|
+
<property name="RightDockable">1</property>
|
|
8779
|
+
<property name="TopDockable">1</property>
|
|
8780
|
+
<property name="aui_layer">0</property>
|
|
8781
|
+
<property name="aui_name"></property>
|
|
8782
|
+
<property name="aui_position">0</property>
|
|
8783
|
+
<property name="aui_row">0</property>
|
|
8784
|
+
<property name="best_size"></property>
|
|
8785
|
+
<property name="bg"></property>
|
|
8786
|
+
<property name="caption"></property>
|
|
8787
|
+
<property name="caption_visible">1</property>
|
|
8788
|
+
<property name="center_pane">0</property>
|
|
8789
|
+
<property name="checked">0</property>
|
|
8790
|
+
<property name="close_button">1</property>
|
|
8791
|
+
<property name="context_help"></property>
|
|
8792
|
+
<property name="context_menu">1</property>
|
|
8793
|
+
<property name="default_pane">0</property>
|
|
8794
|
+
<property name="dock">Dock</property>
|
|
8795
|
+
<property name="dock_fixed">0</property>
|
|
8796
|
+
<property name="docking">Left</property>
|
|
8797
|
+
<property name="drag_accept_files">0</property>
|
|
8798
|
+
<property name="enabled">1</property>
|
|
8799
|
+
<property name="fg"></property>
|
|
8800
|
+
<property name="floatable">1</property>
|
|
8801
|
+
<property name="font"></property>
|
|
8802
|
+
<property name="gripper">0</property>
|
|
8803
|
+
<property name="hidden">0</property>
|
|
8804
|
+
<property name="id">wxID_ANY</property>
|
|
8805
|
+
<property name="label">ZSH Number Range</property>
|
|
8806
|
+
<property name="max_size"></property>
|
|
8807
|
+
<property name="maximize_button">0</property>
|
|
8808
|
+
<property name="maximum_size"></property>
|
|
8809
|
+
<property name="min_size"></property>
|
|
8810
|
+
<property name="minimize_button">0</property>
|
|
8811
|
+
<property name="minimum_size"></property>
|
|
8812
|
+
<property name="moveable">1</property>
|
|
8813
|
+
<property name="name">m_zsh_numrange_checkbox</property>
|
|
8814
|
+
<property name="pane_border">1</property>
|
|
8815
|
+
<property name="pane_position"></property>
|
|
8816
|
+
<property name="pane_size"></property>
|
|
8817
|
+
<property name="permission">protected</property>
|
|
8818
|
+
<property name="pin_button">1</property>
|
|
8819
|
+
<property name="pos"></property>
|
|
8820
|
+
<property name="resize">Resizable</property>
|
|
8821
|
+
<property name="show">1</property>
|
|
8822
|
+
<property name="size"></property>
|
|
8823
|
+
<property name="style"></property>
|
|
8824
|
+
<property name="subclass">; ; forward_declare</property>
|
|
8825
|
+
<property name="toolbar_pane">0</property>
|
|
8826
|
+
<property name="tooltip"></property>
|
|
8827
|
+
<property name="validator_data_type"></property>
|
|
8828
|
+
<property name="validator_style">wxFILTER_NONE</property>
|
|
8829
|
+
<property name="validator_type">wxDefaultValidator</property>
|
|
8830
|
+
<property name="validator_variable"></property>
|
|
8831
|
+
<property name="window_extra_style"></property>
|
|
8832
|
+
<property name="window_name"></property>
|
|
8833
|
+
<property name="window_style"></property>
|
|
8834
|
+
<event name="OnCheckBox">on_zsh_numrange_toggle</event>
|
|
8835
|
+
</object>
|
|
8836
|
+
</object>
|
|
8768
8837
|
<object class="gbsizeritem" expanded="false">
|
|
8769
8838
|
<property name="border">5</property>
|
|
8770
8839
|
<property name="colspan">2</property>
|
|
8771
8840
|
<property name="column">0</property>
|
|
8772
8841
|
<property name="flag">wxEXPAND | wxALL</property>
|
|
8773
|
-
<property name="row">
|
|
8842
|
+
<property name="row">5</property>
|
|
8774
8843
|
<property name="rowspan">1</property>
|
|
8775
8844
|
<object class="wxStaticLine" expanded="false">
|
|
8776
8845
|
<property name="BottomDockable">1</property>
|
|
@@ -8832,7 +8901,7 @@
|
|
|
8832
8901
|
<property name="colspan">2</property>
|
|
8833
8902
|
<property name="column">0</property>
|
|
8834
8903
|
<property name="flag">wxEXPAND</property>
|
|
8835
|
-
<property name="row">
|
|
8904
|
+
<property name="row">6</property>
|
|
8836
8905
|
<property name="rowspan">1</property>
|
|
8837
8906
|
<object class="wxGridBagSizer" expanded="false">
|
|
8838
8907
|
<property name="empty_cell_size"></property>
|
|
@@ -189,7 +189,7 @@ def parse_version(ver):
|
|
|
189
189
|
|
|
190
190
|
|
|
191
191
|
# (major, minor, micro, release type, pre-release build, post-release build, development-release)
|
|
192
|
-
__version_info__ = Version(4,
|
|
192
|
+
__version_info__ = Version(4, 25, 0, 'final')
|
|
193
193
|
__version__ = __version_info__._get_canonical()
|
|
194
194
|
__app__ = "Rummage"
|
|
195
195
|
__status__ = __version_info__[3]
|
|
@@ -297,9 +297,9 @@ class CustomLog(wx.Log):
|
|
|
297
297
|
self.file_lock = FileLock(self.file_name + '.lock')
|
|
298
298
|
|
|
299
299
|
try:
|
|
300
|
-
with self.file_lock
|
|
301
|
-
with open(self.file_name, "w",
|
|
302
|
-
|
|
300
|
+
with self.file_lock:
|
|
301
|
+
with open(self.file_name, "w", encoding='utf-8', errors='strict'):
|
|
302
|
+
pass
|
|
303
303
|
except Exception:
|
|
304
304
|
self.file_name = None
|
|
305
305
|
|
|
@@ -312,7 +312,7 @@ class CustomLog(wx.Log):
|
|
|
312
312
|
|
|
313
313
|
try:
|
|
314
314
|
if self.file_name is not None:
|
|
315
|
-
with self.file_lock
|
|
315
|
+
with self.file_lock:
|
|
316
316
|
with open(self.file_name, 'a', encoding='utf-8', errors='strict') as f:
|
|
317
317
|
f.write(msg)
|
|
318
318
|
else:
|
|
@@ -389,9 +389,9 @@ class CustomLogGui(wx.LogGui):
|
|
|
389
389
|
self.debug = debug
|
|
390
390
|
|
|
391
391
|
try:
|
|
392
|
-
with self.file_lock
|
|
393
|
-
with open(self.file_name, "w",
|
|
394
|
-
|
|
392
|
+
with self.file_lock:
|
|
393
|
+
with open(self.file_name, "w", encoding='utf-8', errors='strict'):
|
|
394
|
+
pass
|
|
395
395
|
except Exception:
|
|
396
396
|
self.file_name = None
|
|
397
397
|
|
|
@@ -402,7 +402,7 @@ class CustomLogGui(wx.LogGui):
|
|
|
402
402
|
|
|
403
403
|
try:
|
|
404
404
|
if self.file_name is not None:
|
|
405
|
-
with self.file_lock
|
|
405
|
+
with self.file_lock:
|
|
406
406
|
with open(self.file_name, 'a', encoding='utf-8', errors='strict') as f:
|
|
407
407
|
f.write(msg)
|
|
408
408
|
else:
|
|
@@ -190,7 +190,7 @@ def parse_url(url):
|
|
|
190
190
|
is_blank = False
|
|
191
191
|
scheme, netloc, path, params, query, fragment = urlparse(html.unescape(url))
|
|
192
192
|
|
|
193
|
-
if scheme
|
|
193
|
+
if scheme in ("about", "blank", "data", ""):
|
|
194
194
|
is_blank = True
|
|
195
195
|
elif RE_URL.match(scheme):
|
|
196
196
|
# Clearly a URL
|
|
@@ -25,6 +25,16 @@
|
|
|
25
25
|
|
|
26
26
|
<!-- Table of Content (Don't show for static sites) -->
|
|
27
27
|
<h1 id="changelog">Changelog</h1>
|
|
28
|
+
<h2 id="425">4.25</h2>
|
|
29
|
+
<ul>
|
|
30
|
+
<li><strong>NEW</strong>: Require <code>wcmatch</code> 11.0+.</li>
|
|
31
|
+
<li><strong>NEW</strong>: Add new "<abbr title="Z Shell">ZSH</abbr> number range" option in settings to enable <abbr title="Z Shell">ZSH</abbr> style number ranges in glob patterns (<code><0-9></code>).</li>
|
|
32
|
+
<li><strong>FIX</strong>: Fix an issue where logging would break.</li>
|
|
33
|
+
</ul>
|
|
34
|
+
<h2 id="4241">4.24.1</h2>
|
|
35
|
+
<ul>
|
|
36
|
+
<li><strong>NEW</strong>: Fix URL handling in documentation rendering in <code>webview</code>.</li>
|
|
37
|
+
</ul>
|
|
28
38
|
<h2 id="424">4.24</h2>
|
|
29
39
|
<ul>
|
|
30
40
|
<li><strong>NEW</strong>: Drop support for Python 3.9.</li>
|
|
Binary file
|
|
@@ -59,6 +59,10 @@
|
|
|
59
59
|
<li class="__toc_level_5"><a href="#basic-wildcard-syntax">Basic Wildcard syntax</a></li>
|
|
60
60
|
<ul class="__toc_list_5">
|
|
61
61
|
|
|
62
|
+
</ul>
|
|
63
|
+
<li class="__toc_level_5"><a href="#zsh-number-ranges">ZSH Number Ranges</a></li>
|
|
64
|
+
<ul class="__toc_list_5">
|
|
65
|
+
|
|
62
66
|
</ul>
|
|
63
67
|
<li class="__toc_level_5"><a href="#extended-match-syntax">Extended Match Syntax</a></li>
|
|
64
68
|
<ul class="__toc_list_5">
|
|
@@ -345,6 +349,14 @@ which we will always be included.</p>
|
|
|
345
349
|
<p>If you need to escape <code>-</code> or <code>|</code>, you can put them in a sequence: <code>[-|]</code>. Remember to place <code>-</code> at the beginning of
|
|
346
350
|
a sequence as <code>-</code> is also used to specify character ranges: <code>[a-z]</code>.</p>
|
|
347
351
|
</div>
|
|
352
|
+
<h4 id="zsh-number-ranges"><abbr title="Z Shell">ZSH</abbr> Number Ranges</h4>
|
|
353
|
+
<p><abbr title="Z Shell">ZSH</abbr> number ranges are a simple syntax for specifying a simple range of numbers via <code><0-100></code>. Ends can also be omitted
|
|
354
|
+
allowing for unbounded ranges: <code><-></code>, <code><-100></code>, <code><0-100></code>, etc. It should be noted that numbers must be whole, positive
|
|
355
|
+
numbers and manually specified numbers greater than 19 digits will be truncated.</p>
|
|
356
|
+
<p><abbr title="Z Shell">ZSH</abbr> number ranges also handle numbers padded with zeros, so <code><0-9></code> would match <code>5</code>, <code>05</code>, <code>005</code>, etc. You can pad your
|
|
357
|
+
match pattern with zeros (<code><0010-0090></code>), but it has no affect on the actual search. Input numbers will be normalized
|
|
358
|
+
(<code><10-90></code>) and <abbr title="Z Shell">ZSH</abbr> padding number handling is always the same.</p>
|
|
359
|
+
<p>This can be enabled in <a href="./preferences.html#search">Preferences</a>.</p>
|
|
348
360
|
<h4 id="extended-match-syntax">Extended Match Syntax</h4>
|
|
349
361
|
<p>In <a href="./preferences.html#search">Preferences</a>, you can also enable extended match patterns. Extended match patterns allow
|
|
350
362
|
you to provide pattern lists to provide more advanced logic.</p>
|
|
@@ -39,7 +39,7 @@ class ImportSettingsDialog(gui.ImportSettingsDialog):
|
|
|
39
39
|
"notify_enabled", "single_instance", "extmatch",
|
|
40
40
|
"brace_expansion", "file_case_sensitive", "full_exclude_path", "full_file_path",
|
|
41
41
|
"globstar", "international_time", "matchbase", "minusnegate", "alt_list_color",
|
|
42
|
-
"autocomplete"
|
|
42
|
+
"autocomplete", "zsh_numrange"
|
|
43
43
|
)
|
|
44
44
|
STRING = ("backup_ext", "backup_folder", "term_notifier", "editor", "notify_method", "notify_sound")
|
|
45
45
|
INTEGER = ("backup_type", "regex_mode", "regex_version", "patten_limit")
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Rummage Dialog.
|
|
3
3
|
|
|
4
4
|
Licensed under MIT
|
|
5
|
-
Copyright (c) 2011 -
|
|
5
|
+
Copyright (c) 2011 - 2026 Isaac Muse <isaacmuse@gmail.com>
|
|
6
6
|
|
|
7
7
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
8
8
|
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
|
@@ -328,6 +328,7 @@ class RummageArgs:
|
|
|
328
328
|
self.full_exclude_path = False
|
|
329
329
|
self.full_file_path = False
|
|
330
330
|
self.globstar = False
|
|
331
|
+
self.zsh_numrange = False
|
|
331
332
|
self.matchbase = False
|
|
332
333
|
self.minusnegate = True
|
|
333
334
|
self.encoding_options = {}
|
|
@@ -1217,6 +1218,9 @@ class RummageFrame(gui.RummageFrame):
|
|
|
1217
1218
|
if args.brace_expansion:
|
|
1218
1219
|
flags |= rumcore.BRACE
|
|
1219
1220
|
|
|
1221
|
+
if args.zsh_numrange:
|
|
1222
|
+
flags |= rumcore.NUMRANGE
|
|
1223
|
+
|
|
1220
1224
|
if args.file_case_sensitive:
|
|
1221
1225
|
flags |= rumcore.FILECASE
|
|
1222
1226
|
|
|
@@ -1401,6 +1405,7 @@ class RummageFrame(gui.RummageFrame):
|
|
|
1401
1405
|
args.globstar = bool(Settings.get_globstar())
|
|
1402
1406
|
args.matchbase = bool(Settings.get_matchbase())
|
|
1403
1407
|
args.minusnegate = bool(Settings.get_minusnegate())
|
|
1408
|
+
args.zsh_numrange = bool(Settings.get_zsh_numrange())
|
|
1404
1409
|
|
|
1405
1410
|
args.filepattern = self.m_filematch_textbox.Value
|
|
1406
1411
|
if self.m_fileregex_checkbox.GetValue():
|
|
@@ -123,6 +123,7 @@ class SettingsDialog(webview.WebViewMixin, gui.SettingsDialog):
|
|
|
123
123
|
self.m_brace_checkbox.SetValue(Settings.get_brace_expansion())
|
|
124
124
|
self.m_case_checkbox.SetValue(Settings.get_file_case_sensitive())
|
|
125
125
|
self.m_fullpath_checkbox.SetValue(Settings.get_full_exclude_path())
|
|
126
|
+
self.m_zsh_numrange_checkbox.SetValue(Settings.get_zsh_numrange())
|
|
126
127
|
self.m_fullfile_checkbox.SetValue(Settings.get_full_file_path())
|
|
127
128
|
self.m_globstar_checkbox.SetValue(Settings.get_globstar())
|
|
128
129
|
self.m_matchbase_checkbox.SetValue(Settings.get_matchbase())
|
|
@@ -264,6 +265,7 @@ class SettingsDialog(webview.WebViewMixin, gui.SettingsDialog):
|
|
|
264
265
|
self.BRACES = _("Brace expansion")
|
|
265
266
|
self.CASE = _("Case sensitive")
|
|
266
267
|
self.FULL_PATH = _("Full path directory match")
|
|
268
|
+
self.ZSH_NUMRANGE = _("ZSH number range")
|
|
267
269
|
self.FULL_FILE = _("Full path file match")
|
|
268
270
|
self.GLOBSTAR = _("Globstar (full path)")
|
|
269
271
|
self.MATCHBASE = _("Match base (full path)")
|
|
@@ -339,6 +341,7 @@ class SettingsDialog(webview.WebViewMixin, gui.SettingsDialog):
|
|
|
339
341
|
self.m_brace_checkbox.SetLabel(self.BRACES)
|
|
340
342
|
self.m_case_checkbox.SetLabel(self.CASE)
|
|
341
343
|
self.m_fullpath_checkbox.SetLabel(self.FULL_PATH)
|
|
344
|
+
self.m_zsh_numrange_checkbox.SetLabel(self.ZSH_NUMRANGE)
|
|
342
345
|
self.m_fullfile_checkbox.SetLabel(self.FULL_FILE)
|
|
343
346
|
self.m_globstar_checkbox.SetLabel(self.GLOBSTAR)
|
|
344
347
|
self.m_matchbase_checkbox.SetLabel(self.MATCHBASE)
|
|
@@ -660,6 +663,11 @@ class SettingsDialog(webview.WebViewMixin, gui.SettingsDialog):
|
|
|
660
663
|
|
|
661
664
|
Settings.set_full_exclude_path(self.m_fullpath_checkbox.GetValue())
|
|
662
665
|
|
|
666
|
+
def on_zsh_numrange_toggle(self, event):
|
|
667
|
+
"""Handle ZSH number range toggle."""
|
|
668
|
+
|
|
669
|
+
Settings.set_zsh_numrange(self.m_zsh_numrange_checkbox.GetValue())
|
|
670
|
+
|
|
663
671
|
def on_fullfile_toggle(self, event):
|
|
664
672
|
"""Handle full file toggle."""
|
|
665
673
|
|
|
@@ -1051,8 +1051,11 @@ class SettingsDialog ( wx.Dialog ):
|
|
|
1051
1051
|
self.m_fullfile_checkbox = wx.CheckBox( sbSizer9.GetStaticBox(), wx.ID_ANY, u"Full path file match", wx.DefaultPosition, wx.DefaultSize, 0 )
|
|
1052
1052
|
gbSizer7.Add( self.m_fullfile_checkbox, wx.GBPosition( 3, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
|
|
1053
1053
|
|
|
1054
|
+
self.m_zsh_numrange_checkbox = wx.CheckBox( sbSizer9.GetStaticBox(), wx.ID_ANY, u"ZSH Number Range", wx.DefaultPosition, wx.DefaultSize, 0 )
|
|
1055
|
+
gbSizer7.Add( self.m_zsh_numrange_checkbox, wx.GBPosition( 4, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 )
|
|
1056
|
+
|
|
1054
1057
|
self.m_staticline14 = wx.StaticLine( sbSizer9.GetStaticBox(), wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
|
|
1055
|
-
gbSizer7.Add( self.m_staticline14, wx.GBPosition(
|
|
1058
|
+
gbSizer7.Add( self.m_staticline14, wx.GBPosition( 5, 0 ), wx.GBSpan( 1, 2 ), wx.EXPAND |wx.ALL, 5 )
|
|
1056
1059
|
|
|
1057
1060
|
gbSizer8 = wx.GridBagSizer( 0, 0 )
|
|
1058
1061
|
gbSizer8.SetFlexibleDirection( wx.BOTH )
|
|
@@ -1073,7 +1076,7 @@ class SettingsDialog ( wx.Dialog ):
|
|
|
1073
1076
|
gbSizer8.AddGrowableCol( 1 )
|
|
1074
1077
|
gbSizer8.AddGrowableRow( 0 )
|
|
1075
1078
|
|
|
1076
|
-
gbSizer7.Add( gbSizer8, wx.GBPosition(
|
|
1079
|
+
gbSizer7.Add( gbSizer8, wx.GBPosition( 6, 0 ), wx.GBSpan( 1, 2 ), wx.EXPAND, 5 )
|
|
1077
1080
|
|
|
1078
1081
|
|
|
1079
1082
|
gbSizer7.AddGrowableCol( 1 )
|
|
@@ -1350,6 +1353,7 @@ class SettingsDialog ( wx.Dialog ):
|
|
|
1350
1353
|
self.m_matchbase_checkbox.Bind( wx.EVT_CHECKBOX, self.on_matchbase_toggle )
|
|
1351
1354
|
self.m_fullpath_checkbox.Bind( wx.EVT_CHECKBOX, self.on_fullpath_toggle )
|
|
1352
1355
|
self.m_fullfile_checkbox.Bind( wx.EVT_CHECKBOX, self.on_fullfile_toggle )
|
|
1356
|
+
self.m_zsh_numrange_checkbox.Bind( wx.EVT_CHECKBOX, self.on_zsh_numrange_toggle )
|
|
1353
1357
|
self.m_pattern_limit_textbox.Bind( wx.EVT_TEXT, self.on_pattern_limit_changed )
|
|
1354
1358
|
self.m_pattern_limit_button.Bind( wx.EVT_BUTTON, self.on_pattern_limit_click )
|
|
1355
1359
|
self.m_encoding_choice.Bind( wx.EVT_CHOICE, self.on_chardet )
|
|
@@ -1436,6 +1440,9 @@ class SettingsDialog ( wx.Dialog ):
|
|
|
1436
1440
|
def on_fullfile_toggle( self, event ):
|
|
1437
1441
|
event.Skip()
|
|
1438
1442
|
|
|
1443
|
+
def on_zsh_numrange_toggle( self, event ):
|
|
1444
|
+
event.Skip()
|
|
1445
|
+
|
|
1439
1446
|
def on_pattern_limit_changed( self, event ):
|
|
1440
1447
|
event.Skip()
|
|
1441
1448
|
|
|
@@ -86,6 +86,7 @@ DEFAULT_SETTINGS = {
|
|
|
86
86
|
"full_exclude_path": False,
|
|
87
87
|
"full_file_path": False,
|
|
88
88
|
"globstar": False,
|
|
89
|
+
"zsh_numrange": False,
|
|
89
90
|
"hide_cols_content": [],
|
|
90
91
|
"hide_cols_file": [],
|
|
91
92
|
"international_time": False,
|
|
@@ -1521,6 +1522,27 @@ class Settings:
|
|
|
1521
1522
|
cls.reload_settings()
|
|
1522
1523
|
return cls.settings.get('full_exclude_path', False)
|
|
1523
1524
|
|
|
1525
|
+
@classmethod
|
|
1526
|
+
def _set_zsh_numrange(cls, value):
|
|
1527
|
+
"""Set `zsh_numrange`."""
|
|
1528
|
+
|
|
1529
|
+
cls.settings['zsh_numrange'] = value
|
|
1530
|
+
|
|
1531
|
+
@classmethod
|
|
1532
|
+
def set_zsh_numrange(cls, value):
|
|
1533
|
+
"""Set `zsh_numrange."""
|
|
1534
|
+
|
|
1535
|
+
cls.reload_settings()
|
|
1536
|
+
cls._set_zsh_numrange(value)
|
|
1537
|
+
cls.save_settings()
|
|
1538
|
+
|
|
1539
|
+
@classmethod
|
|
1540
|
+
def get_zsh_numrange(cls):
|
|
1541
|
+
"""Get `zsh_numrange`."""
|
|
1542
|
+
|
|
1543
|
+
cls.reload_settings()
|
|
1544
|
+
return cls.settings.get('zsh_numrange', False)
|
|
1545
|
+
|
|
1524
1546
|
@classmethod
|
|
1525
1547
|
def _set_full_file_path(cls, value):
|
|
1526
1548
|
"""Set full_file_path."""
|
|
@@ -1649,6 +1671,8 @@ class Settings:
|
|
|
1649
1671
|
cls._set_minusnegate(obj['minusnegate'])
|
|
1650
1672
|
if 'pattern_limit' in obj:
|
|
1651
1673
|
cls._set_pattern_limit(obj['pattern_limit'])
|
|
1674
|
+
if 'zsh_numrange' in obj:
|
|
1675
|
+
cls._set_zsh_numrange(obj['zsh_numrange'])
|
|
1652
1676
|
|
|
1653
1677
|
# Notifications
|
|
1654
1678
|
update_notify = False
|
|
@@ -83,6 +83,7 @@ FILEPATHNAME = 0x1000000000 # Full file name path match
|
|
|
83
83
|
GLOBSTAR = 0x2000000000 # Use globstar (**) in full paths
|
|
84
84
|
MATCHBASE = 0x4000000000 # Match base names when no slashes are present (full path)
|
|
85
85
|
MINUSNEGATE = 0x8000000000 # Use - instead of ! for exclusion patterns.
|
|
86
|
+
NUMRANGE = 0x10000000000 # ZSH style number ranges.
|
|
86
87
|
|
|
87
88
|
RE_MODE = 0
|
|
88
89
|
BRE_MODE = 1
|
|
@@ -90,8 +91,8 @@ REGEX_MODE = 2
|
|
|
90
91
|
BREGEX_MODE = 3
|
|
91
92
|
|
|
92
93
|
SEARCH_MASK = 0x1FFFF
|
|
93
|
-
FILE_MASK =
|
|
94
|
-
FNMATCH_FLAGS =
|
|
94
|
+
FILE_MASK = 0x1FFFFFE0000
|
|
95
|
+
FNMATCH_FLAGS = 0x1FF00000000
|
|
95
96
|
|
|
96
97
|
RE_MODES = (RE_MODE, BRE_MODE)
|
|
97
98
|
REGEX_MODES = (REGEX_MODE, BREGEX_MODE)
|
|
@@ -1334,6 +1335,8 @@ class Rummage:
|
|
|
1334
1335
|
self.wcmatch_flags |= wcmatch.E
|
|
1335
1336
|
if self.file_flags & BRACE:
|
|
1336
1337
|
self.wcmatch_flags |= wcmatch.B
|
|
1338
|
+
if self.file_flags & NUMRANGE:
|
|
1339
|
+
self.wcmatch_flags |= wcmatch.NUMRANGE
|
|
1337
1340
|
if self.file_flags & FILECASE:
|
|
1338
1341
|
self.wcmatch_flags |= wcmatch.C
|
|
1339
1342
|
if self.file_flags & DIRPATHNAME:
|
|
@@ -96,6 +96,8 @@ def build_internal_docs(verbose=False, debug=False):
|
|
|
96
96
|
except FileNotFoundError:
|
|
97
97
|
pass
|
|
98
98
|
os.remove(os.path.join(ZENSICAL_BUILD, 'search.json'))
|
|
99
|
+
os.remove(os.path.join(ZENSICAL_BUILD, 'objects.inv'))
|
|
100
|
+
os.remove(os.path.join(ZENSICAL_BUILD, '.snippets', 'refs.html'))
|
|
99
101
|
gen_hash(verbose, debug)
|
|
100
102
|
|
|
101
103
|
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|