[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LaTeX commands and packages names autocomplete.
From: |
Hongyi Zhao |
Subject: |
Re: LaTeX commands and packages names autocomplete. |
Date: |
Fri, 5 May 2023 22:10:18 +0800 |
On Fri, May 5, 2023 at 6:21 PM Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
>
> On Fri, May 5, 2023 at 5:58 PM Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
> >
> > On Fri, May 5, 2023 at 4:17 PM Arash Esbati <arash@gnu.org> wrote:
> > >
> > > Hongyi Zhao <hongyi.zhao@gmail.com> writes:
> > >
> > > > Perhaps the simplest solution is to use the cape to interface to
> > > > well-developed backends.
> > >
> > > Please feel free to try it out; maybe you report back how good it works
> > > with other available backends. I'd be curious to know how good
> > > completion for package names in \usepackage{<point-here>} and
> > > corresponding package options works.
> >
> > My previous experience of such completions has been based on specific
> > backends of company-mode. It seems that they do not provide package
> > options completion.
> >
> > > I suspect that in your other message[1], you wanted to complete to
> > > 'hyperref';
> >
> > Yes.
> >
> > > that's a good example for your experiments.
> >
> > I got the inspiration from the discussions below, but it still seems
> > complicated to me to figure them out completely:
> >
> > Using Corfu and Company simultaneously in different modes.
> > https://github.com/minad/corfu/issues/321
> >
> > In-buffer completion for normal text/word with ispell + corfu + orderless.
> > https://github.com/minad/corfu/issues/323
>
> And also the shockingly powerful description of cape given in its document
> [1]:
>
> Cape has the super power to transform Company backends into Capfs and
> merge multiple Capfs into a Super-Capf! These transformers allow you
> to still take advantage of Company backends even if you are not using
> Company as frontend.
>
> [1] https://github.com/minad/cape#capeel---let-your-completions-fly
I conducted some simple testings using the official example
configuration as follows:
(use-package cape
;; Bind dedicated completion commands
;; Alternative prefix keys: C-c p, M-p, M-+, ...
:bind (("C-c p p" . completion-at-point) ;; capf
("C-c p t" . complete-tag) ;; etags
("C-c p d" . cape-dabbrev) ;; or dabbrev-completion
("C-c p h" . cape-history)
("C-c p f" . cape-file)
("C-c p k" . cape-keyword)
("C-c p s" . cape-symbol)
("C-c p a" . cape-abbrev)
("C-c p l" . cape-line)
("C-c p w" . cape-dict)
("C-c p \\" . cape-tex)
("C-c p _" . cape-tex)
("C-c p ^" . cape-tex)
("C-c p &" . cape-sgml)
("C-c p r" . cape-rfc1345))
:init
;; Add `completion-at-point-functions', used by `completion-at-point'.
;; NOTE: The order matters!
(add-to-list 'completion-at-point-functions #'cape-dabbrev)
(add-to-list 'completion-at-point-functions #'cape-file)
;; (add-to-list 'completion-at-point-functions #'cape-elisp-block)
;;(add-to-list 'completion-at-point-functions #'cape-history)
(add-to-list 'completion-at-point-functions #'cape-keyword)
;; (add-to-list 'completion-at-point-functions #'cape-tex)
;;(add-to-list 'completion-at-point-functions #'cape-sgml)
;;(add-to-list 'completion-at-point-functions #'cape-rfc1345)
(add-to-list 'completion-at-point-functions #'cape-abbrev)
(add-to-list 'completion-at-point-functions #'cape-dict)
;;(add-to-list 'completion-at-point-functions #'cape-symbol)
;; (add-to-list 'completion-at-point-functions #'cape-line)
;; Use Company backends as Capfs.
(setq-local completion-at-point-functions
(mapcar #'cape-company-to-capf
(list #'company-files #'company-ispell #'company-dabbrev)))
)
At this point, the completion result is clearly incorrect. Therefore,
further precise control is necessary.
> > > Best, Arash
> >
> > Best Regards,
> > Zhao
> >
> > > Footnotes:
> > > [1] https://lists.gnu.org/archive/html/auctex/2023-05/msg00053.html
image.png
Description: PNG image
- Re: LaTeX commands and packages names autocomplete., (continued)
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/04
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/04
- Re: LaTeX commands and packages names autocomplete., Arash Esbati, 2023/05/04
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/04
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/05
- Re: LaTeX commands and packages names autocomplete., Arash Esbati, 2023/05/05
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/05
- Re: LaTeX commands and packages names autocomplete., Arash Esbati, 2023/05/05
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/05
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/05
- Re: LaTeX commands and packages names autocomplete.,
Hongyi Zhao <=
- Re: LaTeX commands and packages names autocomplete., Arash Esbati, 2023/05/05
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/06
- Re: LaTeX commands and packages names autocomplete., Arash Esbati, 2023/05/06
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/06
- Re: LaTeX commands and packages names autocomplete., Hongyi Zhao, 2023/05/06
- Re: LaTeX commands and packages names autocomplete., Arash Esbati, 2023/05/07