Commit Graph

1764 Commits

Author SHA1 Message Date
Kovid Goyal
17c84383f7 Dont store abspath on each result
Optimisation as abspath is calculated in hot path. Instead calculate on
demand.
2025-06-26 19:21:04 +05:30
Kovid Goyal
4256fa5418 Dont recurse into symlinks
Allows us to get rid of expensive tracking to avoid symlink loops.
Users can explicitly change dir to a symlinked dir to select from it.
2025-06-26 19:02:28 +05:30
Kovid Goyal
271f51c55f Use a set instead of map for seen dirs 2025-06-26 17:37:44 +05:30
Kovid Goyal
7bba758b39 Add basic scoring test 2025-06-26 16:39:11 +05:30
Kovid Goyal
2737a1cb8f Dont use randomised data for benchmarks
Use a fixed seed for repeatability of the benchmarks
2025-06-25 19:38:53 +05:30
Kovid Goyal
18d0dda248 micro-optimization: compare using bytes.Compare instead of string based comparison 2025-06-25 17:39:29 +05:30
Kovid Goyal
361792c922 Add some benchmarking for choose_files 2025-06-25 17:28:23 +05:30
Kovid Goyal
980d4dc425 Add tests for as_lower 2025-06-25 11:50:46 +05:30
Kovid Goyal
536c470271 Move locking into its own method 2025-06-25 11:12:19 +05:30
Kovid Goyal
d70afc285c Dont break loop on dir read error 2025-06-25 08:54:11 +05:30
Kovid Goyal
0ec6dc4ef8 DRYer 2025-06-25 08:41:27 +05:30
Kovid Goyal
324b95f825 Fix recursion into symlinks to dirs 2025-06-25 08:35:38 +05:30
Kovid Goyal
37e9d2435b ... 2025-06-25 08:07:01 +05:30
Kovid Goyal
c3c4ecb135 Use an arena for sorting lowercase allocs 2025-06-25 08:03:44 +05:30
Kovid Goyal
57adff46d7 Faster sorting of dir entries 2025-06-25 06:40:15 +05:30
Kovid Goyal
ccfd1d406e switch to a breadth first traversal 2025-06-24 22:01:49 +05:30
Kovid Goyal
7c6fa2db57 micro optimization 2025-06-24 21:18:56 +05:30
Kovid Goyal
6b07ad7ba4 When scores match tie break with length 2025-06-24 21:17:02 +05:30
Kovid Goyal
b8d53208ea string representation for combined score 2025-06-24 20:54:51 +05:30
Kovid Goyal
2426705a50 Do scoring in limited batch sizes for responsiveness 2025-06-24 20:42:32 +05:30
Kovid Goyal
18253114be finish wiring up the new scanning code 2025-06-24 20:03:51 +05:30
Kovid Goyal
8b51f4da87 Refactor scanning code
Only use channels for signalling, have worker threads append to results
array directly since this is thread safe
2025-06-24 11:28:51 +05:30
Kovid Goyal
909671f508 Nicer error message when user tries to run kitten with allow_remote_control from command line 2025-06-22 09:26:54 +05:30
Kovid Goyal
9de6bfbbd7 More work on choose files kitten 2025-06-19 11:43:12 +05:30
Kovid Goyal
e1a25a963c More work on choose files kitten 2025-06-18 17:21:05 +05:30
Kovid Goyal
8aeb1ae6eb Implement merging of fzf results 2025-06-11 07:08:43 +05:30
Kovid Goyal
ecb342fb32 Start work on integration fzf code into choose files 2025-06-10 06:50:20 +05:30
Kovid Goyal
579c380a72 Only store the file type bits not the full os.DirEntry in the result struct 2025-06-06 20:01:59 +05:30
Kovid Goyal
d8410dff24 Ensure positions are always sorted when rendering 2025-06-06 19:50:01 +05:30
Kovid Goyal
a783d4932e ... 2025-06-03 20:44:06 +05:30
Kovid Goyal
6880ecaa28 Work on save file name mode 2025-06-03 20:27:14 +05:30
Kovid Goyal
23a21a60bd Output selected items 2025-06-02 10:30:23 +05:30
Kovid Goyal
a16ad78de8 ... 2025-06-02 08:56:28 +05:30
Kovid Goyal
ad41c365c8 Dont score files when browsing only directories 2025-06-02 08:43:23 +05:30
Kovid Goyal
7ab37116d7 Implement only dir selection mode 2025-06-02 08:35:35 +05:30
Kovid Goyal
618f864c77 ... 2025-06-01 13:29:56 +05:30
Kovid Goyal
bd2d15406a Use a better icon for home folder in results title 2025-06-01 13:20:38 +05:30
Kovid Goyal
f81e441b15 Update TODO 2025-06-01 13:11:53 +05:30
Kovid Goyal
d1faccdd1c Loop API print proper stack traces for panics in go routines 2025-06-01 12:51:59 +05:30
Kovid Goyal
8d3b3f527c Let the user control recursion using the search pattern 2025-06-01 12:23:18 +05:30
Kovid Goyal
219a6fbd3e ... 2025-06-01 09:09:30 +05:30
Kovid Goyal
4d77c8739e Prefer lowercase entries
Also recurse to depth 1 by default. This matches behavior of GUI file
select dialogs and prevents perf problems
2025-06-01 09:01:43 +05:30
Kovid Goyal
cb477bfcfc Implement shift+tab to move up a level 2025-06-01 08:24:16 +05:30
Kovid Goyal
3e4e64c2b6 Implement Tab to change current dir 2025-06-01 08:16:56 +05:30
Kovid Goyal
62580c855b Make mypy 1.16 happy 2025-05-30 10:06:38 +05:30
Kovid Goyal
d2b871da68 ... 2025-05-28 12:05:28 +05:30
Kovid Goyal
22b52bb0b7 Add TODO 2025-05-26 06:13:20 +05:30
Kovid Goyal
986d441f38 ... 2025-05-25 14:38:40 +05:30
Kovid Goyal
d4a469475b Use half the force Luke 2025-05-25 14:36:07 +05:30
Kovid Goyal
bfc5b03ee1 Use the frame Luke 2025-05-25 14:17:09 +05:30