From 011e0c612e110796dec0255e60a0724919f98113 Mon Sep 17 00:00:00 2001 From: Daiki Noda Date: Thu, 14 Dec 2023 01:57:16 +0900 Subject: [PATCH 1/4] fix: fix wrong formats --- src/envpaths/EnvPaths.hx | 37 +++++++++++++++---------------------- test/Demo.hx | 4 ++-- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/src/envpaths/EnvPaths.hx b/src/envpaths/EnvPaths.hx index 2b983fa..7ad11cf 100644 --- a/src/envpaths/EnvPaths.hx +++ b/src/envpaths/EnvPaths.hx @@ -1,23 +1,21 @@ package envpaths; import haxe.io.Path; -//import haxe.io.*; import Sys; typedef Envpath = { - home: String, - data: String, - config: String, - cache: String, - log: String, - temp: String, + home:String, + data:String, + config:String, + cache:String, + log:String, + temp:String, } -final macos: String -> Envpath = name -> { +final macos:String->Envpath = name -> { final homedir = Sys.getEnv('HOME'); final tmpdir = Sys.getEnv('TMPDIR'); final library = Path.join([homedir, 'Library']); - return { home: homedir, data: Path.join([library, 'Application Support', name]), @@ -33,7 +31,6 @@ final windows = name -> { final tmpdir = Sys.getEnv('TEMP'); final appData = Sys.getEnv('APPDATA') ?? Path.join([homedir, 'AppData', 'Roaming']); final localAppData = Sys.getEnv('LOCALAPPDATA') ?? Path.join([homedir, 'AppData', 'Local']); - return { // Data/config/cache/log are invented by me as Windows isn't opinionated about this home: homedir, @@ -50,7 +47,6 @@ final linux = name -> { final homedir = Sys.getEnv('HOME'); final username = Path.withoutDirectory(homedir); final tmpdir = Sys.getEnv("TMPDIR") ?? Sys.getEnv("TMP") ?? "/tmp"; - return { home: homedir, data: Path.join(linuxPathHelper("XDG_DATA_HOME", [homedir, '.local', 'share'], name)), @@ -62,28 +58,25 @@ final linux = name -> { }; }; -final linuxPathHelper: String -> Array -> String -> Array = (env, path, name) -> { - final xdgPath = Sys.getEnv(env); - if (Std.isOfType(xdgPath, String)){ - return [xdgPath, name]; - } else { - return path.concat([name]); - } +final linuxPathHelper:String->Array->String->Array = (env, path, name) -> { + final xdgPath = Sys.getEnv(env); + if (Std.isOfType(xdgPath, String)) { + return [xdgPath, name]; + } else { + return path.concat([name]); + } } -function envPaths(name: String, ?suffix: String) { +final envPaths = (name:String, ?suffix:String) -> { if (Std.isOfType(suffix, String) && suffix != "") { // Add suffix to prevent possible conflict with native apps name += "-${suffix}"; } - if (Sys.systemName() == 'Mac') { return macos(name); } - if (Sys.systemName() == 'Windows') { return windows(name); } - return linux(name); // BSD is like Linux. } diff --git a/test/Demo.hx b/test/Demo.hx index 03d2fa9..37f4aee 100644 --- a/test/Demo.hx +++ b/test/Demo.hx @@ -1,5 +1,5 @@ import envpaths.EnvPaths; -function main(){ - trace(envPaths("")); +final main = () -> { + trace(envPaths("")); } From ee1d751bd70cb6d75598c9612cf7cbe952933244 Mon Sep 17 00:00:00 2001 From: Daiki Noda Date: Thu, 14 Dec 2023 02:03:59 +0900 Subject: [PATCH 2/4] if to switch --- src/envpaths/EnvPaths.hx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/envpaths/EnvPaths.hx b/src/envpaths/EnvPaths.hx index 7ad11cf..455d536 100644 --- a/src/envpaths/EnvPaths.hx +++ b/src/envpaths/EnvPaths.hx @@ -72,11 +72,13 @@ final envPaths = (name:String, ?suffix:String) -> { // Add suffix to prevent possible conflict with native apps name += "-${suffix}"; } - if (Sys.systemName() == 'Mac') { - return macos(name); + switch (Sys.systemName()) { + case "Mac": + return macos(name); + case "Windows": + return windows(name); + default: + // BSD is like Linux + return linux(name); } - if (Sys.systemName() == 'Windows') { - return windows(name); - } - return linux(name); // BSD is like Linux. } From 42a49a8f057b8a4d9587f1296cd81c5228fd9014 Mon Sep 17 00:00:00 2001 From: Daiki Noda Date: Thu, 14 Dec 2023 22:32:04 +0900 Subject: [PATCH 3/4] misc --- src/envpaths/EnvPaths.hx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/envpaths/EnvPaths.hx b/src/envpaths/EnvPaths.hx index 455d536..cc1e807 100644 --- a/src/envpaths/EnvPaths.hx +++ b/src/envpaths/EnvPaths.hx @@ -12,7 +12,9 @@ typedef Envpath = { temp:String, } -final macos:String->Envpath = name -> { +typedef GetEnvPath = String->Envpath + +final macos: GetEnvPath = name -> { final homedir = Sys.getEnv('HOME'); final tmpdir = Sys.getEnv('TMPDIR'); final library = Path.join([homedir, 'Library']); @@ -26,7 +28,7 @@ final macos:String->Envpath = name -> { }; }; -final windows = name -> { +final windows: GetEnvPath = name -> { final homedir = Sys.getEnv('USERPROFILE'); final tmpdir = Sys.getEnv('TEMP'); final appData = Sys.getEnv('APPDATA') ?? Path.join([homedir, 'AppData', 'Roaming']); @@ -43,7 +45,7 @@ final windows = name -> { }; // https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html -final linux = name -> { +final linux: GetEnvPath= name -> { final homedir = Sys.getEnv('HOME'); final username = Path.withoutDirectory(homedir); final tmpdir = Sys.getEnv("TMPDIR") ?? Sys.getEnv("TMP") ?? "/tmp"; @@ -58,16 +60,16 @@ final linux = name -> { }; }; -final linuxPathHelper:String->Array->String->Array = (env, path, name) -> { +private final linuxPathHelper = (env: String, path:Array, name: String) -> ({ final xdgPath = Sys.getEnv(env); if (Std.isOfType(xdgPath, String)) { return [xdgPath, name]; } else { return path.concat([name]); } -} +} : Array); -final envPaths = (name:String, ?suffix:String) -> { +final envPaths = (name:String, ?suffix:String) -> ({ if (Std.isOfType(suffix, String) && suffix != "") { // Add suffix to prevent possible conflict with native apps name += "-${suffix}"; @@ -77,8 +79,8 @@ final envPaths = (name:String, ?suffix:String) -> { return macos(name); case "Windows": return windows(name); - default: + case _: // BSD is like Linux return linux(name); } -} +} : Envpath ); From 84cadb90bad02cd8e3dcbd6157c48d940ba7d356 Mon Sep 17 00:00:00 2001 From: Daiki Noda Date: Sun, 28 Apr 2024 19:35:40 +0900 Subject: [PATCH 4/4] cleanup hxml --- test.hxml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/test.hxml b/test.hxml index 9ebe737..de83420 100644 --- a/test.hxml +++ b/test.hxml @@ -1,11 +1,3 @@ -# -cp src -# -cp test -# -lib buddy -# -main envpaths.EnvPaths -# --interp -# -# --next - -cp src -cp test -lib buddy