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。有任何意見嗎?
不過,我發現這是一個非常有用的腳本。感謝作者分享它。