Comments (6)
So I changed the args in guiattach from
(80,40,true)
to
(80,40, {"rgb" : true, "popupmenu_external" : true})
as was suggested by the rpc doc you linked. What's weird is that the screen doesn't draw at all.
It still works, (as in connects to neovim) I edited and saved a file with no screen 💯
I'm not super familiar with the hierarchy of this repo and am still exploring, but if you have any guidance let me know; I'd like to learn :)
from oni.
Thanks for looking at this, @bert88sta !
Ah ya, unfortunately there's a bug with neovim/node-client that causes an issue with this.
Try starting from this branch: https://github.com/extr0py/oni/tree/extr0py/external-popup-menu
This commit specifically has the workaround I needed: 2d3e535
from oni.
I don't know much about the principles of Typescript, i.e. what needs encapsulation and whatnot, so here's my question.
the popupmenu needs access to UI for completion and menu access. Do we move these popupmenu signals from "actions" to a diffferent type of event? it seems like you put all the other redraw options under actions, so I went with that, but short of bringing UI into Screen.ts there doesn't seem another way to do it.
from oni.
@extr0py: do we want to add a dispatch method to UI? As neovim grows, the level of UI control we have is only going to increase, and more of the on("action") (which I assume you want to maintain since all of the "action"s are used for redraw) are going to make calls to UI for popups. If not, just give me a general overview of what you'd think is a good way to implement.
from oni.
@extr0py
After reading some crash course node/electron/flux/redux materials, I realize now that the last comment made 0 sense in terms of design. I do actually have an important question for you though:
Do we handle completion completely externally, as in menu interactions will not interact back with vim? I think that it makes sense to allow things from vim to come into the list, but passing c-n back to vim for it to register the selections might get tricky if we ever run into the issue of vim and oni plugins fighting for space on the completions menu.
I think this is an important plan to come up with before ppopupmenu/completion work gets too in depth
from oni.
@bert88sta - that's awesome that you read through all that material! Really cool :)
Regarding handling the completion completely externally or not, that's a great question - that's really the crux of the challenge here. The design in my mind was to handle the completion completely externally, as you suggested, just to simplify. I think it will be hard to get right otherwise, especially with some of the different completeopts, and this will make all the completion scenarios cohesive - completion will behave the same whether the entry point was from VIM or from a UI plugin. Thanks for thinking about this!
from oni.
Related Issues (20)
- Unable to find csproj in golang project HOT 1
- (n)vi(m) in terminal within oni HOT 4
- Rebind regular hjkl motions for moving around globally in Oni's UI HOT 1
- Explorer does not show new files HOT 1
- Oni crashes on LSP call HOT 1
- replace nevim binary with newer
- how to use gopls with oni HOT 1
- Java autocompletion popup displaying wrong suggestion HOT 1
- Fuzzy Finder not working with WSL2 directory HOT 1
- How add support for new language with language server HOT 1
- how to display tabline in Oni? HOT 1
- Oni does not respect editor.quickOpen.execCommand HOT 1
- Adding support for Alt-Shift key bindings HOT 1
- Metals (Scala) language server integration works, but not auto-complete selection
- No file will open on Ubuntu 19.04 HOT 5
- UI freezes for ~10 seconds on :! external commands on Windows HOT 1
- Insiders link in Issue Template is 404'd
- 100%+ CPU spikes when typing colon commands HOT 1
- How to cycle through completions with tab? HOT 1
- Request: add .nix build script HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oni.