+made my own completion module using ido module

Basically copied the parts I liked of the ido module and removed the
parts I didn't.
This commit is contained in:
dx
2020-07-17 22:03:48 +01:00
parent 94644d01f2
commit 254c8a33bb
3 changed files with 54 additions and 21 deletions

View File

@@ -12,9 +12,9 @@
bindings bindings
gentemplate gentemplate
narrow narrow
completion
;; (ocaml +lsp) ;; (ocaml +lsp)
;; (rss +elfeed) ;; (rss +elfeed)
;;(completion)
:input :input
;;chinese ;;chinese
@@ -26,7 +26,7 @@
;; +fuzzy ;; +fuzzy
;; +icons) ; a search engine for love and life ;; +icons) ; a search engine for love and life
;;helm ; the *other* search engine for love and life ;;helm ; the *other* search engine for love and life
ido ; the other *other* search engine... ;;ido ; the other *other* search engine...
:ui :ui
;;deft ; notational velocity for Emacs ;;deft ; notational velocity for Emacs

View File

@@ -1,21 +1,46 @@
;;; private/completion/config.el -*- lexical-binding: t; -*- ;;; private/completion/config.el -*- lexical-binding: t; -*-
(use-package! ido
:hook (doom-first-input . ido-mode)
:hook (ido-mode . recentf-mode)
:hook (ido-mode . ido-everywhere)
:hook (ido-mode . ido-ubiquitous-mode)
:preface
(defadvice! +ido-run-hooks-a (&rest _)
:after #'ido-mode
(run-hooks 'ido-mode-hook))
:init
(setq ido-save-directory-list-file nil)
(setq ido-save-directory-list-file nil)
(setq ido-ignore-buffers '("\\` " "^\\*ESS\\*" "^\\*[Hh]elp" "^\\*.*Completions\\*$" "^\\*tramp" "^\\*cvs-" "^*Ido"))
(setq ido-separator "\n")
:config
(defun +completion/recentf()
(interactive)
(find-file (completing-read "Recentf: " recentf-list)))
(define-key!
[remap recentf-open-files] #'+completion/recentf)
(map! (map!
:map icomplete-minibuffer-map :map (ido-common-completion-map ido-file-completion-map ido-buffer-completion-map)
;; unbind anything I want to use for useful stuff "C-k" #'ido-prev-match
"C-j" nil "C-j" #'ido-next-match
"C-k" nil "TAB" #'ido-exit-minibuffer
"C-b" nil :map ido-file-completion-map
"TAB" nil "~" (cmd! (if (looking-back "/" (point-min))
(insert "~/")
(call-interactively #'self-insert-command)))))
"C-j" #'icomplete-forward-completions
"C-k" #'icomplete-backward-completions
"C-n" #'icomplete-forward-completions
"C-p" #'icomplete-backward-completions
"TAB" #'icomplete-force-complete
"C-b" #'completions)
(setq icomplete-separator "\t|\t") (use-package! ido-sort-mtime
(setq icomplete-in-buffer t) :hook (ido-mode . ido-sort-mtime-mode))
(add-hook 'doom-first-input-hook #'icomplete-mode)
(use-package! crm-custom
:hook (ido-mode . crm-custom-mode))
(use-package! flx-ido
:hook (ido-mode . flx-ido-mode))

View File

@@ -0,0 +1,8 @@
;; -*- no-byte-compile: t; -*-
;;; private/completion/packages.el
(package! flx-ido)
(package! ido-completing-read+)
(package! ido-sort-mtime)
(package! crm-custom)