This implements marked streaming preview for markdown file types in neovim. The call to stream the buffer including the extraction of the text in the buffer and streaming to marked is asynchronous. The python code was adapted from A Keyboard Maestro Trick
This is dependent on the python library PyObjC being installed in the same environment as pynvim and assumes marked is installed in the normal Applications directory. This can be achieved on install 'at build' by using the following in your chosen installation method.
call system(join([fnamemodify(g:python3_host_prog,":p:h"),"pip install -U pyobjc"],"/"))
The following global variables with their defaults can be set to configure behaviour.
let g:marked_streaming_open_mapping = '<Leader>O'
let g:marked_streaming_events = 'InsertLeave,CursorHold'
let g:marked_streaming_callback = '?x-success=io.alacritty'