]> git.cworth.org Git - sup/blobdiff - lib/sup/index.rb
make label-list-mode non-modal
[sup] / lib / sup / index.rb
index ecc2a3d65df942727bb96e6d2e80e7da05670af4..367829533581323e28b91ff59bec4449e37609af 100644 (file)
@@ -391,16 +391,21 @@ protected
     
     if $have_chronic
       chronic_failure = false
-      result = result.gsub(/\b(before|after):(\((.+?)\)\B|(\S+)\b)/) do
+      result = result.gsub(/\b(before|on|in|after):(\((.+?)\)\B|(\S+)\b)/) do
         break if chronic_failure
         field, datestr = $1, ($3 || $4)
-        realdate = Chronic.parse datestr
+        realdate = Chronic.parse(datestr, :guess => false, :context => :none)
         if realdate
-          Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate}"
-          if field == "after"
-            "date:(>= #{sprintf "%012d", realdate.to_i})"
+          case field
+          when "after"
+            Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate.end}"
+            "date:(>= #{sprintf "%012d", realdate.end.to_i})"
+          when "before"
+            Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate.begin}"
+            "date:(<= #{sprintf "%012d", realdate.begin.to_i})"
           else
-            "date:(<= #{sprintf "%012d", realdate.to_i})"
+            Redwood::log "chronic: translated #{field}:#{datestr} to #{realdate}"
+            "date:(<= #{sprintf "%012d", realdate.end.to_i}) date:(>= #{sprintf "%012d", realdate.begin.to_i})"
           end
         else
           BufferManager.flash "Don't understand date #{datestr.inspect}!"