Age | Commit message (Collapse) | Author |
|
- make case_insensitive_ext option work with themes as well
|
|
- move a lot of methods into functions
- printing icons is moved to rendering section
|
|
* 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
|
|
|
|
* 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>
|
|
* 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
|
|
* 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>
|
|
* Add command for printing embedded configs
* Typo
* Use doccomments instead of procmacro
* Typo
|
|
|
|
* 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>
|
|
* feat: add `focus_on_create` option
* Replace `PathBuf` with `Path`
* Minor clippy fix
|
|
Co-authored-by: xfzv <>
|
|
closes #441
Co-authored-by: xfzv <>
|
|
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.
|
|
|
|
|
|
- breaks existing keymap configs
-`command` field is renamed to `commands`
- now an array instead of a single string
|
|
* feat: add the regex support for the matcher
* feat: add functions for searching with regex
* feat: add commands for searching with regex and change the case sensitivity
* docs: add explanations for the new feature
|
|
|
|
Co-authored-by: xfzv
|
|
files (#393)
* feat: Add struct and enum definitons for choosing case sensitivity of search
* feat: Implement `FromStr` for CaseSensitivity
* feat: Add a command to change the configuration of case sensitivity
* feat: Add case sensitivity support for search operations
* feat: Add case sensitivity support for selection operations
* docs: Add explanations for the new feature
* feat: Add case sensitivity support for searching with fzf
* docs: Add explanations for the new feature
* docs: Update documents
* feat: Refactor and add case sensitivity support for the filter operation
* refactor: Extract codes related to constructing the context for searching
* refactor: Extract the common component of searching, selecting and filtering files
* refactor: Change the module path and name
* feat: Use separate options for case sensitivity configurations
* feat: Add support for changing case sensitivity configurations at runtime
* docs: Add explanations for the new command
|
|
* added all_selected field in CopyFilePath
* copy_filepath now handle both cases
|
|
options (#385)
* add user & group on footer
* linemode have more options
* linemode have more options
* linemode have more options
|
|
This commit ports ranger/ranger@9da2b4c which fixes previews with 'ods' and 'odp' filetypes as pandoc does not support them.
|
|
Standard vim page-up / page-down bindings
|
|
|
|
|
|
Text style for tabs can be configured within
`theme.toml` with the dotted keys `tab.active` and `tab.inactive`.
The default style is the same as the former hard-coded style.
`theme.toml` has been restructured and comments have been
added to give a short documentation on each style item.
The documentation (`theme.toml.md`) has been enhanced, and
the excerpt of `theme.toml` with additional comments has
been removed from there.
That way it should be easier for devs to keep docs and the default
`theme.toml` in sync, and easier for users when the detail comments
can be found in the configuration file itself.
The conversion from `AppStyle` to `tui::style::Style` is now provided as
a function of `AppStyle` and a `From`-implementation for `Style` to
avoid having the same factory code repeating all over.
|
|
closes #308
|
|
Add flake support
|
|
* Cleanup preview.sh template
Removed ranger residuals and dead code from the preview.sh script and
the logic that invokes it.
* Remove --[x/y]-coord arguments
|
|
|
|
|
|
The `new_tab` command got enhanced and can now open a user-specified
directory, or the directory of the current tab, or the directory
currently highlighted by the cursor.
* `new_tab some-dir` opens new tab with directory `some-dir`
* `new_tab --current` opens new tab with the same directory as the current tab
* `new_tab --cursor` opens new tab with the directory which is currently marked by the cursor
The `keymap.toml` documentation got adapted accordingly.
The default key-map also got enhanced/changed:
* `ctrl-t`: opens tab in default directory
* `shift-t`: opens tab in directory of current tab
* `alt-t`: opens tab in directory marked by cursor
Like before, all new tabs get activated when created. Opening tabs “in
the background” is a possible enhancement for the future and might be
especially useful for the `--cursor` variant.
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
This fixes the issue where `numbered_command` conflicts with switch_tab_index
- side: change how tabs are rendered for easier visualization
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pretty much like everywhere else on linux
|