For more capabilities and commands, checkout [wiki](https://github.com/kazhala/dotbare/wiki/Commands).
## Why
@ -48,15 +48,17 @@ to another system as you will have to manually resolve all the git checkout issu
`dotbare` solves the above problems by providing a series of scripts starts with a prefix f
(e.g. `dotbare fadd`, `dotbare flog` etc) that will enable a interactive experience by processing
all the git information and display it through fzf. `dotbare` also comes with the ability to integrate with
GNU stow or any symlink set up as long as you are using git. It is easy to migrate to any system
with minimal set up required.
all the git information and display it through fzf. In addition, `dotbare` also comes with command line completion
that you could choose to either to complete `git` commands or `dotbare` commands.
`dotbare` also comes with the ability to integrate with GNU stow or any symlink set up as long as you are using git.
It is easy to migrate to any system with minimal set up required.
## Install
### zsh
`dotbare` should work with any zsh plugin manager, below is only demonstration.
`dotbare` should work with any zsh plugin manager, below is only demonstration. Checkout [wiki](https://github.com/kazhala/dotbare/wiki/Completion#zsh)
about how to enable completion for zsh.
#### zinit
@ -100,8 +102,9 @@ antigen bundle kazhala/dotbare
### bash
`dotbare` comes with a `dotbare.plugin.bash` which will enable both bash command line
completion for dotbare commands and adding dotbare to your PATH.
`dotbare` comes with a `dotbare.plugin.bash` which contains the command line completion
function for both `git` and `dotbare`, checkout [wiki](https://github.com/kazhala/dotbare/wiki/Completion#bash)
about how to enable it.
- Clone the repository (change ~/.dotbare to the location of your preference).
@ -141,25 +144,26 @@ completion for dotbare commands and adding dotbare to your PATH.
### Dependencies
- Required dependency
You will need git on the system for obvious reasons..and because `dotbare` is written in bash,
it will require you to have bash in the system (You don't need to run bash, just need to be in the system).
- git
- [fzf](https://github.com/junegunn/fzf)
- bash(You don't need to run bash, but dotbare does require you have bash in your system)
#### Required dependency
- Optional dependency
- [fzf](https://github.com/junegunn/fzf)
- [tree](https://linux.die.net/man/1/tree) (Provide a directory tree view when finding directory)
#### Optional dependency
```sh
# if you are on macos
brew install tree
```
- [tree](https://linux.die.net/man/1/tree) (Provide a directory tree view when finding directory)
or any diff tools of your choice (Fancy git diff preview like in the screen shot)
```sh
# if you are on macos
brew install tree
```
- [bat](https://github.com/sharkdp/bat) or [highlight](http://www.andre-simon.de/doku/highlight/en/highlight.php) or [coderay](https://github.com/rubychan/coderay)
or [rougify](https://github.com/rouge-ruby/rouge) (Syntax highlighting when previewing files, otherwise cat will be used)
- [delta](https://github.com/dandavison/delta) or [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy)
or any diff tools of your choice (Fancy git diff preview like in the screen shot)
### Setup
@ -362,6 +366,8 @@ fzf behavior from your normal system fzf settings.
```sh
# By default this variable is not set
# More settings checkout fzf man page and their wiki
# Example: if you want your preview window for dotbare to be bigger