Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/ms-jpq/chadtree

File manager for Neovim. Better than NERDTree.
https://github.com/ms-jpq/chadtree

chad colours devicons file-explorer file-manager github-colours neovim neovim-plugin nerdtree nvim python tree

Last synced: about 2 months ago
JSON representation

File manager for Neovim. Better than NERDTree.

Lists

README

        

# [CHADTree](https://ms-jpq.github.io/chadtree)

File Manager for Neovim, Better than NERDTree.

## Features Illustrated

**See full list of screen captures [here](https://github.com/ms-jpq/chadtree/tree/chad/docs/FEATURES.md)**

### I like speed

- **Parallel** Filesystem Scan

- **[React Like](https://reactjs.org/docs/reconciliation.html)** Reconciling Difference Minimizing Rendering engine

- **Never** blocks

_You can read more about my [performance optimization](https://github.com/ms-jpq/chadtree/tree/chad/docs/ARCHITECTURE.md) here._

### I like power

- Visual mode selections

- Create, Copy, Paste, Delete, Rename, gotta do them all

- Quickfix integration

- [Bookmarks](https://raw.githubusercontent.com/ms-jpq/chadtree/chad/docs/img/bookmarks.png)

![visual_select.gif](https://raw.githubusercontent.com/ms-jpq/chadtree/chad/docs/img/visual_select.gif)

### I like 21st century

- Filtering by glob

- Follow mode

- Session support (save open folders to disk, pick up where you left off)

- Trash support (requires [`trash`](https://formulae.brew.sh/formula/trash) or [`trash-cli`](https://github.com/andreafrancia/trash-cli))

- `ls -l` statistics

- Correct! handling of symlinks

![filtering.gif](https://raw.githubusercontent.com/ms-jpq/chadtree/chad/docs/img/filtering.gif)

### I like version control

- Asynchronous parse git status (untracked, modified, staged)

- Full support for git submodules

![git.gif](https://raw.githubusercontent.com/ms-jpq/chadtree/chad/docs/img/git_showcase.gif)

### I like colours

- Full `$LS_COLOR` support! (shows same colours as unix `ls` & `tree` commands)

- [Github coloured](https://github.com/github/linguist) icons (over 600 colours!)

- Three different sets of icons out of the box

- Four built-in themes - nord, solarized, trapdoor, vim-syntax

![ls_colours.png](https://raw.githubusercontent.com/ms-jpq/chadtree/chad/docs/img/ls_colours.png)

![github_colours.png](https://raw.githubusercontent.com/ms-jpq/chadtree/chad/docs/img/github_colours.png)

### I like refinement

- Maintain cursor position on relevant files even when during movements.

- Maintain selection when copying, moving files

- Mimetype warning (so you don't accidentally open an image)

- Validating config parser **(notice, I added an extra `"dog"` param)**

![mime warn.png](https://github.com/ms-jpq/chadtree/raw/chad/docs/img/mimetype.png)

![schema error.png](https://github.com/ms-jpq/chadtree/raw/chad/docs/img/schema_error.png)

### I like documentation

- Built-in help command in a floating window!

- Over 1000 lines of meticulous docs covering every option / function!

**Use `:CHADhelp` to view [documentation](https://github.com/ms-jpq/chadtree/tree/chad/docs)**

**Use `:CHADhelp --web` to open documentation in your browser!** (If you have one installed)

## Install

**Minimum version**: `python`: 3.8.2, `nvim`: `0.4.3`, make sure to have `virtualenv` installed (e.g.: `sudo apt install --yes -- python3-venv`)

Install the usual way, ie. [VimPlug](https://github.com/junegunn/vim-plug), [Vundle](https://github.com/VundleVim/Vundle.vim), etc

```vim
Plug 'ms-jpq/chadtree', {'branch': 'chad', 'do': 'python3 -m chadtree deps'}
```

You will have to run `:CHADdeps` when installing / updating. This will install CHADTree's dependencies locally inside `chadtree/.vars/runtime`.

doing `rm -rf chadtree/` will cleanly remove everything CHADTree uses on your computer.

## Usage

To toggle CHADTree run command `:CHADopen`. Set it to a hotkey for convenience.

```vimL
nnoremap v CHADopen
```

To see a list of hot keys:

Either use `:CHADhelp keybind` or open in browser using [`:CHADhelp keybind --web`](https://github.com/ms-jpq/chadtree/tree/chad/docs/KEYBIND.md)

### FAQ

Q: Sometimes Windows will get stuck with CHADTree decorations when I do not want them to be, how do I resolve this?

A: Run `:CHADrestore`

### Recommendations

Add a hotkey to clear quickfix list:

```vimL
nnoremap l call setqflist([])
```

## If you like this...

Also check out

- [`sad`](https://github.com/ms-jpq/sad), its a modern `sed` that does previews with syntax highlighting, and lets you pick and choose which chunks to edit.

- [`coq.nvim`](https://github.com/ms-jpq/coq_nvim), it's a FAST AS FUCK completion client with shit tons of features.

- [isomorphic-copy](https://github.com/ms-jpq/isomorphic-copy), it's a cross platform clipboard that is daemonless, and does not require third party support.

## Special Thanks

CHADTree does not define it's own colours beyond some minimal defaults, all themes are imported from other open source projects.

> The base icons are imported from the [vim-devicon](https://github.com/ryanoasis/vim-devicons)

> All emoji icons are imported from the [vim-emoji-icon-theme](https://github.com/adelarsq/vim-emoji-icon-theme)

> Some themes are imported from [dircolors-solarized](https://github.com/seebi/dircolors-solarized)

> Some themes are imported from [nord-dircolors](https://github.com/arcticicestudio/nord-dircolors)

> Some themes are imported from [LS_COLORS](https://github.com/trapd00r/LS_COLORS)

> Some themes are imported from [vim-nerdtree-syntax-highlight](https://github.com/tiagofumo/vim-nerdtree-syntax-highlight)