- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我写了一个小命令行工具,想在文档中添加“--help”用法消息。
因为我很懒,所以我希望更新过程尽可能简单。这是我希望更新工作流程的样子:
换句话说:我不想复制+粘贴使用信息。
Step1 来 self 自己的大脑。但是想为 Step2 重用现有工具。
到目前为止,文档只是一个简单的 README.rst 文件。
我想坚持使用一个简单的解决方案,其中可以通过 github 直接查看文档。到目前为止,我不需要更复杂的解决方案(如 readthedocs)。
如何避免复制粘贴 --help 用法消息?
这是我正在使用的工具:https://github.com/guettli/reprec
最佳答案
正如评论中所建议的,您可以使用 git 预提交 Hook 在提交时生成 README.rst 文件。您可以使用现有的工具,例如 cog,或者您可以使用 bash 做一些非常简单的事情。
例如,创建一个RST"template"文件:
README.rst.tmpl
Test Git pre-commit hook project
--------------------------------
>>> INSERTION POINT FOR HELP OUTPUT <<<
.git/hooks/pre-commit
# Sensible to set -e to ensure we exit if anything fails
set -e
# Get the output from your tool.
# Paths are relative to the root of the repo
output=$(tools/my-cmd-line-tool --help)
cat README.rst.tmpl |
while read line
do
if [[ $line == ">>> INSERTION POINT FOR HELP OUTPUT <<<" ]]
then
echo "$output"
else
echo "$line"
fi
done > README.rst
git add README.rst
如果您没有在命令行中传递一个提交消息,它会在提示您输入提交消息之前运行。因此,如果 README.rst.tmpl 或您的工具的输出有任何更改,则在提交时,README.rst 将随之更新。
编辑
我相信这也应该适用于 Windows,或者非常相似的东西,因为 git 在 Windows 上带有 bash 实现,但我还没有测试过它。
关于python - 将命令行工具的使用帮助添加到 README.rst,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40859607/
除了这一行,我的代码有效 .FindFirst "[DONOR_CONTACT_ID] = strTemp2" 我希望我的代码检查是否有记录,其中存在特定的 DONOR_CONTACT_ID,因为有多
[FIN, ACK]、[RST]和[RST, ACK]是什么原因,如何避免? 是否是由于 SO 的 TCP 参数之间存在某种不匹配?服务器在 TCP/IP 连接中回复 [FIN, ACK] 是什么意思
我有简单的“echo”客户端-服务器代码,并通过tcpdump监视tcp流,客户端在发送274之后始终发送RST。总是。但是我不知道如何找到问题所在。客户端: //FILE to read from
当应用程序从套接字接收数据时,它将按照数据发送的正确顺序接收数据。 TCP 将知道如何根据每个数据包 header 中包含的序列号对数据重新排序。 但是 RST 数据包呢,例如:如果另一方发送了一些数
我正在尝试调试一个场景,为此我希望 http 服务器通过 RST 关闭连接。现在它正在使用 fin/ack 进行优雅的关闭。 有什么方法可以手动发送 RST 数据包以关闭连接作为当前流的一部分?可能是
为什么 TCP RST 数据包不需要确认?是不是因为RST的发送端每次收到对方的包都会继续发送RST? 相关说明,有效RST包中的确认号怎么会是0呢? 最佳答案 On a related note,
我真正喜欢 Markdown 的地方在于我可以执行以下操作: 写```回车 粘贴我剪贴板中的所有垃圾 编写``` 我现在有一个工作代码块 在 RST 中,我必须执行以下操作: 编写.. codeblo
如何获得在 rst 中加粗的代码(等宽)文本(我使用的是 Sphinx)? :: 中的任何内容似乎是按字面呈现的,就像 `` 一样,所以 ``**bold**`` 不起作用。 最佳答案 一般来说,嵌套
我正在使用 Sphinx 来记录返回字典的方法。 def do_stuff(foo, bar): """Do some stuff :param foo: I'm an argumen
我对将图像放入 pelican 的 markdown 语法感到困惑。 当我有了这个,一切正常。 .. image:: /images/Rugby-Tackle.jpg :alt: About
我有一个已连接的套接字,我想中止关闭它,但我不希望将 RST 发送到另一端。这可以吗? 最佳答案 您的问题体现了自相矛盾。 “异常关闭”== RST。 即使实际的中止关闭没有立即发送,TCP 也有义务
使用 shutdown() 关闭套接字连接的写入方向后,所有后续接收到的数据都会导致发送 RST 数据包,并且 read() 返回大小为 0 的数据,表示读取方向的 EOF。即使阅读方向没有关闭,为什
我有一个 RST 树,它的结构是: struct node { int key; node *left, *right; } *root; 我的功能是删除带有“v”键的节点: void
如果我有一个带有连接套接字的进程,并且我终止了这个进程,那么 Windows 将导致发送一个 RST 数据包。 是否保证(是否在某处记录)当进程终止时始终发送 RST 数据包,还是可以发送 FIN 数
我写了一个小命令行工具,想在文档中添加“--help”用法消息。 因为我很懒,所以我希望更新过程尽可能简单。这是我希望更新工作流程的样子: 导致更新使用消息的更新代码。 运行更新文档的脚本:新的用法消
我正在使用 gitlab docker image 来部署服务,Web 端口是主机上的 8080。运行 gitlab 后,我可以看到端口正常: CONTAINER ID IMAGE
我正在开发服务器,客户端消息通过手机发送。服务器和手机通过 Wifi 连接。 客户端向服务器发送 HTTP Post 消息,服务器应该回复 200 ok。它适用于大多数系统,但在某些系统中,服务器收到
在收到一个 TCP RST 数据包后,主机是否会丢弃接收缓冲区中已被远程主机确认但未被使用套接字的应用进程读取的所有剩余数据? 我想知道一旦我对其他主机所说的不再感兴趣(例如,为了节省资源)就关闭套接
我有一个客户端和服务器运行在同一台服务器(Linux 机器)上,它们之间有 TCP 连接。我观察到,当我杀死客户端时,内核/操作系统会在客户端被杀死 2 秒后发送 RST 数据包。我的问题是哪个内核参
Windows socket close(closesocket)函数生成RST。 在 Linux 上,当我调用 close 函数关闭一个 tcp 套接字时,它会通过来自客户端服务器的 fin/ack
我是一名优秀的程序员,十分优秀!