Hi,

I wanted to flag transactions (and postings) with a flag that is not one of 
the standard *, !, txn. The documentation in "Beancount - Language Syntax" 
suggested that I should be able to use any character for transactions & 
postings (and perhaps even a string for the transaction).

However, for the example below, bean-check complains with "Invalid token: 
'D'".
2017-01-01 open Income:Salary USD
2017-01-01 open Assets:Bank USD

2017-01-02 D "Paycheck"
  Income:Salary -10 USD
  Assets:Bank  10 USD

It is, however, happy with the characters M or T. 

I was trying to reason why that is the case. Looking at the parsing grammar 
in grammar.y 
<https://bitbucket.org/blais/beancount/src/2b20d301782528147e0aba744da9a014323ef630/beancount/parser/grammar.y?at=2.1.2&fileviewer=file-view-default#grammar.y-262>,
 
I thought any character should be ok. TXN, ASTERISK and HASH are handled 
specially, but the FLAG option might reference any character : 

%token <character> FLAG    /* Valid characters for flags */


But then there is code in lexer.l 
<https://bitbucket.org/blais/beancount/src/2b20d301782528147e0aba744da9a014323ef630/beancount/parser/lexer.l?at=2.1.2&fileviewer=file-view-default#lexer.l-211>
 that 
restricts the characters to [!&#?%PSTCURM]; and some python macros for them 
in flags.py 
<https://bitbucket.org/blais/beancount/src/2b20d301782528147e0aba744da9a014323ef630/beancount/core/flags.py?at=2.1.2&fileviewer=file-view-default>
.

Is there some underlying reason for this restriction? How can I go about 
flagging transactions in a custom way? Using metadata seems like one way 
(although, I did hope that there was a way to use custom flags) 

Thanks,
Shree

PS: I should also mention that I'm not very familiar with YACC - so I might 
also be missing something.

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/14ac7f0c-b4eb-481d-8152-9db28ad04f79%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to