Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reset terminal state in case of a panic #84

Merged
merged 16 commits into from
Jan 8, 2023
Merged

Reset terminal state in case of a panic #84

merged 16 commits into from
Jan 8, 2023

Conversation

mgunyho
Copy link
Owner

@mgunyho mgunyho commented Jan 2, 2023

So that we don't get garbled output in the case of a crash.

This is done using a custom struct that calls terminal cleanup functions on drop, similar to scopeguard, but it ensures that the panic hook (i.e. printing the error message) is done after the cleanup, so that the error message is not lost in the alternate screen.

@mgunyho mgunyho merged commit b0a5e6c into develop Jan 8, 2023
@mgunyho mgunyho deleted the catch-panic branch January 8, 2023 19:01
joedf added a commit to joedf/tere that referenced this pull request Feb 8, 2023
commit 6662169204305e5febb1ee1ecb0027e9047ae5b5
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 21:33:31 2023 +0200

    Update copyright year

commit 3155fc53d46798c652c214f2dc32de38eb682d7f
Merge: b2e5d67 424265e
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 21:07:01 2023 +0200

    Version 1.4.0

    - Check if the app is being run for the first time (based on whether the history file exists, and a bit of additional simple logic), and if so, prompt the user to confirm that they have updated their shell configuration (Github #83)
    - If the app panics/crashes, the terminal state is properly reset, so it shouldn't produce garbled ouptut anymore
    - Upgrade `clap` dependency to latest version
    - Small improvements to setup instructions and user manual
    - Footer error message is not cleared when search is updated, only when changing the folder

commit b2e5d674d2f4497119d058c18952807989445aa5
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 21:06:12 2023 +0200

    Update release checklist

commit 424265e4622c7a3685429bff8172f5bc182d0dfd
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 21:05:16 2023 +0200

    Update release date for 1.4.0

commit b76ba3e4d3ea03df236fdce1eb0628bb87e75926
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 21:04:49 2023 +0200

    Bump version number

commit 6b0f886829fcd65c366610872eb78003cb386b28
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 21:02:05 2023 +0200

    Cleanup

commit f320bfdfbc68a41770ec80bfe19a09ae84a595b8
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 20:52:54 2023 +0200

    Update comments

commit b0a5e6cfa90d5b52c7ae1de89f8a259e1d944ad8
Merge: 06d7b7a e16c9f5
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 21:01:16 2023 +0200

    Reset terminal state in case of a panic

    So that we don't get garbled output in the case of a crash.

    This is done using a custom struct that calls terminal cleanup functions on drop, similar to scopeguard, but it ensures that the panic hook (i.e. printing the error message) is called after the cleanup, so that the error message is not lost in the alternate screen.

    There's also some kinda unrelated formatting changes in `ui/mod.rs`.

    See github issue #84

commit e16c9f515857f4aeeb4a0c331365086ac54a35c8
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 20:01:10 2023 +0200

    Rustfmt

commit 83c2d6d2547c6747ec1a4dd0c90151b521103583
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 19:53:27 2023 +0200

    Rustfmt

commit 4601447ad2b7d87bf6c53b6298e0e9ea2a68e7b2
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Jan 2 09:25:28 2023 +0200

    Update changelog

commit 4c8f543e908f9722f3acde2635e7b494f31927fe
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:56:57 2022 +0200

    Update comments

commit 179e8b3848814ee15b2a80c8e79e9a1179845888
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:48:12 2022 +0200

    Rustfmt

commit 138ac8cb765bb227bdcf2163c3b220ff23821bc9
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:44:07 2022 +0200

    Rustfmt

commit 74a6252f49527a34fce82196f7fa3a33cdd502b7
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:42:52 2022 +0200

    Fix indentation

commit b932bca3e14201cd6e71430879b7fe629f15b788
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:40:04 2022 +0200

    Basic rewrite of main function using guards

commit e735fc0eb36f3d79b9db21972942a72f7d99822f
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:34:58 2022 +0200

    Make new() public

    Oops

commit 4ac1af1a86c655aa8bd14349f0c9d4c10a5b0c16
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:25:23 2022 +0200

    Update documentation

commit 1a6308ca825800eb7891bd8ad95de7c34d94bf4b
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:24:49 2022 +0200

    Move catch_unwinds to inner scopes, works correctly now with FnOnce

commit 25bb991603a3641ea718df53736bde2efe8ab3ad
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:23:58 2022 +0200

    Rework guard to use FnOnce

commit 4197b8c4073e851e0a1fb66818074e82c428b87a
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 17:10:57 2022 +0200

    Add more tests for panic guard

commit 3caef4c2c83f41c322b9a7b7ce06f8464486e866
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 16:49:45 2022 +0200

    Fix implementation

commit 71a1458aafc1468062b64c02276028456dea2535
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 16:49:27 2022 +0200

    Fix test threading problem using mutex, split into separate tests

    Also, had to put catch_unwind outside guards to make it work...

commit a6a09a529cff4820df40d971619080f768ccdd23
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Dec 31 10:34:52 2022 +0200

    WIP: add module for panic guard struct, trying to test it, but no success

commit 06d7b7a4908e99ee4a62f5ac1d23a3cc8d279260
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Jan 8 19:48:18 2023 +0200

    Rustfmt

commit b4dd44b5773d54bbd83622b8dfd41838e6f4b583
Merge: 942d991 16ed713
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 21:38:25 2022 +0200

    Update clap to version 4

    This enables panic catching, and also slightly decreases binary size.

commit 16ed713ae4425c634d8c105f371344c43f0c3bdc
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 21:38:20 2022 +0200

    Update changelog

commit e07f978aa8f6a765b8d96bc48edaa38e368afc62
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 18:21:44 2022 +0200

    Use get_flag instead of awkward if let + get_one

commit d6734c842cd63f2af101e7fb7a5ba3c3dd99c518
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 17:25:24 2022 +0200

    Fix usage display

commit dc69a4676b99cdb5639bf4fd60044e7a95eba19c
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 17:19:04 2022 +0200

    Remove repetition

commit 031081e78f3769c923945f2c1518db3717bb184a
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 17:17:08 2022 +0200

    Fix override behavior introduced by clap 4

commit cbd6115810e3f3a0f8176e9cf01f99bd6536eb2f
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 17:06:30 2022 +0200

    Don't leak help string, no longer necessary

commit 73435caea10e7ae4e6da84df3f5c25bf785410b0
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 17:03:34 2022 +0200

    Fix clippy

commit 1b059bc8bc1e65cba21652b1a4d721be80fe9c9e
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 17:03:23 2022 +0200

    Fix code to be compatible with clap 4

commit 532662aaec5aa8b51ebdf381bd00572ad6901d6d
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 16:57:01 2022 +0200

    Update clap to version 4

commit 39085c06f914de1ddb43f67143bb62d82587082c
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 16:51:42 2022 +0200

    Fix deprecation warning for mouse option

commit ff86ad937c7a0e0ff2de1e50a35535d0a0209871
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 16:35:05 2022 +0200

    Parse sort mode using clap derive

    This somewhat entangles the setting parsing with clap, but feels
    definitely more elegant and correct. I should probably do something
    similar to other enum-like options.

commit e50cc73be24ae2683b62f46c78c51a657863e7e6
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 16:34:23 2022 +0200

    Add clap derive feature

commit b44e93877e48e7a876a199a39ac6df2a44fe7ba9
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:33:00 2022 +0200

    Remove deprecated multiple_occurrences

commit 3b062e68343ae0ca270883ebbb900a2c1e79b643
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:30:12 2022 +0200

    Add tests for sort mode and mouse mode

commit a39dfe1b0b0b973a8be3a0783fa64ffe2358f0f1
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:24:23 2022 +0200

    Fix deprecated hidden

commit ace73a76b8ca6f258c7e8f68d057a2d5b4873461
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:23:09 2022 +0200

    Fix flag application

commit 2dbfe1e0844695c7e6ad5733b64b43f9b3cb5d1d
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:21:14 2022 +0200

    Fixup: argactions

commit 781707291c31b7174d0f2f9d25a8227874f3b345
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:09:06 2022 +0200

    Fix clear-default-keymap check

commit d356bd2cee437a1ce98ba0ca3c86f322a6a7e057
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:08:15 2022 +0200

    Fix use of deprecated ArgActions

commit ba2bdce79ca8e3f1b03f8014258a6d80dc597312
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:00:47 2022 +0200

    Add tests for old cli options

commit 97eb2d05750b7924b713370ad0f292f90019feba
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 15:00:31 2022 +0200

    Fix typo in enum name

commit f2c370820603f6f5cf5640b514a3b8dfa23ee1ca
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 14:57:48 2022 +0200

    Update settings enum derives for testing

commit 4b609349c8556a70d61f5f818c4fc3b461cb2cc5
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 14:33:59 2022 +0200

    Use full overrides_with for all options

    This makes the options consistent and is easier to understand

commit 9bcb998217999761bf831651972ab184d52df0e0
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 14:31:52 2022 +0200

    Clap deprectation: replace App -> Command

commit 5b79cabf22f00bdf1240307ac98bd824cc7b6c45
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 14:29:50 2022 +0200

    Explicitly set argument actions as per the clap migration guide

commit 96210d19fbd13330367c6951e09a8557d9af66d6
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 11:44:33 2022 +0200

    Add CLI test as recommended by clap v4 migration guide

commit 942d991fb940b149aad4adbae98b78a3cf4364c8
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 09:25:39 2022 +0200

    Update changelog

commit 1350d567bf58798bb4a2664db993ac056d2c7a2d
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 09:25:30 2022 +0200

    Mention esc to exit in user guide

commit f99b602d6047941ac9ae4d25145cc4209163e431
Merge: eef493b 0de7df9
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 09:10:58 2022 +0200

    Don't clear footer error message when search is updated

    This is slightly better UX IMO.

commit 0de7df91ab315353c569333522ba8f93dc3bdc54
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 09:10:45 2022 +0200

    Update changelog

commit ef20b08fb843638c3a705a0e75a4f8e8e9347226
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 09:09:44 2022 +0200

    Don't clear error message when search is updated

commit eef493b8e798896bb16064897884390109b305d9
Merge: e91a2b8 d0aa02d
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 08:47:15 2022 +0200

    Check if the app is being run for the first time

    If the app is being run for the first time, prompt the user to confirm
    that they have updated their shell config. Hopefully this clarifies the
    setup process.

    The check is done based on whether the history file exists, or if the
    user explicitly passes a nonexistent history file.

    See Github issue #83

commit d0aa02d2bc564e3533349b114ef4fc5ed7f2589f
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 08:46:38 2022 +0200

    Update changelog

commit 4430ff46a94dee8f638e7a44b01558647bf4760a
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Dec 29 08:38:50 2022 +0200

    Rename installation_check module to first_run_check

commit 858daa2b499adaacca4c5c4ea0de77e3c8ed75bf
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:19:11 2022 +0200

    Update docstring

commit 1fe2da9325fd7ba27e3a2daeaf7f79de9d9cdb33
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:18:42 2022 +0200

    Formatting

commit f828ed1fe06cee14368a648b0c8507b30a16dd94
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:58:07 2022 +0200

    Tweak wording

commit 74a46d6a243998f51e0bf0d620734b9322688d79
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:56:16 2022 +0200

    Read bash/zsh shell snippet from README and display it in welcome message

commit 5f7a69f1544bea06a828f72052c07372172876ec
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:30:23 2022 +0200

    Move README_STR to markup_render module, so that we can use it elsewhere as well

commit ed397751a775300bd71a1de476a4b26500ef0644
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:16:51 2022 +0200

    Add minimal working implementation of first run prompt

commit bf7ba506bb572a9168daa93101507ca31f4ddbe9
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:15:30 2022 +0200

    Remove unused import

commit 6bf388778ccf46e461a232ca6eced30f94cffdd5
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Dec 29 00:13:25 2022 +0200

    Add error variant for cancelling the first run prompt

commit f4697e2c152a7dd48be21d0647062356fd7221f3
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 23:31:25 2022 +0200

    Rustfmt

commit aa4c18a474a83a5b2a569d6c7857f7b99eb42823
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 23:28:26 2022 +0200

    Move functions related to wrapping and rendering markup to separate module

commit d1af4b68c26c638eee99439a7af77d27eaa4838e
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 21:56:51 2022 +0200

    Remove version file stuff, it's not needed for now

    Needless optimization for possible future use case

commit ae3374c4077a99a80eed4ac7e70bea0c120e17db
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:53:21 2022 +0200

    Pass stderr to first run prompt

commit 9af05a728619a22003f4291ff06b04071188b1a6
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:51:35 2022 +0200

    Update documentation

commit dfc22129506c1ea69e9a1b4080ad9d3916f48cc6
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:51:01 2022 +0200

    Implement write_version_file and use it

commit ea9017b7e8b314ed9f18fb049fe0a8a951088187
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:39:48 2022 +0200

    Explain first run detection logic and reorder conditions to be more easily understandable

commit 3e3538adc1372bc6d4dd7fd30ce954545cfe7535
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:32:26 2022 +0200

    Do first run check in main

commit 66e091c39305fd6eba219c1d88a717cd3a0ffe79
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Dec 27 22:35:13 2022 +0200

    Add module for checking whether we're running for the first time or not

commit e91a2b8b1cc4f2a7fe3df10ac673616842b1134b
Merge: b31029e 4d35bcd
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 23:12:17 2022 +0200

    Merge branch 'master' into develop

commit 4d35bcd178cbab7531e244aac2dbab6432d1ce16
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 22:28:07 2022 +0200

    Tweak wording

commit b3e5e417adad076a70a6812c14e2da08127cfd23
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 22:26:28 2022 +0200

    Adjust punctuation

commit ee5ac052932fb5a24d362ce981d03de578ec08d4
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 22:24:09 2022 +0200

    Fix indentation

commit 9c4710a1cb82971a3ee58d3fcdcdfe4b1857041f
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 22:20:58 2022 +0200

    Clarify setup instructions; add subheaders for each step

    Inspired by starship  README.

commit b31029e2bd51cab7b434d5fcfad3108d8184a306
Merge: 9645a41 ca4c9da
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:17:12 2022 +0200

    Untangle app initialization

    Reorganize initialization to be linear instead of nested: each
    init function returns the object they initialized, and takes the object
    from the previous initializer step. I think this should be easier to
    understand, debug, and test.

    This also prepares us for adding additional steps to the initialization
    pipeline, such as checking if the app has been run before.

commit ca4c9dad7fc2ae3e37d1d51cc5fba4c6e610adff
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:16:11 2022 +0200

    Minor cleanup based on rustfmt

commit e117d2750200133724c077c01a2d8af1acacd0b5
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 10:04:58 2022 +0200

    Return current path from main event loop, cleans up main

commit 0633335e233b8f4e1d40e62b91bab73c4baddf7a
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 09:58:55 2022 +0200

    Return TereError from CLI arg parsing, cleans up main

commit 5c27a8a7c21a081ce6673c45112937a9634576ac
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 09:56:33 2022 +0200

    Don't pass window dimensions in init, cleans up main function

commit c80e4bb52bf0b8902e6968adc00256e1e0c3133d
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 09:49:22 2022 +0200

    Fix module path in test

commit 05169d285333fc31e4504d4b23c122ae0f825307
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 09:49:12 2022 +0200

    Cleanup

commit 79da17c1f06e568cca7575e050564c05568f468f
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 09:48:48 2022 +0200

    Pass initialized settings instead of CLI args to app state init

commit 2075d5b38806b0e07f4b0191e2f72f5dacbc1840
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Dec 28 09:31:02 2022 +0200

    Pass initialized state instead of CLI args to tui init

    Also move state initialization to main module

commit 9645a41ca229ee239712741880ead6ddc0ea19c6
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Dec 23 08:02:32 2022 +0200

    Improve comments

commit 14f2cdfd8a5d158f2e8f3a4fb7ee4095fdaec932
Merge: 19d3fe1 6a61141
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Dec 6 15:10:27 2022 +0200

    Version 1.3.1

    - Fixed a bug where `?` didn't show the help screen on Windows by default

commit 6a611418c9fa1732f2297ba528387cf790eb6e02
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Dec 6 15:10:09 2022 +0200

    Bump version number

commit 84a72ada2f22219dc94d2323affd894c43123425
Merge: c5710bd 949f98d
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Dec 6 15:07:39 2022 +0200

    Fix handling of question mark on windows in default key config

    Fixes #81 on github.

commit 949f98d024aaa27d165c7b52cacb0763ecc45fe1
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Dec 6 15:05:33 2022 +0200

    Update changelog

commit 43b09b17a5ab5cd778e059fd8479c04df3b6d9b9
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Dec 5 13:04:52 2022 +0200

    Fix mapping of question mark to help screen on Windows

commit c5710bd5a614859b5ae67e5853660a76e47c94a2
Merge: f50da4b 19d3fe1
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Dec 6 14:45:50 2022 +0200

    Merge branch 'master' into develop

commit 19d3fe1008ef72e7ae74e12e9888b9cf2deac1ee
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Nov 16 21:44:53 2022 +0200

    Make punctuation consistent

commit b128412a667f8d54fdb0d8183261c801f92af340
Merge: 67cab29 ae3e00d
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Nov 3 11:03:25 2022 +0200

    Merge pull request #80 from Zliced13/patch-1

    Changed README.md to include installation instructions with Scoop, a command line package manager for Windows.

commit ae3e00d55b047e162165a95d1ac2d7f61107cfb5
Author: Kris Schneider <101912712+Zliced13@users.noreply.github.com>
Date:   Wed Nov 2 18:31:39 2022 -0600

    Added Scoop installation instructions.

commit 67cab29ae5b5145bc3382aaf22e8bc9d3010aee7
Merge: 39c4e04 ff0222c
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 23 22:17:04 2022 +0300

    Update README.md about installation on Arch Linux

    Merge pull request #78 from orhun/docs/update_arch_linux_instructions

commit ff0222c1f992e1f54bb36763ae6ca915de319c1f
Author: Orhun Parmaksız <orhunparmaksiz@gmail.com>
Date:   Sun Oct 23 20:22:41 2022 +0300

    Update README.md about installation on Arch Linux

commit 39c4e04f1f657584b66e1502faa0752876c99339
Merge: 6f4d580 653ffc6
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Oct 20 20:16:27 2022 +0300

    Merge pull request #77 from joedf/patch-1

    README: fix Windows CMD for spaces in dir names

commit 653ffc6c9d31c580a7e7f7fdf85604723ab15004
Author: Joe DF <3848219+joedf@users.noreply.github.com>
Date:   Thu Oct 20 13:13:04 2022 -0400

    README: fix Windows CMD for spaces in dir names

commit 6f4d5806079a6cb02bc3eeb4676a21c26282abcb
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Oct 15 18:19:19 2022 +0300

    Update release checklist

commit e5599eaeb11ac21bd14c4e9a6f924d57f3578cf8
Merge: 5dfbe06 f50da4b
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Oct 15 18:07:15 2022 +0300

    Version 1.3.0

    - Add option to toggle filter search mode while the app is running, the default shortcut is `Alt-f` (Github #59)
    - Added option to sort directory listing by creation and modification date in addition to the name. Can be changed with the `--sort` CLI option and with the default shortcut `Alt-s`. (Thanks @joshrdane, Github #64)
    - Added "normal search anywhere" search mode with the `--normal-search-anywhere` or `-N` CLI option.
    - The `--no-gap-search` option has been renamed to `--normal-search`. The old option will still work, but it will display a warning
    - Home / end (i.e. `CursorTop` / `CursorBottom`) now work also while searching
    - Bugfixes related to drawing (Github #65)
       - Fixed last character of rows not being drawn, both in the main screen and help screen (at least on some terminal emulators)
       - Fixed broken bolding in the help screen if the wrapping happens at `/`
       - Fixed broken highlighting if the last character of a symlink is matched in a search
       - Fixed drawing bug when info message is longer than the terminal window width
    - Improved scrolling / cursor position behavior in filter search mode
    - Fix footer not updating when pressing home / end

commit f50da4bed95681d065a2d9a5339142c665746bef
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Oct 15 18:06:31 2022 +0300

    Add release date for v1.3.0

commit aefb5172124975622d58c444ee5841492fec6f5e
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Oct 15 18:06:14 2022 +0300

    Update release checklist

commit a4c234a2112b85d3a0d4826a7d0775cbd0af265f
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Oct 15 18:04:20 2022 +0300

    Bump version number

commit 1092c4d5e0ac4c244dcb00d7caa198c87656a967
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Oct 14 08:22:01 2022 +0300

    Add a todo

commit bfb5287b7cae3a810926d872d81b2b6083cacc16
Merge: 2e24af0 2baaa26
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 22:11:07 2022 +0300

    Add 'normal search anywhere'

    Or in other words "normal search but not from start".

    Fixes #63 on github.

commit 2baaa265bf8002d34bce7b1d19a91aa3d32193de
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 21:58:54 2022 +0300

    Fix warning issued by clippy

commit 53907b7f59d69ccb62d4f4956332875048d7cc7d
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 21:52:44 2022 +0300

    Mention normal search anywhere and deprecation of no-gap-search in changelog

commit da26cd24c015e0d5d9f9a766d0a11aa362cbb81b
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 21:52:16 2022 +0300

    Document --normal-search-anywhere in README

commit d70865735842772ae35d520ded5e5628e7ee4273
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 21:51:59 2022 +0300

    Updat explanation of gap search modes

    Still not perfect, but couldn't come up with anything better for now

commit 36eeb621d1a8f5a978010acec82fe3a136bdbb77
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 21:10:26 2022 +0300

    Improve wording of help text

commit 6c459a35b583da285020ff75e0d262964f12315c
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 20:44:13 2022 +0300

    Apply gap search mode option to settings, add warning for no-gap-search

commit 278af7011234f50d0a320c9958fe00b436235b59
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 20:43:22 2022 +0300

    Update CLI overrides

commit 940ad8a9f1e72b39e284d89ff70f365deb586ab4
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 20:40:23 2022 +0300

    Add long help to normal-search-anywhere

commit 31403d1c276398d2986c4500ba869d7d28816baa
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 17:20:48 2022 +0300

    Add normal-search-anywhere CLI option

commit 6c5380c27159b7d987f197e12679ae9d923cf82c
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 17:09:26 2022 +0300

    Rename no-gap-search to normal-search

commit cb5933b5e4e0f3004f79dd8d112c1ba63eb2d975
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 18:46:34 2022 +0300

    Add a test for deprecated no-gap-search

commit a055f81e1cae0d24a4657352fc3dcd599f20d68a
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Oct 7 17:43:05 2022 +0300

    Add enum variant for 'normal search anywhere'

commit 22d25c1102c18ba2813a69e7335045ba905a8ab0
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Oct 7 09:17:25 2022 +0300

    Rename NoGapSearch to NormalSearch in enum

commit 073bf080502aa82fafd85fea4f8db058ce198f1a
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 08:55:48 2022 +0300

    Fix tests

commit 09467cd006fee5468877448f6aef3ccdccaca1c1
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 13 08:43:01 2022 +0300

    Revert "Add macro for formatting deprecation message"

    We don't need this for now, but it's good to have it in the history in
    case we do.

    This reverts commit 4929133dd3b8545dbe2074836596bbacabc39def.

commit 4929133dd3b8545dbe2074836596bbacabc39def
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:56:18 2022 +0300

    Add macro for formatting deprecation message

commit c141c09a54e334cf52ccc2876262e126a31ff86d
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:41:14 2022 +0300

    Show warnings in info message at startup

commit faa8dd38c2291487ff90cd7a64ac91803d5b5a99
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:05:21 2022 +0300

    Return a list of deprecation warnings from settings init

    The warnings are currently just strings

commit 1ebaa364665c5defc50b3c20298e54b6d4dc39d4
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:00:59 2022 +0300

    Initialize welcome message in app state

commit 2e24af0c3e733c8e465398195c15ef0cbcba6fe2
Merge: a2c23fa fa3bd5a
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 08:53:17 2022 +0300

    Fix behavior of home/end while searching

commit fa3bd5aa37fcd00b311e62c1959a31b1480a13e2
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Oct 4 09:32:44 2022 +0300

    Update changelog

commit b719be7884bb5befee7f26d089cb1847d4ef3322
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 08:40:16 2022 +0300

    Simplify boolean expressions as suggested by clippy

commit c46e374b4630b18e5097fe9bc7156939f31363f4
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Oct 4 09:30:04 2022 +0300

    Rework on_cursor_top_bottom to work also while searching

commit a2c23faa6656d9c1a18de36fcc498602a19d35df
Merge: eaa54bc 7bf0e16
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 08:34:10 2022 +0300

    Fix footer update when pressing home/end

commit 7bf0e163a690e74b9d4bb8ab43dd1be472eeb914
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Sep 30 08:16:20 2022 +0300

    Update changelog

commit f2575f80de4156b17f24e8d420633c981932b5f8
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Sep 30 08:15:22 2022 +0300

    Move on_curosr_top_bottom to be after other cursor-matnipulation methods

commit 032a59d41e6620a940cc4d450707540a32384dee
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Sep 30 08:12:56 2022 +0300

    Redraw footer on home/end

commit eaa54bc3f22beeef65da3945d40fc58d8f69f923
Merge: be1f2b8 4ce4d56
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 08:30:15 2022 +0300

    Merge branch 'master' into develop

commit be1f2b8697f40c4f4ceba4597385d6384cd00b03
Merge: 66d5c54 bdc60d3
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 08:08:48 2022 +0300

    Allow sorting by creation and modification time

    Add CLI option --sort, which can be set to name, created, or modified.

    Notes

    - alt-s cycles the sorting mode
    - Setting the sort flag only sets the starting sorting method.
    - As of right now, history does not keep track of which sorting method was used last per-folder.
    - There is not currently a column displaying the dates associated with the sorting methods when sorting is done by date.
    - The sorting method is shown in the footer as sort:<type> with an abbreviation, to avoid cluttering the info bar.
    - The sorting is always newest first for now.

    See PR #64 on github

    Fixes #27 on github

commit bdc60d360ccd9b99c1b3d87748928ba772fc4b53
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 08:00:15 2022 +0300

    Tweak comments

commit 083efffd333c5efbddc00c71d46dba48cafa3051
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 07:58:56 2022 +0300

    Remove unnecessary whitespace

commit 5a188b1a3a92709b1f4f2b120dcaa80764b3e74b
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 07:47:36 2022 +0300

    Use update_search_matches instead of advance_search with empty string

commit 42437730c95c9e6ab3b9799eeb0d24ca2bee72f1
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 6 08:50:04 2022 +0300

    Fix alignment

commit 4883ae968c169ee3b988d27e728118a03205dc4d
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Oct 6 08:49:23 2022 +0300

    Remove sorting by access time

    Based on my experience, the access time is too fickle to be useful for sorting. Also, on Windows, only the date is preserved, not the time

commit 9bad12803e122187040e2fe403b8d6680a05754d
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Oct 7 08:44:18 2022 +0300

    Mention default shortcut in the output of --help

commit 66a421f2665f723d1d8df3dfee7e408b600c6838
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Oct 7 08:44:06 2022 +0300

    Mention sorting in readme

commit 42c6423b6a8d0d18ab1a9e3925e3b84f19576aa0
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Oct 7 08:18:37 2022 +0300

    Mention sorting in changelog

commit bed2361e0bde70dc35881f2e4150e0edd5d92d17
Author: joshrdane <joshrdane@gmail.com>
Date:   Thu Oct 6 17:20:59 2022 -0400

    Code cleanup

    Co-authored-by: mgunyho <marci.gunyho@gmail.com>

commit d05d5f17626c1b52fd0a49a4b096ba84585cd0c1
Author: joshrdane <joshrdane@gmail.com>
Date:   Thu Oct 6 17:20:12 2022 -0400

    Remove unnecessary unwrapping

    Co-authored-by: mgunyho <marci.gunyho@gmail.com>

commit e45c90fa6122f7ee7ddf5356a9a8b0e2db5acc6c
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Oct 4 21:18:02 2022 +0300

    Remove a redundant todo

commit a1e92b187418540699f47658a5440dd4e9acfc5b
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Wed Sep 28 08:45:29 2022 -0400

    Correct SortMode logic to support filtering and searching.

commit 948da5ecadadb2466575a1bec7efaa28f67e4959
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Wed Sep 28 08:44:07 2022 -0400

    Change adate, cdate, and mdate to accessed, created, and modified respectively.

commit a3b411b8b9386885c802bb75785882316f2005f1
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Wed Sep 28 08:42:26 2022 -0400

    Condense footer sort mode

commit 0a311cfadf08455c387fa04632d2812b382f3a0c
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Wed Sep 28 08:41:33 2022 -0400

    Change ChangeAttributeSortMode to ChangeSortMode

commit bf60ccf355df5993b6e55a3580a270add25ce464
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 23 09:09:27 2022 -0400

    Change help text and move 'sort' to desired position

commit 2199ba7912cb22df5c28513e66ec6810c1aee425
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 23 09:08:41 2022 -0400

    Utilize unwrap_or

commit 9df6cb932f5d87f284c3999678f2db94f6bcd96d
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 23 09:07:31 2022 -0400

    Refactor SortMode naming and remove date from attributes

commit fee60c768615a1fc555d3f3558a541e496a29b8b
Author: joshrdane <joshrdane@gmail.com>
Date:   Thu Sep 22 20:00:28 2022 -0400

    Remove unnecessary space

    Co-authored-by: mgunyho <marci.gunyho@gmail.com>

commit ad2bec0d5209f6b7dc840ad4a7a4da1b3986b225
Author: joshrdane <joshrdane@gmail.com>
Date:   Thu Sep 22 20:00:04 2022 -0400

    Split long line

    Co-authored-by: mgunyho <marci.gunyho@gmail.com>

commit 3f527927fe2fe3946a1ddefa9254755ae3a5ede9
Author: joshrdane <joshrdane@gmail.com>
Date:   Thu Sep 22 19:47:42 2022 -0400

    Use unwrap_or for modified time

    Co-authored-by: mgunyho <marci.gunyho@gmail.com>

commit 70719c951fd4f0039b1815d7ae8b54e5a285de55
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Sep 29 21:38:31 2022 +0300

    Add sort mode to footer message

commit 650434b721e15157a97281ab6f960e3f517668df
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Thu Sep 29 21:31:55 2022 +0300

    Add default shortcut for sort mode change

commit 652ed9c7482049a0d9d2b9472d1996984abfa932
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 13:59:14 2022 -0400

    Implement cycling attribute sorting mode

commit c14dd706b1e55b691efdb7c35f15d52698e747e3
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 13:59:38 2022 -0400

    Implement attribute sorting mode action

commit 507f24b61de3cec3e6906da7b17666ef9fb39fd7
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 13:49:02 2022 -0400

    Implement sort CLI

commit 0c56bed0fec2fcdb953c794a809d1ece51885c92
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 22:36:12 2022 -0400

    Remove redundant TODO

commit 39626b32c3b58c2e3f8a25a1c13fdd3c4d59da71
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 13:48:39 2022 -0400

    Implement logic for attr_sort_mode setting

commit 57522da1b107c041c04165e048c35729578b0226
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 13:39:30 2022 -0400

    Add attr_sort_mode setting

commit 0529d2c9b181388597398d7202fb27d6cdfe207c
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 09:22:16 2022 -0400

    Add SystemTime getters for accessed, created, and modified

commit e1f887bddfc8c72c78f8c490847beb9f5159a85c
Author: Joshua Dane <joshrdane@gmail.com>
Date:   Fri Sep 16 08:43:05 2022 -0400

    Add AttributeSortMode

commit 66d5c54db5f02b6edb0e3169e3dddb1a5e0f5cbb
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Oct 7 09:06:50 2022 +0300

    Add a todo

commit 08a15dec7f49d1259aca09d65b09cf514fcbb8a1
Merge: f869879 58d5ca0
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 07:11:10 2022 +0300

    Fix lints, mostly in tests

commit 58d5ca05d4a3a4ea82051b515c8ab895067b546c
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 07:00:16 2022 +0300

    Fix another clippy warning

commit 7173efa592e631eae18ccab85cd12205a095360d
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Oct 12 06:52:37 2022 +0300

    Fix long lines

commit 19ae08da9f82bd208faeb963194ae986b1934493
Author: Orhun Parmaksız <orhunparmaksiz@gmail.com>
Date:   Tue Oct 11 20:45:42 2022 +0300

    Apply clippy suggestions

commit 5dfbe06e5997798495762ad2e3515a444b1ce89e
Merge: 4ce4d56 cccb548
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Oct 11 07:58:40 2022 +0300

    Merge pull request #74 from orhun/docs/update_readme

    Add AUR installation instructions using paru to README.md

commit cccb548203725bc2c4a2de28a4f5057c3a8d5f94
Author: Orhun Parmaksız <orhunparmaksiz@gmail.com>
Date:   Sun Oct 9 21:43:51 2022 +0300

    Update README.md about AUR installation

commit f869879fb6360c1329facbb3c58619dc1a8f45b0
Merge: f9cd8ab 00a54ee
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:46:38 2022 +0300

    Fix drawing bug when info message is longer than terminal width

commit 00a54ee7ff73aaaecc7006b004f742e66f83e464
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:45:45 2022 +0300

    Fix a typo

commit c291d0587e65e9dafbe034886dbdceead644a0fd
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:45:35 2022 +0300

    Update changelog

commit c88ddb4b9b10d225d1c1a7c0e059770216cf7030
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Oct 9 05:44:10 2022 +0300

    Crop info message when drawing

commit f9cd8abb74a3e55a0b57a7a79e17967524a3f5c1
Merge: 0c3c678 02d65d7
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Wed Oct 5 19:14:47 2022 +0300

    Merge pull request #69 from frazar/fix-unnecessary-parenthesis

    Fix unnecessary parentheses warning

commit 02d65d78cb34aa97471a4dace1a22c28b447bdbe
Author: Francesco Zardi <frazar0@hotmail.it>
Date:   Wed Oct 5 17:32:22 2022 +0200

    Fix unnecessary parentheses warning

commit 0c3c6789e728a7f35be7a24152977e3280c22a46
Merge: bb47988 1f66ce1
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 28 17:14:17 2022 +0300

    Fix cursor wrapping once again

    This time the logic should be sound, with the extra tests.

commit 1f66ce11828c438706e0a30d9ab0f5b87978f127
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 28 17:11:50 2022 +0300

    Fix wrapping logic yet again

    Have to use conversions to isize, otherwise rem_euclid can't do its
    magic.

commit 9cc8f66775a899d9d68ed31e7c039a1f58f5f8af
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 28 17:11:04 2022 +0300

    Add another failing test

commit 44dcbf1a968c30214deca63365c2939d6604a293
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 28 10:21:52 2022 +0300

    Fix wrapping logic

commit a59ae88bd707440e6bca0e77e1ac94318379a407
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:46:12 2022 +0300

    Add failing test for wrapping search

commit bb479884cd2e7c5446496027750b9396e7012d2e
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:32:53 2022 +0300

    Fix drawing when last character of listing matches

commit af981a887822e199b9b0d50da73d4b265a46078f
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:29:57 2022 +0300

    Update changelog

commit 06028a480a8f272157a5d6c91b980ae2067a0551
Merge: 8c373ba b36d0c0
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:24:36 2022 +0300

    Improve scrolling logic with filter search

    Now there should never be items off-screen when advancing the search in
    the filter search mode. This fixes the bug that was causing the test to
    fail. While testing this, found another bug in the behavior of the
    filter search advance/erase, but leaving that for later.

commit b36d0c0a6e980f6b61bf92094283fef074ff2355
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:21:45 2022 +0300

    Improve wording

commit 93835f917afc7deb80be9b3eb7ab0e5326eb5f46
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:21:20 2022 +0300

    Remove unused import, apply fix suggested by clippy

commit 76e7e038f0f955974309ecde062f34e9ef802e28
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:19:51 2022 +0300

    Ignore failing test for now

commit 1ca933359f67f7d10496501bc2a5fad2858fd0cc
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:19:22 2022 +0300

    Add a failing test

    This is out of the scope of this fix, has probably more to do with how
    advance_search / erase_search do scrolling and not with how move_cursor
    works.

commit f5a61585853cedcf17e2637650636575fba1e07c
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 22:18:06 2022 +0300

    Fix off-by-one errors, all tests pass now

commit 013f4f99cab8d847fcd48678ee67b5b56d18703c
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 27 21:44:56 2022 +0300

    Start reimplementing move_cursor with new logic

    Scrolling2 test that used to fail passes now, but there is some other off by one error

commit eff46a3b30a8c4dea93decd3a65962082c6d82bd
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 27 08:13:48 2022 +0300

    Fix a typo

commit 4ce4d56f975c147d3cca91107e6f8184858a38e1
Merge: bac4977 024a36e
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 25 11:15:54 2022 +0300

    Add instructions for cross-compilation

commit 024a36ed0d3023d1eb6b3929ed2e414214d239e9
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 25 11:06:38 2022 +0300

    Mention that macOS is not available for now

commit adce1065e552704b049216f5d68863d596d4ac72
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 25 11:00:38 2022 +0300

    Enable ARM64 compilation

commit 4ca537655f0a507ef02f327d73f06ebf5b640367
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 25 10:59:42 2022 +0300

    Add cargo config file for ARM64 linker

commit 6e60caa93f58697ea596190667e748e69fd47c86
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 11 15:58:46 2022 +0300

    Add instructions for cross-compilation (incomplete)

commit 0180755375b34b48791abbf6cf856f0d11335303
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Aug 6 10:19:50 2022 +0300

    Fix indentation and windows build in build script

commit 9030f86e5bf4a47455071dd710f7af77d339e12b
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sat Aug 6 10:02:34 2022 +0300

    Add more targets to build script

commit bac497757ce988cd1aed7f6f9015dbf7cf2c7a61
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 25 10:12:46 2022 +0300

    Fix typo

commit 31d59584db89cadf6dcee415f463c188884ac033
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 25 10:12:38 2022 +0300

    Emphasize shell config more in the README

    See Github issue #66

commit 8c373ba090c27aede2b3ee756a6853a4f7f99623
Merge: 6b2ab9f 3d841df
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 21 18:25:15 2022 +0300

    Bugfixes to drawing

    - Fixed last character of rows not being drawn, both in the main screen and help screen (at least on some terminal emulators)
    - Fixed broken bolding in the help screen if the wrapping happens at `/`
    - Fixed broken highlightin if the last character of a symlink is matched in a search

commit 3d841dfa2bd2cf36127dcecec21a030bca09d151
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 21 18:24:41 2022 +0300

    Update changelog

commit 465ef4f8e0e3007b2d5e497f0b2c44de602fe63b
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 21 18:21:35 2022 +0300

    Fix warnings reported by clippy

commit f99711bc28bcf3b0a2e2da0a7bdc5c179b2434a1
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Wed Sep 21 18:19:12 2022 +0300

    Fix broken highlighting when the last character of a symlink matches the search

commit 0d2a8fddffda8726318ff960fd0871910cee93ed
Merge: 8a67208 6b2ab9f
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 20 20:54:35 2022 +0300

    Merge branch 'develop' into drawing-fixes

commit 6b2ab9fdea999e3a35be388f028dd720843e2b29
Merge: 382299f 526bf33
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 20 20:49:12 2022 +0300

    Add keyboard shortcut to toggle filter search

    Shortcut is alt+f by default.

    Also contains some refactoring: the settings struct is now private and
    can be only modified via specific setters, so that the app state is
    never inconsistent. Factored out also some helper methods.

commit 526bf33039f5ff8d87c8eae3a74a5cf14ac8b145
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 20 20:46:06 2022 +0300

    Update changelog

commit 4166dd5eebf71292b00a6c29d0cffc3d3a7dc507
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 20 20:41:46 2022 +0300

    Use on_matches_changed in search mode change functions

commit 23b0a136fe19cdeb11efd0f64d47c56519cafcd4
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 20 20:41:25 2022 +0300

    Factor out method for when the search is updated

commit 8a67208fa7679314fb6781ed6ab43d05b0a5c187
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 20 09:14:15 2022 +0300

    Remove unused imports

commit 870733add07f8c35ab611f29af5034abcff76817
Merge: 7aa69e0 48bf0b3
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 20 09:08:31 2022 +0300

    Fix bolding when line is wrapped at non-whitespace character

    The problem was that if textwrap applies wrapping at a non-whitespace
    character (such as '/'), it effectively adds an extra newline, which
    causes the extracted bold locations to be out of sync. Now I changed it
    to use fill_inplace, which always only wraps at whitespace (because it
    has to reuse the original string), which avoids this problem (it also
    slightly modifies the wrapping results, but this is fine).

commit 48bf0b37f45670cc543de5988ec404e14f43e711
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 20 08:59:40 2022 +0300

    Do text wrapping using fill_inplace and remove empty items

    This fixes the behavior

commit d606191db0c877096e31a3d957ab7f4e693fc328
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 20 08:57:10 2022 +0300

    Update test to match new expected behavior

    There should be no split in the middle of the bolded section.

commit 24bea392f51af50f1fbd3e61d2acfe7d709aa7e2
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 20 08:43:07 2022 +0300

    Use wrap_and_stylize in test

commit 4e60c8d604df9d55f8c71658184289ace0c42ad5
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 20 08:40:23 2022 +0300

    Add separate function for applying wrapping and stylize

    This should help make tests more sensible

commit 5963fd24816bfa5b913e1c474d176d0bdb0f2cbf
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 11 17:07:51 2022 +0300

    Add extra tests to fix bold locations

commit bb43cfda1f03cf4246f860ba2dd285d2583049e5
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 19 14:00:25 2022 +0300

    Fix behavior of search mode change funcitons

    Revert to calling advance_search("") in search mode changes. This is a bit hacky as mentioned, but it makes more sense to do this inside the methods of the app state than having to do it in the UI. This is towards the ideal that the app state should always be consistent.

commit df959f99928ea67eb7e29e98213f34d999c012b7
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 19 13:56:37 2022 +0300

    Add test for case sensitive mode change

commit df09f72b714e1914663ba19337e0aa1f9a8e7f1c
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 19 13:44:07 2022 +0300

    Make set_filter_search not a one-liner

commit 69bdc4c544a856a60a84316b10ce99a455c676f3
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 19 12:24:27 2022 +0300

    Add a usage note to with_cursor_fixed_at_current_item

commit e775f18a977e837d42465b85ae0ef6e269865c5a
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 19 12:23:10 2022 +0300

    Fix typos in test

commit 66215b04956a5c52e15c9270fb7d498f50bb789e
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Sep 16 17:59:46 2022 +0300

    Add more (failing) tests for changing search modes

commit 44d72039d14761c54161349eca76159274f3b2af
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Fri Sep 16 17:40:20 2022 +0300

    Remove todo, I think this is redundant now

commit 7aa69e017826571976ba6eb1ae3ede7db24e9f1e
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Sep 15 09:45:12 2022 +0300

    Only clear until newline if necessary

    This prevents the last character of a row from being eaten

commit 1cb6320444a7dd3e0c233b1ae1a3995f8e886aa1
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Sep 15 09:37:51 2022 +0300

    Rename (w, h) -> (width, height)

commit ace559a6669b67b6d592c98f2917317041f7e5f9
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Sep 15 09:37:23 2022 +0300

    Use cursor movement commands instead of printing newlines

commit cf5589f4a194bee275ee3a5881966de94e66de53
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Thu Sep 15 09:00:55 2022 +0300

    Fix drawing of long main window lines and incorrect clear when highlighting

    Looks like we really need to manually keep track of the window width vs
    the no. of printed characters.

commit b445c7050971f4e4bebc47699e5aa02e2337c2ff
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Tue Sep 13 21:00:37 2022 +0300

    Update release checklist

commit 620643c86e7a575a0f5bcd3175c836335c3ae175
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 13 05:53:49 2022 +0300

    Fix a typo

commit bb6814d001760cb04c09c376d8d2d77445f780d8
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 13 05:52:13 2022 +0300

    Remove redundant advance_search

    Not needed anymore now that we properly update the state when changing
    the search mode using setters. Was a bit of a hack anyway

commit f0d1082698c97feb6266e1742cd8631ffe83de79
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 13 05:40:19 2022 +0300

    Update README

commit 60260f8f1912a4db2301facd963fc243b437464d
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 13 05:38:29 2022 +0300

    Factor out method for performing operation that keeps cursor fixed

commit c96ce20da6187727965131b6d91ce422de2d30d7
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 13 05:04:20 2022 +0300

    Add setters for case sensitive and gap search modes

commit 8ca95e0be08a219242a5787edc5b7089db91a8c9
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Tue Sep 13 05:02:53 2022 +0300

    Use set_filter_search in test

commit 7b79aedb82f4d7fb9b4826857a4e2228cbc7c271
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 12 19:10:08 2022 +0300

    Add method that updates the filter search state while keeping the state consistent

commit c1af90be72ef2eec2e72840c901e244aca415a19
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 12 11:07:29 2022 +0300

    Fix tests

commit 616eb05933b7e42f29230fbfc1977af50f471787
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 12 11:03:19 2022 +0300

    Fix usage of settings after adding getter

commit 88771efa94eda125ea331ceada3fcdc652257d78
Author: Marton Gunyho <andras.gunyho@aalto.fi>
Date:   Mon Sep 12 10:59:38 2022 +0300

    Make app state settings private and accessible via getter

    The plan is to make it possible to modify only via methods.

commit 2a30c0f4160cf5ce5a9b422e157a8bc2635f48b8
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 11 11:38:24 2022 +0300

    Add failing test when filter search mode is toggled

commit 1eec70d7a03b3d5691b6d4ac9b23e4fb65a73b1a
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 11 11:37:19 2022 +0300

    Mention default shortcut for filter search in help

commit bccfafeaf87102f1cd7cc01d7e965c19e10c8fc0
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 11 11:22:32 2022 +0300

    Add default mapping for toggling filter search mode

commit e9ae63c8dde4bc83edde93d6cc0631aa32400420
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 11 11:22:04 2022 +0300

    Toggle search mode in the UI loop

    This is broken, needs testing & fixing

commit 3eb83513e3d41fe9b3c58d4c8caef902fb04a71c
Author: mgunyho <marci.gunyho@gmail.com>
Date:   Sun Sep 11 11:15:59 2022 +0300

    Add action for changing filter search mode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant