Skip to content

Commit da44fb9

Browse files
authored
Merge pull request #77 from rprouse/issue/76
Do not display Id or Updated metatags
2 parents 66c8351 + ab764c2 commit da44fb9

File tree

3 files changed

+39
-7
lines changed

3 files changed

+39
-7
lines changed

src/todo.domain/Entities/TaskItem.cs

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -226,26 +226,41 @@ public ColoredString[] ToColorString(bool includeLineNumber, ITaskConfiguration
226226
string[] words = Description.Split(' ', '\t');
227227
foreach (string word in words)
228228
{
229-
if(word.StartsWith("+"))
230-
tokens.Add(new ColoredString($"{word} ",
229+
if (word.StartsWith('+'))
230+
{
231+
tokens.Add(new ColoredString($"{word} ",
231232
config.ProjectColor?.Color ?? priorityColor?.Color,
232233
config.ProjectColor?.BackgroundColor ?? priorityColor?.BackgroundColor));
233-
else if (word.StartsWith("@"))
234+
}
235+
else if (word.StartsWith('@'))
236+
{
234237
tokens.Add(new ColoredString($"{word} ",
235238
config.ContextColor?.Color ?? priorityColor?.Color,
236239
config.ContextColor?.BackgroundColor ?? priorityColor?.BackgroundColor));
240+
}
237241
else if (word.Contains(":"))
238-
tokens.Add(new ColoredString($"{word} ",
239-
config.MetaColor?.Color ?? priorityColor?.Color,
240-
config.MetaColor?.BackgroundColor ?? priorityColor?.BackgroundColor));
242+
{
243+
if (DisplayMeta(word))
244+
{
245+
tokens.Add(new ColoredString($"{word} ",
246+
config.MetaColor?.Color ?? priorityColor?.Color,
247+
config.MetaColor?.BackgroundColor ?? priorityColor?.BackgroundColor));
248+
}
249+
}
241250
else
251+
{
242252
tokens.Add(new ColoredString($"{word} ",
243253
priorityColor?.Color,
244254
priorityColor?.BackgroundColor));
255+
}
245256
}
246257
return tokens.ToArray();
247258
}
248259

260+
// Do not display ID or Updated metadata
261+
private static bool DisplayMeta(string meta) =>
262+
!meta.ToLowerInvariant().StartsWith("id:") && !meta.ToLowerInvariant().StartsWith("updated:");
263+
249264
public override bool Equals(object obj)
250265
{
251266
if(obj is TaskItem task)

src/todo/todo.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<PackageProjectUrl>https://github.com/rprouse/dotnet-todo</PackageProjectUrl>
1414
<RepositoryUrl>https://github.com/rprouse/dotnet-todo</RepositoryUrl>
1515
<PackageId>dotnet-todo</PackageId>
16-
<Version>0.6.0</Version>
16+
<Version>0.6.1</Version>
1717
<PackAsTool>true</PackAsTool>
1818
<ToolCommandName>todo</ToolCommandName>
1919
<PackageOutputPath>./nupkg</PackageOutputPath>

tests/todo.tests/Domain/Entities/TaskItemTests.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,5 +199,22 @@ public void TokenizesMeta(string line, int pos)
199199
result[pos].Color.Should().Be(ConsoleColor.DarkCyan);
200200
result[pos].BackgroundColor.Should().BeNull();
201201
}
202+
203+
[TestCase("id:1234 one two")]
204+
[TestCase("one id:1234 two")]
205+
[TestCase("one two id:1234")]
206+
[TestCase("updated:1234 one two")]
207+
[TestCase("one updated:1234 two")]
208+
[TestCase("one two updated:1234")]
209+
[TestCase("one two id:1234 updated:1234")]
210+
[TestCase("one two Id:1234 Updated:1234")]
211+
[TestCase("one two ID:1234 UPDATED:1234")]
212+
public void DoesNotIncludeIdOrUpdatedMeta(string line)
213+
{
214+
var config = new TaskConfiguration();
215+
var task = new TaskItem(line);
216+
var result = task.ToColorString(false, config);
217+
result.Should().HaveCount(2);
218+
}
202219
}
203220
}

0 commit comments

Comments
 (0)