summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2024-04-03Zoxide related features (#506)HEADmainChristoph Jabs
* make `:z` act more like zoxide before checking the zoxide database, check if the query is a directory that can be navigated to as by `:cd` also interpret `~` and `-` correctly * optionally track all movement in zoxide Add new config option `zoxide_update` with default false. When manually enabled, all directory navigation (via manually navigating or `:cd` and `:z`) will update the `zoxide` database. Since navigation via `:z` always updates the database, ensure that it doesn't update it twice. * support arguments for zoxide interactive support for `:zi <args>` where arguments are used to prefilter the matches provided in the interactive zoxide prompt * allow command aliases with arguments note: only aliases that do not contain spaces can be used with arguments since either the entire command or only the first word are checked against the aliases
2024-04-03feat: add support for %s and %p as first argument to subprocess commands (#515)Azad
* feat: add support for %s and %p as first argument to subprocess commands * Minor change * Simplify * Display exit status correctly
2024-04-03feat: add `--last` option to `new_tab` command (#517)Azad
* feat: add `--last` option to `new_tab` command * Better flag detection * Even better flag detection
2024-03-29add back confirm_exit optionJeff Zhao
- pager seems a little buggy at the moment with long running processes or processes that have a lot of output
2024-03-23fix commands with pager enabled capturing unwanted inputdevJeff Zhao
2024-03-14feat: add `--reverse` flag to sort methods (#507)Azad
2024-03-14fix: restore line numbers (#511)Azad
* fix: restore line numbers * clippy
2024-03-14fix: hey use username not real name :D (#509)lali
Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch>
2024-03-10fix open file not working with case_insensitive_extJeff Zhao
2024-03-10rename case_sensitive_ext to case_insensitive_extJeff Zhao
- make case_insensitive_ext option work with themes as well
2024-03-10refactor code to reduce clonesJeff Zhao
- move a lot of methods into functions - printing icons is moved to rendering section
2024-03-10Merge branch 'main' into devJeff Zhao
2024-03-10move preview area into PreviewContextJeff Zhao
- move a bunch of methods out into functions
2024-03-10feat: add `case_sensitive_ext` option for mimetype, theme and icons (#497)Azad
* feat: add `case_sensitive_ext` option for mimetype, theme and icons * Clone `CONFIG_T` instead of initializing it twice * Reimplement without `CONFIG_T` as static ref * Clippy & fmt
2024-03-10cargo clippyJeff Zhao
2024-03-10fix theme not using prefixJeff Zhao
2024-03-10fix: path autocompletion (#502)Azad
2024-03-10fix: clear numbered command buffer on cursor move (#505)Azad
2024-03-10Add `capture` and `stdout` commands (#495)DLFW
This adds two new commands as a base to enable users to use the output of scripts to do certain actions in Joshuto. The first command this adds is a third command to start a sub-process beside `shell` and `spawn`, called `capture`. Like `shell`, `capture` is running blocking but unlike `shell`, it does not release the terminal but captures the `stdout` of the sub-process and stores it in an `AppContext` attribute. The second command added by this commit is `stdout`. This command takes the output from the last `capture` run, stored in the `AppContext` attribute, and uses it for some action. The action has to be specified as a sub-command. As of now, only `stdout cd` is implemented. This checks that the last output of `capture` is a single line of an existing file or directory and then changes the working directory to that. To get significant value from these new commands, `capture` needs to be equipped with more variables to feed more information about Joshuto's state into external scripts, and `stdout` needs to get some more sub-commands.
2024-02-27fix: escape `'` char in trash operations (#501)Azad
* fix: escape `'` char during trash operations * clippy
2024-02-27feat: use a pager instead confirm_exit (#498)lali
* Use a pager instead confirm_exit Read the $PAGER environment variable. If it's not set, simply use 'less'. * update mimetype config Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch>
2024-02-27ratatui-image widget for image previews without scripts (#467)Benjamin Grosse
_Disclaimer: I'm the author of ratatui-image._ Use [ratatui-image](https://github.com/benjajaja/ratatui-image) crate to render images. No script or hook setup is required.
2024-02-21Make mouse support configurable (#494)Mroik/PositiveC
* Make mouse sup configurable instead of build feat * Add mouse_support to docs * Add mouse_support to default config * Don't capture mouse on mouse_support = false * Fmt pass
2024-02-20fix: update all lists viewports on sort method change (#492)Azad
2024-02-20fix: resolve clippy errors (#493)Azad
* fix: resolve clippy errors * Update tests * Style
2024-02-20fix selection style when lscolors enabled (#496)lali
* fix: selection style when lscolors enabled Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch> * make it readable Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch> * use unwrap_or_else() instead Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch> * fix some clippy warnings Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch> * Revert "fix some clippy warnings" This reverts commit 1521b462c90b52dd9e7ebd50b27b99bcefb9be99. * add ls_colors option to default config Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch> --------- Signed-off-by: Luterán Lajos <luteranlajos@protonmail.ch>
2024-02-15feat lscolors support (#489)Ben Webb
* feat lscolors support Adds support for styling entries using the LS_COLORS environment variable. This styling is gated behind a configuration variable. If its enabled, any other styling for entries based on theme configuration is ignored. * feat lscolors apply cargo fmt and clippy edits
2024-02-13Add command for printing embedded configs (#487)sushi-shi
* Add command for printing embedded configs * Typo * Use doccomments instead of procmacro * Typo
2024-02-13fix overflow bug on bookmark widget when area is too small (#483)pantosaur
2024-01-20Use `shadow-rs` to show detailed version information (#481)xrelkd
* feat: use `shadow-rs` to show detailed version information * fix: fix lints and errors
2023-12-18fix TableJeff Zhao
2023-11-10cargo fmtJeff Zhao
2023-11-10only replace home dir with tilde if it starts from the rootJeff Zhao
2023-11-10[feat] add option to use file_path() with the %p keyword (#431)lali
Use a absolute path where it is needed. like: { keys = ["m", "w"], commands = ["shell swaymsg output * bg %p fit"] }, Signed-off-by: luteran42 <luteranlajos@protonmail.ch>
2023-11-04custom_commands + fallback for the older configurations (#446)Tomasz Durda
* custom_commands + fallback for the older configurations 1. Added custom_commands 2. Implemented custom_search 3. Implemented custom_serach_interactive 4. Added fallback for the command in the keymaps * Docs + missing file * Added two more joshuto scripts --------- Co-authored-by: Tomasz Durda <edotdurda@e-science.pl> Co-authored-by: Jeff Zhao <jeff.no.zhao@gmail.com>
2023-11-04feat: add `focus_on_create` option (#448)Azad
* feat: add `focus_on_create` option * Replace `PathBuf` with `Path` * Minor clippy fix
2023-11-01make input thread a bit more robustJeff Zhao
- this tries to fix the issue where input thread is lagging behind input due to failed message sending
2023-10-09feat: wezterm cwd compatibility (#439)kennycallado
* add: new cwd utility * Use cwd::set_current_dir to update terminal with current working directory --------- Co-authored-by: kennycallado <kennycallado@hotmail.com>
2023-10-09fix: remove the debug info causing the chaos in UI (#444)Ralph Zhou
2023-10-08clippyJeff Zhao
2023-10-08fix unwrap() crashJeff Zhao
2023-10-08Scrollable tab-bar (#437)DLFW
This implements a scrollable tab bar, like discussed in #233. This makes tabs easier to read, better utilizes the space in the top-bar and makes handling many tabs way easier. The display of the current directory has been removed. The current tab will show the directory always in full form. The directories of other tabs will be shown in full form if there is enough space, otherwise, they will be shown in a short form. If the available space in the top-bar is still not sufficient, scroll tags will be added at each end. The long-form is currently defined as the full, absolute path. The short-form is currently defined as the last directory element of the path. The tab-bar is configurable in terms of font styling and style character (like dividers, prefixes, and postfixes). Documentation has been created in a separate file. Collateral impact: * The `tilde_in_titlebar` option for `[display]` in `joshuto.toml` has been removed. (Because the "current dir display" has been removed.) * The `display_mode` option for `[tabs]` in `joshuto.toml` has been removed and with it, also the `tab_bar_mode` command. The appearance of index-numbers in tags is not configurable anymore. Numbers are shown if and only if there are more than one tab. This feature can be re-introduced later in some other form if still desired with the new tab-bar. With the new tab-bar, this configuration option did not make sense the way it was designed. * The `max_len` option for `[tabs]` in `joshuto.toml` has been removed. (Because tabs don't have a fixed width anymore.) * The function/feature of shortening paths by replacing heading path elements with their first character only has been removed. (Because I expect that this hard-to-interpret representation of a path will rarely be beneficial, now that there is a better space utilization in the top bar.) * The "old" tab-bar configuration options have been removed. * A `AppStyleOptionsRaw` struct has been introduced to allow handling of more complex default styling logic. Each styling attribute is defined there as an `Option` to indicate if a styling option has been set by the user or not. * A `PathStyleIfSome` trait is now available in "utils" to patch ratatui styles with another, _optional_ style.
2023-09-26fix: add mutex lock to preview threads (#430)lali
* [fix] add mutex lock to preview threads Do not spawn 100s of threads when I'm holding down the arrow key. * [fix] add mutex lock to preview threads Do not spawn 100s of threads when I'm holding down the arrow key.
2023-09-12feat: extensions for select and filter (#428)Justin Chen
* ✨ feat: extract common parts of selecting operations BREAKING CHANGES: `:select` now uses substring matching, instead of glob matching. * feat: add supports for selecting files with glob and regex * refactor: extract fzf operations * feat: add supports for selecting files via fzf * fix: all selections are toggled without a pattern * refactor: extract common parts of filter operations * feat: add supports for filtering files with glob and regex * docs: add explanations for new commands
2023-09-07rename some typesJeff Zhao
2023-09-07cleanup config codeJeff Zhao
2023-09-04fix error messageJeff Zhao
2023-09-02feat: Add rename_file_append_ext command (#423)rqdmap
* feat: Add rename_file_append_ext command * format code style * swap functionality of two rename command * rename_file_append_base finds the last dot pattern
2023-08-29Add subcommands (#418)xrelkd
* replace `structopt` with `clap` * add subcommand for generating shell completions * add subcommand for showing version * add test cases for testing command line argument parser
2023-08-29command chaining supportJeff Zhao
- breaks existing keymap configs -`command` field is renamed to `commands` - now an array instead of a single string