aboutsummaryrefslogtreecommitdiff
path: root/autoload/colon_operator.vim
blob: 34689efcadd238ebfa677902188bd04ea3efa908 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
" Operator prompts for a command if it doesn't have one from a prior run, and
" then runs the command on the selected text
function! colon_operator#Operatorfunc(type) abort
  if !exists('s:command')
    let s:command = input('g:', '', 'command')
  endif
  execute "'[,']".s:command
endfunction

" Clear command so that we get prompted to input it, set operator function,
" and return <expr> motions to run it
function! colon_operator#() abort
  unlet! s:command
  set operatorfunc=colon_operator#Operatorfunc
  return 'g@'
endfunction