Re: [Evolution] evolution gvim integration



On Thu, 2009-05-28 at 10:20 -0400, Reid Thompson wrote:
On Wed, 2009-05-13 at 14:16 +0530, Bharath wrote:
On Wed, 2009-05-13 at 00:18 -0400, Jacob Beard wrote:
Hi, I've just started using Evolution, and I'm wondering if it's
possible to use gvim to edit my emails? The only reference I could
find to gvim on the evolution site was here:

http://projects.gnome.org/evolution/meeting-logs/2007-10-31.shtml

Please let me know. Thanks,

A reworked External Editor plugin is now committed
http://bugzilla.gnome.org/show_bug.cgi?id=567145

This is available as part of 2.27.1, as an experimental plugin. It can
be moved to the standard ones now I guess. Srini, Matt??

Regards,
--Bharath


This is very cool -- thank you.

Two questions

On invocation of the external editor, would it be possible to pass line/column information to the external 
editor so that the cursor would be positioned in the same location as in the composer?

EX:
gvim -f +call cursor($line,$col)

And, could the plugin utilize a constant prefix for the gvim tmp file ala
/tmp/.evo4XRLUU rather than just /tmp/.4XLRUU ( the /tmp/.4XLRUU is the tmp file name created for this 
email -- used as an example)  That way, users can set their [g]vimrc file to recognize the files as emails 
ala...

" set up syntax highlighting for my e-mail
au BufRead,BufNewFile .followup,.article,.letter,/tmp/.evo*,/tmp/pico*,nn.*,snd.*,/tmp/mutt* :set ft=mail

I'll try to find a few minutes to look through the plugin code and see if it's something that I might be 
able to provide a patch[es] for.

thanks,
reid





Second request is fairly simple...

diff --git a/plugins/external-editor/external-editor.c b/plugins/external-editor/external-editor.c
index a07bb6e..c16ecff 100644
--- a/plugins/external-editor/external-editor.c
+++ b/plugins/external-editor/external-editor.c
@@ -215,7 +215,7 @@ async_external_editor (EMsgComposer *composer)
        gchar *editor_cmd_line = NULL;
        gint fd;

-       fd = g_file_open_tmp (NULL, &filename, NULL);
+       fd = g_file_open_tmp ("evoXXXXXX", &filename, NULL);
        if (fd > 0) {
                close (fd);
                /* Push the text (if there is one) from the composer to the file */





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]