diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2004-10-15 13:43:31 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2004-10-15 13:43:31 +0000 |
commit | a3c48b7d015bb5900acc2c1a2ec9d9c176ea983b (patch) | |
tree | eebfb969593b415ba1c057f20ec773891f029af2 /elisp | |
parent | 368a37d640f2430df6c78e512dfa84d2911069b5 (diff) | |
download | ellinika-a3c48b7d015bb5900acc2c1a2ec9d9c176ea983b.tar.gz ellinika-a3c48b7d015bb5900acc2c1a2ec9d9c176ea983b.tar.bz2 |
Set up for spell checking
git-svn-id: file:///home/puszcza/svnroot/ellinika/trunk@247 941c8c0f-9102-463b-b60b-cd22ce0e6858
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/ellinika-dict-mode.el | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/elisp/ellinika-dict-mode.el b/elisp/ellinika-dict-mode.el index f7fb043..ae851d9 100644 --- a/elisp/ellinika-dict-mode.el +++ b/elisp/ellinika-dict-mode.el @@ -251,6 +251,35 @@ (backward-char 4) (inactivate-input-method)) +(defcustom alternative-input-method nil + "Defines input-method for non-greek text in this buffer.") + +(defcustom alternative-dictionary nil + "Defines alternative (non-greek) spell-checking dictionary for this buffer.") + +(defun ellinika-run-ispell (dict) + (let ((ispell-skip-html t) + (ispell-local-dictionary dict)) + (ispell))) + +(defun ellinika-ispell-greek (arg) + (interactive "p") + (ellinika-run-ispell "greek")) + +(defun ellinika-ispell-alt (arg) + (interactive "p") + (ellinika-run-ispell (if alternative-dictionary + alternative-dictionary + (error "Alternative dictionary not defined")))) + +(defun ellinika-ispell (arg) + (interactive "p") + (ellinika-run-ispell (if (> arg 0) + "greek" + (if alternative-dictionary + alternative-dictionary + (error "Alternative dictionary not defined"))))) + ;;;###autoload (define-derived-mode ellinika-dict-mode sgml-mode "Ellinika-Dict" "Major mode for editing Ellinika dictionary sources. @@ -259,7 +288,8 @@ \\{ellinika-dict-mode-map}" (make-variable-buffer-local 'alternative-input-method) - + (make-variable-buffer-local 'alternative-dictionary) + (define-key ellinika-dict-mode-map "\C-c\C-b" 'ellinika-begin-node) (define-key ellinika-dict-mode-map "\C-c\C-m" 'ellinika-begin-article) (define-key ellinika-dict-mode-map "\C-c\C-k" 'ellinika-begin-key) @@ -271,7 +301,9 @@ (define-key ellinika-dict-mode-map "\C-c\C-c" 'ellinika-begin-comment) (define-key ellinika-dict-mode-map "\C-c\C-e" 'ellinika-begin-expl) (define-key ellinika-dict-mode-map "\C-c\C-i" 'ellinika-insert-include) - + (define-key ellinika-dict-mode-map "\C-c\C-g" 'ellinika-ispell-greek) + (define-key ellinika-dict-mode-map "\C-c\C-s" 'ellinika-ispell-alt) + (define-key ellinika-dict-mode-map "\M-g" 'greek-input) (define-key ellinika-dict-mode-map "\M-r" 'alt-input) (define-key ellinika-dict-mode-map "\C-c>" 'ellinika-close-tag) |