More signs.
authorIain Patterson <me@iain.cx>
Thu, 9 Jul 2009 09:19:34 +0000 (10:19 +0100)
committerIain Patterson <me@iain.cx>
Thu, 16 Jul 2009 14:34:46 +0000 (15:34 +0100)
Highlight the (, ), { and } marks.
Highlight the ^ mark in red.

.vimrc

diff --git a/.vimrc b/.vimrc
index 65d8895..a715a77 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -514,6 +514,18 @@ fun! <SID>Prep_Signs()
   if ! exists("b:signright") || ! g:marksigns
     let b:signright=0
   endif
+  if ! exists("b:signsquareleft") || ! g:marksigns
+    let b:signsquareleft=0
+  endif
+  if ! exists("b:signsquareright") || ! g:marksigns
+    let b:signsquareright=0
+  endif
+  if ! exists("b:signbraceleft") || ! g:marksigns
+    let b:signbraceleft=0
+  endif
+  if ! exists("b:signbraceright") || ! g:marksigns
+    let b:signbraceright=0
+  endif
   if ! exists("b:signa") || ! g:marksigns
     let b:signa=0
   endif
@@ -574,23 +586,27 @@ fun! <SID>Highlight_Signs(...)
   let b:signdash = <SID>Place_Sign(1, line("''"), b:signdash, "MarkDash")
   let b:signquote = <SID>Place_Sign(2, line("'\""), b:signquote, "MarkQuote")
   let b:signcaret = <SID>Place_Sign(3, line("'^"), b:signcaret, "MarkCaret")
-  let b:signless = <SID>Place_Sign(4, line("'<"), b:signcaret, "MarkLess")
-  let b:signgreater = <SID>Place_Sign(5, line("'>"), b:signcaret, "MarkGreater")
-  let b:signleft = <SID>Place_Sign(6, line("'["), b:signcaret, "MarkLeft")
-  let b:signright = <SID>Place_Sign(7, line("']"), b:signcaret, "MarkRight")
-
-  let b:signa = <SID>Place_Sign(8, line("'a"), b:signa, "Marka")
-  let b:signb = <SID>Place_Sign(9, line("'b"), b:signb, "Markb")
-  let b:signc = <SID>Place_Sign(10, line("'c"), b:signc, "Markc")
-  let b:signd = <SID>Place_Sign(11, line("'d"), b:signd, "Markd")
-  let b:signe = <SID>Place_Sign(12, line("'e"), b:signe, "Marke")
-  let b:signf = <SID>Place_Sign(13, line("'f"), b:signf, "Markf")
-  let b:signA = <SID>Place_Sign(14, line("'A"), b:signA, "MarkA")
-  let b:signB = <SID>Place_Sign(15, line("'B"), b:signB, "MarkB")
-  let b:signC = <SID>Place_Sign(16, line("'C"), b:signC, "MarkC")
-  let b:signD = <SID>Place_Sign(17, line("'D"), b:signD, "MarkD")
-  let b:signE = <SID>Place_Sign(18, line("'E"), b:signE, "MarkE")
-  let b:signF = <SID>Place_Sign(19, line("'F"), b:signF, "MarkF")
+  let b:signless = <SID>Place_Sign(4, line("'<"), b:signless, "MarkLess")
+  let b:signgreater = <SID>Place_Sign(5, line("'>"), b:signgreater, "MarkGreater")
+  let b:signleft = <SID>Place_Sign(6, line("'("), b:signleft, "MarkLeft")
+  let b:signright = <SID>Place_Sign(7, line("')"), b:signright, "MarkRight")
+  let b:signsquareleft = <SID>Place_Sign(8, line("'["), b:signsquareleft, "MarkSquareLeft")
+  let b:signsquareright = <SID>Place_Sign(9, line("']"), b:signsquareright, "MarkSquareRight")
+  let b:signbraceleft = <SID>Place_Sign(10, line("'{"), b:signbraceleft, "MarkBraceLeft")
+  let b:signbraceright = <SID>Place_Sign(11, line("'}"), b:signbraceright, "MarkBraceRight")
+
+  let b:signa = <SID>Place_Sign(12, line("'a"), b:signa, "Marka")
+  let b:signb = <SID>Place_Sign(13, line("'b"), b:signb, "Markb")
+  let b:signc = <SID>Place_Sign(15, line("'c"), b:signc, "Markc")
+  let b:signd = <SID>Place_Sign(16, line("'d"), b:signd, "Markd")
+  let b:signe = <SID>Place_Sign(17, line("'e"), b:signe, "Marke")
+  let b:signf = <SID>Place_Sign(18, line("'f"), b:signf, "Markf")
+  let b:signA = <SID>Place_Sign(19, line("'A"), b:signA, "MarkA")
+  let b:signB = <SID>Place_Sign(20, line("'B"), b:signB, "MarkB")
+  let b:signC = <SID>Place_Sign(21, line("'C"), b:signC, "MarkC")
+  let b:signD = <SID>Place_Sign(22, line("'D"), b:signD, "MarkD")
+  let b:signE = <SID>Place_Sign(23, line("'E"), b:signE, "MarkE")
+  let b:signF = <SID>Place_Sign(24, line("'F"), b:signF, "MarkF")
 endfun
 
 " Toggle signs.
@@ -607,11 +623,15 @@ fun! <SID>Cycle_Signs(resize)
     sign define MarkDash text=' texthl=MarkSign
     sign define MarkDot text=* texthl=MarkDot
     sign define MarkQuote text=" texthl=MarkSign
-    sign define MarkCaret text=^ texthl=MarkSign
+    sign define MarkCaret text=^ texthl=MarkDot
     sign define MarkLess text=< texthl=MarkSign
     sign define MarkGreater text=> texthl=MarkSign
-    sign define MarkLeft text=[ texthl=MarkSign
-    sign define MarkRight text=] texthl=MarkSign
+    sign define MarkLeft text=( texthl=MarkSign
+    sign define MarkRight text=) texthl=MarkSign
+    sign define MarkSquareLeft text=[ texthl=MarkSign
+    sign define MarkSquareRight text=] texthl=MarkSign
+    sign define MarkBraceLeft text={ texthl=MarkSign
+    sign define MarkBraceRight text=} texthl=MarkSign
     sign define Marka text=a texthl=MarkSign linehl=MarkLine
     sign define Markb text=b texthl=MarkSign linehl=MarkLine
     sign define Markc text=c texthl=MarkSign linehl=MarkLine
@@ -650,6 +670,11 @@ fun! <SID>Cycle_Signs(resize)
     exe "sign unplace " . (g:firstsign + 17)
     exe "sign unplace " . (g:firstsign + 18)
     exe "sign unplace " . (g:firstsign + 19)
+    exe "sign unplace " . (g:firstsign + 20)
+    exe "sign unplace " . (g:firstsign + 21)
+    exe "sign unplace " . (g:firstsign + 22)
+    exe "sign unplace " . (g:firstsign + 23)
+    exe "sign unplace " . (g:firstsign + 24)
 
     sign undefine MarkDash
     sign undefine MarkDot
@@ -659,6 +684,10 @@ fun! <SID>Cycle_Signs(resize)
     sign undefine MarkGreater
     sign undefine MarkLeft
     sign undefine MarkRight
+    sign undefine MarkSquareLeft
+    sign undefine MarkSquareRight
+    sign undefine MarkBraceLeft
+    sign undefine MarkBraceRight
     sign undefine Marka
     sign undefine Markb
     sign undefine Markc