PopClip插件开发
配置文件
Actions 里面一个 dict 是一个图标,由于 PopClip 不支持直接执行可执行文件,所以要使用 shell 来执行一下。
自己给定的两个图标的颜色是没有关系的,PopClip 会自动修改图标的颜色。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Actions</key>
<array>
<dict>
<key>After</key>
<string>copy-result</string>
<key>Image File</key>
<string>id.png</string>
<key>Regular Expression</key>
<string>(?s)1\w+$</string>
<key>Title</key>
<string>Url2Id</string>
<key>Shell Script File</key>
<string>url2id.sh</string>
</dict>
<dict>
<key>After</key>
<string>copy-result</string>
<key>Image File</key>
<string>url.png</string>
<key>Regular Expression</key>
<string>(?s)\d+$</string>
<key>Title</key>
<string>Id2Url</string>
<key>Shell Script File</key>
<string>id2url.sh</string>
</dict>
</array>
<key>Apps</key>
<array>
<dict>
<key>Link</key>
<string>http://tool.lu/</string>
<key>Name</key>
<string>在线工具</string>
</dict>
</array>
<key>Credits</key>
<array>
<dict>
<key>Link</key>
<string>mailto:245565986@qq.com</string>
<key>Name</key>
<string>xiaozi</string>
</dict>
</array>
<key>Extension Description</key>
<string>Convert ids for mogujie.</string>
<key>Extension Identifier</key>
<string>lu.tool.popclip.extension.id-converter</string>
<key>Extension Image File</key>
<string>id.png</string>
<key>Extension Name</key>
<string>Id Converter</string>
<key>Version</key>
<integer>1</integer>
</dict>
</plist>
代码
PopClip 操作的文本是直接放在环境变量 POPCLIP_TEXT
里面的,所以下面的代码可以当做是 go 的一个插件模板
package main
import (
"fmt"
"os"
)
func main() {
text := os.Getenv("POPCLIP_TEXT")
fmt.Print(text)
}
go build -o IdConverter .
发布
mv IdConverter/ IdConverter.popclipext
zip -r IdConverter.popclipext.zip IdConverter.popclipext
mv IdConverter.popclipext.zip IdConverter.popclipextz