Giter Club home page Giter Club logo

firenvim's People

Contributors

alerque avatar brookhong avatar dependabot-preview[bot] avatar dependabot[bot] avatar dlobue avatar dundargoc avatar freed-wu avatar gelio avatar glacambre avatar hankertrix avatar infokiller avatar jakubkaczor avatar jamespeapen avatar justinmk avatar mcepl avatar mimame avatar nilsirl avatar phanen avatar pierpo avatar pmilosev avatar pvinis avatar sarashino avatar shiqimei avatar smackesey avatar tristan957 avatar tyalie avatar willruggiano avatar xeruf avatar xudyang1 avatar yvay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firenvim's Issues

Doesn't update the textarea on quit

If there is already text in the textarea then it gets loaded into the vim buffer but changes dont get set on quitting the client

i get the following error in the console

NeovimFrame.ts:120 Uncaught (in promise) TypeError: Cannot read property 'match' of undefined
    at NeovimFrame.ts:120
    at Array.find (<anonymous>)
    at NeovimFrame.ts:120

OS: Fedora 30
Browser: Chrome 1569574344
Nvim: 0.4.2

Have webpack automatically generate png icons from svg

This is needed because Chrome can't handle SVGs. Most existing packages require other tools (e.g. inkscape) to exist in $PATH which seems completely absurd to me, so I'll probably need to write my own webpack loader.

Repeated keys during a keydown don't get sent

If I have a long multiline doc and hold down e.g. j in the embedded nvim, only the first j reaches the editor seemingly, and the cursor stays on the second line down rather than scrolling line-by-line.

Not sure if there's anything I can provide for diagnosis or if this can be reproduced by others.

E2E Tests

Since Firenvim now supports both Firefox and Chromium, I should probably set up E2E tests to avoid breaking things for Chromium users.

firenvim#install() won't work with nvim's appimages

This happens because we use v:progpath in order to get an absolute path to the neovim binary (this is needed because on OSX $PATH doesn't contain neovim).
Solving this requires detecting we're running in an appimage (checking if progpath points to somewhere in /tmp is probably enough) and finding the "real path" of that appimage.
Until this issue is fixed, a simple workaround is to just manually edit ~/.local/share/firenvim/firenvim to make it point to the right path.

Safari support

Someone on reddit asked for Safari support, which seems doable but might require a very different background script.

Resize frame when it's too small

Input fields often are too small for the smallest possible neovim frame (3 lines). It'd be nicer if the iframe adujsted its size to that.

Closing a tab with an open firenvim orphans the process

  • OS Version: macOS Mojave 10.14.6
  • Browser Version: Firefox Quantum 69.0.1
  • What I tried to do: Open firenvim in a tab, then close the tab without
    quitting nvim
  • What happened: a process is orphaned (noticeable via ps aux | rg firenvim)
  • What I expected: the process should die when the tab dies, throwing away the
    contents

Some characters break rendering

The characters in this string get really tall rows. This can probably be fixed with a bit of CSS.

­؀؁؂؃؄؅؜۝܏᠎​‌‍‎‏‪‫‬‭‮⁠⁡⁢⁣⁤⁦⁧⁨⁩𑂽𛲠𛲡𛲢𛲣𝅳𝅴𝅵𝅶𝅷𝅸𝅹𝅺󠀁󠀠󠀡󠀢󠀣󠀤󠀥󠀦󠀧󠀨󠀩󠀪󠀫󠀬󠀭󠀮󠀯󠀰󠀱󠀲󠀳󠀴󠀵󠀶󠀷󠀸󠀹󠀺󠀻󠀼󠀽󠀾󠀿󠁀󠁁󠁂󠁃󠁄󠁅󠁆󠁇󠁈󠁉󠁊󠁋󠁌󠁍󠁎󠁏󠁐󠁑󠁒󠁓󠁔󠁕󠁖󠁗󠁘󠁙󠁚󠁛󠁜󠁝󠁞󠁟󠁠󠁡󠁢󠁣󠁤󠁥󠁦󠁧󠁨󠁩󠁪󠁫󠁬󠁭󠁮󠁯󠁰󠁱󠁲󠁳󠁴󠁵󠁶󠁷󠁸󠁹󠁺󠁻󠁼󠁽󠁾󠁿

Turn the native messenger into a neovim plugin

This should be fairly easy to do:

  • Have a :FirenvimInstall command that creates a {power,}shell script in ~/.local/share/firenvim and puts the native manifest in ~/.mozilla/native-messaging-hosts
  • On launch, have the neovim plugin open a tcp port (neovim/neovim#10084) and generate a security token, then send token+port number to firefox with stdioopen()
  • Have the webextension open a websocket, send the token to the neovim plugin and then use regular msgpack-rpc messages until end of connection

This is probably going to make starting a new firenvim frame rather slow - we might want to instantiate one neovim process in the background in order to speed things up.

Maybe firenvim should always autosave

Hi.

I haven't spent much time thinking about how to implement this, but it seems to
me like there might be an argument to make that firenvim should always autosave
/ always write the buffer to the input box.

The argument is it's really low effort to delete the resulting text from the
textbox if you need to, but high risk if you throw away a really long comment.

I.e. the workflow I kind of expected was something like as soon as I left
focus from the input box, autoquit vim, autopopulate the input box, then if I
refocus, re-open.

Having an explicit save/quit via :q / :w / :x seems just a bit unnatural there
to me.

But yeah curious to hear what you think!

(I guess on the implementation side, even not having read yet how this works,
you just have JS always send :x or whatever at the end itself)

Weird scrolling up to the one-line height effect

Using firenvim from 9c810f0 with Firefox 67 from openSUSE/Tumbleweed package is rather flawless on Github, somehow manageable on Reddit (it doesn't activate every time), but complete disaster on Bugzilla.

When I click on "Reply" link, I get this:

screencast

What looks like nvim frame scrolls up over the actuall <textarea> just to the one line height, which is really hard to use.

Optionally do not use for input fields.

So, with the latest release, we have it finally working in my Firefox. Thank you!

I like this extension very much, but even I have to admit that using it for input fields seems like a bit too much. Could we get an configuration (compile-time even) option to use it for textareas only?

Thank you.

Configure font-size in CSS

The font-size is a little bit too small. Not sure what it's dependent on, but I'd like to be able to configure it if possible. Maybe even fully customizable CSS for the #host element?

Mac OS Mojave Install Failed

I had some trouble installing firenvim on Mac OS Mojave. I was wondering if anyone would be able to help me troubleshoot. I can post install logs, if that would help.

package.json fix?

When running npm audit fix I get this change:

diff --git a/package.json b/package.json
index 763936d..3b68478 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
     "tslint": "^5.13.1",
     "tslint-sonarts": "^1.9.0",
     "typescript": "^3.3.3333",
-    "web-ext": "^3.0.0",
+    "web-ext": "^3.1.1",
     "webpack": "^4.29.6",
     "webpack-cli": "^3.2.3"
   },

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.