Friday, August 24, 2018

editing textareas in Firefox with vim

This is really a Firefox issue, but I figure this list might have a
better set of people to tackle it than mozilla.support.firefox.

At one time, Firefox had a wide open (read: slow and security issue
prone) extensions API. At that time I could use an extension called
"It's All Text". With one very short shell script and one line of
config, I had Firefox configured to open an xterm running vim with the
contents connected to a textarea in the page just by pushing a button
in the webpage. The browser would update on every ":w". It worked
very well and reliably. Then the API was removed.

Now extensions do not have permissions to launch external programs. To
get this kind of functionality, websocket connections to a second
separately run program are used. I know of two implementations:

withExEditor / withExEditorHost
https://addons.mozilla.org/addon/withexeditor/
https://github.com/asamuzaK/withExEditorHost

I got this working shortly after the cutoff for the old API. It's
slightly different in that it also let you edit one line text inputs,
which seems a bit overkill, but okay. I have had a lot of trouble
keeping it working, however. At present withExEditor tells me it is
"connected" to the host, but the host version is incompatible. I'm
pretty sure I have both up to date, though.

GhostText / Ghost Text Vim
https://addons.mozilla.org/en-US/firefox/addon/ghosttext/
https://github.com/falstro/ghost-text-vim

I just learned of this one this week. The vim component is using gvim,
I'm not sure if that's important or just the preference of the author.
Anyway, I installed gvim for the test rather than my preferred
vim-in-xterm setup. It is apparently using some sort of client / server
interface with vim that aims for two way communication between the
textarea in the browser and the editor; updated when not in "insert
mode". As proof of concept, I did get it to work, but not well. On my
test page[*], it opened about twenty gvim windows, only one of which was
connected to the browser.

[*] https://qaz.wtf/ta/
It's about as simple HTML as the URL is short.

Have people here on vim-users found another method? Or have tips for
getting one of these two to work?

Elijah

--
--
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 vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: