plugins.ietf: Update patterns

Sun, 23 Mar 2014 15:41:40 +0100

author
Kim Alvefur <zash@zash.se>
date
Sun, 23 Mar 2014 15:41:40 +0100
changeset 111
a47a1de8993e
parent 110
e5903656c21a
child 112
08670c0cbb65

plugins.ietf: Update patterns

plugins/ietf.lua file | annotate | diff | comparison | revisions
--- a/plugins/ietf.lua	Sun Mar 23 15:41:07 2014 +0100
+++ b/plugins/ietf.lua	Sun Mar 23 15:41:40 2014 +0100
@@ -54,10 +54,10 @@
 		link, match = self.data:match("\n(" .. number .. ")%s*([^\n]*)");
 		count = 1
 	else
-		local pat = string:gsub("[()]", function(s) return "%" .. s end)
-			:gsub("[%[]",function(s) return "%" .. s end)
+		local pat = string:gsub("[-()%[]", "%%%1")
 			:gsub("%%(%b[])",function(s) return (#s > 2 and "" or "%") .. s end)
-			:gsub("\n+", " "):gsub("\\n", "");
+			:gsub("\n+", " "):gsub("\\n", "")
+			:gsub("%w", function(s) return '['..s:lower()..s:upper()..']' end)
 		debug("fulltext search for \"%s\"", pat);
 		--link, match = self.data:match("\n(%d%d%d%d) ([^\n]-"..pat.."[^\n]*)");
 		for l,m in self.data:gmatch("\n(%d%d%d%d) ([^\n]-"..pat.."[^\n]*)") do
@@ -106,10 +106,10 @@
 
 function data.draft:_search(string, cb)
 	debug("really search for %s", string);
-	local pat = string:gsub("[()]", function(s) return "%" .. s end)
-		:gsub("[%[]",function(s) return "%" .. s end)
+	local pat = string:gsub("[-()%[]", "%%%1")
 		:gsub("%%(%b[])",function(s) return (#s > 2 and "" or "%") .. s end)
-		:gsub("\n+", " "):gsub("\\n", "");
+		:gsub("\n+", " "):gsub("\\n", "")
+		:gsub("%w", function(s) return '['..s:lower()..s:upper()..']' end)
 	debug("fulltext search for \"%s\"", pat);
 	local match = self.data:match("\n([^\n]-"..pat.."[^\n]*)")
 

mercurial