mirror of
https://github.com/RubyMetric/chsrc
synced 2025-08-18 20:10:00 +08:00
fix pwsh path error (#250)
* add version * improve test actions * use XY_On_Windows --------- Co-authored-by: mikachu2333 <mikachu23333@zohomail.com>
This commit is contained in:
parent
41c449f4ac
commit
a3cf4fcc99
22
.github/workflows/PR-test.yml
vendored
22
.github/workflows/PR-test.yml
vendored
@ -5,7 +5,7 @@
|
||||
# | Mikachu2333 <mikachu2333@zohomail.com>
|
||||
# |
|
||||
# Created On : <2025-06-19>
|
||||
# Last Modified : <2025-08-07>
|
||||
# Last Modified : <2025-08-17>
|
||||
#
|
||||
# Test PR
|
||||
# ---------------------------------------------------------------
|
||||
@ -14,11 +14,15 @@ name: 测试PR
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened,
|
||||
synchronize, # 后续提交
|
||||
ready_for_review, # draft PR 转为正式 PR
|
||||
review_requested,
|
||||
reopened]
|
||||
# 仅在开 pr、草稿转正式、手动要求 review、reopen的时候运行测试
|
||||
types: [
|
||||
opened,
|
||||
# 因 synchronize 将导致 pr 的构建过于频繁而禁用
|
||||
# synchronize, # 在 pr 者 push commit 时每次构建
|
||||
ready_for_review, # draft PR 转为正式 PR
|
||||
review_requested,
|
||||
reopened,
|
||||
]
|
||||
paths:
|
||||
- "src/**"
|
||||
- "lib/**"
|
||||
@ -50,6 +54,12 @@ jobs:
|
||||
- name: 检出代码
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: 创建测试文件
|
||||
shell: powershell
|
||||
run: |
|
||||
New-Item -Path "$env:USERPROFILE\Documents\Powershell\Microsoft.PowerShell_profile.ps1" -ItemType File -Force
|
||||
New-Item -Path "$env:USERPROFILE\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1" -ItemType File -Force
|
||||
|
||||
- name: 安装依赖
|
||||
run: |
|
||||
choco install just
|
||||
|
51
lib/xy.h
51
lib/xy.h
@ -9,7 +9,7 @@
|
||||
* | Mikachu2333 <mikachu.23333@zohomail.com>
|
||||
* |
|
||||
* Created On : <2023-08-28>
|
||||
* Last Modified : <2025-08-09>
|
||||
* Last Modified : <2025-08-17>
|
||||
*
|
||||
* xy: 襄阳、咸阳
|
||||
* Corss-Platform C11 utilities for CLI applications in mixed
|
||||
@ -19,7 +19,7 @@
|
||||
#ifndef XY_H
|
||||
#define XY_H
|
||||
|
||||
#define _XY_Version "v0.1.5.5-2025/08/09"
|
||||
#define _XY_Version "v0.1.5.5-2025/08/17"
|
||||
#define _XY_Maintain_URL "https://github.com/RubyMetric/chsrc/blob/dev/lib/xy.h"
|
||||
#define _XY_Maintain_URL2 "https://gitee.com/RubyMetric/chsrc/blob/dev/lib/xy.h"
|
||||
|
||||
@ -66,6 +66,7 @@ bool xy_enable_color = true;
|
||||
#define xy_on_bsd false
|
||||
#define xy_os_devnull "nul"
|
||||
#include <windows.h>
|
||||
#include <shlobj.h>
|
||||
#define xy_useutf8() SetConsoleOutputCP (65001)
|
||||
|
||||
#elif defined(__linux__) || defined(__linux)
|
||||
@ -784,21 +785,55 @@ _xy_os_home ()
|
||||
return home;
|
||||
}
|
||||
|
||||
|
||||
static char *
|
||||
_xy_win_documents ()
|
||||
{
|
||||
#ifdef XY_On_Windows
|
||||
char documents_path[MAX_PATH];
|
||||
HRESULT result = SHGetFolderPathA (NULL, CSIDL_MYDOCUMENTS, NULL,
|
||||
SHGFP_TYPE_CURRENT, documents_path);
|
||||
|
||||
if (SUCCEEDED (result))
|
||||
return xy_strdup (documents_path);
|
||||
|
||||
return xy_2strjoin (xy_os_home, "\\Documents");
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
#define xy_win_powershell_profile _xy_win_powershell_profile ()
|
||||
#define xy_win_powershellv5_profile _xy_win_powershellv5_profile ()
|
||||
|
||||
// 更新 PowerShell 配置文件路径函数
|
||||
static char *
|
||||
_xy_win_powershell_profile ()
|
||||
{
|
||||
return xy_2strjoin (
|
||||
xy_os_home, "\\Documents\\PowerShell\\Microsoft.PowerShell_profile.ps1");
|
||||
if (xy_on_windows)
|
||||
{
|
||||
char *documents_dir = _xy_win_documents ();
|
||||
char *profile_path = xy_2strjoin (documents_dir, "\\PowerShell\\Microsoft.PowerShell_profile.ps1");
|
||||
free (documents_dir);
|
||||
return profile_path;
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *
|
||||
|
||||
static char *
|
||||
_xy_win_powershellv5_profile ()
|
||||
{
|
||||
return xy_2strjoin (
|
||||
xy_os_home,
|
||||
"\\Documents\\WindowsPowerShell\\Microsoft.PowerShell_profile.ps1");
|
||||
if (xy_on_windows)
|
||||
{
|
||||
char *documents_dir = _xy_win_documents ();
|
||||
char *profile_path = xy_2strjoin (documents_dir, "\\WindowsPowerShell\\Microsoft.PowerShell_profile.ps1");
|
||||
free (documents_dir);
|
||||
return profile_path;
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define xy_zshrc "~/.zshrc"
|
||||
|
@ -2,11 +2,12 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
* -------------------------------------------------------------
|
||||
* File Name : xy.c
|
||||
* File Authors : Aoran Zeng <ccmywish@qq.com>
|
||||
* Contributors : Nil Null <nil@null.org>
|
||||
* File Authors : Aoran Zeng <ccmywish@qq.com>
|
||||
* Contributors : Nil Null <nil@null.org>
|
||||
* | Mikachu2333 <mikachu.23333@zohomail.com>
|
||||
* |
|
||||
* Created On : <2023-08-30>
|
||||
* Last Modified : <2025-08-08>
|
||||
* Last Modified : <2025-08-11>
|
||||
*
|
||||
* Test xy.h
|
||||
* ------------------------------------------------------------*/
|
||||
@ -97,6 +98,8 @@ main (int argc, char const *argv[])
|
||||
assert (xy_dir_exist ("~"));
|
||||
if (xy_on_windows)
|
||||
{
|
||||
say (xy_win_powershell_profile);
|
||||
say (xy_win_powershellv5_profile);
|
||||
assert (xy_file_exist (xy_win_powershell_profile));
|
||||
assert (true == xy_file_exist (xy_win_powershellv5_profile));
|
||||
assert (xy_dir_exist ("C:\\Users"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user