···11+#!/usr/bin/env sh
22+alias reload="source ~/.bash_profile" # Reload bash aliases
33+44+# enable color support of ls and also add handy aliases
55+if hash dircolors 2>/dev/null; then
66+ [ -f "$XDG_CONFIG_HOME"/dircolors/dircolors ] && eval "$(dircolors -b "$XDG_CONFIG_HOME"/dircolors/dircolors)" || eval "$(dircolors -b)"
77+ if hash eza 2>/dev/null; then
88+ alias ls='eza -@F --color=auto --icons --color-scale --group-directories-first'
99+ elif hash exa 2>/dev/null; then
1010+ alias ls='exa -@F --color=auto --icons --color-scale --group-directories-first'
1111+ else
1212+ alias ls='ls -hF --color=auto --group-directories-first'
1313+ fi
1414+ alias dir='dir --color=auto'
1515+ alias vdir='vdir --color=auto'
1616+ alias grep='grep --color=auto'
1717+ alias fgrep='LC_ALL=C fgrep --color=auto'
1818+ alias egrep='egrep --color=auto'
1919+ alias ncdu='ncdu --color dark'
2020+fi
2121+2222+# some more ls aliases
2323+alias ll='ls -Al'
2424+alias la='ls -A'
2525+alias l='ls -x'
2626+2727+if hash bat 2>/dev/null; then alias bat='bat --paging=never --style=plain' ; fi # Use bat(1) like cat(1) by default
2828+2929+# Directory Navigation
3030+alias ..='cd ..'
3131+alias ...='cd ../..'
3232+alias ....='cd ../../..'
3333+alias .....='cd ../../../..'
3434+alias ......='cd ../../../../..'
3535+3636+# Force interactive operation
3737+alias rm='rm -i'
3838+# alias cp='cp -i'
3939+# alias mv='mv -i'
4040+4141+# Default to human readable figures
4242+alias df='df -h'
4343+alias du='du -h'
4444+4545+# Misc
4646+alias whence='type -a' # where, of a sort
4747+4848+# Use 132x27 color display
4949+alias 5250='tn5250 ssl:localhost env.TERM=IBM-3477-FC'
5050+5151+if hash grc 2>/dev/null; then # aliases for grc(1) - Generic Colouriser
5252+ [ -f /etc/default/grc ] && . /etc/default/grc # If /etc/default/grc exists, source it
5353+ GRC="$(which grc)" # Get the path to grc
5454+ if tty -s && [ -n "$TERM" ] && [ "$TERM" != dumb ] && [ -n "$GRC" ]; then # If terminal is interactive and grc is available
5555+ alias colourify='$GRC -es'
5656+ alias blkid='colourify blkid'
5757+ alias configure='colourify ./configure'
5858+ alias df='colourify df -h'
5959+ alias diff='colourify diff'
6060+ alias docker='colourify docker'
6161+ alias docker-compose='colourify docker-compose'
6262+ alias docker-machine='colourify docker-machine'
6363+ alias du='colourify du -h'
6464+ alias env='colourify env'
6565+ alias free='colourify free'
6666+ alias fdisk='colourify fdisk'
6767+ alias findmnt='colourify findmnt'
6868+ alias make='colourify make'
6969+ alias gcc='colourify gcc'
7070+ alias g++='colourify g++'
7171+ alias id='colourify id'
7272+ alias ip='colourify ip'
7373+ alias iptables='colourify iptables'
7474+ alias as='colourify as'
7575+ alias gas='colourify gas'
7676+ alias journalctl='colourify journalctl'
7777+ alias kubectl='colourify kubectl'
7878+ alias ld='colourify ld'
7979+ #alias ls='colourify ls'
8080+ alias lsof='colourify lsof'
8181+ alias lsblk='colourify lsblk'
8282+ alias lspci='colourify lspci'
8383+ alias netstat='colourify netstat'
8484+ alias ping='colourify ping'
8585+ alias ss='colourify ss'
8686+ alias traceroute='colourify traceroute'
8787+ alias traceroute6='colourify traceroute6'
8888+ alias head='colourify head'
8989+ alias tail='colourify tail'
9090+ alias dig='colourify dig'
9191+ alias mount='colourify mount'
9292+ alias ps='colourify ps'
9393+ alias mtr='colourify mtr'
9494+ alias semanage='colourify semanage'
9595+ alias getsebool='colourify getsebool'
9696+ alias ifconfig='colourify ifconfig'
9797+ alias sockstat='colourify sockstat'
9898+ fi ; fi
···11+#!/usr/bin/env sh
22+if hash lf 2>/dev/null; then
33+ lfcd () { # If using lf, add the following so that when you exit lf, you are in the directory you were in when you finished using lf
44+ cd "$(command lf -print-last-dir "$@")" || return # `command` is needed in case `lfcd` is aliased to `lf`
55+ }
66+ # alias lf='lfcd' # Uncomment this line to make lfcd the default behavior of lf
77+fi
···11+#!/usr/bin/env bash
22+# https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Variables.html#index-PS1
33+# https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html
44+export GIT_PS1_SHOWDIRTYSTATE=1 # Show * if repo is dirty
55+_hostname=$(hostname) # Get hostname and remove www. prefix if present
66+[[ $_hostname == www.* ]] && _hostname=${_hostname:4} ; [[ $_hostname == WWW.* ]] && _hostname=${_hostname:4}
77+if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) ; fi
88+__prompt_command() { # Function to generate PS1 after each command
99+ history -a # Append to history file
1010+ local EXIT="$?" # Get exit code of last command
1111+ shortpath=$(awk -F'/' '{if(NF>5) print $1"/"$2"/../"$(NF-1)"/"$(NF-0); else print $0;}' <<<"${PWD/#$HOME/\~}") # Shorten path to first and last 3 directories
1212+ ttitle "${_hostname} ${shortpath}"
1313+ IFS=';' read -r -sdR -p $'\E[6n' _ROW COL # Get cursor position
1414+ [ "$COL" -ne 1 ] && echo '' # Add newline if cursor is not at 1st column
1515+ PS1="${debian_chroot:+($debian_chroot)}\[\033[38;5;81m\]$_hostname \[\033[38;5;141m\]${shortpath}";
1616+ if [ $EXIT != 0 ]; then PS1+=" \[\e[0;31m\]" # Add red if exit code non 0
1717+ else PS1+=" \[\e[49;38;5;227m\]" ; fi # Add yellow if exit code 0
1818+ PS1+="\$\[\e[0m\] " ; # Add prompt symbol and reset colors
1919+}
2020+PROMPT_COMMAND=__prompt_command
2121+__prompt_command # Generate PS1 for first time
···11+#!/usr/bin/env bash
22+set -h # Enable 'hash' builtin
33+shopt -s checkwinsize # check the window size after each command and, if necessary, update the values of LINES and COLUMNS.
44+shopt -s globstar # If set, the pattern "**" used in a pathname expansion context will match all files and zero or more directories and subdirectories.
55+shopt -s cdspell # If set, minor errors in the spelling of a directory component in a cd command will be corrected. The errors checked for are transposed characters, a missing character, and a character too many.
66+shopt -s dirspell # If set, Bash attempts spelling correction on directory names during word completion if the directory name initially supplied does not exist.
77+shopt -s dotglob # If set, Bash includes filenames beginning with a ‘.’ in the results of filename expansion.
88+shopt -s extglob # If set, the extended pattern matching features are enabled.
99+shopt -s nocaseglob # Use case-insensitive filename globbing
1010+shopt -s histappend # Make bash append rather than overwrite the history on disk
1111+1212+# Umask - /etc/profile default sets 022, removing write perms to group + others.
1313+# umask 027 # Sets a restrictive umask: i.e. no exec perms for others.
1414+umask 077 # Sets a more restrictive umask: neither group nor others have any perms.
1515+1616+if hash lesspipe 2>/dev/null; then eval "$(SHELL=/bin/sh lesspipe)" ; fi # make less more friendly for non-text input files, see lesspipe(1)
1717+1818+# Ignore some controlling instructions
1919+# HISTIGNORE is a colon-delimited list of patterns which should be excluded.
2020+# The '&' is a special pattern which suppresses duplicate entries.
2121+export HISTIGNORE=$'[ \t]*:&:[fb]g:exit'
2222+if [[ -n "${XDG_STATE_HOME}" ]]; then export HISTFILE="$XDG_STATE_HOME/history/bash_history" ; fi
···11+# -*- mode: sh; mode: sh-bash -*-
22+33+## This is a template for "~/.blerc".
44+##
55+## To use ble.sh in bash, please set up "~/.bashrc" as follows:
66+##
77+## ```bash
88+## # bashrc
99+##
1010+## # Please put the following line in the beginning of .bashrc
1111+## # Note: Please replace $HOME/.local/share/blesh with the path to your ble.sh
1212+## [[ $- == *i* ]] && source "$HOME/.local/share/blesh/ble.sh" --noattach
1313+##
1414+## # Your bashrc contents should come between the two lines.
1515+##
1616+## # Please put the following line in the end of .bashrc
1717+## [[ ! ${BLE_VERSION-} ]] || ble-attach
1818+## ```
1919+##
2020+2121+##-----------------------------------------------------------------------------
2222+## Basic settings
2323+2424+2525+## The following setting specifies the input encoding. Currently only "UTF-8"
2626+## and "C" is available.
2727+2828+#bleopt input_encoding=UTF-8
2929+3030+3131+## The following setting specifies the pager used by ble.sh. This is used to
3232+## show the help of commands (f1).
3333+3434+#bleopt pager=less
3535+3636+## The following setting specifies the editor used by ble.sh. This is used for
3737+## the widget edit-and-execute (C-x C-e) and editor for a large amount of
3838+## command line texts. Possible values include, for example, "vim", "emacs
3939+## -nw" and "nano".
4040+4141+#bleopt editor=vim
4242+4343+4444+## The following settings sets the behavior of visible bells (vbell). The
4545+## option "vbell_duration" sets the time duration to show the vbell. The
4646+## option "vbell_align" controls the position of vbell with a colon-separated
4747+## fields. The fields "left", "center", and "right" specify that the vbell
4848+## should be shown up on the left, center, and right, respectively, in the
4949+## terminal display. The default is "right". The field "panel" specify that
5050+## vbell should be shown below the command line within the line editor
5151+## interface (as far as the line editor is currently active). The faces
5252+## "vbell", "vbell_erase", and "vbell_flash" specify the graphic style of the
5353+## vbell, the one after vbell is erased, and the one used to blink the vbell,
5454+## respectively.
5555+5656+#bleopt vbell_default_message=' Wuff, -- Wuff!! '
5757+#bleopt vbell_duration=2000
5858+#bleopt vbell_align=right
5959+#ble-face vbell='reverse'
6060+#ble-face vbell_erase='bg=252'
6161+#ble-face vbell_flash='fg=green,reverse'
6262+6363+6464+##-----------------------------------------------------------------------------
6565+## Line editor settings
6666+6767+6868+## This option controls the behavior of the bell in the line editing by
6969+## colon-separated values. When "abell", "vbell", and "visual" are contained,
7070+## the audible bells, the visible bells, and the visual bells are enabled. The
7171+## audible bell sends BEL to the terminal. The visible bell shows the message
7272+## on the terminal display. The visual bell is the GNU-Screen style bell that
7373+## flashes the terminal display by turning on DECSCNM in a short moment. Old
7474+## settings "edit_vbell" and "edit_abell" should be updated to use "edit_bell".
7575+7676+#bleopt edit_bell=abell
7777+7878+7979+## The following setting turns on the delayed load of history when an non-empty
8080+## value is set.
8181+8282+#bleopt history_lazyload=1
8383+8484+8585+## The following setting turns on the delete selection mode when an non-empty
8686+## value is set. When the mode is turned on the selection is removed when a
8787+## user inserts a character.
8888+8989+#bleopt delete_selection_mode=1
9090+9191+9292+## The following settings control the indentation. "indent_offset" sets the
9393+## indent width. "indent_tabs" controls if tabs can be used for indentation or
9494+## not. If "indent_tabs" is set to 0, tabs will never be used. Otherwise
9595+## indentation is made with tabs and spaces.
9696+9797+#bleopt indent_offset=4
9898+#bleopt indent_tabs=1
9999+100100+101101+## "undo_point" controls the cursor position after "undo". When "beg" or "end"
102102+## is specified, the cursor will be moved to the beginning or the end of the
103103+## dirty section, respectively. When other values are specified, the original
104104+## cursor position is reproduced.
105105+106106+#bleopt undo_point=end
107107+108108+109109+## The following setting controls forced layout calculations before graphical
110110+## operations. When a non-empty value is specified, the forced calculations are
111111+## enabled. When an empty string is set, the operations are switched to logical
112112+## ones.
113113+114114+#bleopt edit_forced_textmap=1
115115+116116+117117+## The following option controls the interpretation of lines when going to the
118118+## beginning or the end of the current line. When the value `logical` is
119119+## specified, the logical line is used, i.e., the beginning and the end of the
120120+## line is determined based on the newline characters in the edited text. When
121121+## the value `graphical` is specified, the graphical line is used, i.e., the
122122+## beginning and the end of the displayed line in the terminal is used.
123123+124124+#bleopt edit_line_type=graphical
125125+126126+127127+## The following option specifies the set of expansions performed by
128128+## magic-space with a colon-separated list of expansion types. "history",
129129+## "sabbrev", "alias", and "autocd" can be specified.
130130+131131+#bleopt edit_magic_expand=history:sabbrev
132132+133133+134134+## This option configures the detailed behavior of the widget "magic-space"
135135+## with a colon-separated list. If the field "inline-sabbrev-no-insert" is
136136+## specified, the insertion of "SP" is skipped when the inline sabbrev is
137137+## performed by "magic-space".
138138+139139+#bleopt edit_magic_opts=
140140+141141+142142+## This option specifies the expansions performed on accept-line by a
143143+## colon-separated list. The expansion is performed in a similar way as Bash's
144144+## history expansion. When "sabbrev", "alias", "autocd", and "history" is
145145+## specified, the respective expansions are attempted on the command line.
146146+## When "verify" is specified, if sabbrev, alias, or autocd expansions changed
147147+## the command line, the execution of the command line is canceled so the user
148148+## can examine or continue to edit the expanded line. The history expansion
149149+## can be controlled by "shopt -s histverify" in a similar manner. When
150150+## "verify-syntax" is specified and any expansions change the command string, a
151151+## syntax check is performed. The command execution is canceled when the
152152+## command string is not syntactically complete. When "history-line" is
153153+## specified, the history expansion replaces the command line instead of just
154154+## printing the expansion result. The default value of this option is empty.
155155+156156+#bleopt edit_magic_accept=sabbrev
157157+158158+159159+## The following option controls the position of the info pane where completion
160160+## menu, mode names, and other information are shown. When the value "top" is
161161+## specified, the info pane is shown just below the command line. When the
162162+## value "bottom" is specified, the info pane is shown at the bottom of the
163163+## terminal. The default is "top".
164164+165165+#bleopt info_display=top
166166+167167+168168+## The following settings controls the prompt after the cursor left the command
169169+## line. "prompt_ps1_final" contains a prompt string. "prompt_ps1_transient"
170170+## is a colon-separated list of fields "always", "same-dir" and "trim". The
171171+## prompt is replaced by "prompt_ps1_final" if it has a non-empty value.
172172+## Otherwise, the prompt is trimmed leaving the last line if
173173+## "prompt_ps1_transient" has a field "trim". Otherwise, the prompt vanishes
174174+## if "prompt_ps1_transient" has a non-empty value. When
175175+## "prompt_ps1_transient" contains a field "same-dir", the setting of
176176+## "prompt_ps1_transient" is effective only when the current working directory
177177+## did not change since the last command line.
178178+179179+#bleopt prompt_ps1_final=
180180+#bleopt prompt_ps1_transient=trim
181181+182182+183183+## The following settings controls the right prompt. "prompt_rps1" specifies
184184+## the contents of the right prompt in the format of PS1. When the cursor
185185+## leaves the current command line, the right prompt is replaced by
186186+## "prompt_rps1_final" if it has a non-empty value, or otherwise, the right
187187+## prompt vanishes if "prompt_rps1_transient" is set to a non-empty value,
188188+189189+#bleopt prompt_rps1='\w'
190190+#bleopt prompt_rps1_final=
191191+#bleopt prompt_rps1_transient=''
192192+193193+194194+## The following settings specify the content of terminal titles and status
195195+## lines. "prompt_xterm_title" specifies the terminal title which can be set
196196+## by "OSC 0 ; ... BEL". "prompt_screen_title" is effective inside terminal
197197+## multiplexers such as GNU screen and tmux and specifies the window title of
198198+## the terminal multiplexer which can be set by "ESC k ... ST".
199199+## "prompt_term_status" is only effective when terminfo entries "tsl" and "fsl"
200200+## (or termcap entries "ts" and "ds") are available, and specifies the content
201201+## of the status line which can be set by the terminfo entries. When each
202202+## setting has non-empty value, the content of corresponding title or status
203203+## line is replaced just before PS1 is shown.
204204+205205+#bleopt prompt_xterm_title=
206206+#bleopt prompt_screen_title=
207207+#bleopt prompt_term_status=
208208+209209+210210+## The following settings control the status line. "prompt_status_line"
211211+## specifies the content of the status line. If its value is empty, the status
212212+## line is not shown. "prompt_status_align" controls the position of the
213213+## content in the status line. The face "prompt_status_line" specifies the
214214+## default graphic style of the status line.
215215+216216+#bleopt prompt_status_line=
217217+#bleopt prompt_status_align=left
218218+#ble-face prompt_status_line='fg=231,bg=240'
219219+220220+221221+## "prompt_eol_mark" specifies the contents of the mark used to indicate the
222222+## command output is not ended with newlines. The value can contain ANSI escape
223223+## sequences.
224224+225225+#bleopt prompt_eol_mark=$'\e[94m[ble: EOF]\e[m'
226226+bleopt prompt_eol_mark='⏎'
227227+228228+229229+## "prompt_ruler" specifies the ruler between the previous command and the
230230+## prompt (like powerlevel10k
231231+## "POWERLEVEL9K_PROMPT_{ADD_NEWLINE,SHOW_RULER,RULER_*}"). When the empty
232232+## value is specified, the ruler is disabled. This is the default. When the
233233+## value "empty-line" is specified, an empty line is inserted between the
234234+## command and the prompt. When the other values are specified, the value is
235235+## interpreted as an ANSI sequences, and the result is repeated to fill a line.
236236+237237+#bleopt prompt_ruler= # no ruler (default)
238238+#bleopt prompt_ruler=empty-line # empty line
239239+#bleopt prompt_ruler=$'\e[94m-' # blue line
240240+241241+242242+## "prompt_command_changes_layout" specifies whether the commands called from
243243+## the blehook PRECMD or the variable PROMPT_COMMAND output texts to the
244244+## terminal and changes the layout. When a non-empty value is specified,
245245+## ble.sh resets the layout before running the hooks PRECMD and PROMPT_COMMAND
246246+## and restores the layout after running the hooks. When a empty value is
247247+## specified, ble.sh assumes that these hooks do not output texts to the
248248+## terminal and do not changes the cursor positions and skip the special
249249+## treatment.
250250+251251+#bleopt prompt_command_changes_layout= # PRECMD/PROMPT_COMMAND not output
252252+bleopt prompt_command_changes_layout=1 # PRECMD/PROMPT_COMMAND may output
253253+254254+255255+## "exec_restore_pipestatus" controls whether ble.sh restores PIPESTATUS of the
256256+## previous user command. When this option is set to a non-empty value,
257257+## PIPESTATUS is restored. This feature is turned off by default because it
258258+## adds extra execution costs. Note that the values of PIPESTATUS of the
259259+## previous command are always available with the array BLE_PIPESTATUS
260260+## regardless of this setting.
261261+262262+#bleopt exec_restore_pipestatus=1 # restores PIPESTATUS
263263+264264+265265+## "edit_marker" and "edit_marker_error" define the default styles of the
266266+## markers [ble: ...] used by ble.sh. "edit_marker" is used for the normal
267267+## notifications, and "edit_marker_error" is used for the error information.
268268+## When they are set to an empty string, those markers are disabled (unless
269269+## additional information other than the markers needs to be output after the
270270+## markers). Those default styles can be overridden by specific mark settings,
271271+## such as `exec_errexit_mark`, `exec_elapsed_mark`, and `exec_exit_mark`.
272272+273273+#bleopt edit_marker=$'\e[94m[ble: %s]\e[m'
274274+#bleopt edit_marker_error=$'\e[91m[ble: %s]\e[m'
275275+276276+277277+## "exec_errexit_mark" specifies the format of the mark to show the exit status
278278+## of the command when it is non-zero. If this setting is an empty string, the
279279+## exit status will not be shown. The value can contain ANSI escape sequences.
280280+281281+#bleopt exec_errexit_mark=$'\e[91m[ble: exit %d]\e[m'
282282+bleopt exec_errexit_mark=
283283+284284+285285+## "exec_elapsed_mark" specifies the format of the command execution time
286286+## report. It takes two arguments: the first is the string that explains the
287287+## elapsed time, and the second is a number that represents the percentage of
288288+## CPU core usage. "exec_elapsed_enabled" specifies the condition that the
289289+## command execution time report is displayed after the command execution. The
290290+## condition is expressed by an arithmetic expression, where a non-zero result
291291+## causes displaying the report. In the arithmetic expression, variables
292292+## "real", "{usr,sys}{,_self,_child}", and "cpu" can be used. "real"
293293+## represents the elapsed time. "usr" and "sys" represent the user and system
294294+## time, respectively. The suffixes "_self" and "_child" represent the part
295295+## consumed in the main shell process and the other child processes including
296296+## subshells and external programs, respectively. "cpu" represents the
297297+## percentage of the CPU core usage in integer, which can be calculated by
298298+## "(usr+sys)*100/real". The other values are all in unit of milliseconds.
299299+300300+#bleopt exec_elapsed_mark=$'\e[94m[ble: elapsed %s (CPU %s%%)]\e[m'
301301+#bleopt exec_elapsed_enabled='usr+sys>=10000'
302302+303303+304304+## "exec_exit_mark" specifies the marker printed when the bash session ends.
305305+## When an empty string is specified, the marker is disabled.
306306+307307+#bleopt exec_exit_mark=$'\e[94m[ble: exit]\e[m'
308308+# bleopt exec_exit_mark= # Disable exit marker like "[ble: exit]"
309309+bleopt exec_exit_mark=$'\033[31m°º¤ø, \033[33m¸¸, \033[32mø¤º°\033[34m`°º¤ø, \033[35m¸, \033[36mø¤°º¤ø, \033[31m¸¸, \033[33mø¤º°\033[34m`°º¤ø, \033[35m¸\033[0m'
310310+311311+312312+## The following setting controls the exit when jobs are remaining. When an
313313+## empty string is set, the shell will never exit with remaining jobs through
314314+## widgets. When an non-empty value is set, the shell will exit when exit is
315315+## attempted twice consecutively.
316316+317317+#bleopt allow_exit_with_jobs=
318318+319319+320320+## The following setting controls the cursor position after the move to other
321321+## history entries. When non-empty values are specified, the offset of the
322322+## cursor from the beginning of the command line is preserved. When an empty
323323+## value is specified the cursor position is the beginning or the end of the
324324+## command lines when the move is to a newer or older entry, respectively.
325325+326326+#bleopt history_preserve_point=
327327+328328+329329+## The following setting controls the history sharing. If it has non-empty
330330+## value, the history sharing is enabled. With the history sharing, the command
331331+## history is shared with the other Bash ble.sh sessions with the history
332332+## sharing turned on.
333333+334334+# bleopt history_share=1
335335+336336+337337+## This option controls the target range in the command history for
338338+## "erasedups", which is performed when it is specified in "HISTCONTROL". When
339339+## this option has an empty value, the target range is the entire history as in
340340+## the plain Bash. When this option evaluates to a positive integer "count",
341341+## the target range is the last "n" entries in the command history. When this
342342+## option evaluates to a non-positive integer "offset", "offset" specifies the
343343+## beginning of the target range relative to the history count at the session
344344+## start. The end of the target range is always the end of the command
345345+## history.
346346+347347+#bleopt history_erasedups_limit= # entire history
348348+#bleopt history_erasedups_limit=0 # only new items added in this session
349349+#bleopt history_erasedups_limit=-1000 # new items and 1000 prev-session items
350350+#bleopt history_erasedups_limit=1000 # last 1000 items
351351+352352+353353+## The following setting controls the behavior of the widget
354354+## "accept-single-line-or-newline" in the single-line editing mode. The value
355355+## is a subject of arithmetic evaluation. When it evaluates to negative
356356+## integers, the line is always accepted. When it evaluates to 0, it enters the
357357+## multiline editing mode when there is any unprocessed user inputs, or
358358+## otherwise the line is accepted. When it evaluates to a positive integer "n",
359359+## it enters the multiline editing mode when there is more than "n"unprocessed
360360+## user inputs.
361361+362362+#bleopt accept_line_threshold=5
363363+364364+365365+## The following option controls the behavior when the number of characters
366366+## exceeds the capacity specified by `line_limit_length`. The value `none`
367367+## means that the number of characters will not be checked. The value
368368+## `discard` means that the characters cannot be inserted when the number of
369369+## characters exceeds the capacity. The value `truncate` means that the
370370+## command line is truncated from its end to fit into the capacity. The value
371371+## `editor` means that the widget `edit-and-execute` will be invoked to open an
372372+## editor to edit the command line contents.
373373+374374+#bleopt line_limit_type=none
375375+376376+377377+## The following option specifies the capacity of the command line in the
378378+## number of characters. The number 0 or negative numbers means the unlimited
379379+## capacity.
380380+381381+#bleopt line_limit_length=10000
382382+383383+384384+## The following option specifies the maximal number of characters which can be
385385+## appended into the history. When this option has a positive value, commands
386386+## with the length longer than the value is not appended to the history. When
387387+## this option has a non-positive value, commands are always appended to the
388388+## history regardless of their length.
389389+390390+#bleopt history_limit_length=10000
391391+392392+393393+##-----------------------------------------------------------------------------
394394+## Terminal state control
395395+396396+397397+## When the follwoing setting is set to a non-empty value, ble.sh saves the TTY
398398+## state at the end of the command executation and restores it before the next
399399+## command execution. This adds a slight overload of running an extra call of
400400+## stty. If this is enabled, when a command breaks the TTY state, the effect
401401+## remains in later commands.
402402+403403+#bleopt term_stty_restore=1
404404+405405+406406+## The following setting specifies the cursor type when commands are executed.
407407+## The cursor type is specified by the argument of the control function
408408+## DECSCUSR.
409409+410410+#bleopt term_cursor_external=0
411411+412412+413413+## The following settings, external and internal, specify the "modifyOtherKeys"
414414+## states [the control function SM(>4)] when commands are executed and when
415415+## ble.sh has control, respectively.
416416+417417+#bleopt term_modifyOtherKeys_external=auto
418418+#bleopt term_modifyOtherKeys_internal=auto
419419+420420+421421+## The following setting controls whether the kitty-keyboard-protocol sequences
422422+## should pass-through the terminal multiplexers when the outermost terminal is
423423+## kitty. When this option has a non-empty string, the pass-through kitty
424424+## protocol sequences are enabled.
425425+##
426426+## * This is intended to be used with tmux-3.4+. This works with tmux-3.3a and
427427+## below as far as the user does not enable CapsLock or NumLock. Note that
428428+## this might cause problems of keyboard inputs after detaching from tmux;
429429+## You might lose the control of the terminal applications that do not
430430+## support extended keys outside the terminal multiplexers.
431431+##
432432+## * This will cause the same problems when used with multiple windows in GNU
433433+## screen. You will lose the control of the terminal applications without
434434+## the support for extended keys when there are more than one ble.sh session
435435+## or when there is at least one foreground ble.sh session in GNU screen.
436436+437437+#bleopt term_modifyOtherKeys_passthrough_kitty_protocol=1
438438+439439+##-----------------------------------------------------------------------------
440440+## Rendering options
441441+442442+443443+## "tab_width" specifies the width of TAB on the command line. When an empty
444444+## value is specified, the width in terminfo (tput it) is used.
445445+446446+#bleopt tab_width=
447447+448448+449449+## "char_width_mode" specifies the width of East_Asian_Width=A characters.
450450+## When the value "east" is specified, the width is 2. When the value "west" is
451451+## specified, the width is 1. When the value "emacs" is specified, the width
452452+## table (depending on characters) used in Emacs is used. When the value
453453+## "musl" is specified, the table for "wcwidth" of the musl C library in 2014
454454+## is used [Note: recent versions of musl library is more conforming to Unicode
455455+## so favor "west" or "east"]. When "auto" is specified, the character width
456456+## mode is automatically selected based on interactions with the terminal.
457457+458458+#bleopt char_width_mode=auto
459459+460460+461461+## "char_width_version" specifies the Unicode version that char width
462462+## determination bases on. When "auto" is specified, ble.sh automatically
463463+## tests the behavior of the terminal on startup and try to determine the
464464+## appropriate version. Supported versions are "4.1", "5.0", "5.2", "6.0",
465465+## "6.1", "6.2", "6.3", "7.0", "8.0", "9.0", "10.0", "11.0", "12.0", "12.1",
466466+## "13.0", "14.0", "15.0", and "15.1". The default value is "auto".
467467+468468+#bleopt char_width_version=auto
469469+470470+471471+## "emoji_width" specifies the width of emoji characters. If an empty value is
472472+## specified, special treatment of emoji is disabled.
473473+474474+#bleopt emoji_width=2
475475+476476+477477+## "emoji_version" specifies the version of Unicode Emoji. Available values
478478+## are 0.6, 0.7, 1.0, 2.0, 3.0, 4.0, 5.0, 11.0, 12.0, 12.1, 13.0, 13.1, 14.0,
479479+## 15.0, and 15.1.
480480+481481+#bleopt emoji_version=13.1
482482+483483+484484+## "emoji_opts" is a colon-separated list that represents the terminal
485485+## capability for emojis. When "tpvs" and "epvs" are specified, TPVS and EPVS
486486+## (text/emoji presentation variation selectors), respectively, can be used to
487487+## change he representation of emoji characters. When "zwj" is specified, the
488488+## emoji ZWJ sequences are supported. When "ri" is specified, the flag emojis
489489+## formed by two Regional_Indicators are supported. When "unqualified" is
490490+## specified, unqualified emojis are treated as emojis as well as the qualified
491491+## emojis.
492492+493493+#bleopt emoji_opts=ri
494494+495495+496496+## This option specifies the type of the supported grapheme cluster of the
497497+## terminal. The empty string indicates that the terminal does not support the
498498+## grapheme clusters. The values "extended" and "legacy" indicate that the
499499+## terminal supports the extended and legacy grapheme clusters, respectively.
500500+501501+#bleopt grapheme_cluster=extended
502502+503503+504504+## This option controls the behavior when ble.sh receives SIGWINCH.
505505+## * When the value "redraw-safe" is specified, ble.sh redraws the new prompt
506506+## starting from the line of the current cursor position.
507507+## * When the value "redraw-prev" is specified, ble.sh tries to go to the
508508+## beginning of the current prompt and overwrite the current one. This is
509509+## similar to the behavior of GNU Readline. This possibly erase the output
510510+## of the previous command because ble.sh tries to go to the beginning of the
511511+## current prompt assuming that the number of lines in the prompt does not
512512+## change by the terminal resizing.
513513+## * When the value "redraw-here" is specified, ble.sh tries to determine the
514514+## number of lines that can be safely erased and go to the beginning of the
515515+## safe lines before the redraw. This is the default behavior. In
516516+## principle, this can also erase the previous outputs, but it would be
517517+## supposed to be rarely happen as far as the text reflowing of the terminal
518518+## behaves in a reasonable way.
519519+## * When the value "clear" is specified, the terminal content is erased and
520520+## the new prompt will be drawn at the top of the terminal. The previous
521521+## terminal contents including the command outputs will be lost.
522522+523523+#bleopt canvas_winch_action=redraw-here
524524+525525+##-----------------------------------------------------------------------------
526526+## User input settings
527527+528528+## The following setting sets the default keymap. The value "emacs" specifies
529529+## that the emacs keymap should be used. The value "vi" specifies that the vi
530530+## keymap (insert mode) should be used as the default. The value "auto"
531531+## specifies that the keymap should be automatically selected from "emacs" or
532532+## "vi" according to the current readline state "set -o emacs" or "set -o vi".
533533+534534+#bleopt default_keymap=auto
535535+536536+537537+## The following setting controls the treatment of isolated ESCs. The value
538538+## "esc" indicates that it should be treated as ESC. The value "meta"
539539+## indicates that it should be treated as Meta modifier. The value "auto"
540540+## indicates that the behavior will be switched to an appropriate side of "esc"
541541+## or "meta" depending on the current keymap.
542542+543543+#bleopt decode_isolated_esc=esc
544544+545545+546546+## The following setting specifies the byte code used to abort the currently
547547+## processed inputs. The default value 28 corresponds to "C-\".
548548+549549+#bleopt decode_abort_char=28
550550+551551+552552+## The following settings sets up the behavior for errors while user input
553553+## decoding. "error_char" is the decoding error for the current character
554554+## encoding. "error_cseq" indicates the unrecognized CSI sequences.
555555+## "error_kseq" indicates the unbound key sequences. "abell" and "vbell" turn
556556+## on/off the audible bells and visible bells on errors. If the variable is
557557+## empty the bells are turned off, or otherwise turned on. "discard" controls
558558+## if the chars/sequences will be discarded or processed in later stage. If a
559559+## non-empty value is given, chars/sequences are discarded.
560560+561561+#bleopt decode_error_char_abell=
562562+#bleopt decode_error_char_vbell=1
563563+#bleopt decode_error_char_discard=
564564+#bleopt decode_error_cseq_abell=
565565+#bleopt decode_error_cseq_vbell=1
566566+#bleopt decode_error_cseq_discard=1
567567+#bleopt decode_error_kseq_abell=1
568568+#bleopt decode_error_kseq_vbell=1
569569+#bleopt decode_error_kseq_discard=1
570570+571571+572572+## This variable sets the limit to the count of recursive calls of keyboard
573573+## macros.
574574+575575+#bleopt decode_macro_limit=1024
576576+577577+578578+## When a non-empty value is specified to this settings, the terminal's
579579+## Bracketed Paste Mode (DEC mode 2004) is enabled. This setting is
580580+## synchronized with the readline variable "enable-bracketed-paste".
581581+582582+#bleopt term_bracketed_paste_mode=on
583583+584584+##-----------------------------------------------------------------------------
585585+## Settings for completion
586586+587587+588588+## The following settings turn on/off the corresponding functionalities. When
589589+## non-empty strings are set, the functionality is enabled. Otherwise, the
590590+## functionality is inactive.
591591+592592+#bleopt complete_auto_complete=1
593593+#bleopt complete_menu_complete=1
594594+#bleopt complete_menu_filter=1
595595+596596+597597+## If "complete_ambiguous" has non-empty values, ambiguous completion
598598+## candidates are generated for completion.
599599+600600+#bleopt complete_ambiguous=1
601601+602602+603603+## If "complete_contract_function_names" has non-empty values, the function
604604+## name candidates are grouped by prefixes of the directory-like form "*/".
605605+606606+#bleopt complete_contract_function_names=1
607607+608608+609609+## By default, ble.sh does not allow rewriting the existing text if non-unique
610610+## candidates does not contain the existing text. If this setting has
611611+## non-empty values, ble.sh rewrites the existing text.
612612+613613+#bleopt complete_allow_reduction=1
614614+615615+616616+## This option specifies the threshold to simplify the quotation type of the
617617+## inserted word. This option is evaluated as an arithmetic expression. When
618618+## this option evaluates to a negative value, the simplification of the
619619+## quotation is disabled. Otherwise, when the number of characters will be
620620+## reduced by at least the specified value, the quotation is simplified. The
621621+## default is 0, which means that the quotation is simplified unless the number
622622+## of characters increases by the simplification.
623623+624624+#bleopt complete_requote_threshold=0
625625+626626+627627+## If "complete_auto_history" has non-empty values, auto-complete searches
628628+## matching command lines from history.
629629+630630+#bleopt complete_auto_history=1
631631+632632+633633+## The following setting controls the delay of auto-complete after the last
634634+## user input. The unit is millisecond.
635635+636636+#bleopt complete_auto_delay=100
637637+bleopt complete_auto_delay=10
638638+639639+640640+## The face "auto_complete" can be used to specify the graphic style of the
641641+## suggestion by auto-complete. The default style is choosed just to make it
642642+## work in both the terminals with light and dark backgrounds. A better style
643643+## can be specified based on the user's preference.
644644+645645+#ble-face auto_complete='fg=238,bg=254' # default
646646+#ble-face auto_complete='fg=231,bg=69' # blue background
647647+#ble-face auto_complete='fg=240,underline,italic' # darker background
648648+649649+650650+## The setting "complete_auto_wordbreaks" is used as the delimiters for
651651+## identifying words for M-right (auto-complete/insert-word). The default
652652+## value is $' \t\n'. If the empty value is set, the default value is used.
653653+654654+#bleopt complete_auto_wordbreaks=$' \t\n/'
655655+656656+657657+## The setting "complete_auto_complete_opts" is a colon-separated list of
658658+## options:
659659+##
660660+## - The option "suppress-after-complete" controls whether auto-complete is
661661+## enabled after TAB completions. If "suppress-after-complete" is included,
662662+## auto-complete is enabled after TAB completions. Otherwise, auto-complete
663663+## is disabled after TAB completions.
664664+665665+#bleopt complete_auto_complete_opts=suppress-after-complete
666666+667667+668668+## The faces "menu_filter_fixed" and "menu_filter_input" can be used to specify
669669+## the graphic styles of the part of the text that is used to filter the menu
670670+## items by the menu-filter feature.
671671+672672+#ble-face menu_filter_fixed='bold'
673673+#ble-face menu_filter_input='fg=16,bg=229'
674674+675675+676676+## The setting "complete_auto_menu" controls the delay of "auto-menu". When a
677677+## non-empty string is set, auto-menu is enabled. The string is evaluated as
678678+## an arithmetic expression to give the delay in milliseconds. ble.sh will
679679+## automatically show the menu of completions after the idle time (for which
680680+## user input does not arrive) reaches the delay.
681681+682682+#bleopt complete_auto_menu=500
683683+684684+685685+## When there are user inputs while generating completion candidates, the
686686+## candidates generation will be canceled to process the user inputs. The
687687+## following setting controls the interval of checking user inputs while
688688+## generating completion candidates.
689689+690690+#bleopt complete_polling_cycle=50
691691+692692+693693+## A hint on the maximum acceptable size of any data structure generated during
694694+## the completion process, beyond which the completion may be prematurely
695695+## aborted to avoid excessive processing time. "complete_limit" is used for
696696+## TAB completion. When its value is empty, the size checks are disabled.
697697+## "complete_limit_auto" is used for auto-completion. When its value is empty,
698698+## the setting "complete_limit" is used instead. "complete_limit_auto_menu" is
699699+## used for auto-menu.
700700+701701+#bleopt complete_limit=500
702702+#bleopt complete_limit_auto=200
703703+#bleopt complete_limit_auto_menu=100
704704+705705+706706+## The following setting controls the timeout for the pathname expansions
707707+## performed in auto-complete. When the word contains a glob pattern that
708708+## takes a long time to evaluate the pathname expansion, auto-complete based on
709709+## the filename is canceled based on the timeout setting. The value specifies
710710+## the timeout duration in milliseconds. When the value is empty, the
711711+## timeout is disabled.
712712+713713+#bleopt complete_timeout_auto=5000
714714+715715+716716+## The following setting controls the timeout for the pathname expansions to
717717+## prepare COMP_WORDS and COMP_LINE for progcomp. When the word contains a
718718+## glob pattern that takes a long time to evaluate, the pathname expansion is
719719+## canceled, and a noglob expansion is used to construct COMP_WORDS and
720720+## COMP_LINE. The value specifies ## the timeout duration in milliseconds.
721721+## When the value is empty, the timeout is disabled.
722722+723723+#bleopt complete_timeout_compvar=200
724724+725725+726726+## The following setting specifies the style of the menu to show completion
727727+## candidates. The value "dense" and "dense-nowrap" shows candidates separated
728728+## by spaces. "dense-nowrap" is different from "dense" in the behavior that it
729729+## inserts a new line before the candidates that does not fit into the
730730+## remaining part of the current line. The value "align" and "align-nowrap"
731731+## aligns the candidates. The value "linewise" shows a candidate per line. The
732732+## value "desc" and "desc-text" shows a candidate per line with description for
733733+## each. "desc-text" is different from "desc" in the behavior that it does not
734734+## interprets ANSI escape sequences in the descriptions.
735735+736736+#bleopt complete_menu_style=align-nowrap
737737+738738+739739+## When a non-empty value is specified to this setting, the matching text on
740740+## the right of the cursor is removed on the insertion of the completion. This
741741+## setting is synchronized with the readline variable "skip-completed-text".
742742+743743+#bleopt complete_skip_matched=on
744744+745745+746746+## The following setting controls the detailed behavior of menu-complete with a
747747+## colon-separated list of options. When the option "insert-selection" is
748748+## specified, the currently selected menu item is temporarily inserted in the
749749+## command line. When "hidden" is specified, "insert-selection" is enabled,
750750+## and additionally, the completion menu is hidden by default. The default is
751751+## "insert-selection".
752752+753753+#bleopt complete_menu_complete_opts=insert-selection
754754+755755+756756+## When a non-empty value is specified to this setting, the highlighting of the
757757+## menu items is enabled. This setting is synchronized with the readline
758758+## variable "colored-stats".
759759+760760+#bleopt complete_menu_color=on
761761+762762+763763+## When a non-empty value is specified to this setting, the part of the menu
764764+## items matching with the already input text is highlighted. This setting is
765765+## synchronized with the readline variable "colored-completion-prefix".
766766+767767+#bleopt complete_menu_color_match=on
768768+769769+770770+## The following settings specify the maximal and minimal align widths for
771771+## complete_menu_style="align" and "align-nowrap".
772772+773773+#bleopt menu_align_min=4
774774+#bleopt menu_align_max=20
775775+776776+777777+## The following setting specifies the maximal height of the menu. When this
778778+## value is evaluated to be a positive integer, the maximal line number of the
779779+## menu is limited to that value.
780780+781781+#bleopt complete_menu_maxlines=10
782782+783783+784784+## The following settings specify the prefix of the menu items. "menu_prefix"
785785+## specifies the default prefix for any menu-style.
786786+## "menu_{align,desc,linewise,dense}_prefix" specify the prefixes in the
787787+## respective menu-styles. The value is specified by a printf format, where
788788+## the first argument is the index of the candidate. ANSI escape sequences can
789789+## also be used. For example, the candidate index can be shown by setting the
790790+## value '%d '. The default value is empty.
791791+792792+#bleopt menu_align=
793793+#bleopt menu_align_prefix='\e[1m%d:\e[m '
794794+#bleopt menu_desc_prefix='\e[1m%d.\e[m '
795795+#bleopt menu_linewise_prefix='\e[1;36m%d:\e[m '
796796+#bleopt menu_dense_prefix='\e[1;32m>\e[m '
797797+798798+799799+## The following setting specifies the minimum column width for the multicolumn
800800+## description for `complete_menu_style=desc'. When the empty value is
801801+## specified, the multicolumn mode is disabled.
802802+803803+#bleopt menu_desc_multicolumn_width=65
804804+805805+806806+## These faces control graphics styles used in the menu descriptions. Face
807807+## "menu_desc_default" is used as a default highlighting of the description.
808808+## Face "menu_desc_type" is used for the prefix string "(type) " to indicate
809809+## the type of the menu item. Face "menu_desc_quote" is used to quote strings
810810+## embedded in the descriptions.
811811+812812+#ble-face menu_desc_default=none
813813+#ble-face menu_desc_type=ref:syntax_delimiter
814814+#ble-face menu_desc_quote=ref:syntax_quoted
815815+816816+817817+## When this Readline setting is enabled, the cases of alphabets are ignored on
818818+## completion generation.
819819+820820+#bind 'set completion-ignore-case off'
821821+822822+823823+## When this Readline setting is turned on, suffixes are added to the filename
824824+## completions in the menu. The characters "@", "/" and "*" are added to
825825+## symbolic links, directories and executables, respectively.
826826+827827+#bind 'set visible-stats off'
828828+829829+830830+## When this Readline setting is turned on, the suffix "/" is inserted after
831831+## the insertion of directory names.
832832+833833+#bind 'set mark-directories on'
834834+835835+836836+## When this Readline setting is turned on, the suffix "/" is inserted after
837837+## symbolic links pointing to directories.
838838+839839+#bind 'set mark-symlinked-directories on'
840840+841841+842842+## When this Readline setting is turned on, the filenames starting with "." is
843843+## also generated as possible completions.
844844+845845+#bind 'set match-hidden-files on'
846846+847847+848848+## By default, when filenames of the form "dir/file*" is shown in the menu, the
849849+## part of the directory name "dir/" is omitted. When this Readline setting is
850850+## turned on, the directory name of filename completions are not omitted.
851851+852852+#bind 'set menu-complete-display-prefix off'
853853+854854+855855+## This option specifies a colon-separated list of glob patterns of sabbrev
856856+## names ignored in generating the sabbrev completion candidates.
857857+858858+#bleopt complete_source_sabbrev_ignore=
859859+860860+861861+## This is a colon-separated list of options. When the field
862862+## `no-empty-completion` is specified, the sabbrev completion candidates are
863863+## not generated when the word to complete is empty.
864864+865865+#bleopt complete_source_sabbrev_opts=no-empty-completion
866866+867867+##-----------------------------------------------------------------------------
868868+## Color settings
869869+870870+## The setting "term_index_colors" specifies the number of index colors used to
871871+## specify colors in the terminal. The value "auto" means that the use of
872872+## index colors are determined based on the terminfo database and the value of
873873+## TERM shell variable. Otherwise, the value is evaluated as an arithmetic
874874+## expression. When it is evaluated to 256, the index colors are assumed to be
875875+## xterm 256-color palette (16 basic + 6x6x6 color cube + 24 gray scale). When
876876+## it is evaluated to 88, the index colors are assumed to be xterm 88-color
877877+## palette (16 basic + 4x4x4 color cube + 8 gray scale). When it is evaluated
878878+## to 0, ble.sh will never use the index colors to set colors. When it is
879879+## evaluated to other integers, the value specifies the maximum available
880880+## index.
881881+882882+#bleopt term_index_colors=256
883883+884884+885885+## The setting "term_true_colors" specifies the format of 24-bit color escape
886886+## sequences supported by your terminal. The value "semicolon" indicates the
887887+## format "CSI 3 8 ; 2 ; R ; G ; B m". The value "colon" indicates the format
888888+## "CSI 3 8 : 2 : R : G : B m". The other value implies that the terminal does
889889+## not support 24-bit color sequences. In this case, ble.sh tries to output
890890+## indexed color sequences or basic color sequences with properly reduced
891891+## colors.
892892+893893+#bleopt term_true_colors=semicolon
894894+895895+896896+## The setting "filename_ls_colors" can be used to import the filename coloring
897897+## scheme by the environment variable LS_COLORS.
898898+899899+bleopt filename_ls_colors="$LS_COLORS"
900900+901901+902902+## The following settings enable or disable the syntax highlighting. When the
903903+## setting "highlight_syntax" has a non-empty value, the syntax highlighting is
904904+## enabled. When the setting "highlight_filename" has a non-empty value, the
905905+## highlighting based on the filename and the command name is enabled during
906906+## the process of the syntax highlighting. Similarly, when the setting
907907+## "highlight_variable" has a non-empty value, the highlighting based on the
908908+## variable type is enabled. All of these settings have non-empty values by
909909+## default.
910910+911911+#bleopt highlight_syntax=
912912+#bleopt highlight_filename=
913913+#bleopt highlight_variable=
914914+915915+916916+## The following settings control the timeout and user-input cancellation of
917917+## the pathname expansions performed in the syntax highlighting. When the word
918918+## contains a glob pattern that takes a long time to evaluate the pathname
919919+## expansion, the syntax highlighting based on the filename is canceled based
920920+## on the timeouts specified by these settings. "highlight_timeout_sync" /
921921+## "highlight_timeout_async" specify the timeout durations in milliseconds to
922922+## be used for the foreground / background syntax highlighting, respectively.
923923+## When the timeout occurred in the foreground, the syntax highlighting will be
924924+## deferred to the background syntax highlighting. When the timeout occurred
925925+## in the background, the syntax highlighting for the filename is canceled.
926926+## When the value is empty, the corresponding timeout is disabled.
927927+## "syntax_eval_polling_interval" specifies the maximal interval between the
928928+## user-input checking.
929929+930930+#bleopt highlight_timeout_sync=500
931931+#bleopt highlight_timeout_async=5000
932932+#bleopt syntax_eval_polling_interval=50
933933+934934+935935+## The following setting limits the number of expanded words to process in
936936+## highlighting a single grammatical word. When this setting is set to an
937937+## empty string, the number of expanded words to process is unlimited.
938938+939939+#bleopt highlight_eval_word_limit=200
940940+941941+942942+## If set to a non-empty value, the setting "color_scheme" specifies a preset
943943+## graphic styles for basic faces. The supported schemes are found in the
944944+## subdirectory "contrib/scheme". The default value is "default".
945945+946946+#bleopt color_scheme=base16
947947+948948+949949+## The following settings specify graphic styles of corresponding faces. Faces
950950+## used for specific features are described in the respective sections.
951951+952952+#ble-face -s region fg=231,bg=60
953953+#ble-face -s region_insert fg=27,bg=254
954954+#ble-face -s region_match fg=231,bg=55
955955+#ble-face -s region_target fg=black,bg=153
956956+#ble-face -s disabled fg=242
957957+#ble-face -s overwrite_mode fg=black,bg=51
958958+959959+#ble-face -s syntax_default none
960960+#ble-face -s syntax_command fg=brown
961961+#ble-face -s syntax_quoted fg=green
962962+#ble-face -s syntax_quotation fg=green,bold
963963+#ble-face -s syntax_escape fg=magenta
964964+#ble-face -s syntax_expr fg=63
965965+#ble-face -s syntax_error bg=203,fg=231
966966+#ble-face -s syntax_varname fg=202
967967+#ble-face -s syntax_delimiter bold
968968+#ble-face -s syntax_param_expansion fg=133
969969+#ble-face -s syntax_history_expansion bg=94,fg=231
970970+#ble-face -s syntax_function_name fg=99,bold
971971+#ble-face -s syntax_comment fg=gray
972972+#ble-face -s syntax_glob fg=198,bold
973973+#ble-face -s syntax_brace fg=37,bold
974974+#ble-face -s syntax_tilde fg=63,bold
975975+#ble-face -s syntax_document fg=100
976976+#ble-face -s syntax_document_begin fg=100,bold
977977+#ble-face -s command_builtin_dot fg=red,bold
978978+#ble-face -s command_builtin fg=red
979979+#ble-face -s command_alias fg=teal
980980+#ble-face -s command_function fg=99 # fg=133
981981+#ble-face -s command_file fg=green
982982+#ble-face -s command_keyword fg=blue
983983+#ble-face -s command_jobs fg=red,bold
984984+#ble-face -s command_directory fg=63,underline
985985+#ble-face -s command_suffix fg=231,bg=28
986986+#ble-face -s command_suffix_new fg=231,bg=124
987987+#ble-face -s argument_option fg=teal
988988+#ble-face -s argument_option fg=black,bg=225
989989+#ble-face -s filename_directory underline,fg=33
990990+#ble-face -s filename_directory_sticky underline,fg=231,bg=26
991991+#ble-face -s filename_link underline,fg=teal
992992+#ble-face -s filename_orphan underline,fg=16,bg=224
993993+#ble-face -s filename_setuid underline,fg=black,bg=220
994994+#ble-face -s filename_setgid underline,fg=black,bg=191
995995+#ble-face -s filename_executable underline,fg=green
996996+#ble-face -s filename_other underline
997997+#ble-face -s filename_socket underline,fg=cyan,bg=black
998998+#ble-face -s filename_pipe underline,fg=lime,bg=black
999999+#ble-face -s filename_character underline,fg=231,bg=black
10001000+#ble-face -s filename_block underline,fg=yellow,bg=black
10011001+#ble-face -s filename_warning underline,fg=red
10021002+#ble-face -s filename_url underline,fg=blue
10031003+#ble-face -s filename_ls_colors underline
10041004+#ble-face -s varname_array fg=orange,bold
10051005+#ble-face -s varname_empty fg=31
10061006+#ble-face -s varname_export fg=200,bold
10071007+#ble-face -s varname_expr fg=99,bold
10081008+#ble-face -s varname_hash fg=70,bold
10091009+#ble-face -s varname_number fg=64
10101010+#ble-face -s varname_readonly fg=200
10111011+#ble-face -s varname_transform fg=29,bold
10121012+#ble-face -s varname_unset fg=245
10131013+10141014+#ble-face -s cmdinfo_cd_cdpath fg=26,bg=155
10151015+10161016+##-----------------------------------------------------------------------------
10171017+## Keybindings
10181018+10191019+10201020+## The default mapping of <SP> in ble.sh is magic-space which performs history
10211021+## and sabbrev expansion before inserting a space. If you want to insert just
10221022+## a space without expansions as Bash's default, use the following setting:
10231023+10241024+#ble-bind -f 'SP' 'self-insert'
10251025+10261026+10271027+## The default mapping of `/' (<slash>) in ble.sh is magic-slash which performs
10281028+## sabbrev expansions of the name ` ~*'. If you want to insert just a slash
10291029+## without expansions as Bash's default, use the following setting:
10301030+10311031+#ble-bind -f '/' 'self-insert'
10321032+10331033+10341034+## If you want to search the already input string using <up> and <down> keys,
10351035+## use the following setting:
10361036+10371037+#ble-bind -f up 'history-search-backward'
10381038+#ble-bind -f down 'history-search-forward'
10391039+10401040+10411041+## If you want to immediately run the matched command by RET, you can specify
10421042+## the option "immediate-accept" to nsearch widgets:
10431043+10441044+#ble-bind -f up 'history-search-backward immediate-accept'
10451045+#ble-bind -f down 'history-search-forward immediate-accept'
10461046+10471047+10481048+## If you want to kill/copy words including the spaces preceding them, you can
10491049+## use the following keybindings:
10501050+10511051+#ble-bind -f C-w 'kill-region-or kill-uword'
10521052+#ble-bind -f M-w 'copy-region-or copy-uword'
10531053+10541054+10551055+## The following keybindings can be used to execute the command by RET even in
10561056+## the multiline mode.
10571057+10581058+# # For emacs editing mode
10591059+# ble-bind -m emacs -f 'C-m' 'accept-line'
10601060+# ble-bind -m emacs -f 'RET' 'accept-line'
10611061+10621062+# # For vim editing mode
10631063+# ble-bind -m vi_imap -f 'C-m' 'accept-line'
10641064+# ble-bind -m vi_imap -f 'RET' 'accept-line'
10651065+# ble-bind -m vi_nmap -f 'C-m' 'accept-line'
10661066+# ble-bind -m vi_nmap -f 'RET' 'accept-line'
10671067+10681068+10691069+## If you want to accept the suggestion by auto-complete using TAB, please use
10701070+## the following keybindings. By default, <right> key can be used to accept
10711071+## the suggestion, and <TAB> is assigned to the normal TAB completion which is
10721072+## independent of auto-complete.
10731073+10741074+# ble-bind -m auto_complete -f C-i auto_complete/insert
10751075+# ble-bind -m auto_complete -f TAB auto_complete/insert
10761076+10771077+##-----------------------------------------------------------------------------
10781078+## Settings for Emacs mode
10791079+10801080+function blerc/emacs-load-hook {
10811081+ #----------------------------------------------------------------------------
10821082+ # Settings for the mode indicator
10831083+10841084+ ## The following option specifies the content of the mode indicator shown in
10851085+ ## the info line as a prompt sequence.
10861086+10871087+ #bleopt prompt_emacs_mode_indicator='\q{keymap:emacs/mode-indicator}'
10881088+10891089+10901090+ ## The following option specifies the multiline mode name used in the prompt
10911091+ ## sequence \q{keymap:emacs/mode-indicator} in the multiline editing mode.
10921092+10931093+ # default
10941094+ #bleopt keymap_emacs_mode_string_multiline=$'\e[1m-- MULTILINE --\e[m'
10951095+ # do not show the mode name
10961096+ #bleopt keymap_emacs_mode_string_multiline=
10971097+10981098+ #----------------------------------------------------------------------------
10991099+ # Keybindings
11001100+11011101+ ## The default mapping of RET and C-m inserts newline with multiline commands
11021102+ ## or incomplete commands. With the following setting, RET and C-m always
11031103+ ## causes the execution of the command even in the multiline mode or when the
11041104+ ## command is not syntactically completed.
11051105+11061106+ #ble-bind -f 'C-m' accept-line
11071107+ #ble-bind -f 'RET' accept-line
11081108+11091109+11101110+ ## With the following settings, M-backspace (whose actual key sequence
11111111+ ## depends on your terminal) will kill the backward word as in the default
11121112+ ## readline.
11131113+11141114+ #ble-bind -f 'M-C-?' kill-backward-cword
11151115+ #ble-bind -f 'M-DEL' kill-backward-cword
11161116+ #ble-bind -f 'M-C-h' kill-backward-cword
11171117+ #ble-bind -f 'M-BS' kill-backward-cword
11181118+11191119+ return 0
11201120+}
11211121+blehook/eval-after-load keymap_emacs blerc/emacs-load-hook
11221122+11231123+##-----------------------------------------------------------------------------
11241124+## Settings for Vim mode
11251125+11261126+function blerc/vim-load-hook {
11271127+ ((_ble_bash>=40300)) && builtin bind 'set keyseq-timeout 1'
11281128+11291129+ #----------------------------------------------------------------------------
11301130+ # Settings for the mode indicator
11311131+11321132+ ## The following option specifies the content of the mode indicator shown in
11331133+ ## the info line as a prompt sequence.
11341134+11351135+ #bleopt prompt_vi_mode_indicator='\q{keymap:vi/mode-indicator}'
11361136+11371137+11381138+ ## The following option controls whether the prompt sequence
11391139+ ## \q{keymap:vi/mode-indicator} is activated. When this option has a
11401140+ ## non-empty value, \q{keymap:vi/mode-indicator} is expanded to the mode
11411141+ ## indicator. Otherwise, \q{keymap:vi/mode-indicator} is expanded to the
11421142+ ## empty string.
11431143+11441144+ #bleopt keymap_vi_mode_show=1
11451145+11461146+11471147+ ## The following options specify the name of modes in
11481148+ ## \q{keymap:vi/mode-indicator}.
11491149+11501150+ #bleopt keymap_vi_mode_name_insert=INSERT
11511151+ #bleopt keymap_vi_mode_name_replace=REPLACE
11521152+ #bleopt keymap_vi_mode_name_vreplace=VREPLACE
11531153+ #bleopt keymap_vi_mode_name_visual=VISUAL
11541154+ #bleopt keymap_vi_mode_name_select=SELECT
11551155+ #bleopt keymap_vi_mode_name_linewise=LINE
11561156+ #bleopt keymap_vi_mode_name_blockwise=BLOCK
11571157+11581158+11591159+ ## This option specifies the result of \q{keymap:vi/mode-indicator} in the
11601160+ ## normal mode. For example, if you want to show an explicit name of the
11611161+ ## normal mode like in other modes, please use the following setting:
11621162+11631163+ #bleopt keymap_vi_mode_string_nmap:=$'\e[1m-- NORMAL --\e[m'
11641164+11651165+11661166+ ## This option specifies that all the prompts should be recalculated on the
11671167+ ## mode change. When this option has a non-empty value, the prompt will be
11681168+ ## recalculated.
11691169+11701170+ #bleopt keymap_vi_mode_update_prompt=
11711171+11721172+ #----------------------------------------------------------------------------
11731173+ # Keybindings
11741174+11751175+ ## The following setting sets up the keymap settings with Meta modifiers.
11761176+ ## With this setting, M-RET can be used to insert a newline in the
11771177+ ## commandline.
11781178+11791179+ #ble-decode/keymap:vi_imap/define-meta-bindings
11801180+11811181+ ## In this case, C-RET can be optionally configured so that it forcibly
11821182+ ## executes the command.
11831183+11841184+ #ble-bind -m vi_imap -f 'C-RET' 'accept-line'
11851185+11861186+ ## The default mapping of <M-backspace> (whose actual key sequence depends on
11871187+ ## your terminal) copies the previous shell word in the kill ring. Instead,
11881188+ ## the following settings will kill the backward word as in the default
11891189+ ## readline.
11901190+11911191+ #ble-bind -m vi_imap -f 'M-C-?' kill-backward-cword
11921192+ #ble-bind -m vi_imap -f 'M-DEL' kill-backward-cword
11931193+ #ble-bind -m vi_imap -f 'M-C-h' kill-backward-cword
11941194+ #ble-bind -m vi_imap -f 'M-BS' kill-backward-cword
11951195+11961196+11971197+ ## The default mapping of RET and C-m in the insert mode inserts newline with
11981198+ ## multiline commands or incomplete commands. They moves the cursor position
11991199+ ## to the next line in the normal mode. Instead, with the following setting,
12001200+ ## RET and C-m always causes the execution of the command even in the
12011201+ ## multiline mode or when the command is not syntactically completed.
12021202+12031203+ #ble-bind -m vi_imap -f 'C-m' accept-line
12041204+ #ble-bind -m vi_imap -f 'RET' accept-line
12051205+ #ble-bind -m vi_nmap -f 'C-m' accept-line
12061206+ #ble-bind -m vi_nmap -f 'RET' accept-line
12071207+12081208+12091209+ ## The default mapping of C-o is vi_imap/single-command-mode. If you want to
12101210+ ## execute the current command line and load the next history entry with
12111211+ ## <C-o>, use the following setting:
12121212+12131213+ #ble-bind -m vi_imap -f 'C-o' 'accept-and-next'
12141214+12151215+12161216+ ## The default mapping of C-k is kill-forward-line. If you want to input
12171217+ ## digraphs with <C-k>{char1}{char2}, use the following setting:
12181218+12191219+ #ble-bind -m vi_imap -f 'C-k' 'vi_imap/insert-digraph'
12201220+12211221+12221222+ ## The default mapping of C-c is vi_imap/normal-mode-without-insert-leave
12231223+ ## (imap), vi-command/cancel (nmap). If you instead want to discard the
12241224+ ## current line and go to the next line, you can bind C-c to 'discard-line':
12251225+12261226+ #ble-bind -m vi_imap -f 'C-c' discard-line
12271227+ #ble-bind -m vi_nmap -f 'C-c' discard-line
12281228+12291229+12301230+ ## The default mapping of 'g g' and G moves the current position in the
12311231+ ## command history. If you would like to move the cursor position in the
12321232+ ## current command entry, you can overwrite the bindings as follows.
12331233+12341234+ #ble-bind -m vi_nmap -f 'g g' vi-command/first-nol
12351235+ #ble-bind -m vi_omap -f 'g g' vi-command/first-nol
12361236+ #ble-bind -m vi_xmap -f 'g g' vi-command/first-nol
12371237+ #ble-bind -m vi_nmap -f 'G' vi-command/last-line
12381238+ #ble-bind -m vi_omap -f 'G' vi-command/last-line
12391239+ #ble-bind -m vi_xmap -f 'G' vi-command/last-line
12401240+12411241+12421242+ ## The default mapping of 'C-r' in the normal mode is "vi_nmap/redo". If you
12431243+ ## want to use the incremental search mode from Emacs in the Vim mode (as in
12441244+ ## Readline), please use the following keybinding.
12451245+12461246+ #ble-bind -m vi_nmap -f 'C-r' history-isearch-backward
12471247+12481248+ #----------------------------------------------------------------------------
12491249+ # Cursor shapes and other terminal settings
12501250+12511251+ ## Cursor settings
12521252+12531253+ #ble-bind -m vi_nmap --cursor 2
12541254+ #ble-bind -m vi_imap --cursor 5
12551255+ #ble-bind -m vi_omap --cursor 4
12561256+ #ble-bind -m vi_xmap --cursor 2
12571257+ #ble-bind -m vi_smap --cursor 2
12581258+ #ble-bind -m vi_cmap --cursor 0
12591259+12601260+ ## DECSCUSR setting
12611261+ ##
12621262+ ## If you don't have the entry Ss in terminfo, yet your terminal supports
12631263+ ## DECSCUSR, please comment out the following line to enable DECSCUSR.
12641264+ ##
12651265+ #_ble_term_Ss=$'\e[@1 q'
12661266+12671267+ ## Control sequences that will be output on entering each mode
12681268+ #bleopt term_vi_nmap=
12691269+ #bleopt term_vi_imap=
12701270+ #bleopt term_vi_omap=
12711271+ #bleopt term_vi_xmap=
12721272+ #bleopt term_vi_smap=
12731273+ #bleopt term_vi_cmap=
12741274+12751275+ #----------------------------------------------------------------------------
12761276+ # Miscellaneous settings
12771277+12781278+ ## This option controls the frequency of recording "undo". When the value
12791279+ ## "more" is specified, "undo" will be recorded for various operations in
12801280+ ## "vi_imap".
12811281+12821282+ #bleopt keymap_vi_imap_undo=
12831283+12841284+12851285+ ## This option controls the behavior of motion in select mode. The value is
12861286+ ## a list of words separated by commas. When the word "stopsel" is contained
12871287+ ## in this option, ble.sh exits the select mode with a motion in select mode.
12881288+12891289+ #bleopt keymap_vi_keymodel=
12901290+12911291+12921292+ ## This option sets the upper limit of the maximal depth of recurrence of
12931293+12941294+ ## replaying keyboard macros.
12951295+ #bleopt keymap_vi_macro_depth=64
12961296+12971297+12981298+ ## This option specifies the operator name when the user input "g@" in normal
12991299+ ## mode. The function "ble/keymap:vi/operator:$value", where "$value" is the
13001300+ ## value of this setting, is used as the implementation of the operator.
13011301+13021302+ #bleopt keymap_vi_operatorfunc=
13031303+13041304+13051305+ ## When this option has a non-empty value, "/", "?", "n", "N" search the word
13061306+ ## on the current position. When this option has the empty value, these keys
13071307+ ## follows the behavior of `vim`.
13081308+13091309+ #bleopt keymap_vi_search_match_current=
13101310+13111311+ #----------------------------------------------------------------------------
13121312+ # plugins
13131313+13141314+ ## vim-surround
13151315+13161316+ #ble-import vim-surround
13171317+ #bleopt vim_surround_45:=$'$( \r )'
13181318+ #bleopt vim_surround_61:=$'$(( \r ))'
13191319+13201320+ ## vim-arpeggio
13211321+13221322+ #ble-import vim-arpeggio
13231323+ #bleopt vim_arpeggio_timeoutlen=10
13241324+ #ble/lib/vim-arpeggio.sh/bind -s jk 'hello'
13251325+13261326+ ## vim-airline
13271327+13281328+ #ble-import vim-airline
13291329+ #bleopt vim_airline_theme=light
13301330+ #bleopt vim_airline_section_a='\e[1m\q{lib/vim-airline/mode}'
13311331+ #bleopt vim_airline_section_b='\q{lib/vim-airline/gitstatus}'
13321332+ #bleopt vim_airline_section_c='\w'
13331333+ #bleopt vim_airline_section_x='bash'
13341334+ #bleopt vim_airline_section_y='$_ble_util_locale_encoding[unix]'
13351335+ #bleopt vim_airline_section_z=' \q{history-percentile} \e[1m!\q{history-index}/\!\e[22m \q{position}'
13361336+ #bleopt vim_airline_left_sep=$'\uE0B0'
13371337+ #bleopt vim_airline_left_alt_sep=$'\uE0B1'
13381338+ #bleopt vim_airline_right_sep=$'\uE0B2'
13391339+ #bleopt vim_airline_right_alt_sep=$'\uE0B3'
13401340+ #bleopt vim_airline_symbol_branch=$'\uE0A0'
13411341+ #bleopt vim_airline_symbol_dirty=$'\u26A1'
13421342+}
13431343+blehook/eval-after-load keymap_vi blerc/vim-load-hook
13441344+13451345+##-----------------------------------------------------------------------------
13461346+## Internal settings
13471347+13481348+13491349+## When the option "connect_tty" is set to a non-empty value, ble.sh in the
13501350+## child interactive Bash processes tries to connect to /dev/tty for its user
13511351+## interface when the initial standard streams of Bash are redirected to
13521352+## non-TTY streams. The standard streams for the user command executions are
13531353+## kept to be the original ones. This does not affect the behavior of the
13541354+## current session. If it is set to the value "inherit", ble.sh tries to
13551355+## export the TTY for the child ble.sh sessions. This might cause an issue in
13561356+## non-closing terminal window when a background process starts in the session.
13571357+## The default value is "1".
13581358+13591359+#bleopt connect_tty=
13601360+13611361+13621362+## This option sets the interval of checking new user inputs. The value is
13631363+## evaluated as an arithmetic expression. On the evaluation, a shell variable
13641364+## "ble_util_idle_elapsed" is provided for the time since the last user input
13651365+## in millisecond. This option is used for the polling for the background
13661366+## execution when there is no user inputs.
13671367+13681368+#bleopt idle_interval='ble_util_idle_elapsed>600000?500:(ble_util_idle_elapsed>60000?200:(ble_util_idle_elapsed>5000?100:20))'
13691369+13701370+13711371+## This option specifies a colon-separated list of custom search paths of "ble-import".
13721372+13731373+#bleopt import_path="${XDG_DATA_HOME:-$HOME/.local/share}/blesh/local"
13741374+13751375+13761376+## When a non-empty value is specified to this option, displays the internal
13771377+## syntax analysis information and the syntax tree. This is only effective in
13781378+## devel versions.
13791379+13801380+#bleopt syntax_debug=
13811381+13821382+13831383+## When the option "debug_xtrace" contains a non-empty value, xtrace (set -x)
13841384+## is enabled for the internal processing of ble.sh. The value is used for the
13851385+## xtrace output log filename. [ Caution: The file size of the log file can
13861386+## soon grow up to hundred megabytes or to gigabytes. ] The option
13871387+## "debug_xtrace_ps4" specifies the value of PS4 for xtrace enabled by
13881388+## "debug_xtrace".
13891389+13901390+#bleopt debug_xtrace=~/blesh.xtrace
13911391+#bleopt debug_xtrace_ps4='+ '
13921392+13931393+13941394+## When the option "debug_idle" contains a non-empty value, the background
13951395+## tasks currently running are shown in the info panel.
13961396+13971397+#bleopt debug_idle=1
13981398+13991399+14001400+## [The setting "openat_base" needs to be set before ble.sh is loaded or
14011401+## specified in the source options. Therefore the value should be assigned
14021402+## directly to the shell variable "bleopt_openat_base" instead of using
14031403+## "bleopt" command.]
14041404+##
14051405+## This setting "openat_base" specifies the starting number of the file
14061406+## descriptors which ble.sh internally uses in Bash 4.0 or lower. The value of
14071407+## this setting is used as the number for the first file descriptor of internal
14081408+## use, and the next value is used for the second file descriptor, and so on.
14091409+## When you want to use the default value 30 and succeeding number 31, 32,
14101410+## etc. for other purposes, please set to this settings another value which
14111411+## does not conflict with file descriptors of other purposes.
14121412+14131413+# echo "usage: e.g. source out/ble.sh -o openat_base=30"
14141414+14151415+14161416+## This option specifies the context of the command execution. The value
14171417+## "gexec" specifies that the user command is evaluated in global contexts.
14181418+## The value "exec" (ble-0.3 and before) specified that the user command is
14191419+## evaluated in a function, but the support is removed in ble-0.4 because this
14201420+## is only remained for a debugging purpose and not tested well.
14211421+14221422+#bleopt internal_exec_type=gexec
14231423+14241424+14251425+## If this option has a non-empty value, when the execution of a shell function
14261426+## is interrupted by SIGINT, the processing of SIGINT by the DEBUG trap is
14271427+## printed to stderr. The default is empty.
14281428+14291429+#bleopt internal_exec_int_trace=1
14301430+14311431+14321432+## This option sets the message that Bash outputs when "C-d" is input by user.
14331433+## This value is used to detect that the user inputs "C-d" in Bash 3.
14341434+14351435+#bleopt internal_ignoreeof_trap='Use "exit" to leave the shell.'
14361436+14371437+14381438+## This option controls the output of stack dump when assertion is failed in
14391439+## ble.sh. When the value is evaluated to be non-zero, the stack dump is
14401440+## printed for assertion failures.
14411441+14421442+#bleopt internal_stackdump_enabled=0
14431443+14441444+14451445+## When a non-empty value is specified to this option, the standard output and
14461446+## standard error from Bash is not output to the terminal. When the value is
14471447+## empty, ble.sh tries to realize the line editing allowing Bash to output its
14481448+## own standard output and error. This setting has a flickering problem and
14491449+## only left for debugging purpose, so it is not tested. Normally a non-empty
14501450+## value should be specified so as to suppress the standard output and error
14511451+## from Bash.
14521452+14531453+#bleopt internal_suppress_bash_output=1
14541454+14551455+14561456+## This is a colon-separated list of fields to control the behavior of
14571457+## ble/debug/profiler. When the field "line" and "func" are specified,
14581458+## statistics for lines and function calls, respectively, are enabled. When
14591459+## the field "tree" is specified, function-call trees are saved. Optional
14601460+## parameter "html" can be specified to "line" and "func" separated by the
14611461+## equal sign, i.e., "line=html" and "func=html". In such a case, the results
14621462+## are also saved in the .html format.
14631463+14641464+#bleopt debug_profiler_opts=line:func
14651465+14661466+14671467+## This option specifies the threshold time in milliseconds to determine
14681468+## whether to include a command in the tree generated by "bleopt
14691469+## debug_profiler_opts=tree". The commands that took less than this time in
14701470+## execution will be skipped. The default value is 5.0 msec.
14711471+14721472+#bleopt debug_profiler_tree_threshold=5.0
14731473+14741474+## Additions
14751475+# Set completion to be case insensitive
14761476+bind 'set completion-ignore-case on'
···11+## Syntax highlighting
22+include ~/.local/share/nano/*
33+44+# Options
55+set tabsize 4
66+set tabstospaces
77+set linenumbers
88+set numbercolor yellow,normal
99+set scrollercolor grey,normal
1010+set indicator # side bar for indicating cur position
1111+set smarthome # `Home` jumps to line start first
1212+set afterends # `Ctrl+Right` move to word ends instead of word starts
1313+set wordchars "_" # recognize '_' as part of a word
1414+set zap # delete selected text as a whole
1515+set atblanks # soft wrap at blank chars
1616+set historylog # remember search history
1717+set multibuffer # read files into multibuffer instead of insert
1818+set mouse # enable mouse support
1919+# set locking # vim-like file locks
2020+# set nohelp # disable help when you are familiar enough
2121+set zero # disable title, status, help, etc
2222+set autoindent
2323+# set backup
2424+# set backupdir "~/.local/share/nano/backup" # mkdir ~/.local/share/nano/backup
2525+2626+##### Keybindings Cheatsheet #####
2727+## ^-Q quit
2828+## ^-Z undo
2929+## ^-Y redo
3030+## ^-C copy
3131+## ^-V paste
3232+## ^-X cut
3333+## ^-K delete line
3434+## ^-Bsp delete until word start (or M-Bsp)
3535+## ^-Del delete until next word
3636+## ^-S save file
3737+## M-/ comment/uncomment
3838+## M-: record macro
3939+## M-; play macro
4040+## ^-Space autocomplete word
4141+## ^-T terminal (eg. "|xxd")
4242+4343+## M-C show cursor position
4444+## ^-L refresh and center at cursor
4545+## ^-W search forwards (= M-W with prompt)
4646+## ^-E search backwards (= M-E with prompt)
4747+## ^-R replace
4848+## ^_ goto line number
4949+## ^-Up goto previous block
5050+## ^-Dwn goto next block
5151+## M-] goto matching bracket
5252+## ^-G goto head of file (vim-like)
5353+## M-G goto end of file
5454+## M-Up scroll screen up
5555+## M-Dwn scroll screen down
5656+## M-Left switch to previous file
5757+## M-Rght switch to next file
5858+## M-Ins insert anchor
5959+## M-PgDwn goto next anchor
6060+6161+bind ^Q exit all
6262+bind ^Z undo main
6363+bind ^Y redo main
6464+bind ^C copy main
6565+bind ^V paste main
6666+bind ^X cut main
6767+bind ^K zap main
6868+bind ^H chopwordleft all
6969+bind M-/ comment main
7070+bind ^Space complete main
7171+7272+bind M-C location main
7373+bind ^E wherewas all
7474+bind M-E findprevious all
7575+bind ^R replace main
7676+bind ^_ gotoline main
7777+bind ^G firstline all
7878+bind M-G lastline all
7979+bind ^B pageup all # vim-like support
8080+bind ^F pagedown all # vim-like support
8181+8282+## for macOS
8383+# bind M-F nextword all # is M-left on iTerm natural editing
8484+# bind M-B prevword all
8585+# bind M-2 anchor main # M-Ins keystroke is hard to produce
8686+# bind F2 nextanchor main
8787+# bind F3 prevanchor main
8888+8989+bind M-1 help all # fix ^G been used
9090+bind Sh-M-C constantshow main # fix M-C been used
9191+bind Sh-M-F formatter main # fix M-F and M-B might be used
9292+bind Sh-M-B linter main
9393+# unbind ^J main # for those who rarely use justify
9494+# unbind M-J main # for those who rarely use justify
+8
modules/home-manager/sources/.config/vim/.vimrc
···11+filetype plugin on
22+syntax on
33+set backspace=indent,eol,start
44+55+set number
66+set relativenumber
77+88+imap jk <Esc>
···11+local wezterm = require 'wezterm' -- Pull in the wezterm API
22+local config = wezterm.config_builder() -- This will hold the configuration.
33+-- config.font = wezterm.font '...'
44+-- config.color_scheme = 'Matrix (terminal.sexy)'
55+-- config.cursor_blink_rate = 800
66+config.colors = {
77+ -- Overrides the cell background color when the current cell is occupied by the
88+ -- cursor and the cursor style is set to Block
99+ cursor_bg = '#96eaf9', -- color14
1010+ -- Overrides the text color when the current cell is occupied by the cursor
1111+ cursor_fg = '#313131', -- color0
1212+ -- Specifies the border color of the cursor when the cursor style is set to Block,
1313+ -- or the color of the vertical or horizontal bar when the cursor style is set to
1414+ -- Bar or Underline.
1515+ cursor_border = '#96eaf9', -- color14
1616+ -- Since: 20220319-142410-0fcdea07
1717+ -- When the IME, a dead key or a leader key are being processed and are effectively
1818+ -- holding input pending the result of input composition, change the cursor
1919+ -- to this color to give a visual cue about the compose state.
2020+ compose_cursor = 'orange',
2121+ foreground = "#ededed",
2222+ background = "#000000", -- old 141619
2323+ ansi = {
2424+ '#000000', -- 'black', color0 -- old 313131
2525+ '#cb150a', -- 'maroon', color1
2626+ '#0ca948', -- 'green', color2
2727+ '#ff9e00', -- 'olive', color3
2828+ '#2c77ea', -- 'navy', color4
2929+ '#ad2bd0', -- 'purple', color5
3030+ '#10cec6', -- 'teal', color6
3131+ '#758989', -- 'silver', color7
3232+ },
3333+ brights = {
3434+ '#838383', -- 'grey', color8
3535+ '#f24c32', -- 'red', color9
3636+ '#2cf083', -- 'lime', color10
3737+ '#ffd361', -- 'yellow', color11
3838+ '#a5b7f4', -- 'blue', color12
3939+ '#bf89e0', -- 'fuchsia', color13
4040+ '#96eaf9', -- 'aqua', color14
4141+ '#ffffff', -- 'white', color15 -- old c4dfdf
4242+ },
4343+ visual_bell = '#202020',
4444+}
4545+config.default_cursor_style = "BlinkingUnderline" -- Set the cursor style to SteadyBar
4646+config.visual_bell = {
4747+ fade_in_function = 'EaseIn',
4848+ fade_in_duration_ms = 150,
4949+ fade_out_function = 'EaseOut',
5050+ fade_out_duration_ms = 150,
5151+}
5252+5353+return config -- and finally, return the configuration to wezterm
modules/home-manager/sources/.hushlogin
This is a binary file and will not be displayed.
+201
modules/home-manager/sources/.inputrc
···11+# ~/.inputrc -- readline(3)
22+$include /etc/inputrc
33+44+# audible - Beep for bell
55+# visible - Show a visible bell
66+# none - Don't beep (e.g. when backspacing on empty input or on tab-completion)
77+# set bell-style audible
88+99+set meta-flag on
1010+# Allow UTF-8 input and output, instead of showing $'\0123\0456'
1111+set input-meta on
1212+set convert-meta off
1313+set output-meta on
1414+1515+set show-all-if-ambiguous on
1616+set visible-stats on
1717+set page-completions off
1818+set colored-stats on
1919+set colored-completion-prefix
2020+2121+# Immediately add a trailing slash when autocompleting symlinks to directories
2222+set mark-symlinked-directories on
2323+2424+# Do not autocomplete hidden files unless the pattern explicitly begins with a dot
2525+set match-hidden-files off
2626+2727+$if mode=emacs
2828+# for linux console and RH/Debian xterm
2929+"\e[1~": beginning-of-line
3030+"\e[4~": end-of-line
3131+"\e[5~": beginning-of-history
3232+"\e[6~": end-of-history
3333+"\e[7~": beginning-of-line
3434+"\e[3~": delete-char
3535+"\e[2~": quoted-insert
3636+"\e[5C": forward-word
3737+"\e[5D": backward-word
3838+"\e\e[C": forward-word
3939+"\e\e[D": backward-word
4040+"\e[1;5C": forward-word
4141+"\e[1;5D": backward-word
4242+# for rxvt
4343+"\e[8~": end-of-line
4444+# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
4545+"\eOH": beginning-of-line
4646+"\eOF": end-of-line
4747+# for freebsd console
4848+"\e[H": beginning-of-line
4949+"\e[F": end-of-line
5050+$endif
5151+5252+# Regain ability to paste multiple commands into some programs.
5353+$if Python
5454+set enable-bracketed-paste off
5555+$endif
5656+$if kadmin
5757+set enable-bracketed-paste off
5858+$endif
5959+6060+# Don't modify history in-place, but remember as a new command
6161+set revert-all-at-newline on
6262+6363+# Show tab-completion offers immediately, instead of beeping on the 1st Tab press
6464+set show-all-if-ambiguous on
6565+6666+# Don't duplicate text when completing e.g. "Dr|opbox"
6767+set skip-completed-text on
6868+6969+# Case-insensitive completion
7070+set completion-ignore-case on
7171+7272+# Completion treats - and _ as equal
7373+set completion-map-case on
7474+7575+# Ask for confirmation before listing too many options
7676+set completion-query-items 200
7777+7878+set visible-stats on
7979+set colored-stats on
8080+set colored-completion-prefix on
8181+8282+# Correct typos
8383+$if Bash
8484+#"`/": "~/"
8585+$endif
8686+8787+# Reduce timeout for the above ` macro
8888+$if Bash
8989+set keyseq-timeout 200
9090+$endif
9191+9292+# Use Alt/Meta + Delete to delete the preceding word
9393+"\e[3;3~": kill-word
9494+9595+# Arrows use the text that has already been typed as the prefix for searching
9696+"\e[A": history-search-backward
9797+"\e[B": history-search-forward
9898+9999+# Ctrl-arrows
100100+"\e[1;5C": forward-word
101101+"\e[1;5D": backward-word
102102+# "\eOC": forward-word
103103+# "\eOD": backward-word
104104+105105+# Insert
106106+"\e[2~": overwrite-mode
107107+108108+# Page Up/Down
109109+"\e[5~": ""
110110+"\e[6~": ""
111111+112112+# Shift-Tab
113113+# "\e[Z": complete-into-braces
114114+#"\e[Z": dynamic-complete-history
115115+116116+# unbind accidental Alt-P, Alt-N, Alt-numbers
117117+"\ep": ""
118118+"\en": ""
119119+"\e1": ""
120120+"\e2": ""
121121+"\e3": ""
122122+"\e4": ""
123123+"\e5": ""
124124+"\e6": ""
125125+"\e7": ""
126126+"\e8": ""
127127+"\e9": ""
128128+"\e0": ""
129129+"\e-": ""
130130+131131+# UTF-8 prefixes – insert Alt+characters (e.g. Alt+ą) literally, instead of
132132+# eating the first byte and inserting the rest as garbage. (I would prefer if
133133+# bash could discard the entire character, but it doesn't know how to do that.)
134134+135135+# two-byte prefixes
136136+"\e\xc0": self-insert
137137+"\e\xc1": self-insert
138138+"\e\xc2": self-insert
139139+"\e\xc3": self-insert
140140+"\e\xc4": self-insert
141141+"\e\xc5": self-insert
142142+"\e\xc6": self-insert
143143+"\e\xc7": self-insert
144144+"\e\xc8": self-insert
145145+"\e\xc9": self-insert
146146+"\e\xca": self-insert
147147+"\e\xcb": self-insert
148148+"\e\xcc": self-insert
149149+"\e\xcd": self-insert
150150+"\e\xce": self-insert
151151+"\e\xcf": self-insert
152152+"\e\xd0": self-insert
153153+"\e\xd1": self-insert
154154+"\e\xd2": self-insert
155155+"\e\xd3": self-insert
156156+"\e\xd4": self-insert
157157+"\e\xd5": self-insert
158158+"\e\xd6": self-insert
159159+"\e\xd7": self-insert
160160+"\e\xd8": self-insert
161161+"\e\xd9": self-insert
162162+"\e\xda": self-insert
163163+"\e\xdb": self-insert
164164+"\e\xdc": self-insert
165165+"\e\xdd": self-insert
166166+"\e\xde": self-insert
167167+"\e\xdf": self-insert
168168+# three-byte prefixes
169169+"\e\xe0": self-insert
170170+"\e\xe1": self-insert
171171+"\e\xe2": self-insert
172172+"\e\xe3": self-insert
173173+"\e\xe4": self-insert
174174+"\e\xe5": self-insert
175175+"\e\xe6": self-insert
176176+"\e\xe7": self-insert
177177+"\e\xe8": self-insert
178178+"\e\xe9": self-insert
179179+"\e\xea": self-insert
180180+"\e\xeb": self-insert
181181+"\e\xec": self-insert
182182+"\e\xed": self-insert
183183+"\e\xee": self-insert
184184+"\e\xef": self-insert
185185+# four-byte prefixes
186186+"\e\xf0": self-insert
187187+"\e\xf1": self-insert
188188+"\e\xf2": self-insert
189189+"\e\xf3": self-insert
190190+"\e\xf4": self-insert
191191+"\e\xf5": self-insert
192192+"\e\xf6": self-insert
193193+"\e\xf7": self-insert
194194+# five-byte prefixes
195195+"\e\xf8": self-insert
196196+"\e\xf9": self-insert
197197+"\e\xfa": self-insert
198198+"\e\xfb": self-insert
199199+# six-byte prefixes
200200+"\e\xfc": self-insert
201201+"\e\xfd": self-insert