aboutsummaryrefslogtreecommitdiff
path: root/autoload/colon_operator.vim
blob: 1469e952e15efcbea519e980b91484427c51b1d0 (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#Map() abort
  unlet! s:command
  set operatorfunc=colon_operator#Operatorfunc
  return 'g@'
endfunction