vim: cleanup search syntax
authorFelipe Contreras <felipe.contreras@gmail.com>
Sat, 5 Jun 2010 11:12:37 +0000 (14:12 +0300)
committerCarl Worth <cworth@cworth.org>
Mon, 8 Nov 2010 18:00:17 +0000 (10:00 -0800)
It was *sloooooow*.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
vim/syntax/notmuch-search.vim

index 71839fd9aef9a9b33a0fd6db9e1b4a40732e603b..f458d778a2ccc464c8cb7f6e4814a5f20c55d865 100644 (file)
@@ -1,24 +1,12 @@
-" notmuch search mode syntax file
-
-" TODO: I cannot figure out why nmSearchTags is not matching anything :(
-
-syntax region nmSearchDate      start='^' end='\%13v'      oneline
-syntax region nmSearchCountAndFrom start='\%14v\[' end='|' oneline contains=nmSearchCount,nmSearchFrom
-syntax region nmSearchCount     start='\[' end='\]'        oneline contained contains=nmSearchCountZero,nmSearchCountSome,nmSearchCountAll
-syntax region nmSearchFrom      start='\]\@<=' end='|'     oneline contained
-syntax match  nmSearchCountZero '0/\(\d\+\)'               contained
-syntax match  nmSearchCountSome '\([1-9]\d*\)/\(\d\+\)'    contained
-syntax match  nmSearchCountAll  '\(\d\+\)/\1'              contained
-syntax match  nmSearchSquareBracketText '\(\[\w\+\]\)'
-syntax match  nmSearchTags      /([^)]\+)$/
-
-highlight link nmSearchDate      Statement
-"highlight link nmSearchCount     Comment
-highlight link nmSearchCountZero Function
-highlight link nmSearchCountSome Special
-highlight link nmSearchCountAll  Type
-highlight link nmSearchFrom      Include
-highlight link nmSearchSquareBracketText Special
-highlight link nmSearchTags      String
-
-highlight CursorLine term=reverse cterm=reverse gui=reverse
+syntax region nmSearch         start=/^/ end=/$/               oneline contains=nmSearchDate
+syntax match nmSearchDate      /^.\{-13}/                      contained nextgroup=nmSearchNum
+syntax match nmSearchNum       /.\{-4}/                        contained nextgroup=nmSearchFrom
+syntax match nmSearchFrom      /.\{-21}/                       contained nextgroup=nmSearchSubject
+syntax match nmSearchSubject   /.\{0,}\(([^()]\+)$\)\@=/       contained nextgroup=nmSearchTags
+syntax match nmSearchTags      /.\+$/                          contained
+
+highlight link nmSearchDate    Statement
+highlight link nmSearchNum     Type
+highlight link nmSearchFrom    Include
+highlight link nmSearchSubject Normal
+highlight link nmSearchTags    String