## parsing

# 1. transactions and postings have status marks which are nothing, ! or *
hledger -fstatus.journal print
>>>
2017-01-01 unmarked
    (a)               1
    (b)               1

2017-01-02 ! pending
    (a)               1
    ! (b)             1

2017-01-03 * cleared
    (a)               1
    * (b)             1

>>>=0

# 2. other characters will be considered part of the description
hledger -f- print desc:%
<<<
2017/01/01 % 
>>>
2017-01-01 %

>>>=0

## matching with flags

# 3. --cleared matches * only
hledger -fstatus.journal print --cleared
>>>
2017-01-03 * cleared
    (a)               1
    * (b)             1

>>>=0

# 4. --pending matches ! only
hledger -fstatus.journal print --pending
>>>
2017-01-02 ! pending
    (a)               1
    ! (b)             1

>>>=0

# 5. --unmarked matches no status mark only
hledger -fstatus.journal print --unmarked
>>>
2017-01-01 unmarked
    (a)               1
    (b)               1

>>>=0

# 6. these flags can be combined
hledger -fstatus.journal register --unmarked --pending
>>>
2017-01-01 unmarked             (a)                              1             1
                                (b)                              1             2
2017-01-02 pending              (a)                              1             3
                                (b)                              1             4
>>>= 0

# 7. these flags work with other commands
hledger -fstatus.journal balance -N --unmarked
>>>
                   1  a
                   1  b
>>>=0

## matching with status: query

# 8. status:* matches * only
hledger -fstatus.journal print status:*
>>>
2017-01-03 * cleared
    (a)               1
    * (b)             1

>>>=0

# 9. status:! matches ! only
hledger -fstatus.journal print status:!
>>>
2017-01-02 ! pending
    (a)               1
    ! (b)             1

>>>=0

# 10. status: matches unmarked only
hledger -fstatus.journal print status:
>>>
2017-01-01 unmarked
    (a)               1
    (b)               1

>>>=0

# 11. multiple status: queries are OR'd
hledger -fstatus.journal print status: status:!
>>>
2017-01-01 unmarked
    (a)               1
    (b)               1

2017-01-02 ! pending
    (a)               1
    ! (b)             1

>>>= 0

