Scite 執行一個腳本

lua-users home
wiki

從清單中選擇一個腳本並執行

以下腳本需要 SciteExtMan。它使用 SciTE 的使用者清單機制來顯示腳本名稱清單。使用者接著可以選擇一個腳本並執行它。這適用於不常執行的腳本,此外,還可以減少「工具」和緩衝區索引標籤功能表的高度。如果不存在 extman,則會靜默失敗。

下列程式碼示範使用者如何選擇兩個娛樂腳本(SciteElizaClassicSciteTicTacToe)之一。若要自訂程式碼,只需將適當的資訊放入表格 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


這個腳本運作良好。然而,當我最近切換到 SciTE 版本 1.74 時,它的運作出現問題。藉由變更下列程式碼行,讓它重新正常運作

  require(props["SciteDefaultHome"].."/script/"..scriptfile)

  dofile(props["SciteDefaultHome"].."\\scitelua\\"..scriptfile)

注意:在 Linux 上使用 /。如果您使用 Windows,請使用 \\ 取代它,如我所做的一樣。

想知道是否還有其他人遇到這個問題,以及這是最佳的解決方案,或者有其他指令可以更好地取代 dofile。有任何意見嗎?

不過,我發現這是一個非常有用的腳本。感謝作者分享它。


最近變更 · 偏好設定
編輯 · 歷史
最後編輯時間為:2007 年 8 月 31 日,下午 7:49 GMT (差異)