From ca6c1b545cdef9f703c9495d36c2d6ad5d70c47b Mon Sep 17 00:00:00 2001 From: Adam Kruszewski Date: Mon, 8 May 2023 16:40:56 +0200 Subject: [PATCH] Added readme and bumped version to 1.0 --- corfu-candidate-overlay.el | 2 +- .../corfu-candidate-overlay-many.png | Bin 0 -> 3485 bytes readme-images/corfu-candidate-overlay-one.png | Bin 0 -> 5290 bytes readme.org | 79 ++++++++++++++++++ 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100755 readme-images/corfu-candidate-overlay-many.png create mode 100755 readme-images/corfu-candidate-overlay-one.png create mode 100644 readme.org diff --git a/corfu-candidate-overlay.el b/corfu-candidate-overlay.el index d0d05b7..3516d78 100644 --- a/corfu-candidate-overlay.el +++ b/corfu-candidate-overlay.el @@ -5,7 +5,7 @@ ;; Author: Adam Kruszewski ;; Maintainer: Adam Kruszewski ;; Created: 2023 -;; Version: 0.1 +;; Version: 1.0 ;; Package-Requires: ((emacs "27.1") (corfu "0.36")) ;; Homepage: https://code.bsdgeek.org/adam/corfu-candidate-overlay/ diff --git a/readme-images/corfu-candidate-overlay-many.png b/readme-images/corfu-candidate-overlay-many.png new file mode 100755 index 0000000000000000000000000000000000000000..d6b7040630b902535b114fc9306c0b9470eaebd3 GIT binary patch literal 3485 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 LNkvXXu0mjf?V`8T literal 0 HcmV?d00001 diff --git a/readme-images/corfu-candidate-overlay-one.png b/readme-images/corfu-candidate-overlay-one.png new file mode 100755 index 0000000000000000000000000000000000000000..93d8d24cc4023c08b471ca29ab71d192a9f8c244 GIT binary patch literal 5290 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") 'completion-at-point) +#+end_src +** Using straight.el +#+begin_src emacs-lisp + (use-package corfu-candidate-overlay + :straight (:type git + :repo "https://code.bsdgeek.org/adam/corfu-candidate-overlay" + :files (:defaults "*.el")) + :after corfu + :config + ;; enable corfu-candidate-overlay mode globally + ;; this relies on having corfu-auto set to nil + (corfu-candidate-overlay-mode +1) + ;; bind Ctr + TAB to trigger the completion popup of corfu + (global-set-key (kbd "C-") 'completion-at-point)) +#+end_src +** Customization +Faces available for customization: + +- =corfu-candidate-overlay-face= + + Defines the overlay text colour when there are more than one auto-suggestions available. + Defaults to „@@html:@@MistyRose4@@html:@@” for light themes and „@@html:@@wheat@@html:@@” for dark themes. + +- =corfu-candidate-overlay-face-exact-match= + + Defines the overlay's text colour when there is only one auto-suggestion present. By default inherits the =corfu-candidate-overlay-face= but adds =:underline t=. + +Custom variables available: + +- =corfu-overlay-auto-commands= + + Additional commands apart from corfu's built-in =corfu-auto-commands= which initiate completion candidate overlay. + Default value: ~("delete-backward-char\\'" "backward-delete-char-untabify")~ + + Which tracks also character deletions and allows to see the overlay when you delete previously typed characters (i.e. when you made a typo and just need to track back, but still would like to see the completions overlay). +* How to contribute + +The latest source code is available at https://code.bsdgeek.org/adam/corfu-candidate-overlay + +Issue reports, questions, comments and code patches are welcome -- you can send them to me over e-mail at adam /at/ kruszewski /dot/ name (please be patient as I'm not checking this account on a daily basis). + +If you haven't sent code patches via e-mail yet and would like to learn how to work with an e-mail based workflow, you can read more at [[https://git-scm.com/docs/git-format-patch][git format-patch]] man page or at [[https://git-send-email.io/][git-send-email.io]]. + +* Footnotes + +[fn:1] See video cast: + [[https://www.youtube.com/watch?v=rysgxl35EGc][Worst Practices in Software Development: Mitchell Hashimoto uses a simple code editor]]. + +[fn:2] As of version 1.0 there are ~200 lines of code with additional ~100 lines of comments. + +[fn:3] Cape's dict backend calls „grep” executable on the dictionary file when looking for completion candidates (it does cache the results, but still that's far from being free).