Comments (2)
Thanks, @savq for implementing the PacSync
command so quickly and thoroughly explaining the reasoning about non-interactive commands!
from paq-nvim.
Adding PaqSync
is really easy, but using it non-interactively isn't, for some very annoying reasons.
The libuv
wrapper that neovim uses has a very unstructured async mechanism. You can pass callbacks to an async operation, but you can't await/return values. It's just callback hell.
Paq deals with this by… not dealing with it. There are callbacks to print back info to the prompt, but the logic to check whether all operations are finished is very limited. So if you were run
nvim --headless -c 'PaqSync'
There would be no way to assert that all updates have completed (so that it quits and continues with the rest of a script or whatever).
Packer does have it's own async library to deal with this, so these limitations aren't a problem there, but I don't know if there are ways to expose it to the user.
Plenary also has utilities for async operations, and I'd be great if these were added to core Neovim.
Since Paq is about using built-in features and keeping a small feature set (for better or worse), I think this is out scope.
from paq-nvim.
Related Issues (20)
- Feature Request: SSH HOT 2
- `opt = true` not respected HOT 2
- [Feature] custom commands for updating/installing HOT 3
- bug in bootstrapping docs HOT 1
- Repo owner not taken under consideration when trying to install plugin with same name
- [Feature Discussion] shorten way to call a `:Command` on `run`
- Unable to run setup hook for gitsigns HOT 3
- [Feature Request] Support for tagging certain versions HOT 1
- Synchronous plugins installation HOT 1
- What neovim version is paq trying to target? HOT 3
- Tracking issue for Paq 2.0 HOT 9
- Error when using extra parameters with plugins. HOT 2
- I can't get paq-nvim to work after following all the instructions. HOT 1
- Docs improvement ideas
- errors on first installation of `nvim-treesitter` HOT 5
- cur_hash is always euqal prev_hash, even if a package got updated, leaving the log file empty HOT 3
- question: how do i make a package require another package? HOT 2
- cannot use paq at all HOT 2
- Hide "Nothing to install" message on startup HOT 5
- PaqInstall get error message, but install success
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 paq-nvim.