100 Commits
Author SHA1 Message Date
chylex c606834302 WIP 2023-09-16 05:18:56 +02:00
chylex aef1a0011b Refactor construction of filesystem action map 2023-09-07 00:30:23 +02:00
chylex 63b56de63f Move custom slab-tree node logic into included sources 2023-08-27 14:46:19 +02:00
chylex dace27d259 Move slab-tree extensions to the included sources 2023-08-27 13:34:50 +02:00
chylex 5f332677a7 Include slab-tree package sources in the repository 2023-08-27 13:34:39 +02:00
chylex 995e0fc8f8 Move filesystem tree functions out of the layer implementation 2023-08-27 11:55:06 +02:00
chylex 020439d813 Migrate old filesystem events to new generic layer events 2023-08-27 09:17:19 +02:00
chylex d04fc62033 Introduce layer events 2023-08-27 09:17:19 +02:00
chylex 38edfff874 Support longer prefix strings in input field overlay 2023-08-26 15:53:52 +02:00
chylex df04593aab Replace verbose Box constructions with generics 2023-08-26 14:09:36 +02:00
chylex 95c12d4f61 Close input field overlay when pressing backspace with empty input field 2023-08-06 04:23:50 +02:00
chylex e59ecf2f08 Add prefix string to input field overlay 2023-08-06 04:21:16 +02:00
chylex c27d9d7401 Change input field text color to black 2023-08-06 04:21:15 +02:00
chylex c9fe9f8f0e Prevent cursor jumping after deleting a file by re-selecting file that was below the deleted file (instead of above) 2023-08-05 04:38:43 +02:00
chylex bdd25b89e3 Move wsl.sh to scripts folder 2023-08-05 04:19:52 +02:00
chylex 19623d745a Update wsl.sh to install cmake from default repositories 2023-08-05 03:45:07 +02:00
chylex c44c0691c9 Add README 2023-08-05 03:44:55 +02:00
chylex 7519472a43 Add build scripts 2023-08-03 19:52:21 +02:00
chylex 4930a5b08c Release 1.0.0 2023-08-03 18:34:59 +02:00
chylex 99ff38b725 Add command line argument to print app version 2023-08-03 05:24:35 +02:00
chylex 2ccfb1c41a Add Dockerfile for building the app 2023-08-03 04:57:52 +02:00
chylex a1e574215f Hide columns that only show question marks on Windows 2023-08-03 04:30:13 +02:00
chylex 92b483d792 Show single-digit file sizes with decimal part 2023-08-03 02:43:51 +02:00
chylex 1601e95dc7 Make message dialog text left-aligned 2023-08-02 20:30:44 +02:00
chylex 8bd8620980 Rename file actions 2023-08-02 18:18:43 +02:00
chylex 78b85e67c1 Refactor and update actions to create file or directory 2023-08-02 18:18:43 +02:00
chylex 79b7773668 Speed up counting files for deletion prompt 2023-07-30 14:11:43 +02:00
chylex df6a5f55c3 Refactor action to delete file or directory & count how many files will be deleted 2023-07-30 12:42:43 +02:00
chylex 88c9d0cf59 Refactor action to edit file or directory & fix refreshing when editing root folder 2023-07-30 09:55:01 +02:00
chylex 97b2dac354 Add spaces around dialog titles 2023-07-30 01:11:45 +02:00
chylex 50f8ac115f Ensure only the top-most layer controls cursor visibility 2023-07-30 01:04:22 +02:00
chylex 680a5c35d1 Add action to rename file or directory 2023-07-30 00:37:53 +02:00
chylex 14c98c0b1a Do not resolve symlinks in FileEntry & do panic on non-absolute paths 2023-07-29 22:04:33 +02:00
chylex c9996a7a1a Add input field dialog 2023-07-29 20:01:13 +02:00
chylex ee7e37f4e9 Change some generics to impl parameters 2023-07-29 19:53:07 +02:00
chylex 91e7b2d739 Reorganize filesystem movement actions 2023-07-29 11:42:52 +02:00
chylex 9275057402 Add support for moving caret in input field w/ new key bindings 2023-07-28 13:42:03 +02:00
chylex dda2457c75 Refactor message dialog construction and display messages underneath selected file 2023-07-25 13:22:42 +02:00
chylex 0abef22f73 Fix movement to previous/next sibling using wrong fallback logic 2023-07-25 04:50:15 +02:00
chylex 84eb095608 Add generic movement action with fallback 2023-07-25 04:50:15 +02:00
chylex 886824cc25 Add extension methods for accessing slab_tree node ids 2023-07-25 04:50:15 +02:00
chylex 8f2934d970 Add action to jump between first and last sibling 2023-07-25 04:50:15 +02:00
chylex 2f98421db7 Add horizontal navigation actions that expand/collapse first 2023-07-25 04:50:15 +02:00
chylex fc7a9bdeda Refactor tree structure change notifications 2023-07-25 03:56:58 +02:00
chylex 968ddf6d48 Add action to redraw screen 2023-07-24 07:05:38 +02:00
chylex 7d2395273b Add support for expanding multiple depths of filesystem tree nodes 2023-07-24 04:07:26 +02:00
chylex c408cdb8c8 Enable more clippy warnings and fix them 2023-07-24 04:06:04 +02:00
chylex 94e0ef4b7d Add movement actions to go to a specific line, or to the first or last line 2023-07-23 09:41:52 +02:00
chylex d50f4b5e57 Add alternative key bindings for existing movement actions 2023-07-23 09:37:23 +02:00
chylex 753898f6e0 Limit count to 99999 with an error message if exceeded 2023-07-23 08:24:58 +02:00
chylex c18f89835d Implement count support for existing movement actions 2023-07-23 08:19:20 +02:00
chylex 4b4d7d5f71 Add count register 2023-07-23 05:20:14 +02:00
chylex 718a91b5bf Improve key binding error messages 2023-07-23 02:23:23 +02:00
chylex c05bc51c78 Add full modifier key names to key binding parser & make simple characters with modifiers case-insensitive 2023-07-23 02:10:44 +02:00
chylex bf1b922267 Respect terminal's default background color 2023-07-10 00:18:48 +02:00
chylex ab1327ee87 Add action to edit a file or directory 2023-07-01 13:50:45 +02:00
chylex b3f2a1ed14 Refactor filesystem layer events 2023-07-01 13:30:15 +02:00
chylex 2db21902a8 Add action result that redraws the whole screen 2023-07-01 13:13:07 +02:00
chylex e0d2ed02fe Add actions for moving by a ratio of the page screen 2023-07-01 10:35:58 +02:00
chylex 843ef4ffe4 Make movements to next/previous sibling go up a level when reaching the last sibling 2023-06-28 03:14:36 +02:00
chylex 5014470419 Add action to create a directory 2023-06-28 01:19:37 +02:00
chylex 5d8988884b Add action to create a file 2023-06-28 01:17:37 +02:00
chylex 22870eb684 Add Ctrl-C shortcut to quit the program 2023-06-28 00:07:15 +02:00
chylex a38716870b Add support for modifier + letter key bindings 2023-06-28 00:07:15 +02:00
chylex 670a18d105 Change style of key bindings in dialogs 2023-06-28 00:07:15 +02:00
chylex 6c70158974 Add input field widget 2023-06-27 23:56:24 +02:00
chylex 207cfa79e7 Disable terminal raw mode if the program panics 2023-06-26 05:06:00 +02:00
chylex a47cf04075 Rewrite key bindings to support key sequences 2023-06-26 05:05:57 +02:00
chylex 42dbbb91f4 Add action to refresh children of selected folder 2023-06-25 05:12:09 +02:00
chylex 6576e3a0c9 Add action to delete a file/folder 2023-06-24 15:06:22 +02:00
chylex c2506a44a4 Add message dialog UI layer 2023-06-24 15:06:22 +02:00
chylex fd11f3ce37 Migrate rendering to ratatui library 2023-06-05 05:47:51 +02:00
chylex 39dd22ba61 Introduce layers for stacking UI components 2023-06-01 12:33:41 +02:00
chylex 225c7cb7c7 Fix not refreshing column widths when traversing up 2023-05-31 05:20:45 +02:00
chylex e1a2f8bed0 Split filesystem tree into a model and view structure 2023-05-31 05:19:35 +02:00
chylex 9a2b847337 Move actions from gui module to state module 2023-05-21 19:28:36 +02:00
chylex cf5a7bb1dd Remember column widths to stop columns from jumping when scrolling 2023-05-21 12:06:36 +02:00
chylex 39b5260731 Color file names based on kind and executability 2023-05-21 06:14:56 +02:00
chylex 7dd3975808 Add column with file size 2023-05-21 06:14:56 +02:00
chylex 6c30ecb14e Remove debug statement when expanding nodes 2023-05-21 06:14:56 +02:00
chylex 99bc02c077 Fix int_len function for zeros 2023-05-18 16:19:26 +02:00
chylex 4515e771a4 Add column with file owner 2023-05-18 15:40:54 +02:00
chylex a58ba5cfd9 Extract code for rendering fixed-width columns and make it more robust 2023-05-18 03:57:47 +02:00
chylex a29d2a832f Fix rendering file name multiple times before truncation 2023-05-18 03:57:47 +02:00
chylex f5199ea52f Refactor UI component rendering 2023-05-18 03:57:46 +02:00
chylex 055842453b Fix key handling and file name truncation on Windows 2023-05-17 13:05:35 +02:00
chylex 2468e1ce8b Fix compile errors on Windows 2023-05-17 13:00:41 +02:00
chylex 64d8eddb45 Optimize size of release builds 2023-05-17 07:43:38 +02:00
chylex 88e0720268 Add column with modification date and time 2023-05-17 07:43:38 +02:00
chylex 8ec8fe3c1f Refactor code for file tree rendering 2023-05-17 05:33:50 +02:00
chylex bd29854f02 Align permissions & truncate file names when there is not enough space 2023-05-17 01:08:28 +02:00
chylex d74e229e0b Add actions for moving between siblings 2023-05-16 04:10:48 +02:00
chylex 3af982c95b Add action to move to parent and traverse up to filesystem root 2023-05-16 00:36:27 +02:00
chylex a2f9a8d339 Add command line argument for specifying the root path 2023-05-16 00:36:27 +02:00
chylex d6e45a09a2 Add view scrolling 2023-05-16 00:36:27 +02:00
chylex e24b21e983 Add basic actions 2023-05-16 00:36:27 +02:00
chylex 897fad173c Add basic file tree rendering 2023-05-15 08:08:18 +02:00
chylex cdad6f27c1 Create structures for representing file metadata 2023-05-15 01:58:48 +02:00
chylex 5e1a438f2d Add WSL setup script 2023-05-15 01:22:25 +02:00
chylex 72b7345cd5 Add Rust project 2023-05-15 01:22:23 +02:00