2016-03-21 17:15 GMT+03:00 Ni Va <[email protected]>:
> Hi,
>
> I am using Execute-selection-in-Python-and-append-master plugin in order to 
> test python code directly through vim. Now the python code is working and 
> return me a list that contains strings typed like "file linenumber 
> linecontent".
>
> I would like not to replace buffer content by result of python code but 
> affect cexpr to the list content in order to navigate through results with 
> quickfix list.

You can use

    vim.Function('setqflist')([{'filename': file, 'lnum': linenumber,
'text': linecontent}])

to set quickfix list from Python code. This assumes that you are doing
parsing yourself.

Or pyeval() in :cexpr to make Vim do parsing. Just return `output`
directly without doing anything with `r` and your function should be
ready for use in :cexpr assuming correct &errorformat value.

>
> Can you help me to build that cexpr list ?
>
> By advance  Thank you
>
>
> Here it is the code of PyExecReplace that replace content of my buffer 
> (python code) by result of execution code.
>
>
> python << EOL
> import vim, StringIO,sys
>
> def PyExecReplace(line1,line2):
>   r = vim.current.buffer.range(int(line1),int(line2))
>   redirected = StringIO.StringIO()
>   sys.stdout = redirected
>   exec('\n'.join(r[:]) + '\n')
>   sys.stdout = sys.__stdout__
>   output = redirected.getvalue().split('\n')
>   r[:] = output[:-1] # the -1 is to remove the final blank line
>   # vim.command("echo "+"-".join(("a", "b", "c")))
>   redirected.close()
> EOL
> command! -range Pyer python PyExecReplace(<f-line1>,<f-line2>)
> command! -range Pyea python PyExecAppend(<f-line1>,<f-line2>)
>
> --
> --
> You received this message from the "vim_use" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups 
> "vim_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to