diff options
| -rw-r--r-- | xmake/core/base/os.lua | 21 | ||||
| -rw-r--r-- | xmake/core/sandbox/modules/os.lua | 2 |
2 files changed, 23 insertions, 0 deletions
diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua index d8d439155..7b3bceca3 100644 --- a/xmake/core/base/os.lua +++ b/xmake/core/base/os.lua @@ -817,6 +817,27 @@ function os.addenv(name, ...) return os.setenv(name, table.concat({...}, seperator) .. seperator .. (os.getenv(name) or "")) end +-- read string data from pasteboard +function os.pbpaste() + if os.host() == "macosx" then + local ok, result = os.iorun("pbpaste") + if ok then + return result + end + else + -- TODO + end +end + +-- copy string data to pasteboard +function os.pbcopy(data) + if os.host() == "macosx" then + os.run("bash -c \"echo '" .. data .. "' | pbcopy\"") + else + -- TODO + end +end + -- get the program directory function os.programdir() return xmake._PROGRAM_DIR diff --git a/xmake/core/sandbox/modules/os.lua b/xmake/core/sandbox/modules/os.lua index ad6c60e0a..43b12bca8 100644 --- a/xmake/core/sandbox/modules/os.lua +++ b/xmake/core/sandbox/modules/os.lua @@ -51,6 +51,8 @@ sandbox_os.nuldev = os.nuldev sandbox_os.getenv = os.getenv sandbox_os.setenv = os.setenv sandbox_os.addenv = os.addenv +sandbox_os.pbpaste = os.pbpaste +sandbox_os.pbcopy = os.pbcopy sandbox_os.emptydir = os.emptydir sandbox_os.filesize = os.filesize sandbox_os.workingdir = os.workingdir |
