Skip to content

Unable to use snippets-latex backend #91

@dunnl

Description

@dunnl

I haven't been able to use the snippets-latex backend with any frontend due to a failing assertion. For example, based on the line here, I think I should be able to successfully run the following command in the recipes directory.

alectryon fragments.v.json --backend snippets-latex

But an assertion in the LaTeX syntax highlighter fails

assert tex.startswith(PYGMENTS_LATEX_PREFIX) and tex.endswith(PYGMENTS_LATEX_SUFFIX), tex

Traceback (most recent call last):
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/bin/.alectryon-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/cli.py", line 920, in main
    sys.exit(max(process_pipelines(args), default=0))
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/cli.py", line 914, in process_pipelines
    state = call_pipeline_step(step, state, ctx)
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/cli.py", line 856, in call_pipeline_step
    return step(state, **{p: ctx[p] for p in params})
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/cli.py", line 360, in dump_latex_snippets
    for snippet in snippets:
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/latex.py", line 323, in gen
    yield self.gen_fragments(fragments)
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/latex.py", line 318, in gen_fragments
    self.gen_fragment(fr)
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/latex.py", line 280, in gen_fragment
    self.gen_sentence(fr)
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/latex.py", line 270, in gen_sentence
    self.gen_input(s)
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/latex.py", line 239, in gen_input
    self.gen_code(fr.input)
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/latex.py", line 189, in gen_code
    with Concat(*self.highlight_enriched(code)) as block:
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/core.py", line 132, in highlight_enriched
    return self.highlight(obj.contents)
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/latex.py", line 186, in highlight
    return [Raw(self.highlighter(s, prefix="", suffix=""), verbatim=True)]
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/pygments.py", line 219, in __call__
    return self.highlighter(code, **{**self.kwargs, **kwargs})
  File "/nix/store/dk1jycphjcdvignvfvrmhzp4lsgxv1ka-python3.10-alectryon-1.4.0/lib/python3.10/site-packages/alectryon/pygments.py", line 198, in highlight_latex
    assert tex.startswith(PYGMENTS_LATEX_PREFIX) and tex.endswith(PYGMENTS_LATEX_SUFFIX), tex
AssertionError: \PY{k+kn}{Goal} \PY{k+kt}{True}\PY{o}{.}

I don't understand the purpose of this assertion. Am I invoking the backend incorrectly? (In which case, how should I invoke it?) The documentation on snippets-latex is scant, but perhaps I could add some if I can get it working.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions