Company is a text completion framework for Emacs . The name stands for “complete anything”. It is nice.

(use-package company
  :config
  ;; No delay in showing suggestions.
  (setq company-idle-delay 0)
  ;; Show suggestions after entering one character.
  (setq company-minimum-prefix-length 1)
  ;; Wrap around the when the end of suggestions is reached
  (setq company-selection-wrap-around t)
 
  (add-hook 'after-init-hook 'global-company-mode)
  (global-company-mode t)
)
 

I also use company-box a better front-end for company

(use-package company-box
  :after company
  :hook (company-mode . company-box-mode))

References