Scite 运行单个脚本 |
|
以下脚本需要 SciteExtMan。它使用 SciTE 的用户列表机制来显示一个脚本名称列表。用户可以选择一个脚本并运行它。这对于不经常运行的脚本很有用,此外,这减少了工具和缓冲区选项卡菜单的高度。如果 extman
不存在,它会静默失败。
下面的代码演示了用户如何选择两个娱乐脚本之一 (SciteElizaClassic 和 SciteTicTacToe )。要自定义代码,只需将适当的信息放入表 AppList
中。
注意:目前,SciteExtMan 不使用 id 参数来区分多个用户列表,因此如果您需要多个用户列表,则需要对 extman
进行一些修改。
----------------------------------------------------------------------- -- for global scripts; switch to "SciteUserHome" for per-user scripts ----------------------------------------------------------------------- function loadscript(scriptfile) require(props["SciteDefaultHome"].."/script/"..scriptfile) end ----------------------------------------------------------------------- -- run selected scripts, silently fails if no extman ----------------------------------------------------------------------- -- [[ if scite_Command then scite_Command('Run A Script|ChooseAScript|Ctrl+9') local AppList = { {"Tic Tac Toe", "SciTE_TicTacToe2.lua", "TicTacToe"}, {"Classic Eliza", "SciTE_Classic_Eliza2.lua", "ClassicEliza"}, } function ChooseAScript() local list = {} for i,v in ipairs(AppList) do list[i] = v[1] end if scite_UserListShow then scite_UserListShow(list, 1, RunSelectedScript) end end function RunSelectedScript(str) for i,v in ipairs(AppList) do if str == v[1] then loadscript(v[2]) -- change this to suit your environment if type(_G[v[3]]) == "function" then _G[v[3]]() end end end end end --]]
--khman
require(props["SciteDefaultHome"].."/script/"..scriptfile)
到
dofile(props["SciteDefaultHome"].."\\scitelua\\"..scriptfile)
注意:在 Linux 上使用 /。如果您在 Windows 上,请使用 \\ 代替,就像我一样。
想知道是否还有其他人遇到这个问题,以及这是否是最好的解决方案,或者是否有其他命令可以更好地替代 dofile。有什么意见吗?
我发现它是一个非常有用的脚本。感谢作者分享它。