Skip to content

akinomyoga/blesh-contrib

Repository files navigation

[ Languages: English | ζ—₯本θͺž (Japanese) ]

blesh-contrib

Settings for akinomyoga/ble.sh

Unless otherwise specified, files in this repository are licensed by BSD 3-clause license. The files in airline are licensed by the MIT License.

πŸ“ fzf integration

Source: fzf-completion.bash, fzf-key-bindings.bash

Note: If you would like to integrate fzf-completion with bash-completion, bash-completion needs to be loaded before fzf-completion is loaded.

Option 1: Setup in ~/.fzf.bash

If you would like to use fzf with ble.sh, for example, you can rewrite your .fzf.bash in the following way. In this case, .fzf.bash needs to be sourced after ble.sh. Please replace /path/to/fzf-directory, /path/to/fzf/..., and /path/to/bash_completion.sh if necessary.

# fzf.bash

# If ble/contrib/integration/fzf cannot find the fzf directory, please set the
# following variable "_ble_contrib_fzf_base" manually.  The value
# "/path/to/fzf-directory" should be replaced by a path to the fzf directory
# such as "$HOME/.fzf" or "/usr/share/fzf" that contain
# "shell/{completion,key-bindings}.bash" or "{completion,key-bindings}.bash".

#_ble_contrib_fzf_base=/path/to/fzf-directory

# Setup fzf
# ---------
if [[ ! "$PATH" == *"/path/to/fzf/bin"* ]]; then
  export PATH="${PATH:+${PATH}:}/path/to/fzf/bin"
fi

# Auto-completion
# ---------------
if [[ $- == *i* ]]; then
  # Note: If you would like to combine fzf-completion with bash_completion, you
  # need to load bash_completion earlier than fzf-completion.

  #source /path/to/bash_completion.sh

  if [[ ${BLE_VERSION-} ]]; then
    ble-import -d integration/fzf-completion
  else
    source /path/to/fzf/shell/completion.bash 2> /dev/null
  fi
fi

# Key bindings
# ------------
if [[ ${BLE_VERSION-} ]]; then
  ble-import -d integration/fzf-key-bindings
else
  source /path/to/fzf/shell/key-bindings.bash
fi

Option 2: Setup in ~/.blerc

Or, you can directly write settings in your blerc as follows. In this case, do not source .fzf.bash in your .bashrc.

# blerc

# If ble/contrib/integration/fzf cannot find the fzf directory, please set the
# following variable "_ble_contrib_fzf_base" manually.  The value
# "/path/to/fzf-directory" should be replaced by a path to the fzf directory
# such as "$HOME/.fzf" or "/usr/share/fzf" that contain
# "shell/{completion,key-bindings}.bash" or "{completion,key-bindings}.bash".

#_ble_contrib_fzf_base=/path/to/fzf-directory


# Note: If you would like to combine fzf-completion with bash_completion, you
# need to load bash_completion earlier than fzf-completion.

#source /path/to/bash_completion.sh


# Setup fzf
ble-import -d integration/fzf-completion
ble-import -d integration/fzf-key-bindings

Note: the option -d for ble-import means the asynchronous loading of the modules. If you need to immediately load the module, please drop the option -d. For example, if the user needs to call a function defined in a module, the module can be loaded immediately, so that the user can use the function.

ble-import integration/fzf-completion
_fzf_setup_completion foo bar

However, in most cases, the user would probably want to reserve the execution of the commands relying on the module by using the -C callback option. In this way, the reserved command is evaluated when the module is successfully loaded.

ble-import -d integration/fzf-completion \
  -C '_fzf_setup_completion foo bar'

πŸ“ integration/fzf-git

Source: fzf-git.bash

You can use the junegunn/fzf-git.sh settings for ble.sh with the following setup.

# bashrc / fzf.bash
if [[ ${BLE_VERSION-} ]]; then
  # If needed. See above for details:
  #_ble_contrib_fzf_base=/path/to/fzf-directory

  _ble_contrib_fzf_git_config=key-binding:sabbrev:arpeggio
  ble-import -d integration/fzf-git
fi

Or you can configure it in ~/.blerc:

# blerc

# If needed. See above for details:
#_ble_contrib_fzf_base=/path/to/fzf-directory

_ble_contrib_fzf_git_config=key-binding:sabbrev:arpeggio
ble-import -d integration/fzf-git

The shell variable _ble_contrib_fzf_git_config is a colon-separated list of the enabled types of bindings. The value key-binding enables the key bindings of the form C-g C-f, C-g C-b, C-g C-t, C-g C-h, C-g C-r, and C-g C-s. The value sabbrev enables the sabbrev expansion for the words gf, gb, gt, gh, gr, and gs. The value arpeggio enables the simultaneous key combinations of g f, g b, g t, g h, g r, and g s. The value old-functions enables old function names: is_in_git_repo, fzf-down, gh, gb, gt, gh, gr, and gs.

βš™ Prompt sequences

πŸ“ contrib/prompt-vim-mode

Source: prompt-vim-mode.bash

Prompt sequence \q{contrib/vim-mode}

This prompt sequence expands to the vim mode name.

# blerc (example)

ble-import contrib/prompt-vim-mode
PS1='[\u@\h \W]\q{contrib/vim-mode}\$ ' # show mode name in PS1
bleopt keymap_vi_mode_show:=            # hide mode line

πŸ“ contrib/prompt-git

Source: prompt-git.bash

# blerc (example)

ble-import contrib/prompt-git
bleopt prompt_rps1='\q{contrib/git-info}'

Prompt sequence \q{contrib/git-info}

This expands to a string that explains the current git status.

Prompt sequence \q{contrib/git-name}

This expands to the directory name of the repository.

Prompt sequence \q{contrib/git-hash N}

This expands to the commit hash. The hash is truncated to the length N. The default value for N is 7.

Prompt sequence \q{contrib/git-branch}

This expands to the branch name (or tag name or hash) of HEAD.

Prompt sequence \q{contrib/git-path}

This expands to the current path relative to the root directory of the repository.

πŸ“ contrib/prompt-elapsed

Source: prompt-elapsed.bash

Measures the time of the previous command execution.

# blerc (example)

ble-import contrib/prompt-elapsed
bleopt prompt_rps1='\g{fg=69,italic}\q{contrib/elapsed}'

Prompt sequence \q{contrib/elapsed}

This expands to the high-resolution elapsed time for the command execution.

Prompt sequence \q{contrib/elapsed-real}

This expands to the real time of time.

Prompt sequence \q{contrib/elapsed-user}

This expands to the user time of time.

Prompt sequence \q{contrib/elapsed-sys}

This expands to the sys time of time.

Prompt sequence \q{contrib/elapsed-cpu}

This expands to the average cpu usage.

πŸ“ colorglass

If your terminal supports 24-bit color, you can adjust the theme colors by specifying gamma, contrast, hue rotation, etc. This also works for the terminals without the 24-bit color support if bleopt term_index_colors is properly set up, but the resulting colors would be reduced to a smaller number of colors.

ble-import contrib/colorglass

# If your terminal does not support the 24-bit colors, please explicitly
# configure it by putting the following line:
#bleopt term_true_colors=

Blopet colorglass_gamma

This option specifies the change of gamma by percentage. For example, bleopt colorglass_gamma=5 performs the gamma correction with $\gamma=1.05$, and bleopt colorglass_gamma=-5 performs the gamma correction with $\gamma=0.95$

# default
bleopt colorglass_gamma=0

Blopet colorglass_contrast

This option specifies the contrast modification in the range -100..100.

# default
bleopt colorglass_contrast=0

Blopet colorglass_rotate

This option specifies the angle of hue rotation in degrees.

# default
bleopt colorglass_rotate=0

Blopet colorglass_saturation

This option specifies the change of saturation in the range -100..100.

# default
bleopt colorglass_saturation=0

Blopet colorglass_brightness

This option specifies the change of brightness in the range -100..100.

# default
bleopt colorglass_brightness=0

Blopet colorglass_alpha

This option specifies the opacity in the range 0..255 when the color is synthesized with the background color specified by bleopt colorglass_color.

# defualt
bleopt colorglass_alpha=255

Blopet colorglass_color

This option specifies the background color used by the color synthesis by bleopt colorglass_alpha.

# defualt
bleopt colorglass_color=0x8888FF

Releases

No releases published

Packages

No packages published