Skip to main content

Mountain/IPC/DevLog/
IsBenignEnoent.rs

1#![allow(non_snake_case)]
2
3//! Recognise known-optional probe paths so `stat ENOENT`
4//! lines for them downgrade to debug-once instead of full
5//! error noise. The list is the union of:
6//!
7//! - VS Code / Copilot / Claude / vim probe paths.
8//! - Per-extension state probes (`globalStorage`, `workspaceStorage`, sqlite
9//!   state files).
10//! - First-run user-config files (`tasks.json`, `mcp.json`, `keybindings.json`,
11//!   …) lazy-created on first write.
12//! - `vscode://schemas-associations/` virtual-resource probes.
13//! - External-editor / vim-config detection paths used by "Open With…" pickers.
14
15const BENIGN_ENOENT_SUBSTRINGS:&[&str] = &[
16	"/.claude",
17	"/.vscode",
18	".claude/agents",
19	".claude/settings.json",
20	".claude/settings.local.json",
21	".copilot/agents",
22	".github/copilot",
23	".github/agents",
24	".vscode/settings.json",
25	".vscode/launch.json",
26	".vscode/extensions.json",
27	".vscode/tasks.json",
28	".vscode/mcp.json",
29	".mcp.json",
30	"agentPlugins",
31	"agent-plugins",
32	"chatEditingSessions",
33	"chatSessions",
34	"machineid",
35	"terminalSuggestGlobalsCacheV2.json",
36	"globalStorage",
37	"/User/tasks.json",
38	"/User/mcp.json",
39	"/User/snippets",
40	"/User/keybindings.json",
41	"aiGeneratedWorkspaces.json",
42	"/.git/config",
43	"chatLanguageModels.json",
44	"configurationDefaultsOverrides",
45	"vscode-chat-images",
46	"/output_20",
47	"/network.log",
48	"/renderer.log",
49	"/views.log",
50	"/notebook.rendering.log",
51	"vscode://schemas-associations/",
52	"vscodevim.vim/.registers",
53	"/User/globalStorage/",
54	"/chatEditingSessions/",
55	"/User/prompts",
56	"languageDetectionWorkerCache.json",
57	"/Applications/Eclipse IDE.app",
58	"/Applications/Eclipse.app",
59	"/Applications/IntelliJ IDEA.app",
60	"/Applications/IntelliJ IDEA CE.app",
61	"/Applications/Sublime Text.app",
62	"/Applications/Notepad++.app",
63	"/Applications/Visual Studio Code.app",
64	"/Applications/Xcode.app",
65	"/.config/nvim/init.lua",
66	"/.config/nvim/init.vim",
67	"/.vimrc",
68	"/.gvimrc",
69	"/state.vscdb",
70	"/state.vscdb-journal",
71	"/User/workspaceStorage/",
72	"/globalStorage/eamodio.gitlens",
73	"/globalStorage/GitHub.copilot",
74	"/globalStorage/GitHub.copilot-chat",
75	"/globalStorage/Anthropic.claude-code",
76	"/globalStorage/RooVeterinaryInc.roo-cline",
77	".registers",
78	"/Sky/Target/product.json",
79	"/Output/Target/product.json",
80];
81
82pub fn Fn(Path:&str) -> bool { BENIGN_ENOENT_SUBSTRINGS.iter().any(|Needle| Path.contains(Needle)) }