diff options
| author | JSDurand <mmemmew@gmail.com> | 2026-05-06 23:54:07 +0800 |
|---|---|---|
| committer | JSDurand <mmemmew@gmail.com> | 2026-05-06 23:54:07 +0800 |
| commit | e667d1ee9acffa1b78b191ab3a53b2c9a1055785 (patch) | |
| tree | 6105c714494a68bdc220f646b782b4a07ab9b6fc | |
| parent | ef6b5c2f6f1a54ad3af5c32c0e6ab2e269173646 (diff) | |
Ithkuil-related
* ibuffer.el (durand-ithkuil): Filter for Ithkuil-related buffers.
(durand-bongo-set-filter): Add the above filter.
* input-conf.el (durand-input-method-list): Add input method for
Ithkuil and Hebrew.
(durand-transient-punct, global-map): Add a key-binding for
transiently inputting Chinese punctuation.
* ithkuil.el: Define an input method for inputting transliteration of
Ithkuil.
| -rw-r--r-- | ibuffer.el | 19 | ||||
| -rw-r--r-- | input-conf.el | 14 | ||||
| -rw-r--r-- | ithkuil.el | 67 |
3 files changed, 99 insertions, 1 deletions
@@ -431,6 +431,24 @@ value of `default-directory' in that buffer." (expand-file-name (buffer-local-value buf default-directory))))))) +;;; For ITHKUIL +(define-ibuffer-filter durand-ithkuil + "Matches ITHKUIL buffers. +These are EWW buffers whose URL starts with www.ithkuil.net, +along with the buffers of files in a dedicated Ithkuil directory." + (:description "ITHKUIL" :reader (read-string "no effect")) + (with-current-buffer buf + (let ((buf-name default-directory)) + (ignore-errors + (cond + ((derived-mode-p 'eww-mode) + (string-prefix-p + "https://www.ithkuil.net" (plist-get eww-data :url))) + (buf-name + (string-prefix-p + "/Users/durand/Desktop/Centre/Ithkuil/" + (expand-file-name buf-name)))))))) + ;;;###autoload (defun durand-bongo-set-filter () "Set my custom filters." @@ -441,6 +459,7 @@ value of `default-directory' in that buffer." (mode . rustic-mode) (mode . rust-mode)))) (cons "TeX" '((derived-mode . tex-mode))) + (cons "ITHKUIL" '((durand-ithkuil))) (cons "C" '((mode . c-mode))) (cons "ELisp" '((mode . emacs-lisp-mode))) (cons "EWW" '((mode . eww-mode))) diff --git a/input-conf.el b/input-conf.el index 1ea7f0d..10cc6da 100644 --- a/input-conf.el +++ b/input-conf.el @@ -50,7 +50,9 @@ (setq durand-input-method-list (list "devanagari-kyoto-harvard" "tamil99" - "chinese-zozy")) + "chinese-zozy" + "ithkuil" + "hebrew-full")) (defun durand-toggle-input () "Toggle input method with my customizations." @@ -143,5 +145,15 @@ more." (goto-char start) (insert converted))) +;;; Chinese punctuation input + +(defun durand-transient-punct () + "Switch the input method to chinese punctuation transiently." + (interactive) + (let ((default-transient-input-method "chinese-punct-b5")) + (activate-transient-input-method))) + +(define-key global-map (vector ?\C-,) #'durand-transient-punct) + (provide 'input-conf) ;;; input-conf.el ends here diff --git a/ithkuil.el b/ithkuil.el new file mode 100644 index 0000000..e409a91 --- /dev/null +++ b/ithkuil.el @@ -0,0 +1,67 @@ +;;; ithkuil.el --- Input-method for The New Ithkuil Language -*- lexical-binding: t; -*- + +;; Copyright (C) 2026 Jean Sévère Durand + +;; Author: Jean Sévère Durand <durand@jsdurand.xyz> +;; Keywords: emulations, wp, abbrev + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; My input-method for TNIL. + +;;; Code: + +(quail-define-package + "ithkuil" "TNIL" "TNIL" t "TODO") + +(quail-defrule ":a" ?ä) +(quail-defrule ":e" ?ë) +(quail-defrule ":o" ?ö) +(quail-defrule ":u" ?ü) + +(quail-defrule ";a" ?â) +(quail-defrule ";e" ?ê) +(quail-defrule ";o" ?ô) +(quail-defrule ";u" ?û) + +(quail-defrule "/a" ?á) +(quail-defrule "/e" ?é) +(quail-defrule "/i" ?í) +(quail-defrule "/o" ?ó) +(quail-defrule "/u" ?ú) + +(quail-defrule "\\i" ?ì) +(quail-defrule "\\u" ?ù) + +(quail-defrule ",'" ?\’) +(quail-defrule ",t" ?ţ) +(quail-defrule ",d" ?ḑ) +(quail-defrule ",c" ?ç) +(quail-defrule ",l" ?ļ) + +(quail-defrule ">d" (vector "d͕")) +(quail-defrule ">l" (vector "l͕")) + +(quail-defrule ";s" ?š) +(quail-defrule ";z" ?ž) +(quail-defrule ";c" ?č) +(quail-defrule ";n" ?ň) +(quail-defrule ";r" ?ř) + +(quail-defrule ".z" ?ẓ) + +(provide 'ithkuil) +;;; ithkuil.el ends here |
