Thread (11 messages) flat view 11 messages, 5 authors, 2016-06-15

Re: Extremely simple Vim interface for Git

From: Michael Wookey <hidden>
Date: 2016-06-15 22:45:19

quoted
If you alter the RunShellCommand() function to the following -
quoted
      if stridx(a:cmdline, "diff") > 0
          set filetype=diff
      endif
quoted
Then Vim will apply diff syntax highlighting to the scratch buffer
when a "diff" command is executed.
Good idea. I implemented the same thing this way:

   if match(a:cmdline,'\v^(git|hg|svn|bzr) diff') >= 0
       setlocal filetype=diff
   endif
Vim 7.2 provides a better alternative.  If the command is specifically
'git' then setting the filetype to 'git' also provides the correct
syntax highlighting.

For example,

  if v:version >= 702
      if stridx(a:cmdline, "git") == 0
          setlocal filetype=git
      endif
  endif

Syntax highlighting is displayed correctly for several commands including:

  :Git diff
  :Git show
  :Git log

And possibly others.  If Vim (7.2) is your default editor when
performing a "git commit" then there is also a new built in Vim
command -

  :DiffGitCached

This opens a preview window with the contents of "git diff --cached".
The :DiffGitCached command is only available when filetype=gitcommit.

Perhaps some of these ideas should be added to the Vim wiki...

http://vim.wikia.com/wiki/Display_shell_commands%27_output_on_Vim_window
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help