Age | Commit message (Collapse) | Author |
|
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
|
|
* add `filter` command
* cargo fmt
|
|
|
|
|
|
|
|
|
|
|
|
* 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
|
|
right time
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* (src/config/theme/style.rs) Add hex parsing
Consulted with a friend who knows Rust better than me and was able
to implement a fix for https://github.com/kamiyaa/joshuto/issues/151
pretty quickly after that point
* (src/config/theme/style.rs) Reimplement
* (src/config/theme/style.rs) Reformat
* (src/config/theme/style.rs) Add missing comma
everything told me that `cargo fmt --all -- --check` would at least tell
me about this error. what???
|
|
|
|
|
|
* code cleanup
Remove dead code and unused imports around preview features.
* Remove unused config option [display]show_preview
* Remove config option [preview]preview_images
* Remove unused imports
* Remove dead code and unused imports
|
|
|
|
|
|
the default configuration files in repo
|
|
This adds two configuration options, `preview_shown_hook_script`
and `preview_removed_hook_script` in the preview-section where the
user can configure external scripts which are called when a file preview
is shown or when the file preview widget disappears, respectively.
The `preview_shown_hook_script` gets the path of the file being previwed
as first argument and then the x and y coordinate and the width an
height of the preview area as second to fifth parameters.
To get the geometry information back from the UI rendering process, a
new struct `RenderResult` has been introduced which is given as mutable
reference to the rendering function.
The main-loop then checks for a changed preview and calls the hook
scripts.
Additionally, documentation has been added how these hooks can be used
to implement image previews.
|
|
column_ratio property can now contain only 2 elements
|
|
* add line numbers
add command to change line numbers displaying
* refactor line numbering code
* add navigating by line numbers
add NumberedExecute trait for Command
* fix line numbering margin bug
* add documentation for numbered commands
|
|
|
|
- this fixes the default config not working
|
|
|
|
|
|
|
|
|
|
- just use a big string and parse it at runtime
|
|
|
|
- rename stuff
|
|
- make separate files for trait impls
- make separate file for constants
|
|
|
|
* add basic help page functionality
change search_skim keybind
* refactor 'run' function, improve sorting
* add search functionality for help page
improve some comments in tui_help
|
|
|
|
|
|
|
|
- for now, this disables counting number of files in a directory
- future plans is to change this to opportunistic file counting
- i.e. if we already have the directory loaded, then finding the file count
is pretty trivial
- it just requires a bit of refactoring
|
|
|
|
* own display style for invalid symlinks
* add link_invalid to default theme.toml
* footer shows link target in link style
|
|
Beside opening the command line with a semi-colon, it can be opened also
with a colon. The default key mapping has been adapted as well as the
keymap.toml configuration template.
|