##// END OF EJS Templates
hgweb: don't dereference symbolic revision in paper & coal style (issue2296)...
hgweb: don't dereference symbolic revision in paper & coal style (issue2296) Let's make paper (and coal, since it borrows so much from paper) templates use symbolic revision in navigation links. The majority of links (log, filelog, annotate, etc) still use node hashes. Some pages don't have permanent links to current node hash (so it's not very easy to go from /rev/tip to /rev/<tip hash>), this will be addressed in future patches.

File last commit:

r5081:ea7b982b default
r25606:3bb6f5f4 default
Show More
hg-menu.vim
93 lines | 3.5 KiB | text/x-vim | VimLexer
" vim600: set foldmethod=marker:
" =============================================================================
" Name Of File: hg-menu.vim
" Description: Interface to Mercurial Version Control.
" Author: Steve Borho (modified Jeff Lanzarotta's RCS script)
" Date: Wednesday, October 5, 2005
" Version: 0.1.0
" Copyright: None.
" Usage: These command and gui menu displays useful hg functions
" Configuration: Your hg executable must be in your path.
" =============================================================================
" Section: Init {{{1
if exists("loaded_hg_menu")
finish
endif
let loaded_hg_menu = 1
" Section: Menu Options {{{1
if has("gui")
" amenu H&G.Commit\ File<Tab>,ci :!hg commit %<CR>:e!<CR>
" amenu H&G.Commit\ All<Tab>,call :!hg commit<CR>:e!<CR>
" amenu H&G.-SEP1- <nul>
amenu H&G.Add<Tab>\\add :!hg add %<CR><CR>
amenu H&G.Forget\ Add<Tab>\\fgt :!hg forget %<CR><CR>
amenu H&G.Show\ Differences<Tab>\\diff :call ShowResults("FileDiff", "hg\ diff")<CR><CR>
amenu H&G.Revert\ to\ Last\ Version<Tab>\\revert :!hg revert %<CR>:e!<CR>
amenu H&G.Show\ History<Tab>\\log :call ShowResults("FileLog", "hg\ log")<CR><CR>
amenu H&G.Annotate<Tab>\\an :call ShowResults("annotate", "hg\ annotate")<CR><CR>
amenu H&G.-SEP1- <nul>
amenu H&G.Repo\ Status<Tab>\\stat :call ShowResults("RepoStatus", "hg\ status")<CR><CR>
amenu H&G.Pull<Tab>\\pull :!hg pull<CR>:e!<CR>
amenu H&G.Update<Tab>\\upd :!hg update<CR>:e!<CR>
endif
" Section: Mappings {{{1
if(v:version >= 600)
" The default Leader is \ 'backslash'
map <Leader>add :!hg add %<CR><CR>
map <Leader>fgt :!hg forget %<CR><CR>
map <Leader>diff :call ShowResults("FileDiff", "hg\ diff")<CR><CR>
map <Leader>revert :!hg revert %<CR>:e!<CR>
map <Leader>log :call ShowResults("FileLog", "hg\ log")<CR><CR>
map <Leader>an :call ShowResults("annotate", "hg\ annotate")<CR><CR>
map <Leader>stat :call ShowResults("RepoStatus", "hg\ status")<CR><CR>
map <Leader>upd :!hg update<CR>:e!<CR>
map <Leader>pull :!hg pull<CR>:e!<CR>
else
" pre 6.0, the default Leader was a comma
map ,add :!hg add %<CR><CR>
map ,fgt :!hg forget %<CR><CR>
map ,diff :call ShowResults("FileDiff", "hg\ diff")<CR><CR>
map ,revert :!hg revert<CR>:e!<CR>
map ,log :call ShowResults("FileLog", "hg\ log")<CR><CR>
map ,an :call ShowResults("annotate", "hg\ annotate")<CR><CR>
map ,stat :call ShowResults("RepoStatus", "hg\ status")<CR><CR>
map ,upd :!hg update<CR>:e!<CR>
map ,pull :!hg pull<CR>:e!<CR>
endif
" Section: Functions {{{1
" Show the log results of the current file with a revision control system.
function! ShowResults(bufferName, cmdName)
" Modify the shortmess option:
" A don't give the "ATTENTION" message when an existing swap file is
" found.
set shortmess+=A
" Get the name of the current buffer.
let currentBuffer = bufname("%")
" If a buffer with the name rlog exists, delete it.
if bufexists(a:bufferName)
execute 'bd! ' a:bufferName
endif
" Create a new buffer.
execute 'new ' a:bufferName
" Execute the command.
execute 'r!' a:cmdName ' ' currentBuffer
" Make is so that the file can't be edited.
setlocal nomodified
setlocal nomodifiable
setlocal readonly
" Go to the beginning of the buffer.
execute "normal 1G"
" Restore the shortmess option.
set shortmess-=A
endfunction