# HG changeset patch # User Steve Losh # Date 1308014286 14400 # Node ID 3386390489305c98d2a8adc755a9e75733d666de # Parent 0797e3cc502016faea8bc5c30e4565a3eaf938fb Start the use hunk functionality. diff -r 0797e3cc5020 -r 338639048930 plugin/threesome.py --- a/plugin/threesome.py Mon Jun 13 21:17:54 2011 -0400 +++ b/plugin/threesome.py Mon Jun 13 21:18:06 2011 -0400 @@ -63,3 +63,6 @@ def ThreesomePrev(): threesome.modes.current_mode.key_prev() +def ThreesomeUse(): + threesome.modes.current_mode.key_use() + diff -r 0797e3cc5020 -r 338639048930 plugin/threesome.vim --- a/plugin/threesome.vim Mon Jun 13 21:17:54 2011 -0400 +++ b/plugin/threesome.vim Mon Jun 13 21:18:06 2011 -0400 @@ -152,6 +152,9 @@ function! s:ThreesomePrev()"{{{ python ThreesomePrev() endfunction"}}} +function! s:ThreesomeUse()"{{{ + python ThreesomeUse() +endfunction"}}} "}}} @@ -175,6 +178,7 @@ command! -nargs=0 ThreesomeLayout call s:ThreesomeLayout() command! -nargs=0 ThreesomeNext call s:ThreesomeNext() command! -nargs=0 ThreesomePrev call s:ThreesomePrev() +command! -nargs=0 ThreesomeUse call s:ThreesomeUse() "}}} diff -r 0797e3cc5020 -r 338639048930 plugin/threesomelib/init.py --- a/plugin/threesomelib/init.py Mon Jun 13 21:17:54 2011 -0400 +++ b/plugin/threesomelib/init.py Mon Jun 13 21:18:06 2011 -0400 @@ -47,6 +47,7 @@ keys.bind('n', ':ThreesomeNext') keys.bind('N', ':ThreesomePrev') keys.bind('', ':ThreesomeLayout') + keys.bind('u', ':ThreesomeUse') keys.bind('q', ':wa:qa') keys.bind('CC', ':cq') diff -r 0797e3cc5020 -r 338639048930 plugin/threesomelib/modes.py --- a/plugin/threesomelib/modes.py Mon Jun 13 21:17:54 2011 -0400 +++ b/plugin/threesomelib/modes.py Mon Jun 13 21:18:06 2011 -0400 @@ -596,7 +596,18 @@ def key_use(self): - pass + active = (self._current_buffer_first, self._current_buffer_second) + + if buffers.result not in active: + return + + if buffers.one not in active and buffers.two not in active: + return + + if buffers.current == buffers.result: + vim.command('diffget') + elif buffers.current in (buffers.one, buffers.two): + vim.command('diffput') def goto_result(self):