Agree 100%. Corfu is definitely oriented towards a sighted interface and while it may be possible to make it work better with Emacspeak, that effort is hard to justify given that company is also a good choice and already works well. I am also mindful of the maintenance overheads associated with every additional supported package for emacspeak. I feel it would be better to support a small number well than try to support everything poorly. "T.V Raman" <raman@xxxxxxxxxx> writes: > This is why we have choices in Emacs;-) > > Your summary is accurate, but TL;DR: > > If you have some vision and can see the screen, then corfu, vertico > and perhaps even helm are for you. > > If you cannot see at all, then company, ido, flx, and some of the > newer completion choices in emacs 30 are what you want. > > I would not beat myhead against the wall to make corfu work for > someone who is totally blind; it's (corfu) purpose is to put up a > popup window of choices in context which is not much if you cant see > the screen. Likewise, if you can see the screen to be able to benefit > from that popup, then it's for you and Emacspeak should not get in the > way. > > Also, note that Emacspeak's goal is not support *every* package, as an > example I implemented company support which meant I never implemented > support for the autocomplete package. > > > "Tim Cross" (via emacspeak Mailing List) writes: > > > > That article is a good summary of the options and the different types of > > suggestion/completion use cases and available solutions, especially from the eyes > > free interface perspective. > > > > To provide some context with respect to corfu for those not familiar > > with it, I'll try to summarise. > > > > In line with Raman's article, corfu basically fulfills the completion > > role as outlined in his blog article. I is a UI for the > > completion-at-point functionality in Emacs. > > > > Corfu is from the same author as vertico and consult. Part of the > > author's philosophy is to use as much of existing core emacs > > functionality as possible rather than re-inventing existing wheels and > > try to keep packages as small as possible. A philosophy I agree with. > > > > Corfu fulfills a similar role to company. However, because it relies > > heavily on existing Emacs functionality, it is much smaller and I think > > faster than company. However, this does come at a cost for Emacspeak > > users. One of the advantages of company is that you have fine grained > > control over the configuration of the front end. This makes it > > relatively easy to get company to work in a manner which is compatible > > with emacspeak. Corfu on the other hand is less flexible in this area > > and out of the box, is not terrribly compatible with Emacspeak. As I > > have some sight, I am able to use it effectively, but for anyone who > > depends on an eyes free completion interface, corfu is unlikely to be > > terribly useful. There are some options to configure corfu to use the > > minibuffer, which might make it work better with emacspeak, but that also > > has its own restrictions. For one, you cannot use the minibuffer if you > > are also using another UI package such as vertico. The whole point of > > corfu is to provide a completion candidate popup at point in the buffer > > you are editing. While this works well for a sighted based interface > > where you can quickly and easily scan the list for the appropriate > > candidate, it isn't necessarily a good interface for an eyes free experience. > > > > One of the nice aspects of corfu is that it is very easy to add new > > completions back ends and it has the ability to combine multiple > > backends into a single completion candidate list. I also find it very > > easy to configure. Currenntly, I am looking to see if it can be made to > > work with better speech feedback by adding some advice to key > > areas. While I suspect this may help, I doubt it will never be as good > > as a well configured company from an eyes free interface perspective. > > > > For some additional background, part of the reason I've been looking at > > corfu and have adopted vertico, embark and consult as key components in > > my setup was due to two main factors. Firstly, I found helm, despite > > being extremely popular, to be very slow and I frequently ran into > > problems. Noting that the original author no longer wants to maintain > > the package and subsequent uncertainty over its future, I decided to > > move away from it. Likewise, while I found ivy to be better than helm, > > I still found it to be a fairly large package which was re-inventing a number of > > existing Emacs features and which lacked the close Emacs integration I > > prefer. So far, I'm very happy with vertico and embark and despite the > > lack of emacspeak support, find corfu a good completion-at-point > > interface for my workflow. Of course, as is the case with most of emacs, > > your mileage may differ depending on your workflow and interface requirements. > > > > The second reason I've been looking at all of this is a general desire > > to reduce the amount of additional non-core packages I use and to try > > and ensure that those packages I do use leverage off existing emacs > > facilities. As another example, I use eglot instead of lsp-mode because > > the former is built on top of flymake, xref, eldoc, project etc while > > the later implements its own versions of similar functionality and > > depends on other external packages, such as projectiles, helm, ivy and > > company. Also, eglot is part of Emacs while lsp-mode is a separate > > non-GNU package. In fact, I think eglot is a great example of what Raman > > was highlighting when he posted about Emacs gems. Eglot has implemented > > a framework for supporting LSP which uses functionality which already > > existed in Emacs. Essentially, it provides the glue code to take > > existing functionality, extend it with the ability to query language > > servers using the LSP protocol and wrap it all up with a consistent > > UI. As a consequence, it is much smaller than lsp-mode and less code > > tends to mean less bugs! > > > > Of course, this is just my take on things. These days, I have quite a > > well defined workflow which I need to support and it is not complex. I'm > > now more a tinkerer rather than a full time developer and spend lots of > > my time simplifying things and only looking at stuff I find > > interesting. I don't have the same demands on my productivity I had when > > working full time, which means a bit more flexibility. I also am easily > > distracted by other things, so progress in any specific area can be slow. > > > > Tim > > > > ---------------------------------------------------------------------- > > Emacspeak discussion list -- emacspeak@xxxxxxxxxxxxx > > To unsubscribe send email to: > > emacspeak-request@xxxxxxxxxxxxx with a subject of: unsubscribe
|Full archive May 1995 - present by Year|Search the archive|
If you have questions about this archive or had problems using it, please contact us.