mirror of
https://github.com/iDvel/rime-ice.git
synced 2026-05-14 00:30:37 +08:00
dict: 日常更新 #666
This commit is contained in:
30
others/script/rime/dir_mac.go
Normal file
30
others/script/rime/dir_mac.go
Normal file
@@ -0,0 +1,30 @@
|
||||
//go:build darwin
|
||||
// +build darwin
|
||||
|
||||
package rime
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os/user"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// 获取 macOS/Windows Rime 配置目录
|
||||
func getRimeDir() string {
|
||||
var dir string
|
||||
switch runtime.GOOS {
|
||||
case "darwin": // macOS
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
dir = filepath.Join(u.HomeDir, "Library/Rime")
|
||||
// case "windows": // Windows
|
||||
// dir = getWeaselDir()
|
||||
default:
|
||||
log.Fatalf("Unsupported OS: %s so far", runtime.GOOS)
|
||||
}
|
||||
|
||||
return dir
|
||||
}
|
||||
63
others/script/rime/dir_windows.go
Normal file
63
others/script/rime/dir_windows.go
Normal file
@@ -0,0 +1,63 @@
|
||||
//go:build windows
|
||||
// +build windows
|
||||
|
||||
package rime
|
||||
|
||||
import (
|
||||
"golang.org/x/sys/windows/registry"
|
||||
"log"
|
||||
"os"
|
||||
"os/user"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// 获取 macOS/Windows Rime 配置目录
|
||||
func getRimeDir() string {
|
||||
var dir string
|
||||
switch runtime.GOOS {
|
||||
case "darwin": // macOS
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
dir = filepath.Join(u.HomeDir, "Library/Rime")
|
||||
case "windows": // Windows
|
||||
dir = getWeaselDir()
|
||||
default:
|
||||
log.Fatalf("Unsupported OS: %s so far", runtime.GOOS)
|
||||
}
|
||||
|
||||
return dir
|
||||
}
|
||||
|
||||
func getWeaselDir() string {
|
||||
keyPath := `Software\Rime\Weasel`
|
||||
valueName := "RimeUserDir"
|
||||
|
||||
// Get from Windows registry
|
||||
k, err := registry.OpenKey(registry.CURRENT_USER, keyPath, registry.QUERY_VALUE)
|
||||
if err != nil {
|
||||
log.Printf("Failed to open registry key: %v\n", err)
|
||||
// Fallback to default dir
|
||||
return getDefaultWeaselDir()
|
||||
}
|
||||
defer k.Close()
|
||||
|
||||
rimeUserDir, _, err := k.GetStringValue(valueName)
|
||||
if err != nil {
|
||||
log.Printf("Failed to read registry value: %v\n", err)
|
||||
// Fallback to default dir
|
||||
return getDefaultWeaselDir()
|
||||
}
|
||||
|
||||
return rimeUserDir
|
||||
}
|
||||
|
||||
func getDefaultWeaselDir() string {
|
||||
appData := os.Getenv("APPDATA") // AppData\Roaming
|
||||
if appData == "" {
|
||||
log.Fatalln("APPDATA environment variable is not set.")
|
||||
}
|
||||
return filepath.Join(appData, "Rime")
|
||||
}
|
||||
@@ -4,13 +4,10 @@ import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
mapset "github.com/deckarep/golang-set/v2"
|
||||
"golang.org/x/sys/windows/registry"
|
||||
"log"
|
||||
"os"
|
||||
"os/user"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -45,56 +42,6 @@ var (
|
||||
汉字拼音映射TXT = filepath.Join(RimeDir, "others/script/rime/汉字拼音映射.txt")
|
||||
)
|
||||
|
||||
// 获取 macOS/Windows Rime 配置目录
|
||||
func getRimeDir() string {
|
||||
var dir string
|
||||
switch runtime.GOOS {
|
||||
case "darwin": // macOS
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
dir = filepath.Join(u.HomeDir, "Library/Rime")
|
||||
case "windows": // Windows
|
||||
dir = getWeaselDir()
|
||||
default:
|
||||
log.Fatalf("Unsupported OS: %s so far", runtime.GOOS)
|
||||
}
|
||||
|
||||
return dir
|
||||
}
|
||||
|
||||
func getWeaselDir() string {
|
||||
keyPath := `Software\Rime\Weasel`
|
||||
valueName := "RimeUserDir"
|
||||
|
||||
// Get from Windows registry
|
||||
k, err := registry.OpenKey(registry.CURRENT_USER, keyPath, registry.QUERY_VALUE)
|
||||
if err != nil {
|
||||
log.Printf("Failed to open registry key: %v\n", err)
|
||||
// Fallback to default dir
|
||||
return getDefaultWeaselDir()
|
||||
}
|
||||
defer k.Close()
|
||||
|
||||
rimeUserDir, _, err := k.GetStringValue(valueName)
|
||||
if err != nil {
|
||||
log.Printf("Failed to read registry value: %v\n", err)
|
||||
// Fallback to default dir
|
||||
return getDefaultWeaselDir()
|
||||
}
|
||||
|
||||
return rimeUserDir
|
||||
}
|
||||
|
||||
func getDefaultWeaselDir() string {
|
||||
appData := os.Getenv("APPDATA") // AppData\Roaming
|
||||
if appData == "" {
|
||||
log.Fatalln("APPDATA environment variable is not set.")
|
||||
}
|
||||
return filepath.Join(appData, "Rime")
|
||||
}
|
||||
|
||||
// 将所有词库读入 set,供检查或排序使用
|
||||
func readToSet(dictPath string) mapset.Set[string] {
|
||||
set := mapset.NewSet[string]()
|
||||
|
||||
@@ -532,6 +532,11 @@
|
||||
安徽省六安市
|
||||
安徽六安
|
||||
安徽六安市
|
||||
六合
|
||||
六合区
|
||||
南京六合
|
||||
南京六合区
|
||||
南京市六合区
|
||||
穋尔氏朴丽鱼
|
||||
猸子
|
||||
艋舺
|
||||
|
||||
@@ -1,4 +1,14 @@
|
||||
# 在 # -_- 上面是错词;下面是包含错词但不是错词。
|
||||
记忆绵
|
||||
划的来
|
||||
轮理
|
||||
论理片
|
||||
论理电影
|
||||
做爰
|
||||
伦锂
|
||||
希伯莱
|
||||
伯莱雅
|
||||
德克萨斯
|
||||
湿渌渌
|
||||
湿露露
|
||||
熙壤
|
||||
@@ -3915,3 +3925,5 @@
|
||||
原素材
|
||||
登建康赏心亭
|
||||
既便宜又好
|
||||
外轮理货
|
||||
脉轮理论
|
||||
|
||||
Reference in New Issue
Block a user