167 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # alias-related tests
 | |
| 
 | |
| # simple aliases
 | |
| 
 | |
| # simple alias directive
 | |
| hledger -f- accounts
 | |
| <<<
 | |
| alias checking = assets:bank:checking
 | |
| 1/1
 | |
|     (checking:a)  1
 | |
| >>>
 | |
| assets:bank:checking:a
 | |
| >>>=0
 | |
| 
 | |
| # simple alias matches whole account name components only
 | |
| hledger -f- accounts
 | |
| <<<
 | |
| alias a:b = A:B
 | |
| 1/1
 | |
|     (a:b:c)   1  ; should match this
 | |
| 1/1
 | |
|     (a:bb:d)  1  ; should not match this
 | |
| >>>
 | |
| A:B:c
 | |
| a:bb:d
 | |
| >>>=0
 | |
| 
 | |
| # a simple alias matching the whole account name works
 | |
| hledger -f- accounts
 | |
| <<<
 | |
| alias a:b = A:B
 | |
| 1/1
 | |
|     (a:b)   1
 | |
| >>>
 | |
| A:B
 | |
| >>>=0
 | |
| 
 | |
| # regular expression aliases
 | |
| 
 | |
| # regex alias directive
 | |
| hledger -f- accounts
 | |
| <<<
 | |
| alias /^(.+):bank:([^:]+):?(.*)/ = \1:\2 \3
 | |
| 1/1
 | |
|     (assets:bank:B:checking:a)  1
 | |
| >>>
 | |
| assets:B checking:a
 | |
| >>>=0
 | |
| 
 | |
| # regex alias pattern is a case-insensitive regular expression
 | |
| # matching anywhere in the account name. All matching aliases are
 | |
| # applied to an account name in turn, most recently seen first. The
 | |
| # replacement can replace multiple matches within the account name.
 | |
| # The replacement pattern supports numeric backreferences.
 | |
| #
 | |
| hledger -f- print
 | |
| <<<
 | |
| alias /a/ = b
 | |
| 
 | |
| 2011/01/01
 | |
|     A a  1
 | |
|     a a  2
 | |
|     c
 | |
| 
 | |
| alias /A (.)/=\1
 | |
| 
 | |
| 2011/01/01
 | |
|     A a  1
 | |
|     a a  2
 | |
|     c
 | |
| 
 | |
| >>>
 | |
| 2011/01/01
 | |
|     b b               1
 | |
|     b b               2
 | |
|     c
 | |
| 
 | |
| 2011/01/01
 | |
|     b               1
 | |
|     b               2
 | |
|     c
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # CLI
 | |
| 
 | |
| # --alias command-line options are applied in the order written.
 | |
| # Spaces are allowed if quoted.
 | |
| # 
 | |
| hledger -f- print --alias '/A (.)/=a' --alias /a/=b
 | |
| <<<
 | |
| 2011/01/01
 | |
|     a a  1
 | |
|     A a  2
 | |
|     c
 | |
| 
 | |
| >>>
 | |
| 2011/01/01
 | |
|     b               1
 | |
|     b               2
 | |
|     c
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # alias options are applied after alias directives.
 | |
| #
 | |
| hledger -f- print --alias /a/=A --alias /B/=C --alias /B/=D --alias /C/=D
 | |
| <<<
 | |
| alias /^a/=B
 | |
| alias /^a/=E
 | |
| alias E=F
 | |
| 
 | |
| 2011/01/01
 | |
|     [a:x]    1
 | |
|     [x:a:x]
 | |
| 
 | |
| >>>
 | |
| 2011/01/01
 | |
|     [E:x]                 1
 | |
|     [x:A:x]
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # alias options 
 | |
| hledger -f- balance --alias=cc=credit-card --alias=b=bank
 | |
| <<<
 | |
| 01/01 Opening balances
 | |
| 	(bank)         100
 | |
| 	(credit-card)  -10
 | |
| 
 | |
| 01/02
 | |
| 	expenses  5
 | |
| 	cc
 | |
| 
 | |
| 01/03
 | |
| 	expenses  5
 | |
| 	b
 | |
| 
 | |
| 01/04 Credit card charge
 | |
| 	cc  = 0
 | |
|     b
 | |
| 
 | |
| 01/05
 | |
| 	expenses  5
 | |
| 	b         = 75
 | |
| >>>
 | |
|                   75  bank
 | |
|                   15  expenses
 | |
| --------------------
 | |
|                   90
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # query will search both origin and substitution in alias
 | |
| hledger -f- reg '^a$' '^b$'
 | |
| <<<
 | |
| alias a = b
 | |
| 2017/1/1
 | |
|     a  1
 | |
|     b  -1
 | |
| >>>
 | |
| 2017/01/01                      b                                1             1
 | |
|                                 b                               -1             0
 | |
| >>>2
 | |
| >>>=0
 |