明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 不死猫

[【不死猫】] 任意Lisp编辑器实现函数自动完成功能(中文注解方法+制作程序+配置文件+模式切换方法)

  [复制链接]
发表于 2013-11-27 21:28:17 | 显示全部楼层
使用下面的函数可以输出所有加载的自定义函数的搜狗词库,包括加载的ARX定义函数 !然后按猫老师的方法将词库加到搜狗输入法里!
  1. ;;输出所有加载的自定义函数搜狗词库,包括加载的ARX定义函数 By Gu_xl
  2. (defun c:sgck (/ PARSE LST FN F S1 N)
  3.   (defun Parse (str del / pos lst)
  4.     (if  (/= "" str)
  5.       (progn
  6.   (while (setq pos (vl-string-search del str))
  7.     (setq  lst (cons (substr str 1 pos) lst)
  8.     str (substr str (+ pos 1 (strlen del)))
  9.     )
  10.   )
  11.   (if (= " " Del)
  12.     (vl-remove "" (reverse (cons str lst)))
  13.     (reverse (cons str lst))
  14.   )
  15.       )
  16.     )
  17.   )
  18.   (setq  lst
  19.    (vl-sort
  20.      (vl-remove-if
  21.        (function
  22.          (lambda (name /)
  23.      (or
  24.        (= (substr name 1 2) "c:")
  25.        (< (strlen name) 3)
  26.        (not
  27.          (or
  28.            (eq 'SUBR (type (eval (read name))))
  29.            (eq 'USUBR (type (eval (read name))))
  30.            (eq 'EXRXSUBR (type (eval (read name))))
  31.          )
  32.        )
  33.      )
  34.          )
  35.        )
  36.        (mapcar
  37.          '(lambda (x) (strcase x t))
  38.          (atoms-family 1)
  39.        )
  40.      )
  41.      '<
  42.    )
  43.   )
  44.   (setq fn (getfiled "" "myphrases.ini" "ini" 1))
  45.   (if fn
  46.     (progn
  47.       (setq f (open fn "w"))   
  48.       (foreach s lst
  49.   (setq s1 (VL-LIST->STRING (vl-remove-if '(lambda (x) (member x '(42 43 45 58 60 61 62 95))) (VL-STRING->LIST s))))
  50.   (if (VL-STRING-SEARCH "-" s)
  51.     (progn
  52.       (WRITE-LINE
  53.         (strcat
  54.       (apply 'strcat (mapcar '(lambda (x) (substr x 1 1)) (Parse s "-")))
  55.       ",3=" s) f)
  56.       )
  57.     )
  58.   
  59.   (setq n (strlen s1))
  60.   
  61.   (while (> n 0)
  62.     (WRITE-LINE (strcat (substr s1 1 n) ",3=" s) f)
  63.     (setq n (1- n))
  64.     )
  65.   )
  66.       (close f)
  67.       (startapp "notepad.exe" fn)
  68.       )
  69.     )
  70.   (princ)
  71.   )

评分

参与人数 1明经币 +1 收起 理由
不死猫 + 1 赞一个!

查看全部评分

发表于 2013-11-27 21:30:41 | 显示全部楼层
这个真心好啊,顶猫老师
发表于 2013-11-27 22:13:36 | 显示全部楼层
可惜我用不上。
发表于 2013-11-27 22:39:32 | 显示全部楼层
太好了!顶一个!
发表于 2013-11-27 22:42:17 | 显示全部楼层
跟随着猫老师走入了LISP的世界,支持猫老师
发表于 2013-11-27 22:42:31 | 显示全部楼层
这个不错,我已经转为QQ输入法了,好用
发表于 2013-11-27 22:49:03 | 显示全部楼层
懒人才能使世界进步
发表于 2013-11-27 22:54:29 | 显示全部楼层
回复回复看内容,十个字够了没有啊
发表于 2013-11-27 23:05:40 | 显示全部楼层
猫老师威武!!
发表于 2013-11-28 06:17:04 | 显示全部楼层
好頂贊...................................
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-15 11:47 , Processed in 0.169960 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表