如何在Emacs中使用'Gist.el'编辑Gist文件名

如何在Emacs中使用'Gist.el'编辑Gist文件名,emacs,elisp,Emacs,Elisp,关于如何使用Gist.el编辑现有Gist的文件名,有谁能告诉我正确的方向吗。我已经尝试过修改gist edit current description来处理文件名修改,但是我尝试的变体没有起作用。下面是编辑当前描述的gist函数——我假设编辑文件名与描述类似: (编辑当前描述() (互动) (让*((id(列表获取id)) (gist(gist列表数据库获取gist id)) (旧描述(oref要点:描述)) (新描述(从微缓冲区读取“描述:”旧描述))) (let*((g)(g) :无文件

关于如何使用
Gist.el
编辑现有Gist的文件名,有谁能告诉我正确的方向吗。我已经尝试过修改
gist edit current description
来处理文件名修改,但是我尝试的变体没有起作用。下面是编辑当前描述的
gist函数——我假设编辑文件名与描述类似:

(编辑当前描述()
(互动)
(让*((id(列表获取id))
(gist(gist列表数据库获取gist id))
(旧描述(oref要点:描述))
(新描述(从微缓冲区读取“描述:”旧描述)))
(let*((g)(g)
:无文件
:说明(新描述)
(api(获取api t)
(负责人(gh gist编辑api g)))
(gh url添加响应回调响应
(lambda(gist)
(要点列表重新加载(()())))

这可能有助于给一些人一些想法——这是一种在创建Gist时设置文件名的方法(它基于@Jordon Biondo--)之前的回答):

(使用文件名说明定义gist区域(开始-结束&可选文件名说明专用回调)
“在gist.github.com上以新粘贴的形式发布当前区域
将URL复制到kill环中。
使用前缀参数进行私有粘贴。“
(交互式“r\n要点说明:\nP”);我们在这里处理提示!
(let*((文件(或(缓冲区文件名)(缓冲区名称)))
(名称(文件名非目录文件))
(分机(或(cdr(助理主模式)
(文件扩展名文件)
“txt”))
(fname(如果文件名为concat(文件名无扩展名)“.”ext)))
(文件(列表)
(文件“file”
:filename fname
:内容(缓冲区子字符串开始-结束щщщ)
;最后,我们使用新的参数指定内部调用中的描述
(gist内部新文件专用描述回调)))
(使用文件名说明定义gist缓冲区(&可选文件名说明专用)
“将当前缓冲区作为新粘贴发布到gist.github.com。
将URL复制到kill环中。
使用前缀参数进行私有粘贴。“
(交互式“P”)
(让我们*(
(文件名(如果文件名(读取字符串“文件名:”(缓冲区名称)))
(说明(如果是说明说明(读取字符串“说明:”(缓冲区名称‘‘)’))
(带文件名说明的gist区域(最小点)(最大点)文件名说明私有零)

开发人员于2014年12月29日添加了此功能——该功能为
gist模式写入文件
,用于访问文件。第55期:

您可能应该停止盲目猜测,转而阅读……这在gist.el的当前状态下是不容易做到的。api需要发送一些json,比如“oldfilename:{filename:newfilename}”,但是gist.el总是为新旧文件使用一个文件名。这将需要一些更高级的返工。可能会成为一个好项目。与包含文件列表的gh gist gist对象不同,它们应该具有gh gist gist文件对象的散列,文件名是键。因此,您可以执行gist.files[filename].filename=newname(但在lisp中)查看obj的函数
gh gist gist文件
,您将看到问题。感谢@lunaryorn提供API文档的有用链接,非常感谢。感谢@Jordon Biondo提供的见解,并为我指明了正确的方向,非常感谢。