summaryrefslogtreecommitdiff
path: root/.obsidian/plugins/obsidian-enhancing-export/lua/polyfill.lua
diff options
context:
space:
mode:
Diffstat (limited to '.obsidian/plugins/obsidian-enhancing-export/lua/polyfill.lua')
-rwxr-xr-x.obsidian/plugins/obsidian-enhancing-export/lua/polyfill.lua61
1 files changed, 61 insertions, 0 deletions
diff --git a/.obsidian/plugins/obsidian-enhancing-export/lua/polyfill.lua b/.obsidian/plugins/obsidian-enhancing-export/lua/polyfill.lua
new file mode 100755
index 0000000..1e8f3e5
--- /dev/null
+++ b/.obsidian/plugins/obsidian-enhancing-export/lua/polyfill.lua
@@ -0,0 +1,61 @@
+os.platform = nil
+if os.platform == nil then
+ local libExt = package.cpath:match("%p[\\|/]?\\.%p(%a+)")
+ if libExt == 'dll' then
+ os.platform = "Windows"
+ elseif libExt == 'so' then
+ os.platform = "Linux"
+ elseif libExt == 'dylib' then
+ os.platform = "MacOS"
+ end
+end
+
+
+os.copy = function(src, dest)
+ if os.platform == "Windows" then
+ src = string.gsub(src, "/", "\\")
+ src = os.text.toencoding(src)
+ dest = os.text.toencoding(dest)
+ os.execute('copy "' .. src .. '" "' .. dest .. '" >NUL')
+ else
+ os.execute('cp "' .. src .. '" "' .. dest .. '"')
+ end
+end
+
+os.mkdir = function(dir)
+ if os.exists(dir) then
+ return
+ end
+ if os.platform == "Windows" then
+ dir = os.text.toencoding(dir)
+ os.execute('mkdir "' .. dir .. '"')
+ else
+ os.execute('mkdir -p "' .. dir .. '"')
+ end
+end
+
+os.exists = function(path)
+ if os.platform == "Windows" then
+ path = string.gsub(path, "/", "\\")
+ path = os.text.toencoding(path)
+ local _, _, code = os.execute('if exist "' .. path .. '" (exit 0) else (exit 1)')
+ return code == 0
+ else
+ local _, _, code = os.execute('test -e "' .. path .. '"')
+ return code == 0
+ end
+end
+
+string.starts_with = function(str, start)
+ return str:sub(1, #start) == start
+end
+
+string.ends_with = function(str, ending)
+ return ending == "" or str:sub(-#ending) == ending
+end
+
+
+return {
+ os = os,
+ string = string
+} \ No newline at end of file