135 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# 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
 |