# 1. we parse metadata tags in transaction and posting comments. Currently,
# - they can be on the same line and/or separate lines
# - they are always printed on separate lines
hledger -f - print
<<<
2010/01/01  ; txntag1: txn val 1
  ; txntag2: txn val 2
  a             1
  ; posting1tag1: posting 1 val 1
  ; posting1tag2: 
  b            -1   ; posting-2-tag-1: posting 2 val 1
  ; posting-2-tag-2:
; non-metadata:
>>>
2010-01-01  ; txntag1: txn val 1
    ; txntag2: txn val 2
    a               1
    ; posting1tag1: posting 1 val 1
    ; posting1tag2:
    b              -1  ; posting-2-tag-1: posting 2 val 1
    ; posting-2-tag-2:

>>>2
>>>=0

# 2. reports can filter by tag existence
hledger -f - print tag:foo
<<<
2010/01/01  ; foo:bar
  a             1
  b            -1

2010/01/02  ; foo:baz
  c             1
  d            -1

2010/01/03
    e             1
    f            -1
>>>
2010-01-01  ; foo:bar
    a               1
    b              -1

2010-01-02  ; foo:baz
    c               1
    d              -1

>>>2
>>>=0

# 3. or tag value
hledger -f - print tag:foo=bar
<<<
2010/01/01  ; foo:bar
  a             1
  b            -1

2010/01/02
  ; foo:baz
  c             1
  d            -1

2010/01/03
    e             1
    f            -1
>>>
2010-01-01  ; foo:bar
    a               1
    b              -1

>>>2
>>>=0

# 4. postings inherit their transaction's tags
hledger -f - register tag:foo=bar
<<<
2010/01/01
  a             1  ; foo:bar
  b            -1

2010/01/02  ; foo:baz
  c             1
  d            -1

2010/01/03  ; foo:bar
  e             1
  f            -1
>>>
2010-01-01                      a                                1             1
2010-01-03                      e                                1             2
                                f                               -1             1
>>>2
>>>=0

# 5. look for transactions without tags
hledger -f - print not:tag:.
<<<
2010/01/01 desc
  a             1
  b            -1

2010/01/02
  ; foo:some tag
  c             2
  d            -2

2010/01/03
    e             3
    f            -3

2010/01/04 (code)
    g             4
    h            -4
>>>
2010-01-01 desc
    a               1
    b              -1

2010-01-03
    e               3
    f              -3

2010-01-04 (code)
    g               4
    h              -4

>>>=0

# 6. query is not affected by implicit tags
hledger -f ../../examples/sample.journal reg tag:d
>>>
>>>2
>>>=0
