Added to the contrib doc, thank you for this,

FYI I gave it a spin and hit this error, probably just needs an adjustment
on your parser:

lumia [git|main]:~/src/.../SEIAROTg/autobean-format$ autobean-format $L
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/lark/lexer.py", line 590,
in lex
    yield lexer.next_token(lexer_state, parser_state)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lark/lexer.py", line 528,
in next_token
    raise UnexpectedCharacters(lex_state.text, line_ctr.char_pos,
line_ctr.line, line_ctr.column,
lark.exceptions.UnexpectedCharacters: No terminal matches '^' in the
current parser context, at line 68996 col 73

rade:Main:Cash "Intra-Account Transfer" ^td-25441737451
                                        ^
Expected one of:
        * WHITESPACE
        * _NEWLINE_INDENT_COMMENT
        * INLINE_COMMENT
        * _NEWLINE
        * BLOCK_COMMENT
        * INDENT

Previous tokens: Token('WHITESPACE', ' ')


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/autobean-format", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/autobean_format/main.py",
line 79, in main
    for file in formatter.load_files(filename):
  File "/usr/local/lib/python3.11/site-packages/autobean_format/main.py",
line 45, in load_files
    model = self._parser.parse(text, models.File)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/usr/local/lib/python3.11/site-packages/autobean_refactor/parser.py", line
135, in parse
    return self._parse(text, target, self._lark)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File
"/usr/local/lib/python3.11/site-packages/autobean_refactor/parser.py", line
156, in _parse
    for token in parser.lexer_thread.lex(parser.parser_state):
  File
"/usr/local/lib/python3.11/site-packages/autobean_refactor/parser.py", line
54, in process
    for token in stream:
  File "/usr/local/lib/python3.11/site-packages/lark/lexer.py", line 599,
in lex
    raise UnexpectedToken(token, e.allowed, state=parser_state,
token_history=[last_token],
terminals_by_name=self.root_lexer.terminals_by_name)
lark.exceptions.UnexpectedToken: Unexpected token Token('LINK',
'^td-25441737451') at line 68996, column 73.
Expected one of:
        * WHITESPACE
        * _NEWLINE_INDENT_COMMENT
        * INLINE_COMMENT
        * _NEWLINE
        * BLOCK_COMMENT
        * INDENT
Previous tokens: [Token('WHITESPACE', ' ')]




On Fri, Mar 31, 2023 at 6:25 PM Archimedes Smith <seiar...@gmail.com> wrote:

> Hi beancounters,
>
> I've written yet another formatter for beancount, autobean-format
> <https://github.com/SEIAROTg/autobean-format>, powered by my earlier
> project autobean-refactor <https://github.com/SEIAROTg/autobean-refactor>,
> a library for parsing and programmatically manipulating beancount files.
>
> Highlights:
>
>    - Deep cleanup
>       - Unlike bean-format which is regex-based, autobean-format is based
>       on a proper parser, allowing it to format every corner of your ledger,
>       including *arithmetic expressions*.
>    - Recursive formatting
>       - Optionally formats all included files.
>       - Honors glob include.
>    - Sort entries
>       - Optionally sorts dated entries.
>       - Honors "time" meta (HH:MM, HH:MM:SS, epoch seconds, epoch ms,
>       epoch us).
>       - Honors pushtag / pushmeta.
>       - Preserves existing comments, structure, and ordering whenever
>       possible.
>    - Preview-able
>       - Optionally prints diff.
>    - Thousands separators.
>       - Optionally add, remove, or keep (default) thousands separators.
>    - Typed and extensible
>       - For example, the code for supporting thousands separator is as
>       simple as this
>       
> <https://github.com/SEIAROTg/autobean-format/blob/main/autobean_format/formatters/number.py>
>       .
>
> Please check out autobean-format
> <https://github.com/SEIAROTg/autobean-format> if you are interested. Bug
> reports / suggestions / contributions are appreciated.
>
> Regards,
> SEIAROTg
>
> --
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/962be409-86aa-4fed-859e-2ff983fe0d95n%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/962be409-86aa-4fed-859e-2ff983fe0d95n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhM38ZStM7VL_BCu1riWghviJjqOMf94C_Gy%2BXp9ym-rzw%40mail.gmail.com.

Reply via email to