Skip to content
Snippets Groups Projects
Select Git revision
  • 5ca538ed24523ccebf70a05092aba4e90d0f42c2
  • master default protected
  • amend_commit
  • next
  • dev/nomodifiable
  • dev/discard_vselect
  • dev/catch_shell_error
  • dev/mapping_2
  • dev/close
  • dev/issue_123
  • dev/issue_71
  • dev/mapping
  • dev/remove_end_commit
  • dev/stash
  • dev/test_commit
  • dev/save_commmit_msg
  • dev/push
  • dev/git_diff
  • dev/undo
  • gh-pages
  • dev/display
  • 1.8.0
  • 1.7.3
  • 1.7.2
  • 1.7.1
  • 1.7.0
  • 1.6.0
  • 1.5.2
  • 1.5.1
  • 1.5.0
  • 1.4.2
  • 1.4.1
  • 1.4
  • 1.3
  • 1.2
  • 1.0
  • 1.1
37 results

magit.vim

Blame
  • magit.vim 28.63 KiB
    scriptencoding utf-8
    
    if exists('g:loaded_magit') || !executable('git') || &cp
      finish
    endif
    let g:loaded_magit = 1
    
    " Initialisation {{{
    
    " FIXME: find if there is a minimum vim version required
    " if v:version < 703
    " endif
    
    " source common file. variables in common file are shared with plugin and
    " syntax files
    execute 'source ' . resolve(expand('<sfile>:p:h')) . '/../common/magit_common.vim'
    
    " g:magit_buffer_name: vim buffer name for vimagit
    let g:magit_buffer_name = "magit-playground"
    
    let s:state = deepcopy(magit#state#state)
    
    " these mappings are broadly applied, for all vim buffers
    let g:magit_show_magit_mapping     = get(g:, 'magit_show_magit_mapping',        '<leader>M' )
    
    " these mapping are applied locally, for magit buffer only
    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
    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)
    
    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>"
    " }}}
    
    " {{{ Internal functions
    
    " s:magit_inline_help: Dict containing inline help for each section
    let s:magit_inline_help = {
    			\ 'staged': [
    \'S      if cursor on filename header, unstage file',
    \'       if cursor in hunk, unstage hunk',
    \'F      if cursor on filename header or hunk, unstage whole file',
    \],
    			\ 'unstaged': [
    \'S      if cursor on filename header, stage file',
    \'       if cursor in hunk, stage hunk',
    \'       if visual selection in hunk (with v), stage selection',
    \'       if lines marked in hunk (with M), stage marked lines',
    \'L      stage the line under the cursor',