v1.7.0 - Fixed up some more stuff, changed how print() works, added to automatically load all libraries in lua shell.
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
local agcfg = {
|
||||
["halyde"] = {
|
||||
["maindir"] = "",
|
||||
["version"] = "1.6.0",
|
||||
["version"] = "1.7.0",
|
||||
["description"] = "A universal, customizable and feature-packed operating system for OpenComputers.",
|
||||
["directories"] = {
|
||||
"halyde/apps",
|
||||
|
||||
@@ -4,7 +4,7 @@ Ahalyde/core/
|
||||
Ahalyde/config/
|
||||
Ahalyde/apps/helpdb/
|
||||
Ahalyde/apps/
|
||||
V1.6.0
|
||||
V1.7.0
|
||||
Ainit.lua
|
||||
Ahalyde/apps/helpdb/cat.txt
|
||||
Ahalyde/apps/helpdb/cd.txt
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
local args = {...}
|
||||
local file = args[1]
|
||||
args = nil
|
||||
local file = ...
|
||||
local fs = import("filesystem")
|
||||
local event = import("event")
|
||||
local component = import("component")
|
||||
local gpu = component.proxy(component.list("gpu")())
|
||||
local width, height = gpu.getResolution()
|
||||
local scrollPosX, scrollPosY = 1, 1
|
||||
@@ -16,7 +15,7 @@ local scrollSpeed = 5
|
||||
local function rawset(x, y, text)
|
||||
termlib.cursorPosX = x
|
||||
termlib.cursorPosY = y
|
||||
print(text, false, false)
|
||||
termlib.write(text, false)
|
||||
end
|
||||
|
||||
local filestring, filepath, handle, data, tmpdata
|
||||
|
||||
@@ -3,11 +3,11 @@ local computer = import("computer")
|
||||
|
||||
local function printstat(text)
|
||||
termlib.cursorPosX = 35
|
||||
print(text, true, false)
|
||||
termlib.write(text .. "\n", false)
|
||||
end
|
||||
|
||||
print(_OSLOGO, true, false)
|
||||
termlib.cursorPosY = termlib.cursorPosY - 18
|
||||
termlib.write(_OSLOGO, false)
|
||||
termlib.cursorPosY = termlib.cursorPosY - 17
|
||||
printstat("\27[92mOS\27[0m: ".._OSVERSION)
|
||||
printstat("\27[92mArchitecture\27[0m: ".._VERSION)
|
||||
local componentCounter = 0
|
||||
|
||||
+12
-3
@@ -1,14 +1,23 @@
|
||||
print("\27[44m".._VERSION.."\27[0m shell")
|
||||
print('Type "exit" to exit.')
|
||||
termlib.readHistory["lua"] = {""}
|
||||
local fs = import("filesystem")
|
||||
|
||||
local loadedLibraries = ""
|
||||
local libList = fs.list("halyde/lib")
|
||||
for _, lib in pairs(libList) do
|
||||
if lib:match("(.+)%.lua") then
|
||||
loadedLibraries = loadedLibraries .. "local " .. lib:match("(.+)%.lua") .. ' = import("' .. lib:match("(.+)%.lua") .. '")\n'
|
||||
end
|
||||
end
|
||||
|
||||
while true do
|
||||
print("\27[44mlua>\27[0m ", false)
|
||||
local command = read("lua")
|
||||
local command = read("lua", "\27[44mlua>\27[0m ")
|
||||
if command == "exit" then
|
||||
return
|
||||
else
|
||||
local function runCommand()
|
||||
assert(load(command))()
|
||||
assert(load(loadedLibraries .. command))()
|
||||
end
|
||||
local result, reason = xpcall(runCommand, function(errMsg)
|
||||
return errMsg .. "\n\n" .. debug.traceback()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local loadfile = ...
|
||||
local filesystem = loadfile("/halyde/lib/filesystem.lua")(loadfile)
|
||||
|
||||
_G._OSVERSION = "Halyde 1.6.0"
|
||||
_G._OSVERSION = "Halyde 1.7.0"
|
||||
_G._OSLOGO = ""
|
||||
local handle, tmpdata = filesystem.open("/halyde/config/oslogo.ans", "r"), nil
|
||||
repeat
|
||||
|
||||
+21
-15
@@ -3,6 +3,7 @@ local event = import("event")
|
||||
|
||||
--local ocelot = component.proxy(component.list("ocelot")())
|
||||
local component = import("component")
|
||||
local computer = import("computer")
|
||||
local gpu = component.proxy(component.list("gpu")()) -- replace with component.gpu once implemented
|
||||
_G.termlib = {}
|
||||
termlib.cursorPosX = 1
|
||||
@@ -70,14 +71,11 @@ local function parseCodeNumbers(code)
|
||||
return o
|
||||
end
|
||||
|
||||
function _G.print(text, endNewLine, textWrap)
|
||||
function termlib.write(text, textWrap)
|
||||
width, height = gpu.getResolution()
|
||||
|
||||
-- you don't know how tiring this was just for ANSI escape code support
|
||||
|
||||
if endNewLine == nil then
|
||||
endNewLine = true
|
||||
end
|
||||
if textWrap == nil then
|
||||
textWrap = true
|
||||
end
|
||||
@@ -168,9 +166,17 @@ function _G.print(text, endNewLine, textWrap)
|
||||
::continue::
|
||||
end
|
||||
printSection()
|
||||
if endNewLine then
|
||||
newLine()
|
||||
end
|
||||
|
||||
function _G.print(...)
|
||||
local args = {...}
|
||||
local stringArgs = {}
|
||||
for _, arg in pairs(args) do
|
||||
if tostring(arg) then
|
||||
table.insert(stringArgs, tostring(arg))
|
||||
end
|
||||
end
|
||||
termlib.write(table.concat(stringArgs, " ") .. "\n")
|
||||
end
|
||||
|
||||
function _G.clear()
|
||||
@@ -197,7 +203,7 @@ function _G.read(readHistoryType, prefix, defaultText)
|
||||
RHIndex = #termlib.readHistory[readHistoryType] -- read history index
|
||||
end
|
||||
local cursorPosX, cursorPosY = termlib.cursorPosX, termlib.cursorPosY
|
||||
print(prefix .. curtext .. "\27[107m ", false)
|
||||
termlib.write(prefix .. curtext .. "\27[107m ")
|
||||
local cursorWhite = true
|
||||
while true do
|
||||
--ocelot.log(curtext)
|
||||
@@ -209,30 +215,30 @@ function _G.read(readHistoryType, prefix, defaultText)
|
||||
local key = keyboard.keys[keycode]
|
||||
if key == "up" and readHistoryType then
|
||||
termlib.cursorPosX, termlib.cursorPosY = cursorPosX, cursorPosY
|
||||
print(prefix .. curtext .. " ", false)
|
||||
termlib.write(prefix .. curtext .. " ")
|
||||
RHIndex = RHIndex - 1
|
||||
if RHIndex <= 0 then
|
||||
RHIndex = 1
|
||||
end
|
||||
termlib.cursorPosX, termlib.cursorPosY = cursorPosX, cursorPosY
|
||||
print(prefix .. termlib.readHistory[readHistoryType][RHIndex] .. string.rep(" ", unicode.wlen(curtext) - unicode.wlen(termlib.readHistory[readHistoryType][RHIndex])), false)
|
||||
termlib.write(prefix .. termlib.readHistory[readHistoryType][RHIndex] .. string.rep(" ", unicode.wlen(curtext) - unicode.wlen(termlib.readHistory[readHistoryType][RHIndex])))
|
||||
curtext = termlib.readHistory[readHistoryType][RHIndex]
|
||||
end
|
||||
if key == "down" and readHistoryType then
|
||||
termlib.cursorPosX, termlib.cursorPosY = cursorPosX, cursorPosY
|
||||
print(prefix .. curtext .. " ", false)
|
||||
termlib.write(prefix .. curtext .. " ")
|
||||
RHIndex = RHIndex + 1
|
||||
if RHIndex > #termlib.readHistory[readHistoryType] then
|
||||
RHIndex = #termlib.readHistory[readHistoryType]
|
||||
end
|
||||
termlib.cursorPosX, termlib.cursorPosY = cursorPosX, cursorPosY
|
||||
print(prefix .. termlib.readHistory[readHistoryType][RHIndex] .. string.rep(" ", unicode.wlen(curtext) - unicode.wlen(termlib.readHistory[readHistoryType][RHIndex])), false)
|
||||
termlib.write(prefix .. termlib.readHistory[readHistoryType][RHIndex] .. string.rep(" ", unicode.wlen(curtext) - unicode.wlen(termlib.readHistory[readHistoryType][RHIndex])))
|
||||
curtext = termlib.readHistory[readHistoryType][RHIndex]
|
||||
end
|
||||
if key == "back" then
|
||||
curtext = curtext:sub(1, #curtext-1)
|
||||
termlib.cursorPosX, termlib.cursorPosY = cursorPosX, cursorPosY
|
||||
print(prefix .. curtext.." ", false)
|
||||
termlib.write(prefix .. curtext.." ")
|
||||
end
|
||||
if key == "enter" then
|
||||
termlib.cursorPosX, termlib.cursorPosY = cursorPosX, cursorPosY
|
||||
@@ -251,14 +257,14 @@ function _G.read(readHistoryType, prefix, defaultText)
|
||||
end
|
||||
end
|
||||
termlib.cursorPosX, termlib.cursorPosY = cursorPosX, cursorPosY
|
||||
print(prefix .. curtext, false)
|
||||
termlib.write(prefix .. curtext)
|
||||
else
|
||||
cursorWhite = not cursorWhite
|
||||
end
|
||||
if cursorWhite then
|
||||
print("\27[107m ", false)
|
||||
termlib.write("\27[107m ")
|
||||
else
|
||||
print(" ", false)
|
||||
termlib.write(" ")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -8,6 +8,7 @@ local raster = {
|
||||
["charHeight"]=0
|
||||
}
|
||||
|
||||
local component = import("component")
|
||||
-- local ocelot = component.proxy(component.list("ocelot")())
|
||||
local gpu = component.proxy(component.list("gpu")())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user