Comments (5)
Calls from other threads must use nvim.async_call(closure)
, this has been documented for quite some time https://pynvim.readthedocs.io/en/latest/usage/python-plugin-api.html#async-calls.
It might have been working by accident for some use patterns, but is inherently racy and could trigger issues on any code or environmental change. An API should only be considered thread-safe it it explicitly claims to be. Changing unpredictable behavior to a consistent error message is not a breaking change, it only makes already present issues to be discovered faster.
from semshi.
@numirias Indeed, I will improve the message to next version.
from semshi.
Thanks for reporting! It seems with 0.3.0, Neovim is now raising an error when attempting to perform an API request from a different thread. (Although, technically it works.)
Since I'm currently traveling, I'll need some time to look into this and properly fix it. However, I'll try to come up with a quickfix that bypasses the error message until then. Sorry for the trouble.
(If someone feels like supplying a patch, please go ahead. I'm happy for a PR.)
from semshi.
Thanks for your response!
For other's reference, this is the commit that started to prevent requests from a different thread: neovim/pynvim#255
I will also look into this after I get into a free cycle.
from semshi.
@bfredl Thanks for clarifying! Not sure how I missed that. This will probably resolve other bugs here too.
Mentioning in the error message or the source that async_call()
should be used from threads might have made it even more obvious.
from semshi.
Related Issues (20)
- SemshiTextChanged Error when enter completion from compe-nvim in nvim 0.5? HOT 14
- AttributeError: 'NoneType' object has no attribute 'viewport' HOT 1
- How to use semshi in venv? HOT 2
- Semshi enable command not recognised HOT 2
- Highlights out of sync after reloading buffer
- Unresolved Global Yellow Underline When Importing * HOT 1
- Does this work with vim or just neovim? HOT 3
- Semshi produces errors with __future__ annotations HOT 11
- Way to disable syntax error highlighting in insert mode? HOT 2
- `and` and `or` how to highlight? HOT 1
- hi semshiLocal is ineffective at changing the highlight for local variables
- Error detected while processing function <SNR>52_filetype_changed HOT 1
- Any plans to python 3.10 new syntax support? HOT 3
- Is there a license for this project?
- Is there any chance of implementing new tree sitter functionality? HOT 3
- Semshi starts to highlight only after call :PlugInstall HOT 4
- Support for fenced codeblocks in markdown
- Is this repository still actively maintained? HOT 1
- error when using ipdb HOT 1
- Async request caused an error: Invalid buffer id Part 2 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 semshi.