Show Space plugin information in the statusline.
authorIain Patterson <me@iain.cx>
Wed, 26 Feb 2014 10:54:42 +0000 (10:54 +0000)
committerIain Patterson <me@iain.cx>
Wed, 26 Feb 2014 10:57:43 +0000 (10:57 +0000)
The Space plugin supplies a function which prints the action performed
by the spacebar.  We now include its output in the statusline along with
the search direction marker.

.vimrc

diff --git a/.vimrc b/.vimrc
index 6a03dd9..50c7ed7 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -914,6 +914,22 @@ fun! Show_Marks() "{{{2
   endif
 endfun "}}}2
 
+" Helper for status lines.
+" Show Space plugin command.
+fun! Show_Space() "{{{2
+  if exists("*GetSpaceMovement")
+    let l:ret = GetSpaceMovement()
+    if l:ret != ""
+      if Has_Unicode()
+        let l:ret = "␠" . l:ret . Show_SearchForward()
+      else
+        let l:ret "[" . l:ret . Show_SearchForward() . "]"
+    endif
+    return l:ret
+  else
+    return Show_SearchForward()
+endfun "}}}2
+
 " Show the status line.
 fun! Show_StatusLine() "{{{2
   if ! has("statusline")
@@ -929,7 +945,7 @@ fun! Show_StatusLine() "{{{2
   " sl1 contains left-aligned stuff.
   " sl2 contains stuff shown only when verbose mode is enabled.
   " sl3 contains right-aligned stuff.
-  let l:sl1='%2n\:\ %<' . l:bold . '%f' . l:normal . '\ [%{Show_Encoding()}%{Show_DOS()}%{Show_List()}%{Show_Bind()}%{Show_Case()}%{Show_Tabstop()}%{Show_Paste()}%{Show_VirtualEdit()}%{Show_Undo()}%Y%M%R%{Show_SearchForward()}]%{Show_Alt()}\ '
+  let l:sl1='%2n\:\ %<' . l:bold . '%f' . l:normal . '\ [%{Show_Encoding()}%{Show_DOS()}%{Show_List()}%{Show_Bind()}%{Show_Case()}%{Show_Tabstop()}%{Show_Paste()}%{Show_VirtualEdit()}%{Show_Undo()}%Y%M%R%{Show_Space()}]%{Show_Alt()}\ '
   let l:sl3='%{Show_Marks()}L:' . l:bold . '%4.6l' . l:normal . '/%-4.6L\ C:' . l:bold . '%3.6c%V' . l:normal . '\ \|\ %P'
   let l:hexformat='%b'
   if b:iainhex