Comments (1)
Thanks for a thoughtful message!
Funny enough the last thing I did before going to be was to stumble into some compatibility code for Ivy in one of my packages and wondering how long it would be until I could remove that. And the first programming related thing I did after getting up, was reading your post.
I think Ivy's time has passed. I used it myself for a few years and it deserves a lot of credit for paving the way for the current crop of completion packages. That being said, it does not use Emacs' completion infrastructure and that is a fatal flaw.
Because of that alone, it will not survive for that much longer. The question isn't if it will cease to be framework that other packages will/should accommodate, but when. At this point in time, I personally am willing to preserve existing compatibility kludges but don't intend to merge any new ones.
Users should migrate to Vertico, the new built-in vertical completion setup, or some other package that builds on the built-in completion machinery. Coming from Ivy that should require minimal effort and would result in an improved experience.
By using compatibility code such as found in the issue you linked to, one can avoid making that step for a little longer, and doing that is okay. If you decide you go down that road, then I suggest that you begin by investigating how to best implement that outside of Ivy, as well as, outside all the packages you use, which use completing-read-multiple. The code you linked to, could be a suitable starting point, but its possible that there are other, potentially better, implementations or even extensions floating around. Eventually you should try to get that merged into Ivy itself.
from magit.
Related Issues (20)
- Stage hunk in tramp session result in infinity loop HOT 2
- When doing worktree diff with a commit, apply/reverse doesn't work in the diff buffer HOT 3
- Setting `safe.bareRepository=explicit` breaks magit commit HOT 1
- magit-diff-paths output is not washed HOT 1
- Error in `magit-repolist-column-version` function: (wrong-type-argument integer-or-marker-p nil) HOT 1
- `magit-log` with `--author=` argument hangs with `vertico-mode` when `transient-default-level` is 7 HOT 2
- Magit should always specify --git-dir or GIT_DIR when cd-ing to a gitdir to run some Git subcommand. HOT 19
- Binding C-<tab> conflicts with Emacs' tab-bar-mode HOT 1
- Non-existing tramp function advised in magit-process.el HOT 1
- Confirm commit message when running emacs as client HOT 5
- Trying to visit files in `magit-diff-paths` output leads to wrong path
- large git merges make magit-process buffer grow quickly
- `Filter! diff.ignoreSubmodules=untracked` on top of magit buffer is confusing
- Unable to recursively init submodules HOT 1
- submodule update with universal argument still prompts for submodule selection when there is only one submodule HOT 2
- Invalid slot name: "#<magit-section ...>", :value
- Some update broke my custom git-commit-hook to insert comment into commit buffer HOT 3
- Magit push doesn't respect configured refspecs HOT 2
- Pressing RET (magit-visit-thing) on an URL in the magit-process buffer doesn't open URL HOT 4
- magit-log with --patch but without --graph errors HOT 2
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 magit.