paste with move
This commit is contained in:
18
files/cclip
18
files/cclip
@@ -8,9 +8,10 @@ _help() {
|
||||
Usage: $SELF [command] [clipboard name] [filename]
|
||||
|
||||
Short Command Description
|
||||
p paste Display on screen / copies to file
|
||||
c copy Save from stdin / from file
|
||||
c copy Copy from file / stdin
|
||||
x cut Move file to clipboard
|
||||
p paste Paste to file / stdout
|
||||
o move Paste to file, by moving (clipboard deleted)
|
||||
d delete Delete an entry
|
||||
D Delete Clear the whole clibboard
|
||||
e edit Edit contents, with \$EDITOR
|
||||
@@ -21,6 +22,7 @@ _help() {
|
||||
Clipboard Name: Any string for the clipboard name. default: 0
|
||||
Filename:
|
||||
If not given, defaults to clipboard name
|
||||
- uses stdout/stdin
|
||||
When reading from clipboard:
|
||||
File or folder to write the clipboard contents. If omitted: stdout
|
||||
When writing to clipboard:
|
||||
@@ -184,8 +186,13 @@ _read_files() { # name, file
|
||||
else
|
||||
to=" to $2"
|
||||
fi
|
||||
if [[ $MOVE = true ]]; then
|
||||
echo Moving "${1}$to"
|
||||
mv "$STORAGE/$1" "$2"
|
||||
else
|
||||
echo Pasting "${1}$to"
|
||||
cp -aT "$STORAGE/$1" "$2"
|
||||
cp -aT
|
||||
fi
|
||||
}
|
||||
|
||||
_read_stdout() { # name
|
||||
@@ -254,11 +261,11 @@ _get_completer() {
|
||||
local curr_arg
|
||||
curr_arg=${COMP_WORDS[COMP_CWORD]}
|
||||
if [[ $COMP_CWORD -eq 1 ]]; then
|
||||
COMPREPLY=( $(compgen -W "help autocomplete l list c copy x cut p paste delete Delete pmenu" -- $curr_arg ) );
|
||||
COMPREPLY=( $(compgen -W "help autocomplete l list c copy x cut p paste o move delete Delete pmenu" -- $curr_arg ) );
|
||||
fi
|
||||
if [[ $COMP_CWORD -eq 2 ]]; then
|
||||
case ${COMP_WORDS[$(( $COMP_CWORD - 1 ))]} in
|
||||
p|paste|d*)
|
||||
o|move|p|paste|d*)
|
||||
local IFS=$'"'"'\n'"'"'
|
||||
local remotelist=( $( eval CCLIP_EXEC simplelist ) )
|
||||
COMPREPLY=( $(compgen -W "${remotelist[*]}" -- $curr_arg ) );
|
||||
@@ -292,6 +299,7 @@ MOVE=false
|
||||
CMD=help
|
||||
if [[ -z "$1" ]]; then CMD=list; fi
|
||||
[[ "$1" = "p" || "$1" = "paste" ]] && { CMD=read; ARG1=$CMD; }
|
||||
[[ "$1" = "o" || "$1" = "move" ]] && { CMD=read; ARG1=$CMD; MOVE=true; }
|
||||
[[ "$1" = "pmenu" || "$1" = "pastemenu" ]] && { CMD=read_menu; ARG1=$CMD; }
|
||||
[[ "$1" = "c" || "$1" = "copy" ]] && { CMD=write; ARG1=$CMD; }
|
||||
[[ "$1" = "x" || "$1" = "cut" ]] && { CMD=write; ARG1=$CMD; MOVE=true; }
|
||||
|
||||
Reference in New Issue
Block a user