X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=bash-selector.sh;h=fbb5aa64041713c6e89e9bcd15cbbc2ee1fbf6db;hb=af6347e4968f1b68bd2a5cdfaf47ef6ecb156ff3;hp=68a024bdf2168988c729a47fd2db427897e3edb5;hpb=dd8062da09a47dfb4c1520bf3d23742b7103c00d;p=selector.git diff --git a/bash-selector.sh b/bash-selector.sh index 68a024b..fbb5aa6 100755 --- a/bash-selector.sh +++ b/bash-selector.sh @@ -1,31 +1,34 @@ #!/bin/bash -######################################################################### -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the version 3 of the GNU General Public License # -# as published by the Free Software Foundation. # -# # -# This program is distributed in the hope that it will be useful, but # -# WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # -# General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see . # -# # -# Written by and Copyright (C) Francois Fleuret # -# Contact for comments & bug reports # -######################################################################### - -# This script installs two key-bindings: +# selector is a simple command line utility for selection of strings +# with a dynamic pattern-matching. # -# Alt-r for selector-based command history +# Copyright (c) 2011, 2012 Francois Fleuret +# Written by Francois Fleuret # -# Alt-c for selector-based directoy history +# This file is part of selector. # -# Note that you have to call it with "source bash-selector.sh" -# otherwise the key-bindings will not be effective in your current -# bash +# selector is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 3 as +# published by the Free Software Foundation. +# +# selector is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with selector. If not, see . + +# This script installs two key-bindings: +# +# Alt-r for selector-based command history +# +# Alt-c for selector-based directoy history +# +# Note that you have to call it with "source bash-selector.sh" +# otherwise the key-bindings will not be effective in your current +# bash if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then echo "This script must be called with 'source $(basename $0)'" >&2 @@ -37,7 +40,7 @@ fi ###################################################################### function selector-history () { - selector --bash -j -u -c 7,4,0,3 -q <(history) + selector --bash -j -y -u -c 7,4,0,3 -q <(history) } ###################################################################### @@ -71,7 +74,7 @@ function selector-cd () { function selector-cd-search () { PATH_TEMP=$(mktemp /tmp/selector-cd-path.XXXXXX) - selector -j -u -t "cd" -l 1000 -d -i -c 7,2,0,3 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY} + selector -j -y -u -t "cd" -l 1000 -d -i -c 7,2,0,3 -o ${PATH_TEMP} -q ${SELECTOR_CD_HISTORY} NEW_PATH="$(cat ${PATH_TEMP} | sed -e 's!~!'${HOME}'!')" if [[ -s "${NEW_PATH}" ]]; then selector-cd "$(cat ${PATH_TEMP} | sed -e 's!^~!'${HOME}'!')"