;;; zero-input.el --- Zero Chinese input method framework -*- lexical-binding: t -*- ;; Licensed under the Apache License, Version 2.0 (the "License"); ;; you may not use this file except in compliance with the License. ;; You may obtain a copy of the License at ;; ;; http://www.apache.org/licenses/LICENSE-2.0 ;; ;; Unless required by applicable law or agreed to in writing, software ;; distributed under the License is distributed on an "AS IS" BASIS, ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ;; See the License for the specific language governing permissions and ;; limitations under the License. ;; Version: PKG_VERSION ;; URL: https://gitlab.emacsos.com/sylecn/zero-el ;; Package-Requires: ((emacs "24.3") (s "1.2.0")) ;;; Commentary: ;; zero-input is a Chinese input method framework for Emacs, implemented as an ;; Emacs minor mode. ;; ;; zero-input-pinyin is bundled with zero, to use pinyin input method, add to ;; ~/.emacs file: ;; ;; (require 'zero-input) ;; (zero-input-set-default-im "pinyin") ;; ;; Now you may bind a key to zero-input-mode to make it easy to ;; ;; switch on/off the input method. ;; (global-set-key (kbd "") 'zero-input-mode) ;; ;; Now in any Emacs buffer, you may press F5 and start typing pinyin string. ;; ;; zero-input supports Chinese punctuation mapping. There are three modes, ;; none, basic, and full. The default is basic mode, which only map most ;; essential punctuations. You can cycle zero-punctuation-level in current ;; buffer by C-c , , You can change default Chinese punctuation level: ;; ;; (setq-default zero-input-punctuation-level ;; zero-input-punctuation-level-full) ;; ;; zero-input supports full-width mode. You can toggle full-width mode in ;; current buffer by C-c , . You can enable full-width mode by default: ;; ;; (setq-default zero-input-full-width-p t) ;; ;; For other features, you may check README file at ;; https://gitlab.emacsos.com/sylecn/zero-el/ ;; ;; zero-input.el is auto-generated from multiple other files. See ;; zero-input.el.in and build.py for details. It's created because ;; package-lint doesn't support multi-file package yet. See issue #111 at ;; https://github.com/purcell/package-lint/issues/111 ;;; Code: (require 'dbus) (eval-when-compile (require 'cl-lib) (require 'cl-macs)) (require 'ring) (require 's) INCLUDE_ZERO_INPUT_PANEL_EL INCLUDE_ZERO_INPUT_FRAMEWORK_EL INCLUDE_ZERO_INPUT_TABLE_EL INCLUDE_ZERO_INPUT_PINYIN_SERVICE_EL INCLUDE_ZERO_INPUT_PINYIN_EL (provide 'zero-input) ;;; zero-input.el ends here