X-Git-Url: https://git.madduck.net/etc/neomutt.git/blobdiff_plain/1d17c571ec555810bd213859dd71848031ae18cb..3cf74171a88da1fa91fa82e472d216a549d93594:/.config/neomutt/buildmimetree.py diff --git a/.config/neomutt/buildmimetree.py b/.config/neomutt/buildmimetree.py index f4ee821..0b62aa4 100755 --- a/.config/neomutt/buildmimetree.py +++ b/.config/neomutt/buildmimetree.py @@ -6,8 +6,10 @@ # # Configuration: # neomuttrc (needs to be a single line): +# set my_mdwn_extensions="extra,admonition,codehilite,sane_lists,smarty" # macro compose B "\ -# source '$my_confdir/buildmimetree.py setup --tempdir $tempdir|'\ +# source '$my_confdir/buildmimetree.py setup \ +# --tempdir $tempdir --extensions $my_mdwn_extensions|'\ # sourc e \$my_mdwn_postprocess_cmd_file\ # " "Convert message into a modern MIME tree with inline images" # @@ -62,14 +64,10 @@ def parse_cli_args(*args, **kwargs): parser_massage = subp.add_parser("massage", help="Massaging phase") parser_setup.add_argument( - "--extension", - "-x", - metavar="EXTENSION", - dest="extensions", - nargs="?", - default=[], - action="append", - help="Markdown extension to add to the list of extensions use", + "--extensions", + type=str, + default="", + help="Markdown extension to use (comma-separated list)" ) parser_setup.add_argument( @@ -410,7 +408,6 @@ def do_setup( tempdir=None, debug_commands=False, ): - extensions = extensions or [] temppath = temppath or pathlib.Path( tempfile.mkstemp(prefix="muttmdwn-", dir=tempdir)[1] ) @@ -418,7 +415,7 @@ def do_setup( editor = f"{sys.argv[0]} massage --write-commands-to {temppath}" if extensions: - editor = f'{editor} --extensions {",".join(extensions)}' + editor = f'{editor} --extensions {extensions}' if only_build: editor = f'{editor} --only-build' if tempdir: @@ -476,6 +473,8 @@ def do_massage( depth-first, and responsible for telling NeoMutt how to assemble the tree. """ + KILL_LINE=r'\Ca\Ck' + if isinstance(item, Part): # We've hit a leaf-node, i.e. an alternative or a related part # with actual content. @@ -496,7 +495,7 @@ def do_massage( # information, then we might just as well update the NeoMutt # tree now: if item.cid: - cmds.push(f"\\Ca\\Ck{item.cid}") + cmds.push(f"{KILL_LINE}{item.cid}") elif isinstance(item, Multipart): # This node has children, but we already visited them (see @@ -516,7 +515,7 @@ def do_massage( # If the item has a description, we might just as well add it if item.desc: - cmds.push(f"\\Ca\\Ck{item.desc}") + cmds.push(f"{KILL_LINE}{item.desc}") # Finally, if we're at non-root level, tag the new container, # as it might itself be part of a container, to be processed