summaryrefslogtreecommitdiffstats
path: root/src/commands
AgeCommit message (Collapse)Author
2022-10-20Add linemode feature and first simple linemodes (#206)DLFW
This adds the basic ability to change the representation of files in the TUI detailed dir list by letting the user choose a certain "linemode". As of now, there are only three simple linemodes, all showing the filename on the left side and a preceding symlink indicator in the beginning of the right label as usual. The "size" linemode shows the right label as it has been up to now. The "mtime" linemode shows the mtime of the file or directory. The "sizemtime" linemodes combines both meta-data. The user can change the linemode like so: ``` :linemode [size|mtime|sizemtime] ``` Default keybindings have been added: ``ms`` for *size*, ``mm`` for *mtime*, and ``mM`` for *sizemtime*. The selected linemode is specific for each tab. A new tab always starts with the *size* linemode. Possible enhancements: * Move the code for factoring a label out of the ``tui_dirlist_detailed`` module to some UI-independent module * Add a configuration option for the default linemode for new tabs * Add further simple linemodes * Generic support for linemodes with only one “full line label” * Add support for custom linemodes where a label is constructed by an external script
2022-10-17add `filter` command (#205)Noah Too
* add `filter` command * cargo fmt
2022-09-11use Result instead of Option for parsing config filesJeff Zhao
2022-09-11add mimetype support via file commandJeff Zhao
2022-09-04show how many files are selected in the footerJeff Zhao
2022-09-03add symlink relativeJeff Zhao
2022-08-31tab_switch_index can open more than 1 tab if given number is largerJeff Zhao
2022-08-31rework previews to have loading state as wellJeff Zhao
2022-08-31use hashmap and uuid to store tabs (#194)Jeff Zhao
This is preliminary changes in order to track preview threads and progress. The current setup is we just kick off a new thread to load the given directory whenever we see the directory content does not exist in history. We don't track these threads or which tab these requests came from. When the result is returned, we just assign it to the current tab, instead of the tab that actually initiated the request. By adding uuid, we can now track which tab requested the preview and assign it accordingly. This will also allow us to track the status of the preview, so we can display to the user a loading state, when a directory is taking longer than usual to load. This will also solve the problem of kicking off multiple threads to read the same directory for the same tab. Now these threads can be stored and tracked. - side: fix reload not honouring tab sort options - use tab specific options whenever we need to reload stuff
2022-08-30Merge branch 'main' of github.com:kamiyaa/joshutoJeff Zhao
2022-08-30Add "Visual-Mode" (#192)DLFW
* Add "Visual-Mode" This adds a "visual-mode" file selection feature where a range-selection follows the file-cursor. Description of usage is added to the docs. Also, the "normal" and the new "visual-mode-selection" are now preserved when a `DirList` is reloaded. Wrap-up of changes: * Add command `toggle_visual`, mapped to `V` * Add command `escape`, mapped to `ESCAPE` * Add style `[visual_mode_selection]` for file entries which are "temporarily" selected by visual-mode * For `JoshutoDirEntry`, the attribute `selected` has been renamed to `permanent_selected`, and a second selection-attribute `visual_mode_selected` has been added. "Setters" and "getters" have been adapted/added accordingly. The former "getter" for the `selecetd` attribute still exists and returns `True` for an entry which is "permanant selected" _or_ "visual-mode selected". So any higher logic which acts on selected files does not need to care about "how" and entry is selected. * Each `JoshutoDirList` has an optional index of the file where visual-mode has been entered and re-calculates the "visual-mode selecetd" status for each entry any time the cursor-index changes. * The footer has been extended so it shows a "VIS" marker when the user is in visual-mode. This implementation of visual-mode is a bit different from the ranger one, where the visual-selection is turned into a "normal selection" when a command (like `copy-files`) is issued. This implementation keeps both selections separate until the user toggles back to "normal mode". Only then the visual-selection is taken over to the "normal selection". The user also can withdraw the visual-selection with `escape`. The `escape` command may be used also for other "reset"-actions in the future. * fix syntax for Rust stable * cargo clippy
2022-08-29add lazy static initalizations to make sure configs are initialized at the ↵Jeff Zhao
right time
2022-08-13Sort options individual per tab (#191)DLFW
Sort options (sort criterion, reversion, dir-first, and case-sensitivity) are specific for each tab. Changing sort-options will not have any affect on tabs other than the currently active one. Each new tab will start with the default sort-options.
2022-08-01cargo clippyJeff Zhao
2022-08-01add `symlink_files` commandJeff Zhao
2022-08-01add delete_files with foreground optionJeff Zhao
2022-07-24make ambiguous command message more clearJeff Zhao
2022-07-19add --file-chooser optionJeff Zhao
- now if --output-file is not specified, output will be sent to stdout
2022-07-18asynchronize delete operationJeff Zhao
2022-06-29rename TuiBackend to AppBackendJeff Zhao
- fix initial view not correctly offset
2022-06-28fix bulk_renameJeff Zhao
2022-06-28cargo fmtJeff Zhao
2022-06-27fix bulk_rename logic errorJeff Zhao
2022-06-27fix confirm_exit not workingJeff Zhao
2022-06-23fix open not opening filesJeff Zhao
2022-06-22Add `flat` command (#177)Noah Too
* add `flat` command * fix bulk_rename command * fix `open_file` commands * update docs * fix errors found by clippy * fix errors found by clippy::unnecessary-to-owned * fix open and open_with commands * fix: crash on root dirs
2022-06-08update dependenciesJeff Zhao
2022-05-30fix some clippyJeff Zhao
2022-05-26Merge branch 'main' of github.com:kamiyaa/joshutoJeff Zhao
2022-05-26split up keymaps into different modesJeff Zhao
2022-05-23Add GitHub workflow for Clippy (#173)Dany Marcoux
* Add GitHub workflow for Clippy Closes #158 * Fix errors found by clippy::needless-borrow https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow * Fix errors found by clippy::collapsible-else-if https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if * Fix error found by clippy::single-match https://rust-lang.github.io/rust-clippy/master/index.html#single_match
2022-05-04Merge branch 'main' into devJeff Zhao
2022-05-04remove stderr capture for zoxide interactiveJeff Zhao
2022-05-04cargo fmtJeff Zhao
2022-05-04add 'zoxide add' and parsing zoxide errorsJeff Zhao
2022-05-04move input.rs to process_event.rsJeff Zhao
2022-05-03add pbcopy to support macos file ops (#166)Ting Zhou
2022-05-03inform user how many files was selected when glob selectingJeff Zhao
2022-05-03add initial support for zoxideJeff Zhao
2022-04-22combine --output-dir and --choosefiles into a single argumentJeff Zhao
--output-file is used for all output by joshuto and can be specified what to output by: `quit --output-current-directory` `quit --output-selected-files`
2022-04-20add H, L and M vim actionsJeff Zhao
2022-04-17cargo fmtJeff Zhao
2022-04-17code cleanupJeff Zhao
2022-04-17track child processes and properly close them when completeJeff Zhao
2022-04-09selected files now indented like rangerJeff Zhao
2022-03-02Try all options when opening files (#150)sushi-shi
2022-02-24Fix clippy warnings (#144)sushi-shi
2022-02-24Move half page (#143)sushi-shi
* Add console shortcuts * Add support for proportional page movements
2022-02-23Add incremental search (#140)sushi-shi
2022-01-26Fix: remove image preview on bulk rename (#132)Noah Too
* Fix: remove image preview on bulk rename * cargo fmt