update dotfiles

This commit is contained in:
2026-07-08 23:01:50 +08:00
parent 1577638614
commit b4010fe910
17 changed files with 416 additions and 229 deletions
+3
View File
@@ -4,6 +4,9 @@
*.backup.*
*.backup[0-9]*
# 日志文件
*.log
# fcitx5 运行时缓存
fcitx5/conf/cached_layouts
+80 -80
View File
@@ -1,54 +1,54 @@
@media -moz-pref("userChrome.theme-material") {
:root {
--md-sys-color-primary: #1976d2;
--md-sys-color-surface-tint: #1976d2;
--md-sys-color-primary: #34618e;
--md-sys-color-surface-tint: #34618e;
--md-sys-color-on-primary: #ffffff;
--md-sys-color-primary-container: #e3f2fd;
--md-sys-color-on-primary-container: #181c20;
--md-sys-color-secondary: #42a5f5;
--md-sys-color-primary-container: #d1e4ff;
--md-sys-color-on-primary-container: #001d35;
--md-sys-color-secondary: #535f70;
--md-sys-color-on-secondary: #ffffff;
--md-sys-color-secondary-container: #e6e8ee;
--md-sys-color-on-secondary-container: #181c20;
--md-sys-color-tertiary: #42a5f5;
--md-sys-color-secondary-container: #d6e4f7;
--md-sys-color-on-secondary-container: #0f1c2b;
--md-sys-color-tertiary: #6a5779;
--md-sys-color-on-tertiary: #ffffff;
--md-sys-color-tertiary-container: #e6e8ee;
--md-sys-color-on-tertiary-container: #181c20;
--md-sys-color-error: #b3261e;
--md-sys-color-tertiary-container: #f1daff;
--md-sys-color-on-tertiary-container: #241432;
--md-sys-color-error: #ba1a1a;
--md-sys-color-on-error: #ffffff;
--md-sys-color-error-container: #f9dedc;
--md-sys-color-on-error-container: #410e0b;
--md-sys-color-background: #f7f9ff;
--md-sys-color-on-background: #181c20;
--md-sys-color-surface: #f7f9ff;
--md-sys-color-on-surface: #181c20;
--md-sys-color-surface-variant: #dee3eb;
--md-sys-color-error-container: #ffdad6;
--md-sys-color-on-error-container: #410002;
--md-sys-color-background: #f8f9ff;
--md-sys-color-on-background: #191c20;
--md-sys-color-surface: #f8f9ff;
--md-sys-color-on-surface: #191c20;
--md-sys-color-surface-variant: #dfe3eb;
--md-sys-color-on-surface-variant: #42474e;
--md-sys-color-outline: #72777f;
--md-sys-color-outline-variant: #dee3eb;
--md-sys-color-outline: #73777f;
--md-sys-color-outline-variant: #c3c7cf;
--md-sys-color-shadow: #000000;
--md-sys-color-scrim: #000000;
--md-sys-color-inverse-surface: #101418;
--md-sys-color-inverse-on-surface: #e0e2e8;
--md-sys-color-inverse-primary: #42a5f5;
--md-sys-color-primary-fixed: #e3f2fd;
--md-sys-color-on-primary-fixed: #ffffff;
--md-sys-color-primary-fixed-dim: #1976d2;
--md-sys-color-on-primary-fixed-variant: #ffffff;
--md-sys-color-secondary-fixed: #42a5f5;
--md-sys-color-on-secondary-fixed: #ffffff;
--md-sys-color-secondary-fixed-dim: #42a5f5;
--md-sys-color-on-secondary-fixed-variant: #ffffff;
--md-sys-color-tertiary-fixed: #42a5f5;
--md-sys-color-on-tertiary-fixed: #ffffff;
--md-sys-color-tertiary-fixed-dim: #42a5f5;
--md-sys-color-on-tertiary-fixed-variant: #ffffff;
--md-sys-color-surface-dim: #eceef4;
--md-sys-color-surface-bright: #f7f9ff;
--md-sys-color-surface-container-lowest: #f7f9ff;
--md-sys-color-surface-container-low: #f7f9ff;
--md-sys-color-surface-container: #f7f9ff;
--md-sys-color-surface-container-high: #f7f9ff;
--md-sys-color-surface-container-highest: #f7f9ff;
--md-sys-color-inverse-surface: #2e3135;
--md-sys-color-inverse-on-surface: #eff0f7;
--md-sys-color-inverse-primary: #9fcafc;
--md-sys-color-primary-fixed: #d1e4ff;
--md-sys-color-on-primary-fixed: #001d35;
--md-sys-color-primary-fixed-dim: #9fcafc;
--md-sys-color-on-primary-fixed-variant: #174974;
--md-sys-color-secondary-fixed: #d6e4f7;
--md-sys-color-on-secondary-fixed: #0f1c2b;
--md-sys-color-secondary-fixed-dim: #bac8db;
--md-sys-color-on-secondary-fixed-variant: #3b4858;
--md-sys-color-tertiary-fixed: #f1daff;
--md-sys-color-on-tertiary-fixed: #241432;
--md-sys-color-tertiary-fixed-dim: #d6bee5;
--md-sys-color-on-tertiary-fixed-variant: #524060;
--md-sys-color-surface-dim: #d8dae0;
--md-sys-color-surface-bright: #f8f9ff;
--md-sys-color-surface-container-lowest: #ffffff;
--md-sys-color-surface-container-low: #f2f3f9;
--md-sys-color-surface-container: #f8f9ff;
--md-sys-color-surface-container-high: #f8f9ff;
--md-sys-color-surface-container-highest: #f8f9ff;
--m3-radius: 12px;
--m3-radius-sm: 10px;
@@ -68,52 +68,52 @@
@media (prefers-color-scheme: dark) {
:root {
--md-sys-color-primary: #42a5f5;
--md-sys-color-surface-tint: #42a5f5;
--md-sys-color-on-primary: #000000;
--md-sys-color-primary-container: #0d47a1;
--md-sys-color-on-primary-container: #e0e2e8;
--md-sys-color-secondary: #8ab4f8;
--md-sys-color-on-secondary: #000000;
--md-sys-color-secondary-container: #272a2f;
--md-sys-color-on-secondary-container: #e0e2e8;
--md-sys-color-tertiary: #8ab4f8;
--md-sys-color-on-tertiary: #000000;
--md-sys-color-tertiary-container: #272a2f;
--md-sys-color-on-tertiary-container: #e0e2e8;
--md-sys-color-error: #f2b8b5;
--md-sys-color-on-error: #601410;
--md-sys-color-error-container: #8c1d18;
--md-sys-color-on-error-container: #f9dedc;
--md-sys-color-primary: #9fcafc;
--md-sys-color-surface-tint: #9fcafc;
--md-sys-color-on-primary: #003257;
--md-sys-color-primary-container: #174974;
--md-sys-color-on-primary-container: #d1e4ff;
--md-sys-color-secondary: #bac8db;
--md-sys-color-on-secondary: #253140;
--md-sys-color-secondary-container: #3b4858;
--md-sys-color-on-secondary-container: #d6e4f7;
--md-sys-color-tertiary: #d6bee5;
--md-sys-color-on-tertiary: #3a2948;
--md-sys-color-tertiary-container: #524060;
--md-sys-color-on-tertiary-container: #f1daff;
--md-sys-color-error: #ffb4ab;
--md-sys-color-on-error: #690005;
--md-sys-color-error-container: #93000a;
--md-sys-color-on-error-container: #ffdad6;
--md-sys-color-background: #101418;
--md-sys-color-on-background: #e0e2e8;
--md-sys-color-on-background: #e1e2e8;
--md-sys-color-surface: #101418;
--md-sys-color-on-surface: #e0e2e8;
--md-sys-color-on-surface: #e1e2e8;
--md-sys-color-surface-variant: #42474e;
--md-sys-color-on-surface-variant: #c2c7cf;
--md-sys-color-on-surface-variant: #c3c7cf;
--md-sys-color-outline: #8c9199;
--md-sys-color-outline-variant: #42474e;
--md-sys-color-shadow: #000000;
--md-sys-color-scrim: #000000;
--md-sys-color-inverse-surface: #f7f9ff;
--md-sys-color-inverse-on-surface: #181c20;
--md-sys-color-inverse-primary: #1976d2;
--md-sys-color-primary-fixed: #0d47a1;
--md-sys-color-on-primary-fixed: #000000;
--md-sys-color-primary-fixed-dim: #42a5f5;
--md-sys-color-on-primary-fixed-variant: #000000;
--md-sys-color-secondary-fixed: #8ab4f8;
--md-sys-color-on-secondary-fixed: #000000;
--md-sys-color-secondary-fixed-dim: #8ab4f8;
--md-sys-color-on-secondary-fixed-variant: #000000;
--md-sys-color-tertiary-fixed: #8ab4f8;
--md-sys-color-on-tertiary-fixed: #000000;
--md-sys-color-tertiary-fixed-dim: #8ab4f8;
--md-sys-color-on-tertiary-fixed-variant: #000000;
--md-sys-color-inverse-surface: #e1e2e8;
--md-sys-color-inverse-on-surface: #2e3135;
--md-sys-color-inverse-primary: #34618e;
--md-sys-color-primary-fixed: #d1e4ff;
--md-sys-color-on-primary-fixed: #001d35;
--md-sys-color-primary-fixed-dim: #9fcafc;
--md-sys-color-on-primary-fixed-variant: #174974;
--md-sys-color-secondary-fixed: #d6e4f7;
--md-sys-color-on-secondary-fixed: #0f1c2b;
--md-sys-color-secondary-fixed-dim: #bac8db;
--md-sys-color-on-secondary-fixed-variant: #3b4858;
--md-sys-color-tertiary-fixed: #f1daff;
--md-sys-color-on-tertiary-fixed: #241432;
--md-sys-color-tertiary-fixed-dim: #d6bee5;
--md-sys-color-on-tertiary-fixed-variant: #524060;
--md-sys-color-surface-dim: #101418;
--md-sys-color-surface-bright: #32353a;
--md-sys-color-surface-container-lowest: #101418;
--md-sys-color-surface-container-low: #101418;
--md-sys-color-surface-bright: #36393e;
--md-sys-color-surface-container-lowest: #0b0e13;
--md-sys-color-surface-container-low: #191c20;
--md-sys-color-surface-container: #1d2024;
--md-sys-color-surface-container-high: #272a2f;
--md-sys-color-surface-container-highest: #32353a;
+3 -3
View File
@@ -240,7 +240,7 @@
"dankLauncherV2UnloadOnClose": true,
"useAutoLocation": true,
"weatherEnabled": true,
"networkPreference": "auto",
"networkPreference": "wifi",
"iconTheme": "System Default",
"cursorSettings": {
"theme": "breeze_cursors",
@@ -338,7 +338,7 @@
"dockAutoHide": false,
"dockSmartAutoHide": true,
"dockGroupByApp": false,
"dockOpenOnOverview": true,
"dockOpenOnOverview": false,
"dockPosition": 1,
"dockSpacing": 4,
"dockBottomGap": 0,
@@ -510,7 +510,7 @@
"spacing": 4,
"innerPadding": -2,
"bottomGap": 0,
"transparency": 1,
"transparency": 0.76,
"widgetTransparency": 1,
"squareCorners": false,
"noBackground": false,
+12
View File
@@ -0,0 +1,12 @@
# 转换引擎
Engine=OpenCC
# 启用的输入法
EnabledIM=
# 简转繁的 OpenCC 配置
OpenCCS2TProfile=default
# 繁转简的 OpenCC 配置
OpenCCT2SProfile=default
[Hotkey]
0=Control+Shift+F
+153
View File
@@ -0,0 +1,153 @@
# 双拼方案
ShuangpinProfile=Ziranma
# 显示当前双拼模式
ShowShuangpinMode=True
# 每页候选词
PageSize=7
# 显示英文候选词
SpellEnabled=True
# 显示符号候选词
SymbolsEnabled=True
# 显示拆字候选词
ChaiziEnabled=True
# 启用 Unicode CJK 拓展区 B 之后的更多字符
ExtBEnabled=True
# 输入 h(横)s(竖)p(撇),n(捺),z(折) 时显示笔画候选词
StrokeCandidateEnabled=True
# 启用云拼音
CloudPinyinEnabled=False
# 云拼音候选词顺序
CloudPinyinIndex=2
# 加载云拼音的时候显示动画
CloudPinyinAnimation=True
# 总是显示云拼音的占位符
KeepCloudPinyinPlaceHolder=False
# 预编辑模式
PreeditMode="Composing pinyin"
# 将嵌入预编辑文本的光标固定在开头
PreeditCursorPositionAtBeginning=True
# 在预编辑中显示完整拼音
PinyinInPreedit=False
# 启用预测
Prediction=False
# 为下次输入预测保留当前输入的文本
KeepCurrentContext=True
# 预测数量
PredictionSize=49
# 预测时退格键的行为
BackspaceBehaviorOnPrediction="Backspace when not using on-screen keyboard"
# 切换输入法时的行为
SwitchInputMethodBehavior="Commit current preedit"
# 选择第二个候选词
SecondCandidate=
# 选择第三个候选词
ThirdCandidate=
# 使用数字键盘选词
UseKeypadAsSelection=False
# 选词末字
ChooseLastCharFromPhrase=bracketright
# 使用退格键取消选词
BackSpaceToUnselect=True
# 句子数量
Number of sentence=2
# 词组候选词数
WordCandidateLimit=15
# 输入长于...时提示长词 (设置为 0 时禁用)
LongWordLengthLimit=4
# 快速输入的触发键
QuickPhraseKey=semicolon
# 使用 V 来触发快速输入
VAsQuickphrase=True
# FirstRun
FirstRun=False
[ForgetWord]
0=Control+7
[PrevPage]
0=minus
1=Up
2=KP_Up
3=Page_Up
[NextPage]
0=equal
1=Down
2=KP_Down
3=Next
[PrevCandidate]
0=Shift+Tab
[NextCandidate]
0=Tab
[CurrentCandidate]
0=space
1=KP_Space
[CommitRawInput]
0=Return
1=KP_Enter
2=Control+Return
3=Control+KP_Enter
4=Shift+Return
5=Shift+KP_Enter
6=Control+Shift+Return
7=Control+Shift+KP_Enter
[ChooseCharFromPhrase]
0=bracketleft
[FilterByStroke]
0=grave
[QuickPhraseTriggerRegex]
0=.(/|@)$
1="^(www|bbs|forum|mail|bbs)\\."
2=^(http|https|ftp|telnet|mailto):
[Fuzzy]
# ue -> ve
VE_UE=True
# 常见错误
NG_GN=True
# 小写时匹配字母
LowerCaseMatchLetter=True
# 内模糊音节 (xian -> xi'an)
Inner=True
# 短拼音的内模糊音节 (qie -> qi'e)
InnerShort=True
# 匹配不完整的元音 (e -> en, eng, ei)
PartialFinal=True
# 输入长度大于 4 时进行部分双拼匹配
PartialSp=False
# u <-> v
V_U=False
# an <-> ang
AN_ANG=False
# en <-> eng
EN_ENG=False
# ian <-> iang
IAN_IANG=False
# in <-> ing
IN_ING=False
# u <-> ou
U_OU=False
# uan <-> uang
UAN_UANG=False
# c <-> ch
C_CH=False
# f <-> h
F_H=False
# l <-> n
L_N=False
# l <-> r
L_R=False
# s <-> sh
S_SH=False
# z <-> zh
Z_ZH=False
# 纠错布局
Correction=None
+10
View File
@@ -0,0 +1,10 @@
# 字母或者数字之后输入半角标点
HalfWidthPuncAfterLetterOrNumber=True
# 同时输入成对标点 (例如引号)
TypePairedPunctuationsTogether=False
# Enabled
Enabled=True
[Hotkey]
0=Control+period
+19 -19
View File
@@ -1,13 +1,13 @@
[Hotkey]
# Enumerate when holding modifier of Toggle key
# 按住切换键的修饰键时进行轮换切换
EnumerateWithTriggerKeys=True
# Enumerate Input Method Forward
# 向前切换输入法
EnumerateForwardKeys=
# Enumerate Input Method Backward
# 向后切换输入法
EnumerateBackwardKeys=
# Skip first input method while enumerating
# 轮换输入法时跳过第一个输入法
EnumerateSkipFirst=False
# Time limit in milliseconds for triggering modifier key shortcuts
# 触发修饰键快捷键的时限 (毫秒)
ModifierOnlyKeyTimeout=250
[Hotkey/TriggerKeys]
@@ -46,27 +46,27 @@ ModifierOnlyKeyTimeout=250
0=Control+Alt+P
[Behavior]
# Activate input method by default
# 默认激活输入法
ActiveByDefault=False
# Reset state on Focus In
# 重新聚焦时重置状态
resetStateWhenFocusIn=No
# Share Input State
# 共享输入状态
ShareInputState=No
# Show preedit in application
# 在程序中显示预编辑文本
PreeditEnabledByDefault=True
# Show Input Method Information when switch input method
# 切换输入法时显示输入法信息
ShowInputMethodInformation=True
# Show Input Method Information when changing focus
# 在焦点更改时显示输入法信息
showInputMethodInformationWhenFocusIn=False
# Show compact input method information
# 显示紧凑的输入法信息
CompactInputMethodInformation=True
# Show first input method information
# 显示第一个输入法的信息
ShowFirstInputMethodInformation=True
# Default Candidates per page
# 缺省每页候选词
DefaultPageSize=5
# Override XKB Option
# 覆盖 XKB 选项
OverrideXkbOption=False
# Custom XKB Option
# 自定义 XKB 选项
CustomXkbOption=
# Force Enabled Addons
EnabledAddons=
@@ -74,10 +74,10 @@ EnabledAddons=
DisabledAddons=
# Preload input method to be used by default
PreloadInputMethod=True
# Allow input method in the password field
# 允许在密码框中使用输入法
AllowInputMethodForPassword=False
# Show preedit text when typing password
# 输入密码时显示预编辑文本
ShowPreeditForPassword=False
# Interval of saving user data in minutes
# 保存用户数据的时间间隔(以分钟为单位)
AutoSavePeriod=30
+2 -2
View File
@@ -4,7 +4,7 @@ Name=Default
# Layout
Default Layout=us
# Default Input Method
DefaultIM=rime
DefaultIM=pinyin
[Groups/0/Items/0]
# Name
@@ -14,7 +14,7 @@ Layout=
[Groups/0/Items/1]
# Name
Name=rime
Name=pinyin
# Layout
Layout=
+15 -15
View File
@@ -6,36 +6,36 @@
/* via thairanaru on GitHub: */
/* Destructive colors are basically error colors */
@define-color destructive_bg_color #f2b8b5;
@define-color destructive_fg_color #601410;
@define-color destructive_bg_color #ffb4ab;
@define-color destructive_fg_color #690005;
/* Follow material spec */
@define-color error_bg_color #f2b8b5;
@define-color error_fg_color #601410;
@define-color error_bg_color #ffb4ab;
@define-color error_fg_color #690005;
/* Follow material spec (also I think looks nicer) */
@define-color accent_fg_color #000000;
@define-color accent_bg_color #42a5f5;
@define-color accent_fg_color #003257;
@define-color accent_bg_color #9fcafc;
/* Use surface instead of background */
@define-color window_bg_color #101418;
@define-color window_fg_color #e0e2e8;
@define-color window_fg_color #e1e2e8;
/* Make it more similar to Adwaita */
@define-color view_bg_color #101418;
@define-color view_fg_color #e0e2e8;
@define-color view_fg_color #e1e2e8;
@define-color headerbar_bg_color #101418;
@define-color headerbar_fg_color #e0e2e8;
@define-color headerbar_fg_color #e1e2e8;
@define-color sidebar_bg_color #1d2024;
@define-color sidebar_fg_color #e0e2e8;
@define-color sidebar_fg_color #e1e2e8;
/* There is only like one application I know that uses this, and there isn't a good way to get
a color between surface and surface container so I think just giving this surface is a good enough fallback*/
@define-color secondary_sidebar_bg_color #101418;
@define-color secondary_sidebar_fg_color #e0e2e8;
@define-color secondary_sidebar_fg_color #e1e2e8;
@define-color card_bg_color #1d2024;
@define-color card_fg_color #e0e2e8;
@define-color card_fg_color #e1e2e8;
@define-color overview_bg_color #1d2024;
@define-color overview_fg_color #e0e2e8;
@define-color overview_fg_color #e1e2e8;
@define-color popover_bg_color #1d2024;
@define-color popover_fg_color #e0e2e8;
@define-color popover_fg_color #e1e2e8;
@define-color dialog_bg_color #101418;
@define-color dialog_fg_color #e0e2e8;
@define-color dialog_fg_color #e1e2e8;
/* Backdrop/unfocused states - prevents white flash on window unfocus */
@define-color headerbar_backdrop_color @window_bg_color;
+15 -15
View File
@@ -6,36 +6,36 @@
/* via thairanaru on GitHub: */
/* Destructive colors are basically error colors */
@define-color destructive_bg_color #f2b8b5;
@define-color destructive_fg_color #601410;
@define-color destructive_bg_color #ffb4ab;
@define-color destructive_fg_color #690005;
/* Follow material spec */
@define-color error_bg_color #f2b8b5;
@define-color error_fg_color #601410;
@define-color error_bg_color #ffb4ab;
@define-color error_fg_color #690005;
/* Follow material spec (also I think looks nicer) */
@define-color accent_fg_color #000000;
@define-color accent_bg_color #42a5f5;
@define-color accent_fg_color #003257;
@define-color accent_bg_color #9fcafc;
/* Use surface instead of background */
@define-color window_bg_color #101418;
@define-color window_fg_color #e0e2e8;
@define-color window_fg_color #e1e2e8;
/* Make it more similar to Adwaita */
@define-color view_bg_color #101418;
@define-color view_fg_color #e0e2e8;
@define-color view_fg_color #e1e2e8;
@define-color headerbar_bg_color #101418;
@define-color headerbar_fg_color #e0e2e8;
@define-color headerbar_fg_color #e1e2e8;
@define-color sidebar_bg_color #1d2024;
@define-color sidebar_fg_color #e0e2e8;
@define-color sidebar_fg_color #e1e2e8;
/* There is only like one application I know that uses this, and there isn't a good way to get
a color between surface and surface container so I think just giving this surface is a good enough fallback*/
@define-color secondary_sidebar_bg_color #101418;
@define-color secondary_sidebar_fg_color #e0e2e8;
@define-color secondary_sidebar_fg_color #e1e2e8;
@define-color card_bg_color #1d2024;
@define-color card_fg_color #e0e2e8;
@define-color card_fg_color #e1e2e8;
@define-color overview_bg_color #1d2024;
@define-color overview_fg_color #e0e2e8;
@define-color overview_fg_color #e1e2e8;
@define-color popover_bg_color #1d2024;
@define-color popover_fg_color #e0e2e8;
@define-color popover_fg_color #e1e2e8;
@define-color dialog_bg_color #101418;
@define-color dialog_fg_color #e0e2e8;
@define-color dialog_fg_color #e1e2e8;
/* Backdrop/unfocused states - prevents white flash on window unfocus */
@define-color headerbar_backdrop_color @window_bg_color;
+3 -3
View File
@@ -9,11 +9,11 @@ tab_bar_margin_color #101418
tab_bar_background #101418
active_tab_foreground #000000
active_tab_background #42a5f5
active_tab_foreground #003257
active_tab_background #9fcafc
active_tab_font_style bold
inactive_tab_foreground #c2c7cf
inactive_tab_foreground #c3c7cf
inactive_tab_background #101418
inactive_tab_font_style normal
+21 -21
View File
@@ -1,25 +1,25 @@
cursor #e0e2e8
cursor_text_color #c2c7cf
cursor #e1e2e8
cursor_text_color #c3c7cf
foreground #e0e2e8
foreground #e1e2e8
background #101418
selection_foreground #000000
selection_background #8ab4f8
url_color #42a5f5
selection_foreground #253140
selection_background #bac8db
url_color #9fcafc
color0 #101418
color1 #ff3270
color2 #42f558
color3 #fff332
color4 #1c8de8
color5 #003e71
color6 #42a5f5
color7 #e8f4ff
color8 #8d979f
color9 #ff739e
color10 #7cff8d
color11 #fff77c
color12 #60b8ff
color13 #7cc4ff
color14 #abd9ff
color15 #f5faff
color1 #ff729c
color2 #7efc8f
color3 #fff772
color4 #85b6ef
color5 #254a74
color6 #9fcafc
color7 #eff6ff
color8 #979da3
color9 #ff9fbb
color10 #a5ffb1
color11 #fffaa5
color12 #afd3ff
color13 #bddbff
color14 #d4e8ff
color15 #f8fbff
+9 -9
View File
@@ -5,15 +5,15 @@ layout {
background-color "transparent"
focus-ring {
active-color "#42a5f5"
active-color "#9fcafc"
inactive-color "#8c9199"
urgent-color "#f2b8b5"
urgent-color "#ffb4ab"
}
border {
active-color "#42a5f5"
active-color "#9fcafc"
inactive-color "#8c9199"
urgent-color "#f2b8b5"
urgent-color "#ffb4ab"
}
shadow {
@@ -21,19 +21,19 @@ layout {
}
tab-indicator {
active-color "#42a5f5"
active-color "#9fcafc"
inactive-color "#8c9199"
urgent-color "#f2b8b5"
urgent-color "#ffb4ab"
}
insert-hint {
color "#42a5f580"
color "#9fcafc80"
}
}
recent-windows {
highlight {
active-color "#0d47a1"
urgent-color "#f2b8b5"
active-color "#174974"
urgent-color "#ffb4ab"
}
}
+1 -1
View File
@@ -6,7 +6,7 @@ return {
{
"saghen/blink.cmp",
version = "*",
event = { "InsertEnter", "CmdlineEnter" },
lazy = false, -- 立即加载,确保 LSP capabilities 可用
opts = {
keymap = {
preset = "super-tab",
+64 -24
View File
@@ -16,10 +16,11 @@ return {
dependencies = { "williamboman/mason.nvim" },
opts = {
ensure_installed = {
"lua_ls", -- Lua
"bashls", -- Bash
"clangd", -- C/C++
"neocmake", -- CMake
"lua_ls", -- Lua
"bashls", -- Bash
"clangd", -- C/C++
"neocmake", -- CMake
-- rust_analyzer 由 rustup 管理,不通过 Mason
},
},
},
@@ -34,6 +35,8 @@ return {
"saghen/blink.cmp",
},
config = function()
local caps = require("blink.cmp").get_lsp_capabilities()
-- LSP 附加时自动开启 inlay hints
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(args)
@@ -54,47 +57,84 @@ return {
end,
})
local caps = require("blink.cmp").get_lsp_capabilities()
-- Lua
vim.lsp.config("lua_ls", {
cmd = { "lua-language-server" },
vim.lsp.config['lua_ls'] = {
cmd = { 'lua-language-server' },
filetypes = { 'lua' },
root_markers = { '.luarc.json', '.luarc.jsonc', '.git', 'init.lua' },
capabilities = caps,
settings = {
Lua = {
runtime = { version = "Lua5.5" },
runtime = { version = "LuaJIT" },
workspace = { checkThirdParty = false },
diagnostics = { globals = { "vim" } },
},
},
})
}
-- Bash
vim.lsp.config("bashls", {
cmd = { "bash-language-server", "start" },
vim.lsp.config['bashls'] = {
cmd = { 'bash-language-server', 'start' },
filetypes = { 'sh', 'bash' },
root_markers = { '.git' },
capabilities = caps,
})
}
-- C/C++ (clangd)
vim.lsp.config("clangd", {
cmd = { "clangd" },
vim.lsp.config['clangd'] = {
cmd = { 'clangd' },
filetypes = { 'c', 'cpp', 'objc', 'objcpp' },
root_markers = { '.clangd', 'compile_commands.json', '.git' },
capabilities = caps,
})
}
-- CMake
vim.lsp.config("neocmake", {
cmd = { "neocmakelsp", "stdio" },
filetypes = { "cmake" },
root_dir = vim.fs.root(0, { ".git", "CMakeLists.txt" }),
single_file_support = true,
vim.lsp.config['neocmake'] = {
cmd = { 'neocmakelsp', 'stdio' },
filetypes = { 'cmake' },
root_markers = { 'CMakeLists.txt', '.git' },
capabilities = caps,
init_options = {
format = { enable = true },
lint = { enable = true },
},
})
}
-- 启用所有 LSPRust rustaceanvim 管理,不在此启用)
vim.lsp.enable({ "lua_ls", "bashls", "clangd", "neocmake" })
-- Rust (rust-analyzer)
vim.lsp.config['rust_analyzer'] = {
cmd = { 'rust-analyzer' }, -- 使用 rustup 的版本,更稳定
filetypes = { 'rust' },
root_markers = { 'Cargo.toml', '.git' },
capabilities = caps,
settings = {
["rust-analyzer"] = {
cargo = {
allFeatures = true,
loadOutDirsFromCheck = true,
buildScripts = {
enable = true,
},
},
checkOnSave = true,
diagnostics = {
enable = true,
},
procMacro = {
enable = true,
},
files = {
exclude = {
".direnv", ".git", ".jj", ".github", ".gitlab",
"bin", "node_modules", "target", "venv", ".venv",
},
watcher = "client",
},
},
},
}
-- 启用所有 LSP
vim.lsp.enable({ 'lua_ls', 'bashls', 'clangd', 'neocmake', 'rust_analyzer' })
end,
},
}
+2 -32
View File
@@ -1,35 +1,5 @@
-- ============================================================================
-- Rust 工具 (rustaceanvim)
-- Rust 全流程:LSP、调试、运行、测试、宏展开
-- Rust 工具(通过 Mason + nvim-lspconfig 管理)
-- ============================================================================
return {
{
"mrcjkb/rustaceanvim",
version = "^6",
lazy = false,
ft = { "rust" },
config = function()
vim.g.rustaceanvim = {
-- LSP 配置
server = {
default_settings = {
["rust-analyzer"] = {
cargo = { allFeatures = true },
check = { command = "clippy" },
},
},
},
-- DAP 适配器(复用 Mason 安装的 codelldb
dap = {
adapter = function()
local codelldb_path = vim.fn.stdpath("data") .. "/mason/bin/codelldb"
local library_path = vim.fn.stdpath("data")
.. "/mason/packages/codelldb/extension/lldb/lib/liblldb.so"
return require("rustaceanvim.config").get_codelldb_adapter(codelldb_path, library_path)
end,
},
}
end,
},
}
return {}
+4 -5
View File
@@ -24,7 +24,7 @@ function M.build()
local project = M.detect()
if project == "rust" then
vim.cmd("RustLsp runnables")
vim.cmd("terminal cargo build")
elseif project == "cmake" then
vim.cmd("CMakeBuild")
elseif project == "go" then
@@ -44,7 +44,7 @@ function M.run()
local project = M.detect()
if project == "rust" then
vim.cmd("RustLsp runnables")
vim.cmd("terminal cargo run")
elseif project == "cmake" then
vim.cmd("CMakeRun")
elseif project == "go" then
@@ -61,11 +61,10 @@ function M.debug()
local project = M.detect()
if project == "rust" then
vim.cmd("RustLsp debuggables")
require("dap").continue()
elseif project == "cmake" then
vim.cmd("CMakeDebug")
else
-- 通用 DAP 启动
require("dap").continue()
end
end
@@ -75,7 +74,7 @@ function M.test()
local project = M.detect()
if project == "rust" then
vim.cmd("RustLsp testables")
vim.cmd("terminal cargo test")
elseif project == "cmake" then
vim.cmd("CMakeBuild")
vim.cmd("terminal ctest --test-dir build")