mirror of
https://github.com/CCLeonOS/LeonOS.git
synced 2026-03-03 15:17:01 +00:00
refactor(shell): 将控制台清理逻辑移至命令执行前
清理控制台的逻辑从循环开始处移动到命令执行前,避免每次循环都进行不必要的清理操作
This commit is contained in:
@@ -81,15 +81,6 @@ end
|
|||||||
|
|
||||||
local history = {}
|
local history = {}
|
||||||
while true do
|
while true do
|
||||||
-- 先清除控制台内容,但保留顶部应用栏
|
|
||||||
local w, h = term.getSize()
|
|
||||||
term.setTextColor(colors.white)
|
|
||||||
term.setBackgroundColor(colors.black)
|
|
||||||
for y=2, h do
|
|
||||||
term.at(1, y).clearLine()
|
|
||||||
end
|
|
||||||
term.at(1, 2)
|
|
||||||
|
|
||||||
term.setTextColor(colors.yellow)
|
term.setTextColor(colors.yellow)
|
||||||
rc.write("$ "..shell.dir().." >>> ")
|
rc.write("$ "..shell.dir().." >>> ")
|
||||||
term.setTextColor(colors.white)
|
term.setTextColor(colors.white)
|
||||||
@@ -97,6 +88,16 @@ while true do
|
|||||||
local text = term.read(nil, history, shell.complete)
|
local text = term.read(nil, history, shell.complete)
|
||||||
if #text > 0 then
|
if #text > 0 then
|
||||||
history[#history+1] = text
|
history[#history+1] = text
|
||||||
|
|
||||||
|
-- 运行命令前先清除控制台内容,但保留顶部应用栏
|
||||||
|
local w, h = term.getSize()
|
||||||
|
term.setTextColor(colors.white)
|
||||||
|
term.setBackgroundColor(colors.black)
|
||||||
|
for y=2, h do
|
||||||
|
term.at(1, y).clearLine()
|
||||||
|
end
|
||||||
|
term.at(1, 2)
|
||||||
|
|
||||||
local ok, err = shell.run(text)
|
local ok, err = shell.run(text)
|
||||||
if not ok and err then
|
if not ok and err then
|
||||||
io.stderr:write("Application has a error when running and system has stop it. Error:\n", err, "\n")
|
io.stderr:write("Application has a error when running and system has stop it. Error:\n", err, "\n")
|
||||||
|
|||||||
Reference in New Issue
Block a user