pindo 5.6.4 → 5.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pindo/base/pindocontext.rb +15 -0
- data/lib/pindo/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bea8c2179701b8869f82fa53f1c956bdde75bd26e92a60d07da6e290642ef19
|
4
|
+
data.tar.gz: 85d684d5255bc4bd2e7ae86ad31abd4e271724f1f5a797cace70bdf36eb9b267
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36db0639bfe1a0b487dcfef67dd7ccb7d7e51639bfff01e2eca2573214a0ca9feb99dd0b6a941acfd194b49dac16c6ab6276720c956b84cab0e21d85edd4d7b6
|
7
|
+
data.tar.gz: a8aa894eb0683a94a38cbca61def8ee1c7718635ec8d5ff36fb98ae19e8f3bf6dee08f5026190201a74db56f00ba798c082b27dcce4d8c92482aa9a3798509fe
|
@@ -26,6 +26,7 @@ module Pindo
|
|
26
26
|
@command_group = nil # 命令组名称
|
27
27
|
@verbose = false # 是否输出详细日志
|
28
28
|
@loaded_file_cache = nil # 已加载但未应用的文件缓存数据
|
29
|
+
@cache_confirmed = false # 标记缓存确认是否已完成
|
29
30
|
ensure_cache_dir
|
30
31
|
end
|
31
32
|
|
@@ -88,6 +89,7 @@ module Pindo
|
|
88
89
|
@file_cache_loaded = false
|
89
90
|
@cache_enabled = false
|
90
91
|
@command_group = nil
|
92
|
+
@cache_confirmed = false
|
91
93
|
# 暂不清理内存缓存,让同一进程内可以复用
|
92
94
|
end
|
93
95
|
|
@@ -462,6 +464,15 @@ module Pindo
|
|
462
464
|
return false unless @cache_enabled
|
463
465
|
return false unless @loaded_file_cache
|
464
466
|
|
467
|
+
# 如果已经确认过缓存,直接返回(避免嵌套调用时重复询问)
|
468
|
+
if @cache_confirmed
|
469
|
+
puts "[PindoContext] 缓存已确认,跳过重复询问" if verbose?
|
470
|
+
# 检查内存中是否已有缓存数据
|
471
|
+
project_path = get_project_path
|
472
|
+
root_command = @command_group || @current_command
|
473
|
+
return @memory_selections.dig(project_path, root_command) != nil
|
474
|
+
end
|
475
|
+
|
465
476
|
project_path = get_project_path
|
466
477
|
root_command = @command_group || @current_command
|
467
478
|
|
@@ -534,6 +545,8 @@ module Pindo
|
|
534
545
|
symbol_key = key.to_sym
|
535
546
|
@memory_selections[project_path][root_command][symbol_key] = symbolize_keys(value)
|
536
547
|
end
|
548
|
+
# 标记缓存已确认,避免嵌套调用时重复询问
|
549
|
+
@cache_confirmed = true
|
537
550
|
return true
|
538
551
|
else
|
539
552
|
puts "清除缓存,重新选择\n"
|
@@ -546,6 +559,8 @@ module Pindo
|
|
546
559
|
# 保存清理后的缓存到文件
|
547
560
|
save_file_cache
|
548
561
|
end
|
562
|
+
# 标记缓存已确认(用户选择不使用)
|
563
|
+
@cache_confirmed = true
|
549
564
|
return false
|
550
565
|
end
|
551
566
|
end
|
data/lib/pindo/version.rb
CHANGED