30 lines
1 KiB
Lua
30 lines
1 KiB
Lua
|
|
-- "Укажи проект C:\Jarvis\rust" — stores path in memory under key "codebase.root"
|
||
|
|
local phrase = (jarvis.context.phrase or "")
|
||
|
|
|
||
|
|
local body = jarvis.text.strip_trigger(phrase:lower(), {
|
||
|
|
"укажи папку проекта",
|
||
|
|
"укажи кодовую базу",
|
||
|
|
"укажи проект",
|
||
|
|
"выбери проект",
|
||
|
|
"проект сейчас",
|
||
|
|
"set codebase",
|
||
|
|
"set project folder",
|
||
|
|
"use project",
|
||
|
|
})
|
||
|
|
body = body:gsub("^[%s,:%.]+", ""):gsub("%s+$", "")
|
||
|
|
|
||
|
|
-- Path can have backslashes/spaces — preserve original casing by picking from raw phrase
|
||
|
|
local raw = phrase:sub(#phrase - #body + 1):gsub("^[%s,:%.]+", ""):gsub("%s+$", "")
|
||
|
|
local path = raw ~= "" and raw or body
|
||
|
|
|
||
|
|
if path == "" then
|
||
|
|
return jarvis.cmd.error("Укажите путь к папке проекта.")
|
||
|
|
end
|
||
|
|
|
||
|
|
if not jarvis.fs.is_dir(path) then
|
||
|
|
return jarvis.cmd.error("Папка не найдена: " .. path)
|
||
|
|
end
|
||
|
|
|
||
|
|
jarvis.memory.remember("codebase.root", path)
|
||
|
|
return jarvis.cmd.ok("Проект установлен.")
|