diff --git a/plugin/magit.vim b/plugin/magit.vim index 4b5ee3880379bcb8dfbc385c22498348253caa11..5a5e170771ad566e7c5d13b36fdbde4673b3d990 100644 --- a/plugin/magit.vim +++ b/plugin/magit.vim @@ -20,49 +20,35 @@ let g:magit_buffer_name = "magit-playground" let s:state = deepcopy(magit#state#state) -" s:set: helper function to set user definable variable -" param[in] var: variable to set -" param[in] default: default value if not already set by the user -" return: no -function! s:set(var, default) - if !exists(a:var) - if type(a:default) - execute 'let' a:var '=' string(a:default) - else - execute 'let' a:var '=' a:default - endif - endif -endfunction - " these mappings are broadly applied, for all vim buffers -call s:set('g:magit_show_magit_mapping', '<leader>M' ) +let g:magit_show_magit_mapping = get(g:, 'magit_show_magit_mapping', '<leader>M' ) " these mapping are applied locally, for magit buffer only -call s:set('g:magit_stage_file_mapping', 'F' ) -call s:set('g:magit_stage_hunk_mapping', 'S' ) -call s:set('g:magit_stage_line_mapping', 'L' ) -call s:set('g:magit_mark_line_mapping', 'M' ) -call s:set('g:magit_discard_hunk_mapping', 'DDD' ) -call s:set('g:magit_commit_mapping_command', 'w<cr>' ) -call s:set('g:magit_commit_mapping', 'CC' ) -call s:set('g:magit_commit_amend_mapping', 'CA' ) -call s:set('g:magit_commit_fixup_mapping', 'CF' ) -call s:set('g:magit_reload_mapping', 'R' ) -call s:set('g:magit_ignore_mapping', 'I' ) -call s:set('g:magit_close_mapping', 'q' ) -call s:set('g:magit_toggle_help_mapping', 'h' ) - -call s:set('g:magit_folding_toggle_mapping', [ '<CR>' ]) -call s:set('g:magit_folding_open_mapping', [ 'zo', 'zO' ]) -call s:set('g:magit_folding_close_mapping', [ 'zc', 'zC' ]) +let g:magit_stage_file_mapping = get(g:, 'magit_stage_file_mapping', 'F' ) +let g:magit_stage_hunk_mapping = get(g:, 'magit_stage_hunk_mapping', 'S' ) +let g:magit_stage_line_mapping = get(g:, 'magit_stage_line_mapping', 'L' ) +let g:magit_mark_line_mapping = get(g:, 'magit_mark_line_mapping', 'M' ) +let g:magit_discard_hunk_mapping = get(g:, 'magit_discard_hunk_mapping', 'DDD' ) +let g:magit_commit_mapping_command = get(g:, 'magit_commit_mapping_command', 'w<cr>' ) +let g:magit_commit_mapping = get(g:, 'magit_commit_mapping', 'CC' ) +let g:magit_commit_amend_mapping = get(g:, 'magit_commit_amend_mapping', 'CA' ) +let g:magit_commit_fixup_mapping = get(g:, 'magit_commit_fixup_mapping', 'CF' ) +let g:magit_reload_mapping = get(g:, 'magit_reload_mapping', 'R' ) +let g:magit_ignore_mapping = get(g:, 'magit_ignore_mapping', 'I' ) +let g:magit_close_mapping = get(g:, 'magit_close_mapping', 'q' ) +let g:magit_toggle_help_mapping = get(g:, 'magit_toggle_help_mapping', 'h' ) + +let g:magit_folding_toggle_mapping = get(g:, 'magit_folding_toggle_mapping', [ '<CR>' ]) +let g:magit_folding_open_mapping = get(g:, 'magit_folding_open_mapping', [ 'zo', 'zO' ]) +let g:magit_folding_close_mapping = get(g:, 'magit_folding_close_mapping', [ 'zc', 'zC' ]) " user options -call s:set('g:magit_enabled', 1) -call s:set('g:magit_show_help', 1) -call s:set('g:magit_default_show_all_files', 0) -call s:set('g:magit_default_fold_level', 1) +let g:magit_enabled = get(g:, 'magit_enabled', 1) +let g:magit_show_help = get(g:, 'magit_show_help', 1) +let g:magit_default_show_all_files = get(g:, 'magit_default_show_all_files', 0) +let g:magit_default_fold_level = get(g:, 'magit_default_fold_level', 1) -call s:set('g:magit_warning_max_lines', 10000) +let g:magit_warning_max_lines = get(g:, 'magit_warning_max_lines', 10000) execute "nnoremap <silent> " . g:magit_show_magit_mapping . " :call magit#show_magit('v')<cr>" " }}}