由于代码段无法直接获取函数行内容,需要分为三步实现Lua的函数注释:
添加注释代码段
添加插件获取函数所在行的内容并传参给注释代码段
添加触发快捷键
创建代码段
点击【工具】-【插件开发】-【新建代码片段】
将如下代码粘贴到文件中
<snippet>
<content><![CDATA[--@func: ${1:describe function}
${PARAM1/([^,]+)(,\s*)?/--@param: $1 description\n/g}--@return: ${5:nil}
]]></content>
<!--<tabTrigger>\\</tabTrigger> -->
<scope>source.lua</scope>
<description>commit function</description>
</snippet>
保存为【add_commit.sublime-snippet】
创建插件
点击【工具】-【插件开发】-【新建插件】
将如下代码粘贴到文件中
import sublime
import sublime_plugin
import re
class AddCommitClipboardCommand(sublime_plugin.TextCommand):
def run(self, edit):
mark = self.view.sel()[0]
line = self.view.line(mark.a + 1)
ss = self.view.substr(line)
dd = re.findall(r"\((.*)\)",ss)
if len(dd) > 0 :
pasted = dd[0]#sublime.get_clipboard()
self.view.run_command("insert_snippet",
{
"name": "Packages/User/add_commit.sublime-snippet",
"PARAM1":pasted
}
)
保存为【add_commit_clipboard.py】
添加快捷键
点击【首选项】-【快捷键设置】
添加快捷键代码
[
{
"keys": ["ctrl+alt+x"],
"command": "add_commit_clipboard",
}
]
保存并重启sublime
效果展示:
参考内容:
代码段说明:https://docs.sublimetext.io/guide/extensibility/snippets.html#snippets-file-format
插件开发API:http://www.sublimetext.com/docs/2/api_reference.html#sublime.RegionSet