-- in.journal -- account expenses:food account expenses:food ; note account expenses:food alias food alias groceries ; alias note account expenses:food ; account note ; block comment line alias food account expenses:food type X note grocery shopping ; note comment # hash comment line alias old = new alias old = new ; alias note payee Some Store payee Some Store ; payee note tag foo tag foo ; tag note year 2024 year 2024 ; year note Y 2024 Y 2024 ; Y note apply account expenses end apply apply account expenses ; apply note end apply ; end note apply tag hashtag end apply apply tag hashtag ; apply tag note end apply ; end note apply fixed CAD $0.90 end apply apply fixed CAD $0.90 ; apply fixed note end apply ; end note N ignored N ignored ; N note N $ N $ ; N dollar note D $1,000.00 D $1,000.00 ; D note P 2024-01-15 USD 1.05 P 2024-01-15 USD 1.05 ; P note P 2024-01-01 12:00:00 USD 40.50 P 2024-01-01 12:00:00 USD 40.50 ; P time note C 100 USD = 90 EUR C 100 USD = 90 EUR ; C note decimal-mark . decimal-mark . ; decimal note include foo.journal include foo.journal ; include note commodity USD commodity USD ; commodity note commodity INR format INR 1,00,00,000.00 commodity INR ; commodity INR note format INR 1,00,00,000.00 commodity 1,000.00 UAH commodity 1,000.00 UAH ; commodity amount note commodity UAH format 1 000.00 UAH commodity UAH ; commodity UAH note format 1 000.00 UAH -- expect -- 0:0+7 keyword 0:8+13 namespace 1:0+7 keyword 1:8+13 namespace 1:23+6 comment 2:0+7 keyword 2:8+13 namespace 3:2+5 keyword 3:8+4 namespace 4:2+5 keyword 4:8+9 namespace 4:19+12 comment 5:0+7 keyword 5:8+13 namespace 5:23+14 comment 6:2+20 comment 7:2+5 keyword 7:8+4 namespace 8:0+7 keyword 8:8+13 namespace 9:2+4 keyword 9:7+1 property 10:2+4 keyword 10:7+16 property 10:25+14 comment 11:2+19 comment 13:0+5 keyword 13:6+3 namespace 13:10+1 operator 13:12+3 namespace 14:0+5 keyword 14:6+3 namespace 14:10+1 operator 14:12+3 namespace 14:17+12 comment 16:0+5 keyword 16:6+10 property 17:0+5 keyword 17:6+10 property 17:18+12 comment 19:0+3 keyword 19:4+3 property 20:0+3 keyword 20:4+3 property 20:9+10 comment 22:0+4 keyword 22:5+4 property 23:0+4 keyword 23:5+4 property 23:11+11 comment 25:0+1 keyword 25:2+4 property 26:0+1 keyword 26:2+4 property 26:8+8 comment 28:0+5 keyword 28:6+16 property 29:0+3 keyword 29:4+5 property 30:0+5 keyword 30:6+16 property 30:24+12 comment 31:0+3 keyword 31:4+5 property 31:11+10 comment 33:0+5 keyword 33:6+11 property 34:0+3 keyword 34:4+5 property 35:0+5 keyword 35:6+11 property 35:19+16 comment 36:0+3 keyword 36:4+5 property 36:11+10 comment 38:0+5 keyword 38:6+15 property 39:0+3 keyword 39:4+5 property 40:0+5 keyword 40:6+15 property 40:23+18 comment 41:0+3 keyword 41:4+5 property 41:11+10 comment 43:0+1 keyword 43:2+7 property 44:0+1 keyword 44:2+7 property 44:11+8 comment 45:0+1 keyword 45:2+1 property 46:0+1 keyword 46:2+1 property 46:5+15 comment 48:0+1 keyword 48:2+1 type 48:3+8 number 49:0+1 keyword 49:2+1 type 49:3+8 number 49:13+8 comment 51:0+1 keyword 51:2+10 class 51:13+3 type 51:17+4 number 52:0+1 keyword 52:2+10 class 52:13+3 type 52:17+4 number 52:23+8 comment 53:0+1 keyword 53:2+10 class 53:13+8 class 53:22+3 type 53:26+5 number 54:0+1 keyword 54:2+10 class 54:13+8 class 54:22+3 type 54:26+5 number 54:33+13 comment 56:0+1 keyword 56:2+3 number 56:6+3 type 56:10+1 operator 56:12+2 number 56:15+3 type 57:0+1 keyword 57:2+3 number 57:6+3 type 57:10+1 operator 57:12+2 number 57:15+3 type 57:20+8 comment 59:0+12 keyword 59:13+1 property 60:0+12 keyword 60:13+1 property 60:16+14 comment 62:0+7 keyword 62:8+11 string 63:0+7 keyword 63:8+11 string 63:21+14 comment 65:0+9 keyword 65:10+3 type 66:0+9 keyword 66:10+3 type 66:15+16 comment 68:0+9 keyword 69:2+6 keyword 69:9+3 type 69:13+14 number 70:0+9 keyword 70:15+20 comment 71:2+6 keyword 71:9+3 type 71:13+14 number 73:0+9 keyword 73:10+8 number 73:19+3 type 74:0+9 keyword 74:10+8 number 74:19+3 type 74:24+23 comment 75:0+9 keyword 76:2+6 keyword 76:9+8 number 76:18+3 type 77:0+9 keyword 77:15+20 comment 78:2+6 keyword 78:9+8 number 78:18+3 type