Completion System
Built-in completion using Emacs native functionality. No external packages required.
;;; completion-conf.el --- Built-in Completion -*- lexical-binding: t; -*- ;;; Commentary: ;; Uses only Emacs built-in completion functionality. ;; - icomplete-vertical-mode for minibuffer completion UI ;; - flex completion style for fuzzy matching ;; - completions-detailed for annotations ;; - recentf for recent files ;; - savehist for completion history ;;; Code: ;;; Minibuffer Completion UI (use-package icomplete :ensure nil :init (icomplete-vertical-mode 1) :custom (icomplete-delay-completions-threshold 0) (icomplete-compute-delay 0) (icomplete-show-matches-on-no-input t) (icomplete-scroll t) (icomplete-prospects-height 10) :bind (:map icomplete-minibuffer-map ("RET" . icomplete-force-complete-and-exit) ("TAB" . icomplete-force-complete) ("C-n" . icomplete-forward-completions) ("C-p" . icomplete-backward-completions))) ;;; Completion Styles (use-package minibuffer :ensure nil :custom (completion-styles '(flex basic partial-completion emacs22)) (completion-category-defaults nil) (completion-category-overrides '((file (styles partial-completion)))) (completion-ignore-case t) (read-buffer-completion-ignore-case t) (read-file-name-completion-ignore-case t) (completions-detailed t) (completions-format 'one-column) (completions-max-height 20)) ;;; Recent Files (use-package recentf :ensure nil :init (recentf-mode 1) :custom (recentf-max-saved-items 100) :bind ("C-x C-r" . recentf-open-files)) ;;; Completion History (use-package savehist :ensure nil :init (savehist-mode 1)) ;;; Keybindings for built-in commands (global-set-key (kbd "M-g i") 'imenu) (global-set-key (kbd "C-c s l") 'occur) (global-set-key (kbd "C-c s g") 'grep) (provide 'completion-conf) ;;; completion-conf.el ends here