From 947cfeb327d1142b3d1442da8ac6483ff90c58e7 Mon Sep 17 00:00:00 2001 From: Arijit Basu Date: Sat, 16 Oct 2021 08:33:56 +0530 Subject: [PATCH] Minor fixes and format docs --- docs/en/src/SUMMARY.md | 56 ++-- docs/en/src/alternatives.md | 30 +-- docs/en/src/awesome-integrations.md | 38 +-- docs/en/src/awesome-plugins.md | 96 ++++--- docs/en/src/column-renderer.md | 90 +++---- docs/en/src/community.md | 10 +- docs/en/src/configuration.md | 24 +- docs/en/src/contribute.md | 14 +- docs/en/src/default-key-bindings.md | 386 +++++++++++++--------------- docs/en/src/filtering.md | 27 +- docs/en/src/general-config.md | 375 +++++++++------------------ docs/en/src/install.md | 79 +++--- docs/en/src/installing-plugins.md | 5 +- docs/en/src/integration.md | 6 +- docs/en/src/introduction.md | 23 +- docs/en/src/key-bindings.md | 2 +- docs/en/src/modes.md | 94 +++---- docs/en/src/node_types.md | 32 +-- docs/en/src/plugin.md | 10 +- docs/en/src/post-install.md | 17 +- docs/en/src/quickstart.md | 8 +- docs/en/src/sorting.md | 20 +- docs/en/src/style.md | 31 +-- docs/en/src/todo.md | 16 +- docs/en/src/writing-plugins.md | 46 ++-- 25 files changed, 620 insertions(+), 915 deletions(-) diff --git a/docs/en/src/SUMMARY.md b/docs/en/src/SUMMARY.md index 5d467a1..6c7372b 100644 --- a/docs/en/src/SUMMARY.md +++ b/docs/en/src/SUMMARY.md @@ -1,5 +1,4 @@ -A hackable, minimal, fast TUI file explorer -=========================================== +# A hackable, minimal, fast TUI file explorer - [Introduction][1] - [Quickstart][2] @@ -28,30 +27,29 @@ A hackable, minimal, fast TUI file explorer - [Community][24] - [Contribute][25] - -[1]:introduction.md -[2]:quickstart.md -[3]:install.md -[4]:post-install.md -[5]:configuration.md -[6]:general-config.md -[7]:modes.md -[8]:message.md -[9]:layouts.md -[10]:node_types.md -[11]:style.md -[12]:sorting.md -[13]:filtering.md -[14]:default-key-bindings.md -[15]:plugin.md -[16]:installing-plugins.md -[17]:writing-plugins.md -[18]:awesome-plugins.md -[19]:integration.md -[20]:awesome-integrations.md -[21]:todo.md -[22]:alternatives.md -[23]:upgrade-guide.md -[24]:community.md -[25]:contribute.md -[26]:column-renderer.md +[1]: introduction.md +[2]: quickstart.md +[3]: install.md +[4]: post-install.md +[5]: configuration.md +[6]: general-config.md +[7]: modes.md +[8]: message.md +[9]: layouts.md +[10]: node_types.md +[11]: style.md +[12]: sorting.md +[13]: filtering.md +[14]: default-key-bindings.md +[15]: plugin.md +[16]: installing-plugins.md +[17]: writing-plugins.md +[18]: awesome-plugins.md +[19]: integration.md +[20]: awesome-integrations.md +[21]: todo.md +[22]: alternatives.md +[23]: upgrade-guide.md +[24]: community.md +[25]: contribute.md +[26]: column-renderer.md diff --git a/docs/en/src/alternatives.md b/docs/en/src/alternatives.md index 1d54e39..b2acc90 100644 --- a/docs/en/src/alternatives.md +++ b/docs/en/src/alternatives.md @@ -1,5 +1,4 @@ -Alternatives -============ +# Alternatives These are the alternative TUI/CLI file managers/explorers you might want to check out (in no particular order). @@ -18,17 +17,16 @@ These are the alternative TUI/CLI file managers/explorers you might want to chec [add more][13] - -[1]:https://github.com/jarun/nnn/ -[2]:https://github.com/vifm/vifm -[3]:https://github.com/ranger/ranger -[4]:https://github.com/gokcehan/lf -[5]:https://github.com/kamiyaa/joshuto -[6]:https://github.com/dylanaraps/fff -[7]:https://github.com/MidnightCommander/mc -[8]:https://github.com/Canop/broot -[9]:https://github.com/rabite0/hunter -[10]:https://git.2f30.org/noice/ -[11]:https://github.com/pasqu4le/clifm -[12]:https://github.com/leo-arch/clifm -[13]:community.md \ No newline at end of file +[1]: https://github.com/jarun/nnn/ +[2]: https://github.com/vifm/vifm +[3]: https://github.com/ranger/ranger +[4]: https://github.com/gokcehan/lf +[5]: https://github.com/kamiyaa/joshuto +[6]: https://github.com/dylanaraps/fff +[7]: https://github.com/MidnightCommander/mc +[8]: https://github.com/Canop/broot +[9]: https://github.com/rabite0/hunter +[10]: https://git.2f30.org/noice/ +[11]: https://github.com/pasqu4le/clifm +[12]: https://github.com/leo-arch/clifm +[13]: community.md diff --git a/docs/en/src/awesome-integrations.md b/docs/en/src/awesome-integrations.md index 537d338..758ada0 100644 --- a/docs/en/src/awesome-integrations.md +++ b/docs/en/src/awesome-integrations.md @@ -1,46 +1,36 @@ -Awesome Integrations -==================== +# Awesome Integrations Here's a list of awesome xplr integrations that you might want to check out. If none of the following integrations work for you, you can create your own and [let us know][1]. - -Categories ----------- +## Categories - [Editor][2] - [Shell][3] - [Security Tools][4] - -Editor ------- +## Editor - [**vim-floaterm**][6] xplr integrated in vim-floaterm (Neo)vim plugin. - [**xplr.nvim**][9] Opens xplr inside nvim, and hosts a msgpack client inside xplr. - [**xplr.vim**][5] Pick files in Vim using xplr. - -Shell ------ +## Shell - [**powerlevel10k**][7] Powerlevel10k prompt for xplr shell. - -Security Tools --------------- +## Security Tools - [**gpg-tui**][8] Import GPG certificates using xplr. - -[1]:https://github.com/sayanarijit/xplr/discussions/categories/show-and-tell -[2]:#editor -[3]:#shell -[4]:#security-tools -[5]:https://github.com/sayanarijit/xplr.vim -[6]:https://github.com/voldikss/vim-floaterm#xplr -[7]:https://github.com/romkatv/powerlevel10k/blob/191d1b89e325ee3b6d2d75a394654aaf4f077a7c/internal/p10k.zsh#L4756-L4768 -[8]:https://github.com/orhun/gpg-tui#importreceive -[9]:https://github.com/fhill2/xplr.nvim +[1]: https://github.com/sayanarijit/xplr/discussions/categories/show-and-tell +[2]: #editor +[3]: #shell +[4]: #security-tools +[5]: https://github.com/sayanarijit/xplr.vim +[6]: https://github.com/voldikss/vim-floaterm#xplr +[7]: https://github.com/romkatv/powerlevel10k/blob/191d1b89e325ee3b6d2d75a394654aaf4f077a7c/internal/p10k.zsh#L4756-L4768 +[8]: https://github.com/orhun/gpg-tui#importreceive +[9]: https://github.com/fhill2/xplr.nvim diff --git a/docs/en/src/awesome-plugins.md b/docs/en/src/awesome-plugins.md index aa5a202..6d37456 100644 --- a/docs/en/src/awesome-plugins.md +++ b/docs/en/src/awesome-plugins.md @@ -1,21 +1,16 @@ -Awesome Plugins -=============== +# Awesome Plugins Here's a list of awesome xplr plugins that you might want to check out. If none of the following plugins work for you, it's very easy to [write your own][1]. - -Categories ----------- +## Categories - [Extension][32] - [Integration][2] - [Theme][3] - -Extension ---------- +## Extension - [**comex.xplr**][21] One xplr plugin to compress and extract them all. - [**command-mode.xplr**][37] The missing command mode for xplr. @@ -23,9 +18,7 @@ Extension - [**type-to-nav.xplr**][28] Inspired by [nnn's type-to-nav mode][29] for xplr, with some tweaks. - -Integration ------------ +## Integration - [**alacritty.xplr**][33] [Alacritty][34] integration for xplr. - [**dragon.xplr**][4] Drag and drop files using [dragon][5]. @@ -46,51 +39,48 @@ Integration - [**xclip.xplr**][15] Copy and paste with system clipboard using [xclip][16]. - [**zoxide.xplr**][17] Change directory using the [zoxide][18] database. - -Theme ------ +## Theme - [**material-landscape.xplr**][19] Material Landscape - [**material-landscape2.xplr**][20] Material Landscape 2 - [**zentable.xplr**][31] A clean, distraction free xplr table UI - [**icons.xplr**][30] An icon theme for xplr. - -[1]:./writing-plugins.md -[2]:#integration -[3]:#theme -[4]:https://github.com/sayanarijit/dragon.xplr -[5]:https://github.com/mwh/dragon -[6]:https://github.com/sayanarijit/dua-cli.xplr -[7]:https://github.com/Byron/dua-cli -[8]:https://github.com/sayanarijit/fzf.xplr -[9]:https://github.com/junegunn/fzf -[10]:https://github.com/sayanarijit/preview-tabbed.xplr -[11]:https://tools.suckless.org/tabbed/ -[12]:https://github.com/jarun/nnn/blob/master/plugins/preview-tabbed -[13]:https://github.com/sayanarijit/trash-cli.xplr -[14]:https://github.com/andreafrancia/trash-cli -[15]:https://github.com/sayanarijit/xclip.xplr -[16]:https://github.com/astrand/xclip -[17]:https://github.com/sayanarijit/zoxide.xplr -[18]:https://github.com/ajeetdsouza/zoxide -[19]:https://github.com/sayanarijit/material-landscape.xplr -[20]:https://github.com/sayanarijit/material-landscape2.xplr -[21]:https://github.com/sayanarijit/comex.xplr -[22]:https://github.com/sayanarijit/xargs.xplr -[23]:https://github.com/dtomvan/paste-rs.xplr -[24]:https://paste.rs -[25]:https://github.com/sayanarijit/completion.xplr -[26]:https://github.com/sayanarijit/qrcp.xplr -[27]:https://github.com/claudiodangelis/qrcp -[28]:https://github.com/prncss-xyz/type-to-nav.xplr -[29]:https://github.com/jarun/nnn/wiki/concepts#type-to-nav -[30]:https://github.com/prncss-xyz/icons.xplr -[31]:https://github.com/sayanarijit/zentable.xplr -[32]:#extension -[33]:https://github.com/sayanarijit/alacritty.xplr -[34]:https://github.com/alacritty/alacritty -[35]:https://github.com/sayanarijit/nvim-ctrl.xplr -[36]:https://github.com/chmln/nvim-ctrl -[37]:https://github.com/sayanarijit/command-mode.xplr -[38]:https://github.com/sayanarijit/map.xplr +[1]: ./writing-plugins.md +[2]: #integration +[3]: #theme +[4]: https://github.com/sayanarijit/dragon.xplr +[5]: https://github.com/mwh/dragon +[6]: https://github.com/sayanarijit/dua-cli.xplr +[7]: https://github.com/Byron/dua-cli +[8]: https://github.com/sayanarijit/fzf.xplr +[9]: https://github.com/junegunn/fzf +[10]: https://github.com/sayanarijit/preview-tabbed.xplr +[11]: https://tools.suckless.org/tabbed/ +[12]: https://github.com/jarun/nnn/blob/master/plugins/preview-tabbed +[13]: https://github.com/sayanarijit/trash-cli.xplr +[14]: https://github.com/andreafrancia/trash-cli +[15]: https://github.com/sayanarijit/xclip.xplr +[16]: https://github.com/astrand/xclip +[17]: https://github.com/sayanarijit/zoxide.xplr +[18]: https://github.com/ajeetdsouza/zoxide +[19]: https://github.com/sayanarijit/material-landscape.xplr +[20]: https://github.com/sayanarijit/material-landscape2.xplr +[21]: https://github.com/sayanarijit/comex.xplr +[22]: https://github.com/sayanarijit/xargs.xplr +[23]: https://github.com/dtomvan/paste-rs.xplr +[24]: https://paste.rs +[25]: https://github.com/sayanarijit/completion.xplr +[26]: https://github.com/sayanarijit/qrcp.xplr +[27]: https://github.com/claudiodangelis/qrcp +[28]: https://github.com/prncss-xyz/type-to-nav.xplr +[29]: https://github.com/jarun/nnn/wiki/concepts#type-to-nav +[30]: https://github.com/prncss-xyz/icons.xplr +[31]: https://github.com/sayanarijit/zentable.xplr +[32]: #extension +[33]: https://github.com/sayanarijit/alacritty.xplr +[34]: https://github.com/alacritty/alacritty +[35]: https://github.com/sayanarijit/nvim-ctrl.xplr +[36]: https://github.com/chmln/nvim-ctrl +[37]: https://github.com/sayanarijit/command-mode.xplr +[38]: https://github.com/sayanarijit/map.xplr diff --git a/docs/en/src/column-renderer.md b/docs/en/src/column-renderer.md index 129d207..3767ca4 100644 --- a/docs/en/src/column-renderer.md +++ b/docs/en/src/column-renderer.md @@ -1,5 +1,4 @@ -Column Renderer -============== +# Column Renderer A column renderer is a Lua function that receives a [special argument][1] and returns a string that will be displayed in each specific field of the @@ -18,9 +17,7 @@ You can either overwrite these functions, or create new functions in Terminal colors are supported. - -Table Renderer Argument ------------------------ +## Table Renderer Argument The special argument contains the following fields @@ -75,21 +72,18 @@ Type: string The extension of the node. - ### is_symlink Type: boolean `true` if the node is a symlink. - ### is_broken Type: boolean `true` if the node is a broken symlink. - ### is_dir Type: boolean @@ -108,7 +102,6 @@ Type: boolean `true` if the node is real-only. - ### mime_essence Type: string @@ -216,9 +209,7 @@ Type: mapping of string and string The applicable [meta object][33] for the node. - -Permission ----------- +## Permission Permission contains the following fields: @@ -237,9 +228,7 @@ Permission contains the following fields: Each field holds a boolean value. - -Resolved Node Metadata ----------------------- +## Resolved Node Metadata It contains the following fields. @@ -252,9 +241,7 @@ It contains the following fields. - [size][13] - [human_size][14] - -Example: Customizing Table Renderer ------------------------------------ +## Example: Customizing Table Renderer ```lua xplr.fn.custom.fmt_simple_column = function(m) @@ -277,37 +264,36 @@ xplr.config.general.table.col_widths = { -- relative paths. ``` - -[1]:#table-renderer-argument -[2]:layouts.md#table -[3]:#parent -[4]:#relative_path -[5]:#absolute_path -[6]:#extension -[7]:#is_symlink -[8]:#is_broken -[9]:#is_dir -[10]:#is_file -[11]:#is_readonly -[12]:#mime_essence -[13]:#size -[14]:#human_size -[15]:#permissions -[16]:#canonical -[17]:#symlink -[18]:#index -[19]:#relative_index -[20]:#is_before_focus -[21]:#is_after_focus -[22]:#tree -[23]:#prefix -[24]:#suffix -[25]:#is_selected -[26]:#is_focused -[27]:#total -[28]:meta -[29]:#size -[30]:#permission -[31]:#resolved-node-metadata -[32]:general-config.md#tabletree -[33]:node_types.md#meta +[1]: #table-renderer-argument +[2]: layouts.md#table +[3]: #parent +[4]: #relative_path +[5]: #absolute_path +[6]: #extension +[7]: #is_symlink +[8]: #is_broken +[9]: #is_dir +[10]: #is_file +[11]: #is_readonly +[12]: #mime_essence +[13]: #size +[14]: #human_size +[15]: #permissions +[16]: #canonical +[17]: #symlink +[18]: #index +[19]: #relative_index +[20]: #is_before_focus +[21]: #is_after_focus +[22]: #tree +[23]: #prefix +[24]: #suffix +[25]: #is_selected +[26]: #is_focused +[27]: #total +[28]: meta +[29]: #size +[30]: #permission +[31]: #resolved-node-metadata +[32]: general-config.md#tabletree +[33]: node_types.md#meta diff --git a/docs/en/src/community.md b/docs/en/src/community.md index 2954d82..a280b7a 100644 --- a/docs/en/src/community.md +++ b/docs/en/src/community.md @@ -1,5 +1,4 @@ -Community -========= +# Community Building an active community of awesome people and learning stuff together is one of my reasons to publish this tool and maintain it. Hence, please feel free @@ -8,7 +7,6 @@ to reach out via your preferred way. - Real-time chat lovers can join our [**matrix room**][3] or [**discord channel**][1]. - Forum discussion veterans can [**start a new GitHub discussion**][2]. - -[1]:https://discord.gg/JmasSPCcz3 -[2]:https://github.com/sayanarijit/xplr/discussions -[3]:https://matrix.to/#/#xplr-pub:matrix.org +[1]: https://discord.gg/JmasSPCcz3 +[2]: https://github.com/sayanarijit/xplr/discussions +[3]: https://matrix.to/#/#xplr-pub:matrix.org diff --git a/docs/en/src/configuration.md b/docs/en/src/configuration.md index 7a8f69d..bb9ea52 100644 --- a/docs/en/src/configuration.md +++ b/docs/en/src/configuration.md @@ -1,5 +1,4 @@ -Configuration -============= +# Configuration xplr can be configured using [Lua][1] via a special file named `init.lua` @@ -15,9 +14,7 @@ the command-line argument `-c` / `--config` to specify its path explicitely. In that case, both `~/.config/xplr/init.lua` and `/etc/xplr/init.lua` will be ignored. - -How Config Is Loaded --------------------- +## How Config Is Loaded When xplr loads, it first executes the built-in [init.lua][2] to set @@ -26,9 +23,7 @@ using the following lookup order: **--config /path/to/init.lua** > **~/.config/xplr/init.lua** > **/etc/xplr/init.lua** - -config ------- +## config The xplr configuration, exposed as `xplr.config` Lua API contains the following fields: @@ -38,10 +33,9 @@ following fields: - [layouts][5] - [node_types][6] - -[1]:https://www.lua.org/ -[2]:https://github.com/sayanarijit/xplr/blob/main/src/init.lua -[3]:general-config.md -[4]:modes.md -[5]:layouts.md -[6]:node_types.md \ No newline at end of file +[1]: https://www.lua.org/ +[2]: https://github.com/sayanarijit/xplr/blob/main/src/init.lua +[3]: general-config.md +[4]: modes.md +[5]: layouts.md +[6]: node_types.md diff --git a/docs/en/src/contribute.md b/docs/en/src/contribute.md index ddeab8a..2b6cb96 100644 --- a/docs/en/src/contribute.md +++ b/docs/en/src/contribute.md @@ -3,12 +3,12 @@ If you like xplr, and want to contribute, that would be really awesome. You can contribute to this project in the following ways - Contribute your time and expertise (read [CONTRIBUTING.md][1] for instructions). + - **Developers:** You can help me improve my code, fix things, implement features etc. - **Repository maintainers:** You can save the users from the pain of managing xplr in their system manually. - **Code Reviewers:** Teach me your ways of code. - **Designers:** You can make the logo even more awesome, donate stickers and blog post worthy pictures. - - **Bloggers, YouTubers & broadcasters:** You can help spread the word. - + - **Bloggers, YouTubers & broadcasters:** You can help spread the word. - Contribute by donating. - You can [fuel me with coins of encouragement][2] or [buy me a coffee][3]. @@ -16,10 +16,10 @@ You can contribute to this project in the following ways For further queries or concern related to `xplr`, [just ask us][4]. ### Backers - + -[1]:https://github.com/sayanarijit/xplr/blob/main/CONTRIBUTING.md -[2]:https://opencollective.com/xplr -[3]:https://ko-fi.com/sayanarijit -[4]:community.md \ No newline at end of file +[1]: https://github.com/sayanarijit/xplr/blob/main/CONTRIBUTING.md +[2]: https://opencollective.com/xplr +[3]: https://ko-fi.com/sayanarijit +[4]: community.md diff --git a/docs/en/src/default-key-bindings.md b/docs/en/src/default-key-bindings.md index 8200abb..2ed005c 100644 --- a/docs/en/src/default-key-bindings.md +++ b/docs/en/src/default-key-bindings.md @@ -1,5 +1,4 @@ -Default Key Bindings -==================== +# Default Key Bindings The default key binding is inspired by [vim][1] and slightly overlaps with [nnn][2], but it's supposed to be @@ -8,257 +7,238 @@ customized as per user requirements. When you press `?` in [default mode][3], you can see the complete list of [modes][4] and the key mappings for each mode. - ### default - key | remaps | action - --------------- | ------------------------- | ------ - . | | show hidden - / | ctrl-f | search - : | | action - ? | | global help menu - G | | go to bottom - V | ctrl-a | select/unselect all - ctrl-c | | terminate - ctrl-i | tab | next visited path - ctrl-o | | last visited path - ctrl-r | | refresh screen - ctrl-u | | clear selection - ctrl-w | | switch layout - d | | delete - down | j | down - enter | | quit with result - f | | filter - g | | go to - h | left | back - k | up | up - l | right | enter - q | | quit - r | | rename - s | | sort - space | v | toggle selection - ~ | | go home - [0-9] | | input - +| key | remaps | action | +| ------ | ------ | ------------------- | +| . | | show hidden | +| / | ctrl-f | search | +| : | | action | +| ? | | global help menu | +| G | | go to bottom | +| V | ctrl-a | select/unselect all | +| ctrl-c | | terminate | +| ctrl-i | tab | next visited path | +| ctrl-o | | last visited path | +| ctrl-r | | refresh screen | +| ctrl-u | | clear selection | +| ctrl-w | | switch layout | +| d | | delete | +| down | j | down | +| enter | | quit with result | +| f | | filter | +| g | | go to | +| h | left | back | +| k | up | up | +| l | right | enter | +| q | | quit | +| r | | rename | +| s | | sort | +| space | v | toggle selection | +| ~ | | go home | +| [0-9] | | input | ### recover - key | remaps | action - --------------- | ------------------------- | ------ - ctrl-c | | terminate - esc | | escape - +| key | remaps | action | +| ------ | ------ | --------- | +| ctrl-c | | terminate | +| esc | | escape | ### filter - key | remaps | action - --------------- | ------------------------- | ------ - R | | relative does not contain - backspace | | remove last filter - ctrl-c | | terminate - ctrl-r | | reset filters - ctrl-u | | clear filters - enter | esc | done - r | | relative does contain - +| key | remaps | action | +| --------- | ------ | ------------------------- | +| R | | relative does not contain | +| backspace | | remove last filter | +| ctrl-c | | terminate | +| ctrl-r | | reset filters | +| ctrl-u | | clear filters | +| enter | esc | done | +| r | | relative does contain | ### number - key | remaps | action - --------------- | ------------------------- | ------ - backspace | | remove last character - ctrl-c | | terminate - ctrl-u | | remove line - ctrl-w | | remove last word - down | j | to down - enter | | to index - esc | | cancel - k | up | to up - [0-9] | | input - +| key | remaps | action | +| --------- | ------ | --------------------- | +| backspace | | remove last character | +| ctrl-c | | terminate | +| ctrl-u | | remove line | +| ctrl-w | | remove last word | +| down | j | to down | +| enter | | to index | +| esc | | cancel | +| k | up | to up | +| [0-9] | | input | ### go to - key | remaps | action - --------------- | ------------------------- | ------ - ctrl-c | | terminate - esc | | cancel - f | | follow symlink - g | | top - x | | open in gui - +| key | remaps | action | +| ------ | ------ | -------------- | +| ctrl-c | | terminate | +| esc | | cancel | +| f | | follow symlink | +| g | | top | +| x | | open in gui | ### search - key | remaps | action - --------------- | ------------------------- | ------ - backspace | | remove last character - ctrl-c | | terminate - ctrl-n | down | down - ctrl-p | up | up - ctrl-u | | remove line - ctrl-w | | remove last word - enter | esc | focus - left | | back - right | | enter - tab | | toggle selection - +| key | remaps | action | +| --------- | ------ | --------------------- | +| backspace | | remove last character | +| ctrl-c | | terminate | +| ctrl-n | down | down | +| ctrl-p | up | up | +| ctrl-u | | remove line | +| ctrl-w | | remove last word | +| enter | esc | focus | +| left | | back | +| right | | enter | +| tab | | toggle selection | ### selection ops - key | remaps | action - --------------- | ------------------------- | ------ - c | | copy here - ctrl-c | | terminate - esc | | cancel - m | | move here - x | | open in gui - +| key | remaps | action | +| ------ | ------ | ----------- | +| c | | copy here | +| ctrl-c | | terminate | +| esc | | cancel | +| m | | move here | +| x | | open in gui | ### action to - key | remaps | action - --------------- | ------------------------- | ------ - ! | | shell - c | | create - ctrl-c | | terminate - e | | open in editor - esc | | cancel - l | | logs - m | | toggle mouse - q | | quit options - s | | selection operations - [0-9] | | go to index - +| key | remaps | action | +| ------ | ------ | -------------------- | +| ! | | shell | +| c | | create | +| ctrl-c | | terminate | +| e | | open in editor | +| esc | | cancel | +| l | | logs | +| m | | toggle mouse | +| q | | quit options | +| s | | selection operations | +| [0-9] | | go to index | ### create - key | remaps | action - --------------- | ------------------------- | ------ - ctrl-c | | terminate - d | | create directory - esc | | cancel - f | | create file - +| key | remaps | action | +| ------ | ------ | ---------------- | +| ctrl-c | | terminate | +| d | | create directory | +| esc | | cancel | +| f | | create file | ### create file - key | remaps | action - --------------- | ------------------------- | ------ - backspace | | remove last character - ctrl-c | | terminate - ctrl-u | | remove line - ctrl-w | | remove last word - enter | | create file - esc | | cancel - +| key | remaps | action | +| --------- | ------ | --------------------- | +| backspace | | remove last character | +| ctrl-c | | terminate | +| ctrl-u | | remove line | +| ctrl-w | | remove last word | +| enter | | create file | +| esc | | cancel | ### create directory - key | remaps | action - --------------- | ------------------------- | ------ - backspace | | remove last character - ctrl-c | | terminate - ctrl-u | | remove line - ctrl-w | | remove last word - enter | | create directory - esc | | cancel - +| key | remaps | action | +| --------- | ------ | --------------------- | +| backspace | | remove last character | +| ctrl-c | | terminate | +| ctrl-u | | remove line | +| ctrl-w | | remove last word | +| enter | | create directory | +| esc | | cancel | ### rename - key | remaps | action - --------------- | ------------------------- | ------ - backspace | | remove last character - ctrl-c | | terminate - ctrl-u | | remove line - ctrl-w | | remove last word - enter | | rename - esc | | cancel - +| key | remaps | action | +| --------- | ------ | --------------------- | +| backspace | | remove last character | +| ctrl-c | | terminate | +| ctrl-u | | remove line | +| ctrl-w | | remove last word | +| enter | | rename | +| esc | | cancel | ### delete - key | remaps | action - --------------- | ------------------------- | ------ - D | | force delete - ctrl-c | | terminate - d | | delete - esc | | cancel - +| key | remaps | action | +| ------ | ------ | ------------ | +| D | | force delete | +| ctrl-c | | terminate | +| d | | delete | +| esc | | cancel | ### sort - key | remaps | action - --------------- | ------------------------- | ------ - ! | | reverse sorters - E | | by canonical extension reverse - M | | by canonical mime essence reverse - N | | by node type reverse - R | | by relative path reverse - S | | by size reverse - backspace | | remove last sorter - ctrl-c | | terminate - ctrl-r | | reset sorters - ctrl-u | | clear sorters - e | | by canonical extension - enter | esc | done - m | | by canonical mime essence - n | | by node type - r | | by relative path - s | | by size - +| key | remaps | action | +| --------- | ------ | --------------------------------- | +| ! | | reverse sorters | +| E | | by canonical extension reverse | +| M | | by canonical mime essence reverse | +| N | | by node type reverse | +| R | | by relative path reverse | +| S | | by size reverse | +| backspace | | remove last sorter | +| ctrl-c | | terminate | +| ctrl-r | | reset sorters | +| ctrl-u | | clear sorters | +| e | | by canonical extension | +| enter | esc | done | +| m | | by canonical mime essence | +| n | | by node type | +| r | | by relative path | +| s | | by size | ### filter - key | remaps | action - --------------- | ------------------------- | ------ - R | | relative does not contain - backspace | | remove last filter - ctrl-c | | terminate - ctrl-r | | reset filters - ctrl-u | | clear filters - enter | esc | done - r | | relative does contain - +| key | remaps | action | +| --------- | ------ | ------------------------- | +| R | | relative does not contain | +| backspace | | remove last filter | +| ctrl-c | | terminate | +| ctrl-r | | reset filters | +| ctrl-u | | clear filters | +| enter | esc | done | +| r | | relative does contain | ### relative path does contain - key | remaps | action - --------------- | ------------------------- | ------ - backspace | | remove last character - ctrl-c | | terminate - ctrl-u | | remove line - ctrl-w | | remove last word - enter | | apply filter - esc | | cancel - +| key | remaps | action | +| --------- | ------ | --------------------- | +| backspace | | remove last character | +| ctrl-c | | terminate | +| ctrl-u | | remove line | +| ctrl-w | | remove last word | +| enter | | apply filter | +| esc | | cancel | ### relative path does not contain - key | remaps | action - --------------- | ------------------------- | ------ - backspace | | remove last character - ctrl-c | | terminate - ctrl-u | | remove line - ctrl-w | | remove last word - enter | | apply filter - esc | | cancel - +| key | remaps | action | +| --------- | ------ | --------------------- | +| backspace | | remove last character | +| ctrl-c | | terminate | +| ctrl-u | | remove line | +| ctrl-w | | remove last word | +| enter | | apply filter | +| esc | | cancel | ### switch layout - key | remaps | action - --------------- | ------------------------- | ------ - 1 | | default - 2 | | no help menu - 3 | | no selection panel - 4 | | no help or selection - ctrl-c | | terminate - esc | | cancel - - -[1]:https://www.vim.org/ -[2]:https://github.com/jarun/nnn/ -[3]:#default -[4]:modes.md \ No newline at end of file +| key | remaps | action | +| ------ | ------ | -------------------- | +| 1 | | default | +| 2 | | no help menu | +| 3 | | no selection panel | +| 4 | | no help or selection | +| ctrl-c | | terminate | +| esc | | cancel | + +[1]: https://www.vim.org/ +[2]: https://github.com/jarun/nnn/ +[3]: #default +[4]: modes.md diff --git a/docs/en/src/filtering.md b/docs/en/src/filtering.md index bcfa804..ae6d1a9 100644 --- a/docs/en/src/filtering.md +++ b/docs/en/src/filtering.md @@ -1,5 +1,4 @@ -Filtering -========= +# Filtering xplr supports filtering paths by different properties. The filtering mechanism works like a pipeline, which in visible in the `Sort & filter` panel. @@ -11,15 +10,13 @@ rel!^. › [i]abs=~abc › [i]rel!~xyz ``` This line means that the nodes visible on the table will first be filtered by -the condition: *relative path does not start with `.`*, then by the condition: -*absolute path contains `abc` (case insensitive)*, and finally by the -condition: *relative path does not contain `xyz`* (case insensitive). +the condition: _relative path does not start with `.`_, then by the condition: +_absolute path contains `abc` (case insensitive)_, and finally by the +condition: _relative path does not contain `xyz`_ (case insensitive). Each part of this pipeline is called [Node Filter Applicable][1]. - -Node Filter Applicable ----------------------- +## Node Filter Applicable It contains the following information: @@ -63,7 +60,6 @@ A filter can be one of the following: - "IAbsolutePathDoesEndWith" - "IAbsolutePathDoesNotEndWith" - TODO: document each ### input @@ -72,9 +68,7 @@ Type: string The input for the condition. - -Example: --------- +## Example: ```lua ToggleNodeFilter = { @@ -86,8 +80,7 @@ ToggleNodeFilter = { Here, `ToggleNodeFilter` is a [message][4] that adds or removes (toggles) the filter applied. - -[1]:#node-filter-applicable -[2]:#filter -[3]:#input -[4]:message.md \ No newline at end of file +[1]: #node-filter-applicable +[2]: #filter +[3]: #input +[4]: message.md diff --git a/docs/en/src/general-config.md b/docs/en/src/general-config.md index a635bc1..429c624 100644 --- a/docs/en/src/general-config.md +++ b/docs/en/src/general-config.md @@ -1,152 +1,117 @@ -General Config -============== +# General Config This configuration is exposed via the `xplr.config.general` API. It contains the following fields: - -enable_mouse ------------- +## enable_mouse Type: boolean Set it to `true` enable scrolling using mouse. - -show_hidden ------------ +## show_hidden Type: boolean Set it to `true` to show hidden files. - -read_only ---------- +## read_only Type: boolean Set it to `true` to use only a subset of selected operations that forbids executing commands or performing write operations on the file-system. - -enable_recover_mode --------------------- +## enable_recover_mode Type: boolean Set it to `true` if you want to enable a safety feature that will save you from yourself when you type recklessly. - -cursor.format -------------- +## cursor.format Type: nullable string -This is the shape of the cursor visible when the input buffer contains some string. +This is the shape of the cursor visible when the input buffer contains some +string. - -cursor.style ------------- +## cursor.style Type: [Style][1] Style of the cursor. - -initial_layout --------------- +## initial_layout Type: string The name of one of the [layout][2] to use when xplr loads. - -initial_mode ------------- +## initial_mode Type: string The name of one of the [mode][3] to use when xplr loads. - -initial_sorting ---------------- +## initial_sorting Type: list of [Node Sorter Applicable][4] Initial group if sorters applied to the nodes list in the table. - -table.style ------------ +## table.style Type: [Style][1] Default style of the table. - -table.col_spacing ------------------ +## table.col_spacing Type: nullable integer Default spacing of the columns in the table. - -table.col_widths ----------------- +## table.col_widths Type: nullable list of [Constraint][5] Width of each column in the table. -table.header.height ----------------- +## table.header.height Type: nullable integer Height of the table header. - -table.header.style ---------------- +## table.header.style Type: [Style][1] Style of table header. +## table.header.cols -table.header.cols ------------------ - -Type: List of column configuration +Type: list of column configuration Each column config contains `format` field (string) and `style` field ([Style][1]), that define the content and style of header. - -table.row.height ----------------- +## table.row.height Type: nullable integer Height of each row in the table. - -table.row.style ---------------- +## table.row.style Type: [Style][1] Style of table rows. +## table.row.cols -table.row.cols ------------------ - -Type: List of column configuration +Type: list of column configuration Each column config contains `format` field (string) and `style` field ([Style][1]). @@ -154,11 +119,9 @@ Each column config contains `format` field (string) and `style` field However, unlike [table.header.cols][6], the `format` field here points to a [column renderer function][7]. +## table.tree -table.tree ------------------ - -Type: List of tree configuration +Type: list of tree configuration It expects a list of three items. The first component of the tree, then the middle components, and finally the last component of the tree. @@ -176,298 +139,238 @@ xplr.config.general.table.tree = { } ``` - -start_fifo ----------- +## start_fifo Type: nullable string -[Description](https://docs.rs/xplr/0.15.0/xplr/config/struct.GeneralConfig.html#structfield.start_fifo) +Start a FIFO file when xplr loads. It will track the absolute path of the file +under focus. - -prompt.format -------------- +## prompt.format Type: string This is the shape of the prompt for the input buffer. - -prompt.style --------------------------- +## prompt.style Type: [Style][1] Style of the input prompt. - -logs.error.format ------------------ +## logs.error.format Type: string The string to indicate an error in logs. - -logs.error.style ----------------- +## logs.error.style Type: [Style][1] Style for errors shown in logs. - -logs.info.format ----------------- +## logs.info.format Type: string The string to indicate an information in logs. - -logs.info.style ---------------- +## logs.info.style Type: [Style][1] Style for infos shown in logs. - -logs.success.format -------------------- +## logs.success.format Type: string The string to indicate a successful operation in logs. - -logs.success.style ------------------- +## logs.success.style Type: [Style][1] Style for successful operations in logs. +## logs.warning.format -logs.warning.format -------------------- Type: string The string that indicates a warning in logs. - -logs.warning.style ------------------- +## logs.warning.style Type: [Style][1] Style for warnings in logs. - -default_ui.prefix ------------------ +## default_ui.prefix Type: nullable string The content that is placed before the item name for each row. - -default_ui.suffix ------------------ +## default_ui.suffix Type: nullable string The content which is appended to each item name for each row. - -default_ui.style ----------------- +## default_ui.style Type: [Style][1] Style for the default user interface. - -focus_ui.prefix ---------------- +## focus_ui.prefix Type: nullable string The string placed before the item name for a focused row. - -focus_ui.suffix ---------------- +## focus_ui.suffix Type: nullable string The string placed after the item name for a focused row. - -focus_ui.style --------------- +## focus_ui.style Type: [Style][1] Style for focused elements. - -selection_ui.prefix -------------------- +## selection_ui.prefix Type: nullable string The string that is placed before the item name for a selected row. - -selection_ui.suffix -------------------- +## selection_ui.suffix Type: nullable string The string placed after the item name for a selected row. - -selection_ui.style ------------------- +## selection_ui.style Type: [Style][1] Style for selected rows. - -focus_selection_ui.prefix -------------------------- +## focus_selection_ui.prefix Type: nullable string The string placed before item name for a selected row that gets the focus. - -focus_selection_ui.suffix -------------------------- +## focus_selection_ui.suffix Type: nullable string The string placed after the item name for a selected row that gets the focus. - -focus_selection_ui.style ------------------------- +## focus_selection_ui.style Type: [Style][1] Style for a selected row that gets the focus. - -sort_and_filter_ui.separator.format ------------------------------------ +## sort_and_filter_ui.separator.format Type: nullable string The shape of the separator for the `Sort & filter` panel. - -sort_and_filter_ui.separator.style ----------------------------------- +## sort_and_filter_ui.separator.style Type: [Style][1] -Style for `Sort & filter` panel separator. - +Style for `Sort & filter` panel separator. -sort_and_filter_ui.default_identifier.format --------------------------------------------- +## sort_and_filter_ui.default_identifier.format Type: nullable string The content of the default identifier in `Sort & filter` panel. -sort_and_filter_ui.default_identifier.style -------------------------------------------- +## sort_and_filter_ui.default_identifier.style Type: [Style][1] Style for the default identifier in `Sort & filter` panel. - -sort_and_filter_ui.filter_identifiers -------------------------------------- +## sort_and_filter_ui.filter_identifiers Type: Table with [filter name][8] as key -The value contains format field (string) and style field (Style), that define the content and style for the given filter. +The value contains format field (string) and style field (Style), that define +the content and style for the given filter. Example: + ```lua -xplr.config.general.sort_and_filter_ui.filter_identifiers = { - AbsolutePathDoesContain = { - format = "abs=~", - style = { add_modifiers = { "Bold" }, bg = nil, fg = nil, sub_modifiers = nil }, - } +xplr.config.general.sort_and_filter_ui.filter_identifiers.AbsolutePathDoesContain = { + format = "abs=~", + style = { add_modifiers = { "Bold" }, bg = nil, fg = nil, sub_modifiers = nil }, } ``` - -sort_and_filter_ui.sort_direction_identifiers.forward.format ------------------------------------------------------------- +## sort_and_filter_ui.sort_direction_identifiers.forward.format Type: nullable string -The shape of the forward direction indicator for sort identifiers in `Sort & filter` panel. +The shape of the forward direction indicator for sort identifiers in +`Sort & filter` panel. - -sort_and_filter_ui.sort_direction_identifiers.forward.style ------------------------------------------------------------- +## sort_and_filter_ui.sort_direction_identifiers.forward.style Type: [Style][1] Style of forward direction indicator. - -sort_and_filter_ui.sort_direction_identifiers.reverse.format ------------------------------------------------------------- +## sort_and_filter_ui.sort_direction_identifiers.reverse.format Type: nullable string -The shape of the reverse direction indicator for sort identifiers in `Sort & filter` panel. +The shape of the reverse direction indicator for sort identifiers in +`Sort & filter` panel. - -sort_and_filter_ui.sort_direction_identifiers.reverse.style ------------------------------------------------------------ +## sort_and_filter_ui.sort_direction_identifiers.reverse.style Type: [Style][1] Style of reverse direction indicator. - -sort_and_filter_ui.sorter_identifiers -------------------------------------- +## sort_and_filter_ui.sorter_identifiers Type: Table with [sorter name][9] as key -The value contains format field (string) and style field (Style), that define the content and style for the given sorter. +The value contains format field (string) and style field (Style), that define +the content and style for the given sorter. Example: + ```lua -sort_and_filter_ui.sorter_identifiers = { - ByCanonicalAbsolutePath = { - format = "[c]abs", - style = { add_modifiers = nil, bg = nil, fg = "Yellow", sub_modifiers = nil }, - } -} +sort_and_filter_ui.sorter_identifiers.ByCanonicalAbsolutePath = { + format = "[c]abs", + style = { add_modifiers = nil, bg = nil, fg = "Yellow", sub_modifiers = nil }, +} ``` -panel_ui.default.borders ------------------------- +## panel_ui.default.borders -Type: nullable List of strings +Type: nullable list of strings Defines where to show borders for the panels. -The possible values are any combination of: "Top", "Bottom", "Left" and "Right". +The possible values are any combination of: "Top", "Bottom", "Left" and +"Right". Example: + ```lua -- Show Left and Right borders only xplr.config.general.panel_ui.default.borders = { @@ -476,172 +379,138 @@ xplr.config.general.panel_ui.default.borders = { } ``` - -panel_ui.default.style ----------------------- +## panel_ui.default.style Type: [Style][1] Default style for panels. - -panel_ui.default.title.format ------------------------------ +## panel_ui.default.title.format Type: nullable string The content for panel title. - -panel_ui.default.title.style ----------------------------- +## panel_ui.default.title.style Type: [Style][1] Style for panel title. -panel_ui.help_menu.borders --------------------------- +## panel_ui.help_menu.borders -Type: nullable List of strings +Type: nullable list of strings Defines where to show borders for the `Help` panel. -The possible values are any combination of: "Top", "Bottom", "Left" and "Right". - +The possible values are any combination of: "Top", "Bottom", "Left" and +"Right". -panel_ui.help_menu.style ------------------------- +## panel_ui.help_menu.style Type: [Style][1] Style for `Help` panel. - -panel_ui.help_menu.title.format -------------------------------- +## panel_ui.help_menu.title.format Type: nullable string The content for `Help` panel title. -panel_ui.help_menu.title.style -------------------------------- +## panel_ui.help_menu.title.style Type: [Style][1] Style for `Help` panel title. +## panel_ui.input_and_logs.borders -panel_ui.input_and_logs.borders -------------------------------- - -Type: nullable List of strings +Type: nullable list of strings Defines where to show borders for the `Input` & `Logs` panel. -The possible values are any combination of: "Top", "Bottom", "Left" and "Right". +The possible values are any combination of: "Top", "Bottom", "Left" and +"Right". - -panel_ui.input_and_logs.style ------------------------------ +## panel_ui.input_and_logs.style Type: [Style][1] Style for `Input` & `Logs` panel. - -panel_ui.input_and_logs.title.format ------------------------------------- +## panel_ui.input_and_logs.title.format Type: nullable string The content for the `Input` and `Logs` panel title. - -panel_ui.input_and_logs.title.style ------------------------------------ +## panel_ui.input_and_logs.title.style Type: [Style][1] Style for `Input` & `Logs` panel title. +## panel_ui.selection.borders -panel_ui.selection.borders --------------------------- - -Type: nullable List of strings +Type: nullable list of strings Defines where to show borders for the `Selection` panel. -The possible values are any combination of: "Top", "Bottom", "Left" and "Right". +The possible values are any combination of: "Top", "Bottom", "Left" and +"Right". - -panel_ui.selection.style ------------------------- +## panel_ui.selection.style Type: [Style][1] Style for `Selection` panel. - - -panel_ui.selection.title.format -------------------------------- +## panel_ui.selection.title.format Type: nullable string The content for `Selection` panel title. - -panel_ui.selection.title.style ------------------------------- +## panel_ui.selection.title.style Type: [Style][1] Style for `Selection` panel title. - -panel_ui.sort_and_filter.borders --------------------------------- +## panel_ui.sort_and_filter.borders Type: nullable list of strings Defines where to show borders for the `Sort & filter` panel. -The possible values are any combination of: "Top", "Bottom", "Left" and "Right". +The possible values are any combination of: "Top", "Bottom", "Left" and +"Right". - -panel_ui.sort_and_filter.style ------------------------------- +## panel_ui.sort_and_filter.style Type: [Style][1] Style for `Sort & filter` panel. -panel_ui.sort_and_filter.title.format -------------------------------------- +## panel_ui.sort_and_filter.title.format Type: nullable string The content for `Sort & filter` panel title. - -panel_ui.sort_and_filter.title.style ------------------------------------- +## panel_ui.sort_and_filter.title.style Type: [Style][1] Style for `Sort & filter` panel title. - - -[1]:style.md -[2]:layouts.md -[3]:modes.md -[4]:sorting.md#node-sorter-applicable -[5]:layouts.md#constraint -[6]:#tableheadercols -[7]:column-renderer.md -[8]:filtering.md#filter -[9]:sorting.md#sorter +[1]: style.md +[2]: layouts.md +[3]: modes.md +[4]: sorting.md#node-sorter-applicable +[5]: layouts.md#constraint +[6]: #tableheadercols +[7]: column-renderer.md +[8]: filtering.md#filter +[9]: sorting.md#sorter diff --git a/docs/en/src/install.md b/docs/en/src/install.md index 44af76c..bebe658 100644 --- a/docs/en/src/install.md +++ b/docs/en/src/install.md @@ -1,5 +1,4 @@ -Try in Docker -============= +# Try in Docker If you prefer to try it before installing, here's the snipper for your convenience. @@ -14,9 +13,7 @@ docker run -w / -it --rm ubuntu sh -uec ' ' ``` - -Install -======= +# Install You can install xplr using one of the following ways. Each has their own advantages and limitations. @@ -30,16 +27,13 @@ available. One way to keep an eye on the releases is to [watch the repository][4]. - -Community Maintained Repositories ---------------------------------- +## Community Maintained Repositories xplr can be installed from one of the following community maintained repositories: [![packaging status][5]][6] - ### Arch Linux #### [Official Community Repo][7] @@ -127,9 +121,7 @@ cd /usr/pkgsrc/sysutils/xplr make install ``` - -Direct Download ---------------- +## Direct Download One can directly download the standalone binary from the [releases][15]. @@ -154,9 +146,7 @@ tar xzvf xplr-$platform.tar.gz sudo mv xplr /usr/local/bin/ ``` - -From [crates.io][18] ------------------------------------------------ +## From [crates.io][18] Prerequisites: @@ -170,9 +160,7 @@ Command-line instructions: cargo install --locked --force xplr ``` - -Build From Source ------------------ +## Build From Source Prerequisites: @@ -195,9 +183,7 @@ cargo build --locked --release --bin xplr sudo cp target/release/xplr /usr/local/bin/ ``` - -Android -------- +## Android ### [Termux][23] @@ -238,29 +224,28 @@ Android ~/.cargo/bin/xplr ``` - -[1]:#direct-download -[2]:#from-a-hrefhttpscratesiocratesxplrcratesioa -[3]:#build-from-source -[4]:https://github.com/sayanarijit/xplr/watchers -[5]:https://repology.org/badge/vertical-allrepos/xplr.svg -[6]:https://repology.org/project/xplr/versions -[7]:https://archlinux.org/packages/community/x86_64/xplr -[8]:https://aur.archlinux.org/packages/?O=0&SeB=n&K=xplr&outdated=&SB=n&SO=a&PP=50&do_Search=Go -[9]:https://github.com/shubham-cpp/void-pkg-templates -[10]:https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/xplr -[11]:https://ports.macports.org/port/xplr -[12]:https://formulae.brew.sh/formula/xplr -[13]:https://cgit.freebsd.org/ports/plain/misc/xplr/ -[14]:https://pkgsrc.se/sysutils/xplr -[15]:https://github.com/sayanarijit/xplr/releases -[16]:https://github.com/sayanarijit/xplr/releases/latest/download/xplr-linux.tar.gz -[17]:https://github.com/sayanarijit/xplr/releases/latest/download/xplr-macos.tar.gz -[18]:https://crates.io/crates/xplr -[19]:https://www.rust-lang.org/tools/install -[20]:https://gcc.gnu.org/ -[21]:https://www.gnu.org/software/make/ -[22]:https://git-scm.com/ -[23]:https://termux.com/ -[24]:https://s3.gifyu.com/images/xplr-termuxfd3c398d3cf4bcbc.md.jpg -[25]:https://gifyu.com/image/tF2D +[1]: #direct-download +[2]: #from-a-hrefhttpscratesiocratesxplrcratesioa +[3]: #build-from-source +[4]: https://github.com/sayanarijit/xplr/watchers +[5]: https://repology.org/badge/vertical-allrepos/xplr.svg +[6]: https://repology.org/project/xplr/versions +[7]: https://archlinux.org/packages/community/x86_64/xplr +[8]: https://aur.archlinux.org/packages/?O=0&SeB=n&K=xplr&outdated=&SB=n&SO=a&PP=50&do_Search=Go +[9]: https://github.com/shubham-cpp/void-pkg-templates +[10]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/xplr +[11]: https://ports.macports.org/port/xplr +[12]: https://formulae.brew.sh/formula/xplr +[13]: https://cgit.freebsd.org/ports/plain/misc/xplr/ +[14]: https://pkgsrc.se/sysutils/xplr +[15]: https://github.com/sayanarijit/xplr/releases +[16]: https://github.com/sayanarijit/xplr/releases/latest/download/xplr-linux.tar.gz +[17]: https://github.com/sayanarijit/xplr/releases/latest/download/xplr-macos.tar.gz +[18]: https://crates.io/crates/xplr +[19]: https://www.rust-lang.org/tools/install +[20]: https://gcc.gnu.org/ +[21]: https://www.gnu.org/software/make/ +[22]: https://git-scm.com/ +[23]: https://termux.com/ +[24]: https://s3.gifyu.com/images/xplr-termuxfd3c398d3cf4bcbc.md.jpg +[25]: https://gifyu.com/image/tF2D diff --git a/docs/en/src/installing-plugins.md b/docs/en/src/installing-plugins.md index 45b05be..25359fa 100644 --- a/docs/en/src/installing-plugins.md +++ b/docs/en/src/installing-plugins.md @@ -1,5 +1,4 @@ -Installing Plugins -================== +# Installing Plugins Until we get a cool plugin manager, let's install plugins manually using the following procedure: @@ -25,4 +24,4 @@ following procedure: -- The setup arguments might differ for different plugins. -- Visit the project README for setup instructions. - ``` \ No newline at end of file + ``` diff --git a/docs/en/src/integration.md b/docs/en/src/integration.md index 8b13d05..1cba8f8 100644 --- a/docs/en/src/integration.md +++ b/docs/en/src/integration.md @@ -1,10 +1,8 @@ -Integration -=========== +# Integration xplr is designed to integrate well with other tools and commands. It can be used as a file picker or a pluggable file manager. - [Awesome Integrations][1] - -[1]:awesome-integrations.md \ No newline at end of file +[1]: awesome-integrations.md diff --git a/docs/en/src/introduction.md b/docs/en/src/introduction.md index 5d9108d..4251f0c 100644 --- a/docs/en/src/introduction.md +++ b/docs/en/src/introduction.md @@ -1,5 +1,4 @@ -Introduction -============ +# Introduction xplr is a terminal UI based file explorer that aims to increase our terminal productivity by being a flexible, interactive orchestrator for the ever growing @@ -14,9 +13,7 @@ intuitive, scriptable, keyboard controlled, real-time visual interface, also being an ideal candidate for further integration, enabling the users to achieve insane terminal productivity. - -Features --------- +## Features ### Hackable @@ -29,7 +26,6 @@ A few things you can do with the xplr configuration - [Hack the key bindings][2] - [Extend with plugins][3] - ## Fast Although speed is not the primary concern, xplr is already fast enough so that @@ -46,7 +42,6 @@ because I am waiting for someone to complain. I want to avoid optimizing things I don't need to, because optimization often requires either complexity or feature sacrifice or both. - ## Minimalist xplr prefers to stay minimal, both in terms of features and binary size, but @@ -56,7 +51,6 @@ little more productive or allows xplr to be a little more configurable, it will be considered. But of-course, the `bulk vs productivity gain per user` balance will also be considered in the decision-making. - ## Other features - [Embedded LuaJIT][5] for @@ -113,10 +107,9 @@ will also be considered in the decision-making. (`:` `q` `s`). - Quit with failure (`ctrl-c`). - -[1]:layouts.md -[2]:modes.md -[3]:awesome-plugins.md -[4]:https://github.com/sayanarijit/xplr/tree/main/benches -[5]:https://github.com/sayanarijit/xplr/discussions/183 -[6]:https://github.com/sayanarijit/xplr/pull/229 \ No newline at end of file +[1]: layouts.md +[2]: modes.md +[3]: awesome-plugins.md +[4]: https://github.com/sayanarijit/xplr/tree/main/benches +[5]: https://github.com/sayanarijit/xplr/discussions/183 +[6]: https://github.com/sayanarijit/xplr/pull/229 diff --git a/docs/en/src/key-bindings.md b/docs/en/src/key-bindings.md index 9bd82af..fc333e3 100644 --- a/docs/en/src/key-bindings.md +++ b/docs/en/src/key-bindings.md @@ -1 +1 @@ -# Key Bindings \ No newline at end of file +# Key Bindings diff --git a/docs/en/src/modes.md b/docs/en/src/modes.md index 3c4701e..03a1bdf 100644 --- a/docs/en/src/modes.md +++ b/docs/en/src/modes.md @@ -1,5 +1,4 @@ -Modes -===== +# Modes xplr is a modal file explorer. That means the users switch between different modes, each containing a different set of key bindings to avoid clashes. Users @@ -12,9 +11,7 @@ It contains the following fields: - [builtin][1] - [custom][2] - -builtin -------- +## builtin Type: mapping of string and [Mode][3] @@ -44,9 +41,7 @@ xplr by default provides the following builtin modes: Visit the [Default Key Bindings][4] to see what each mode does. - -custom ------- +## custom Type: mapping of string and [Mode][3] @@ -78,9 +73,7 @@ xplr.config.general.initial_mode = "example" -- pressing "enter" should take you to the "default" mode. ``` - -Mode ----- +## Mode A mode contains the following information: @@ -122,9 +115,7 @@ Type: nullable [Layout][30] If specified, this layout will be used to render the UI. - -Key Bindings ------------- +## Key Bindings Key bindings define how each keyboard input will be handled in a specific mode. @@ -173,9 +164,7 @@ Default action to perform in case of a keyboard input not mapped via any of the [on_key][10], [on_alphabet][11], [on_number][12] or [on_special_character][13] field. - -Key ---- +## Key A key can be one of the following: @@ -203,9 +192,7 @@ A key can be one of the following: And finally, the special characters - including space (`" "`). - -Action ------- +## Action An action contains the following information: @@ -225,9 +212,7 @@ Type: A list of [Message][18] to send. The list of messages to send when a key is pressed. - -Tutorial: Adding a New Mode ---------------------------- +## Tutorial: Adding a New Mode Assuming xplr is [installed][19] and [setup][20], let's add our own mode to integrate xplr with [fzf][21]. @@ -296,38 +281,37 @@ Now let's try out the new `xplr`-`fzf` integration. [![xplr-fzf.gif][25]][26] ------ +--- Visit [Awesome Plugins][27] for more [integration][28] options. - -[1]:#builtin -[2]:#custom -[3]:#mode -[4]:default-key-bindings.md -[5]:#name -[6]:#help -[7]:#extra_help -[8]:#key_bindings -[9]:#key-bindings -[10]:#on_key -[11]:#on_alphabet -[12]:#on_number -[13]:#on_special_character -[14]:#default -[15]:#key -[16]:#action -[17]:#messages -[18]:message.md -[19]:install.md -[20]:post-install.md -[21]:https://github.com/junegunn/fzf -[22]:message.md#environment-variables -[23]:message.md#input-pipe -[24]:message.md#output-pipes -[25]:https://s3.gifyu.com/images/xplr-fzf.gif -[26]:https://gifyu.com/image/tW86 -[27]:awesome-plugins.md -[28]:awesome-plugins.md#integration -[29]:#layout -[30]:layouts.md#Layout +[1]: #builtin +[2]: #custom +[3]: #mode +[4]: default-key-bindings.md +[5]: #name +[6]: #help +[7]: #extra_help +[8]: #key_bindings +[9]: #key-bindings +[10]: #on_key +[11]: #on_alphabet +[12]: #on_number +[13]: #on_special_character +[14]: #default +[15]: #key +[16]: #action +[17]: #messages +[18]: message.md +[19]: install.md +[20]: post-install.md +[21]: https://github.com/junegunn/fzf +[22]: message.md#environment-variables +[23]: message.md#input-pipe +[24]: message.md#output-pipes +[25]: https://s3.gifyu.com/images/xplr-fzf.gif +[26]: https://gifyu.com/image/tW86 +[27]: awesome-plugins.md +[28]: awesome-plugins.md#integration +[29]: #layout +[30]: layouts.md#Layout diff --git a/docs/en/src/node_types.md b/docs/en/src/node_types.md index bf1ef6a..ee4753a 100644 --- a/docs/en/src/node_types.md +++ b/docs/en/src/node_types.md @@ -1,5 +1,4 @@ -Node Types -========== +# Node Types This configuration defines how to deal with different kinds of nodes (files, directories, symlinks etc.) in a directory. @@ -23,7 +22,6 @@ The priority is: **special** > **extension** > **mime_essence** > **symlink** > **file** > **directory** - ### directory Type: [NodeType Config][7] @@ -39,7 +37,6 @@ xplr.config.node_types.directory.meta.icon = "" xplr.config.node_types.directory.style.add_modifiers = { "Bold" } ``` - ### file Type: [NodeType Config][7] @@ -55,7 +52,6 @@ xplr.config.node_types.file.meta.icon = "" xplr.config.node_types.file.style.fg = "White" ``` - ### symlink Type: [NodeType Config][7] @@ -69,7 +65,6 @@ xplr.config.node_types.symlink.meta.icon = "" xplr.config.node_types.symlink.style.add_modifiers = { "Italic" } ``` - ### mime_essence Type: mapping of mime-type and mapping of mime-subtype and [NodeType Config][7] @@ -86,7 +81,7 @@ xplr.config.node_types.mime_essence = { application = { -- application/* ["*"] = { meta = { icon = "a" } } - + -- application/pdf pdf = { meta = { icon = "" } }, @@ -123,9 +118,7 @@ xplr.config.node_types.special["Cargo.toml"] = { meta = { icon = "" } } xplr.config.node_types.special["Downloads"] = { meta = { icon = "" } } ``` - -NodeType Config ---------------- +## NodeType Config A node-type config contains the following fields: @@ -151,13 +144,12 @@ xplr.config.node_types.file = { } ``` - -[1]:#directory -[2]:#file -[3]:#symlink -[4]:#mime_essence -[5]:#extension -[6]:#special -[7]:#nodetype-config -[8]:#meta -[9]:style.md \ No newline at end of file +[1]: #directory +[2]: #file +[3]: #symlink +[4]: #mime_essence +[5]: #extension +[6]: #special +[7]: #nodetype-config +[8]: #meta +[9]: style.md diff --git a/docs/en/src/plugin.md b/docs/en/src/plugin.md index 21ac2a1..3e6aa71 100644 --- a/docs/en/src/plugin.md +++ b/docs/en/src/plugin.md @@ -1,5 +1,4 @@ -Plugin -====== +# Plugin xplr supports pluggable Lua modules that can be used to easily configure or extend xplr UI and functionalities. @@ -8,7 +7,6 @@ extend xplr UI and functionalities. - [Writing Plugins][2] - [Awesome Plugins][3] - -[1]:installing-plugins.md -[2]:writing-plugins.md -[3]:awesome-plugins.md \ No newline at end of file +[1]: installing-plugins.md +[2]: writing-plugins.md +[3]: awesome-plugins.md diff --git a/docs/en/src/post-install.md b/docs/en/src/post-install.md index 7ab05e4..96da3c4 100644 --- a/docs/en/src/post-install.md +++ b/docs/en/src/post-install.md @@ -1,10 +1,8 @@ -Post Install -============ +# Post Install Once [installed][1], use the following steps to setup and run xplr. -Create the customizable config file ------------------------------------ +## Create the customizable config file ```bash mkdir -p ~/.config/xplr @@ -28,15 +26,12 @@ and remove / comment out what you don't want to customize. > Also, the default configuration is meant to be overwritten to suit your > workflow. - -Run ---- +## Run ``` xplr ``` - -[1]:install.md -[2]:https://github.com/sayanarijit/xplr/blob/main/src/init.lua -[3]:upgrade-guide.md \ No newline at end of file +[1]: install.md +[2]: https://github.com/sayanarijit/xplr/blob/main/src/init.lua +[3]: upgrade-guide.md diff --git a/docs/en/src/quickstart.md b/docs/en/src/quickstart.md index 3cab8dc..8384f30 100644 --- a/docs/en/src/quickstart.md +++ b/docs/en/src/quickstart.md @@ -1,5 +1,4 @@ -Quickstart -========== +# Quickstart Nice to you have here! Let's quickly start our xplr journey with the following steps: @@ -7,6 +6,5 @@ following steps: - [Install][1] - [Post Install][2] - -[1]:install.md -[2]:post-install.md \ No newline at end of file +[1]: install.md +[2]: post-install.md diff --git a/docs/en/src/sorting.md b/docs/en/src/sorting.md index 21b2b23..348b82e 100644 --- a/docs/en/src/sorting.md +++ b/docs/en/src/sorting.md @@ -1,5 +1,4 @@ -Sorting -======= +# Sorting xplr supports sorting paths by different properties. The sorting mechanism works like a pipeline, which in visible in the `Sort & filter` panel. @@ -19,16 +18,13 @@ The arrows denote the order. Each part of this pipeline is called [Node Sorter Applicable][1]. - -Node Sorter Applicable ----------------------- +## Node Sorter Applicable It contains the following information: - [sorter][2] - [reverse][3] - ### sorter A sorter can be one of the following: @@ -62,16 +58,13 @@ A sorter can be one of the following: TODO: document each - ### reverse Type: boolean It defined the direction of the order. - -Example -------- +## Example ```lua xplr.config.general.initial_sorting = { @@ -82,7 +75,6 @@ xplr.config.general.initial_sorting = { This snippet defines the initial sorting logic to be applied when xplr loads. - -[1]:#node-sorter-applicable -[2]:#sorter -[3]:#reverse \ No newline at end of file +[1]: #node-sorter-applicable +[2]: #sorter +[3]: #reverse diff --git a/docs/en/src/style.md b/docs/en/src/style.md index 7910aa3..23ce1f8 100644 --- a/docs/en/src/style.md +++ b/docs/en/src/style.md @@ -1,5 +1,4 @@ -Style -===== +# Style A style object contains the following information: @@ -14,30 +13,25 @@ Type: nullable [Color][5] The foreground color. - ### bg Type: nullable [Color][5] The background color. - ### add_modifiers Type: nullable list of [Modifier][6] Modifiers to add. - ### sub_modifiers Type: nullable list of [Modifier][6] Modifiers to remove. - -Color ------ +## Color Color can be one of the following: @@ -61,9 +55,7 @@ Color can be one of the following: - { Rgb = { int, int, int } } - { Indexed = int } - -Modifier --------- +## Modifier Modifier can be one of the following: @@ -77,9 +69,7 @@ Modifier can be one of the following: - "Hidden" - "CrossedOut" - -Example -------- +## Example ```lua xplr.config.general.cursor.style.fg = "Red" @@ -88,10 +78,9 @@ xplr.config.general.cursor.style.add_modifiers = { "Bold", "Italic" } xplr.config.general.cursor.style.sub_modifiers = { "Hidden" } ``` - -[1]:#fg -[2]:#bg -[3]:#add_modifiers -[4]:#sub_modifiers -[5]:#color -[6]:#modifier \ No newline at end of file +[1]: #fg +[2]: #bg +[3]: #add_modifiers +[4]: #sub_modifiers +[5]: #color +[6]: #modifier diff --git a/docs/en/src/todo.md b/docs/en/src/todo.md index 68c2985..4c98d65 100644 --- a/docs/en/src/todo.md +++ b/docs/en/src/todo.md @@ -1,5 +1,4 @@ -TODO -==== +# TODO - [x] Saner key bindings. - [x] Pipes. @@ -27,10 +26,9 @@ TODO Like this project so far? **[Please consider contributing][6].** - -[1]:https://github.com/sayanarijit/xplr/wiki/Hacks#spawn-multiple-sessions-in-different-windows -[2]:https://github.com/sayanarijit/xplr/discussions/15 -[3]:https://github.com/sayanarijit/xplr/wiki/Hacks#bookmark -[4]:https://github.com/sayanarijit/xplr.vim -[5]:https://github.com/sayanarijit/xplr/discussions/2 -[6]:contribute.md +[1]: https://github.com/sayanarijit/xplr/wiki/Hacks#spawn-multiple-sessions-in-different-windows +[2]: https://github.com/sayanarijit/xplr/discussions/15 +[3]: https://github.com/sayanarijit/xplr/wiki/Hacks#bookmark +[4]: https://github.com/sayanarijit/xplr.vim +[5]: https://github.com/sayanarijit/xplr/discussions/2 +[6]: contribute.md diff --git a/docs/en/src/writing-plugins.md b/docs/en/src/writing-plugins.md index e13b810..cd348f6 100644 --- a/docs/en/src/writing-plugins.md +++ b/docs/en/src/writing-plugins.md @@ -1,20 +1,15 @@ -Writing Plugins -=============== +# Writing Plugins Anyone who can write [Lua][1] code, can write xplr plugins. Just follow the instructions and best practices: - -Naming ------- +## Naming xplr plugins are named using hiphen (`-`) separated words that may also include integers. They will be plugged using the `require()` function in Lua. - -Structure ---------- +## Structure A minimal plugin should confirm to the following structure: @@ -28,7 +23,6 @@ plugin-name You can also use [this template][2]. - ### README.md This is where you document what the plugin does, how to use it, etc. @@ -49,8 +43,7 @@ end return { setup = setup } ``` -Publishing ----------- +## Publishing When publishing plugins on GitHub or other repositories, it's a best practice to append `.xplr` to the name to make them distinguishable. Similar to the @@ -59,15 +52,11 @@ to append `.xplr` to the name to make them distinguishable. Similar to the Finally, after publishing, don't hesitate to [let us know][4]. - -Examples --------- +## Examples Visit [Awesome Plugins][5] for xplr plugin examples. - -Also See --------- +## Also See - [Tutorial: Adding a New Mode][6] - [Example: Using Environment Variables and Pipes][7] @@ -76,15 +65,14 @@ Also See - [Example: Customizing Table Renderer][10] - [Example: Render a custom dynamic table][11] - -[1]:https://www.lua.org -[2]:https://github.com/sayanarijit/plugin-template1.xplr -[3]:https://neovim.io -[4]:https://github.com/sayanarijit/xplr/discussions/categories/show-and-tell -[5]:awesome-plugins.md -[6]:modes.md#tutorial-adding-a-new-mode -[7]:message.md#example-using-environment-variables-and-pipes -[8]:message.md#example-using-lua-function-calls -[9]:layouts.md#example-defining-custom-layout -[10]:column-renderer.md#example-customizing-table-renderer -[11]:layouts.md#example-render-a-custom-dynamic-table +[1]: https://www.lua.org +[2]: https://github.com/sayanarijit/plugin-template1.xplr +[3]: https://neovim.io +[4]: https://github.com/sayanarijit/xplr/discussions/categories/show-and-tell +[5]: awesome-plugins.md +[6]: modes.md#tutorial-adding-a-new-mode +[7]: message.md#example-using-environment-variables-and-pipes +[8]: message.md#example-using-lua-function-calls +[9]: layouts.md#example-defining-custom-layout +[10]: column-renderer.md#example-customizing-table-renderer +[11]: layouts.md#example-render-a-custom-dynamic-table