1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 05:20:04 +08:00
SpaceVim/bundle/vim-mundo/plugin/mundo.vim
2020-10-31 15:52:34 +08:00

141 lines
4.3 KiB
VimL

" ============================================================================
" File: mundo.vim
" Description: vim global plugin to visualize your undo tree
" Maintainer: Hyeon Kim <simnalamburt@gmail.com>
" License: GPLv2+ -- look it up.
" Notes: Much of this code was thiefed from Mercurial, and the rest was
" heavily inspired by scratch.vim and histwin.vim.
"
" ============================================================================
if !exists('g:mundo_debug') && (exists('g:mundo_disable') &&
\ g:mundo_disable == 1 || exists('loaded_mundo') || &cp)"{{{
finish
endif
let loaded_mundo = 1"}}}
" Default option values{{{
call mundo#util#set_default(
\ 'g:mundo_auto_preview', 1,
\ 'g:gundo_auto_preview')
call mundo#util#set_default('g:mundo_auto_preview_delay', 250)
call mundo#util#set_default(
\ 'g:mundo_close_on_revert', 0,
\ 'g:gundo_close_on_revert')
call mundo#util#set_default(
\ 'g:mundo_first_visible_line', 0,
\ 'g:gundo_first_visible_line')
call mundo#util#set_default('g:mundo_header', 1)
call mundo#util#set_default(
\ 'g:mundo_help', 0,
\ 'g:gundo_help')
call mundo#util#set_default(
\ 'g:mundo_inline_undo', 0,
\ 'g:gundo_inline_undo')
call mundo#util#set_default(
\ 'g:mundo_last_visible_line', 0,
\ 'g:gundo_last_visible_line')
call mundo#util#set_default(
\ 'g:mundo_map_move_newer', 'k',
\ 'g:gundo_map_move_newer')
call mundo#util#set_default(
\ 'g:mundo_map_move_older', 'j',
\ 'g:gundo_map_move_older')
call mundo#util#set_default(
\ 'g:mundo_map_up_down', 1,
\ 'g:gundo_map_up_down')
call mundo#util#set_default(
\ 'g:mundo_mirror_graph', 0,
\ 'g:gundo_mirror_graph')
call mundo#util#set_default(
\ 'g:mundo_playback_delay', 60,
\ 'g:gundo_playback_delay')
call mundo#util#set_default(
\ 'g:mundo_prefer_python3', 0,
\ 'g:gundo_prefer_python3')
call mundo#util#set_default(
\ 'g:mundo_preview_bottom', 0,
\ 'g:gundo_preview_bottom')
call mundo#util#set_default(
\ 'g:mundo_preview_height', 15,
\ 'g:gundo_preview_height')
call mundo#util#set_default(
\ 'g:mundo_python_path_setup', 0,
\ 'g:gundo_python_path_setup')
call mundo#util#set_default(
\ 'g:mundo_return_on_revert', 1,
\ 'g:gundo_return_on_revert')
call mundo#util#set_default(
\ 'g:mundo_right', 0,
\ 'g:gundo_right')
call mundo#util#set_default(
\ 'g:mundo_verbose_graph', 1,
\ 'g:gundo_verbose_graph')
call mundo#util#set_default(
\ 'g:mundo_width', 45,
\ 'g:gundo_width')
" Set up the default mappings, unless a g:mundo_mappings has already been
" provided
if mundo#util#set_default('g:mundo_mappings', {})
let g:mundo_mappings = {
\ '<CR>': 'preview',
\ 'o': 'preview',
\ 'J': 'move_older_write',
\ 'K': 'move_newer_write',
\ 'gg': 'move_top',
\ 'G': 'move_bottom',
\ 'P': 'play_to',
\ 'd': 'diff',
\ 'i': 'toggle_inline',
\ '/': 'search',
\ 'n': 'next_match',
\ 'N': 'previous_match',
\ 'p': 'diff_current_buffer',
\ 'r': 'diff',
\ '?': 'toggle_help',
\ 'q': 'quit',
\ '<2-LeftMouse>': 'mouse_click' }
let g:mundo_mappings[g:mundo_map_move_older] = 'move_older'
let g:mundo_mappings[g:mundo_map_move_newer] = 'move_newer'
if g:mundo_map_up_down
let g:mundo_mappings['<down>'] = 'move_older'
let g:mundo_mappings['<up>'] = 'move_newer'
endif
endif
"}}}
"{{{ Create commands
command! -nargs=0 MundoToggle call mundo#MundoToggle()
command! -nargs=0 MundoShow call mundo#MundoShow()
command! -nargs=0 MundoHide call mundo#MundoHide()
command! -nargs=0 GundoToggle call mundo#util#MundoToggle()
command! -nargs=0 GundoShow call mundo#util#MundoShow()
command! -nargs=0 GundoHide call mundo#util#MundoHide()
command! -nargs=0 GundoRenderGraph call mundo#util#MundoRenderGraph()
"}}}