cape-jinx-completion/readme.org

54 lines
2.9 KiB
Org Mode

#+TITLE: Completion At Point extensions using Jinx spell checking
* Cape-jinx-completion package
Simple package providing =completion-at-point= extension using spell checking capabilities derived from [[https://abiword.github.io/enchant/][Abiword's libenchant]]. All of the heavy lifting is done using [[https://github.com/minad/jinx][jinx.el]] package - Enchanted Spell Checker.
[[https://abiword.github.io/enchant/][Libenchant]] wraps several of the spell checkers. [[https://github.com/minad/jinx][Jinx.el]] package provides on-the-fly spell checking and is a pleasure to configure, especially when using multiple dictionaries.
** Picture is worth a thousand words
Completion candidates using spell checker:
[[./readme-images/cape-jinx.png]]
* Installation instructions
** Requirements
[[https://github.com/minad/cape][cape.el]] - Completion At Point Extensions. [[https://github.com/minad/jinx][Jinx.el]] version at least 0.5 is required. Jinx requires =libenchant= installed in the system and at least one of the supported spell checkers (hunspell, Nuspell, GNU aspell) and dictionaries you want to use.
** Using straight.el
#+begin_src emacs-lisp
;; First we need to configure jinx. You don't need to enable jinx-mode to use cape-jinx,
;; but you need to provide configuration and set up dictionaries to use.
(use-package jinx
:straight (:host github :repo "minad/jinx" :files ("*"))
:config
;; Add unicode stuff I need to exclude from spell-checking (emojis, symbols, etc)
(push "[\U00002600-\U0001ffff]"
(alist-get t jinx-exclude-regexps))
;; set langauge dictionaries to use - the list is space seprated in a single string.
(setq jinx-languages "pl en"))
;; Cape-jinx package and configuration:
(use-package cape-jinx-completion
:straight (:type git
:repo "https://code.bsdgeek.org/adam/cape-jinx-completion"
:files (:defaults "*.el"))
:after jinx
:config
;; add cape-jinx to completion-at-point functions list.
(add-to-list 'completion-at-point-functions #'cape-jinx-completion))
#+end_src
* Customization
Options available to customize are literally copied from =cape-dict= and work exactly the same way.
- =cape-jinx-case-replace=
Controls whether case of input be preserved.
- =cape-jinx-case-fold=
Controls whether case fold search should be used during search.
* How to contribute
The latest source code is available at https://code.bsdgeek.org/adam/cape-jinx-completion
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]].