emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/pyim-basedict 6c1eeb1 26/32: Add pyim-basedict-libpinyi


From: Feng Shu
Subject: [elpa] externals/pyim-basedict 6c1eeb1 26/32: Add pyim-basedict-libpinyin-data-files
Date: Wed, 10 Mar 2021 20:56:22 -0500 (EST)

branch: externals/pyim-basedict
commit 6c1eeb1050be622a18ba17f455f5bc63be725805
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>

    Add pyim-basedict-libpinyin-data-files
    
        * pyim-basedict.el (pyim-basedict-libpinyin-table-files): Removed.
        (pyim-basedict-libpinyin-data-files): New variable.
        (pyim-basedict-build-file): Ask user libpinyin data dir.
---
 pyim-basedict.el | 60 ++++++++++++++++++++++++++++----------------------------
 1 file changed, 30 insertions(+), 30 deletions(-)

diff --git a/pyim-basedict.el b/pyim-basedict.el
index 6c6ea40..42048a3 100644
--- a/pyim-basedict.el
+++ b/pyim-basedict.el
@@ -50,25 +50,23 @@
 
 ;;; Code:
 ;; * 代码                                                               :code:
-(defvar pyim-basedict-libpinyin-table-files
-  (mapcar (lambda (x)
-            (concat "libpinyin-data/" x))
-          (list "society.table"
-                "life.table"
-                "people.table"
-                "culture.table"
-                "economy.table"
-                "technology.table"
-                "science.table"
-                "nature.table"
-                "history.table"
-                "art.table"
-                "sport.table"
-                "geology.table"
-                "merged.table"
-                "opengram.table"
-                "gb_char.table"
-                "gbk_char.table"))
+(defvar pyim-basedict-libpinyin-data-files
+  (list "society.table"
+        "life.table"
+        "people.table"
+        "culture.table"
+        "economy.table"
+        "technology.table"
+        "science.table"
+        "nature.table"
+        "history.table"
+        "art.table"
+        "sport.table"
+        "geology.table"
+        "merged.table"
+        "opengram.table"
+        "gb_char.table"
+        "gbk_char.table")
   "Libpinyin data files")
 
 ;;;###autoload
@@ -95,12 +93,13 @@
 (defun pyim-basedict-build-file ()
   "使用 libpinyin 自带的 data 文件创建 pyim-basedict.pyim."
   (interactive)
-  (let ((hash-table (make-hash-table :test #'equal)))
+  (let ((dir (read-directory-name "请选择 libpinyin data 所在的目录:"))
+        (hash-table (make-hash-table :test #'equal)))
     (with-temp-buffer
       (erase-buffer)
-      (dolist (file pyim-basedict-libpinyin-table-files)
-        (when (file-exists-p file)
-          (insert-file-contents file)
+      (dolist (filename pyim-basedict-libpinyin-data-files)
+        (when (file-exists-p (expand-file-name filename dir))
+          (insert-file-contents (expand-file-name filename dir))
           (goto-char (point-max))))
       (goto-char (point-min))
       (while (not (eobp))
@@ -113,16 +112,17 @@
                    hash-table))
         (forward-line 1)))
     (with-temp-buffer
-      (maphash (lambda (key value)
-                 (setq value (delete-dups (reverse value)))
-                 (unless (string-match-p "-" key)
-                   (setq value (sort value #'pyim-pymap-cchar<)))
-                 (insert (format "%s %s\n" key (mapconcat #'identity value " 
"))))
-               hash-table)
+      (maphash
+       (lambda (key value)
+         (setq value (delete-dups (reverse value)))
+         (unless (string-match-p "-" key)
+           (setq value (sort value #'pyim-pymap-cchar<)))
+         (insert (format "%s %s\n" key (mapconcat #'identity value " "))))
+       hash-table)
       (sort-lines nil (point-min) (point-max))
       (goto-char (point-min))
       (insert ";; -*- coding: utf-8 -*--\n")
-      (write-file "pyim-basedict.pyim"))))
+      (write-file "pyim-basedict.pyim" t))))
 
 ;; * Footer
 (provide 'pyim-basedict)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]