newlisp 注释生成文档
最近写了一个newlisp_armory库,用来实现一些newlisp自身不支持的操作。比如跨windows和ubuntu的目录拷贝功能等。
自己用的时候,发现没有API reference文档参考,很不方便。于是学习了如何用注释生成文档。
在Ubuntu环境下,首先要下载newlispdoc程序的源码:http://newlisp.org/syntax.cgi?code/newlispdoc.txt
将文件重命名为newlispdoc,添加执行权限,复制到/usr/bin目录下。
也可直接从我的github项目中获得:https://github.com/csfreebird/newlisp_armory.git
然后注意注释的写法,下面是个例子:
;; file.lsp;; @module file
;; @description file module provides some file operations on both Ubuntu and Windows
;; @location file.lsp
;; @version 1.0
;; @author Dean Chen
;; @example
;; (let ((test-dir1 (append (real-path) file:file-seperator "a")) (test-dir2 (append (real-path) file:file-seperator "b")))
;; (make-dir test-dir1)
;; (make-dir test-dir2)
;; (if (directory? test-dir1)
;; (begin
;; (unless (catch (file:copy-folder test-dir1 test-dir2) 'result)
;; (println (append "catch error: " result))
;; (println "test copy-folder failed"))
;; (file:remove-folder test-dir1)
;; (file:remove-folder test-dir2))))
(context 'file);; @syntax (file:init)
;; @throw Throw error if environment variable NEWLISP_ARMORY_HOME does not exist or is invalid
;; @throw Throw error if OS is not Windows or UBuntu
;; @note init function will be called automatically when loading file.lsp module, don't call it manually
(define (init)(unless (env "NEWLISP_ARMORY_HOME")(throw-error "NEWLISP_ARMORY_HOME does not exist"))(unless (file? (env "NEWLISP_ARMORY_HOME"))(throw-error "NEWLISP_ARMORY_HOME points to a non-existing file"))(unless (directory? (env "NEWLISP_ARMORY_HOME"))(throw-error "NEWLISP_ARMORY_HOME points to a file instead of directory"))(set 'file-folder (append (env "NEWLISP_ARMORY_HOME") "/codes/file"))(if(= ostype "Linux") (load (append file-folder "/file_ubuntu.lsp"))(= ostype "Win32") (load (append file-folder "/file_win.lsp"))(throw-error (append "file tool doesn't support this OS for now, ostype:" ostype))))
现在运行命令产生doc:
newlispdoc file.lsp
由于我还有几个支持不同平台的文件,file_ubuntu.lsp和file.win.lsp,似乎newlispdoc没有这么智能。因此我将file_ubuntu.lsp的注释复制到file.lsp中,不复制源代码。
也能够生成。
下面的截图展示了我的doc:
点击链接后,进入详细页面:
newlisp 注释生成文档相关推荐
- Doxygen——根据代码注释生成文档的工具
文章目录 1 简介 2 安装 3 使用 3.1 注释代码 3.2 使用doxywizard生成文档 4 用例 4.1 OpenCV 4.2 Apollo 5 参考 1 简介 Doxygen是一个可以根 ...
- 1.0 添加WEB API项目并按注释生成文档(多项目结构)
1.新建ASP.NET 项目,模板选择如图 2.选择Web API,并选择不进行身份验证方式 成功后我们看到这个结果. 至于其它三种身份验证方式,不太适合我的使用.而且这种方式也可以在代码里去实现身份 ...
- js代码注释生成文档工具-jsdoc
需求 将js和ts的代码注释生成api文档 思路 先将ts转成js,再统一处理js文件,用jsdoc工具来生成html文件. JsDoc 是js文档生成工具,它从javascript程序源代码中抽取类 ...
- python注释文档,以注释生成文档说明
Python有一种独一无二的的注释方式:使用文档字符串,文档字符串是包.模块.类或函数里的第一个语句,这些字符串可以通过对象的__doc__成员被自动提取,并且被pydoc所用. 目录 1.注释文档 ...
- 代码注释生成文档之Doxygen 附说明+下载连接
上个星期闫海静老师给我们讲如何使用PEAR把特定的批注转换成为说明文件,在闫海静老师给我们演示完安装和使用以后,我亲自操作了一下,感觉这东西对于我来说有点不适应,在安装过程中还需重启这让人有点无法接受 ...
- Objective-C自动生成文档工具:appledoc
作者 iOS_小松哥 关注 2016.12.13 15:47* 字数 919 阅读 727评论 10喜欢 35 由于最近琐事比较多,所以好久没有写文章了.今天我们聊一聊Objective-C自动生成文 ...
- Objective-C 自动生成文档工具:appledoc
来源:iOS_小松哥 www.jianshu.com/p/fd4d8d6b6177 如有好文章投稿,请点击 → 这里了解详情 由于最近琐事比较多,所以好久没有写文章了.今天我们聊一聊Objective ...
- 使用apidoc生成文档
apidoc是通过在方法上的注释生成文档,不基于任何框架,对代码没有侵入性,只需要写好相关的注释即可,并且它仅通过写简单的配置就可以生成高颜值的api接口页面. 准备工作 apidoc基于node.j ...
- windows下javadoc生成文档注释的命令
windows下javadoc生成文档注释的命令 javadoc -d myHello -author -version HelloWorld.java
最新文章
- 安装QCreator2.5+Qt4.8.2+MinGW_gcc_4.4
- 雪城大学信息安全讲义 3.3 提升 Set-UID 程序的安全性
- 久坐 缺乏运动 消化能力 会减弱
- html下拉框设置默认值_如何设置HTML select下拉框的默认值?
- 服务器提交协议冲突 Section=ResponseStatusLine 的解决办法
- Mysql系列:高可用(HA)-keeplived
- 【Spark工作原理】Spark任务调度理解
- JavaScript Object 及相关操作
- 云电脑与远控软件有什么区别?如何选?
- TPS63020-电池升降压芯片及静态电流7~8mA原因
- chrome扩展程序_如何在20分钟内创建和发布Chrome扩展程序
- Python通过Socket实现QQ聊天功能
- bzoj:1922: [Sdoi2010]大陆争霸 (luogu 2446)
- 这位日本网友和谷歌街景的故事,感动了58万人
- 数组添加/扩容和数组缩减
- Mongodb分片学习
- 都是古人抓紧时间发奋苦读的典范
- Chatgpt聊天机器人系统开发
- C#原子操作(Interlocked.Decrement和Interlocked.Increment)
- 连续性方程_连续性方程表示什么守恒
热门文章
- python中out什么意思_ref和out的使用与区别|python基础教程|python入门|python教程
- 托福试卷真题_历年托福考试阅读真题汇总含答案
- 提高软件测试能力的19条建议
- android中获取应用程序(包)的信息,Android中获取应用程序(包)的信息PackageManager的使用(一).doc...
- python转json中文乱码_python 序列化成json 乱码问题的解决
- MySQL的安装、启动、停止、卸载
- 《python接口自动化测试》笔记
- 软件测试工程师怎么样面试上好的公司?
- php ip重复注册,php中表单的重复提交怎么通过记录IP来防止
- c语言小车倒车程序,STC12C5A60S2串口演示程序(C语言版)