summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2018-02-06 21:00:38 +0800
committerruki <[email protected]>2018-02-06 00:03:53 +0800
commit623575fa425b876a17bb7b45a2ff6bb35ee84aba (patch)
tree4455a9d38dd4dbff406fb96da1350aca06ab5085
parentd38a8d50bb1ea28d203b70617e5ba18eef1d9924 (diff)
add os.pbpaste and os.pbcopy
-rw-r--r--xmake/core/base/os.lua21
-rw-r--r--xmake/core/sandbox/modules/os.lua2
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