Provide windows support for new feature
This commit is contained in:
parent
5c4092ff32
commit
d076e6b855
3 changed files with 32 additions and 9 deletions
26
Makefile
26
Makefile
|
@ -4,18 +4,36 @@ build: src/kanji_search.rs src/main.rs src/sentence_search.rs src/util.rs src/wo
|
|||
release: src/kanji_search.rs src/main.rs src/sentence_search.rs src/util.rs src/word_search.rs
|
||||
cargo build --release
|
||||
|
||||
clean:
|
||||
rm -r target/debug/
|
||||
rm -r target/release/
|
||||
clean:
|
||||
ifeq ($(OS),Windows_NT)
|
||||
powershell "if (Test-Path .\target\debug) { rm -r .\target\debug };\
|
||||
if (Test-Path .\target\release) { rm -r .\target\release }"
|
||||
else
|
||||
rm -rf target/debug/
|
||||
rm -rf target/release/
|
||||
endif
|
||||
|
||||
install: target/release/ykdt
|
||||
install: target/release/ykdt*
|
||||
ifeq ($(OS),Windows_NT)
|
||||
powershell "if (-Not (Test-Path $(DESTDIR)\"C:\Program Files\ykdt\")) { mkdir $(DESTDIR)\"C:\Program Files\ykdt\" };\
|
||||
[Environment]::SetEnvironmentVariable(\"Path\", $$env:Path + \";C:\Program Files\ykdt\", \"Machine\");\
|
||||
cp target\release\ykdt.exe $(DESTDIR)\"C:\Program Files\ykdt\";\
|
||||
cp kanji_strokes $(DESTDIR)\"C:\Program Files\ykdt\""
|
||||
else
|
||||
mkdir -p $(DESTDIR)/usr/bin
|
||||
mkdir -p $(DESTDIR)/usr/local/share/ykdt
|
||||
cp target/release/ykdt $(DESTDIR)/usr/bin
|
||||
cp kanji_strokes $(DESTDIR)/usr/local/share/ykdt
|
||||
endif
|
||||
|
||||
uninstall:
|
||||
ifeq ($(OS),Windows_NT)
|
||||
powershell $$path = "([System.Environment]::GetEnvironmentVariable(\"PATH\", \"Machine\").Split(\";\") | Where-Object { $$_ -ne \"C:\Program Files\ykdt\" }) -join \";\";\
|
||||
[System.Environment]::SetEnvironmentVariable(\"PATH\",$$path,\"Machine\");\
|
||||
if (Test-Path $(DESTDIR)\"C:\Program Files\ykdt\") { rm -r $(DESTDIR)\"C:\Program Files\ykdt\" }"
|
||||
else
|
||||
rm $(DESTDIR)/usr/bin/ykdt
|
||||
rm -r $(DESTDIR)/usr/local/share/ykdt
|
||||
endif
|
||||
|
||||
.PHONY: build release install uninstall clean
|
||||
|
|
|
@ -148,10 +148,15 @@ fn search_by_strokes(query: &mut String, radk_list: &[radk::Membership], n: usiz
|
|||
}
|
||||
|
||||
pub fn get_stroke_info() -> Result<Vec<String>, std::io::Error> {
|
||||
#[allow(deprecated)]
|
||||
let file = fs::read_to_string("/usr/local/share/ykdt/kanji_strokes")?;
|
||||
|
||||
let file: String;
|
||||
#[cfg(unix)]
|
||||
{
|
||||
file = fs::read_to_string("/usr/local/share/ykdt/kanji_strokes")?;
|
||||
}
|
||||
#[cfg(windows)]
|
||||
{
|
||||
file = fs::read_to_string("C:\\Program Files\\ykdt\\kanji_strokes")?;
|
||||
}
|
||||
let stroke_info: Vec<String> = Vec::from_iter(file.split('\n').map(|s| s.to_owned()));
|
||||
|
||||
Ok(stroke_info)
|
||||
}
|
||||
|
|
|
@ -285,7 +285,7 @@ fn get_radkfile_path() -> Option<PathBuf> {
|
|||
None => {
|
||||
unsafe {
|
||||
let mut path: Vec<u16> = Vec::with_capacity(MAX_PATH as usize);
|
||||
match SHGetFolderPathW(0, CSIDL_PROFILE as i32, 0, 0, path.as_mut_ptr()) {
|
||||
match SHGetFolderPathW(std::ptr::null_mut(), CSIDL_PROFILE as i32, std::ptr::null_mut(), 0, path.as_mut_ptr()) {
|
||||
S_OK => {
|
||||
let len = wcslen(path.as_ptr());
|
||||
path.set_len(len);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue