From 86b2144e22778bcd7a4c4da5f8b44ce1e0f8c3b5 Mon Sep 17 00:00:00 2001
From: Patrick Simpson
Date: Wed, 31 May 2017 12:06:40 +0200
Subject: [PATCH] [KOE-117] Improved layout of reminders query trace logging
---
.../AcaciaZPushPlugin/SearchQuery.cs | 28 +++++++++++++------
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/SearchQuery.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/SearchQuery.cs
index c983843..9bce431 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/SearchQuery.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/SearchQuery.cs
@@ -42,40 +42,50 @@ namespace Acacia
private void Indent()
{
- _builder.Append(new String(' ', _indent));
+ _builder.Append(new String(' ', _indent * 4));
}
public void Encode(SearchQuery.And part)
{
- EncodeMulti("AND", part.Operands);
+ EncodeMulti("AND", false, part.Operands);
}
public void Encode(SearchQuery.Or part)
{
- EncodeMulti("OR", part.Operands);
+ EncodeMulti("OR", false, part.Operands);
}
public void Encode(SearchQuery.Not part)
{
- EncodeMulti("NOT", new[] { part.Operand });
+ EncodeMulti("NOT", true, new[] { part.Operand });
}
- private void EncodeMulti(string oper, IEnumerable parts)
+ private void EncodeMulti(string oper, bool prefix, IEnumerable parts)
{
Indent();
- _builder.Append(oper).Append("\n");
- Indent();
- _builder.Append("{\n");
+ _builder.Append("(\n");
++_indent;
+ bool first = !prefix;
foreach (SearchQuery operand in parts)
+ {
+ if (first)
+ first = false;
+ else
+ {
+ --_indent;
+ Indent();
+ _builder.Append(oper).Append("\n");
+ ++_indent;
+ }
operand.Encode(this);
+ }
--_indent;
Indent();
- _builder.Append("}\n");
+ _builder.Append(")\n");
}
public void Encode(SearchQuery.PropertyBitMask part)