minad / corfu

:desert_island: corfu.el - COmpletion in Region FUnction
GNU General Public License v3.0
1.06k stars 42 forks source link

Completion popop not showing all completion items. #391

Closed cronyakatsuki closed 7 months ago

cronyakatsuki commented 7 months ago

I have recently start setting up emacs and decided to go with corfu for my autocompletion, but there is an issue of the completion popup not showing all items correcty as seen in the next 3 screenshots.

first screenshot

pic-selected-231125-1453-06

In this screenshot we can see that it just barelly shows the 9.th item.

second screenshot

pic-selected-231125-1458-11

In this one I have selected the last item in the popup, but as seen it doesn't show in the popup.

third screenshot

pic-selected-231125-1500-03

In this one I have selected the item before the last one, and as seen it shows itself just a little bit in the popup as selected.

This is related config for corfu and the popup:

(use-package corfu
  ;; Optional customizations
  :custom
  ;; Works with `indent-for-tab-command'. Make sure tab doesn't indent when you
  ;; want to perform completion
  (tab-always-indent 'complete)
  (completion-cycle-threshold nil)
  (corfu-cycle t)
  (corfu-auto t)
  (corfu-auto-prefix 2)
  (corfu-auto-delay 0.1)
  (corfu-min-width 60)
  (corfu-popupinfo-delay '(0.5 . 0.2))
  (corfu-preview-current 'insert)
  (corfu-preselect 'prompt)
  (corfu-on-exact-match nil)

  ;; Optionally use TAB for cycling, default is `corfu-complete'.
  :bind (:map corfu-map
              ("TAB"        . corfu-next)
              ([tab]        . corfu-next)
              ("S-TAB"      . corfu-previous)
              ([backtab]    . corfu-previous)
              ("S-<return>" . corfu-insert)
              ("RET"        . corfu-insert))
  :init
  (corfu-history-mode)
  (corfu-popupinfo-mode)
  (global-corfu-mode)
  :config
  (add-hook 'eshell-mode-hook
            (lambda () (setq-local corfu-quit-at-boundary t
                              corfu-quit-no-match t
                              corfu-auto nil)
              (corfu-mode))))

My system is a gentoo system, with emacs compiled with this flags: X acl dynamic-loading gif gmp gtk gui imagemagick inotify jit jpeg json libxml2 png sound ssl svg threads tiff tree-sitter webp xft xpm zlib

Is there any fix for this? Maybe a problem with emacs itself and not corfu? I know it's very possible this is just an emacs issue with a simple setting but I wasn't able to find what could possibly be the fix.