()
| 97 | } |
| 98 | |
| 99 | private computeMergedSettings(): Settings { |
| 100 | const system = this.system.settings; |
| 101 | const user = this.user.settings; |
| 102 | const workspace = this.workspace.settings; |
| 103 | |
| 104 | // folderTrust is not supported at workspace level. |
| 105 | // eslint-disable-next-line @typescript-eslint/no-unused-vars |
| 106 | const { folderTrust, ...workspaceWithoutFolderTrust } = workspace; |
| 107 | |
| 108 | return { |
| 109 | ...user, |
| 110 | ...workspaceWithoutFolderTrust, |
| 111 | ...system, |
| 112 | customThemes: { |
| 113 | ...(user.customThemes || {}), |
| 114 | ...(workspace.customThemes || {}), |
| 115 | ...(system.customThemes || {}), |
| 116 | }, |
| 117 | mcpServers: { |
| 118 | ...(user.mcpServers || {}), |
| 119 | ...(workspace.mcpServers || {}), |
| 120 | ...(system.mcpServers || {}), |
| 121 | }, |
| 122 | includeDirectories: [ |
| 123 | ...(system.includeDirectories || []), |
| 124 | ...(user.includeDirectories || []), |
| 125 | ...(workspace.includeDirectories || []), |
| 126 | ], |
| 127 | chatCompression: { |
| 128 | ...(system.chatCompression || {}), |
| 129 | ...(user.chatCompression || {}), |
| 130 | ...(workspace.chatCompression || {}), |
| 131 | }, |
| 132 | }; |
| 133 | } |
| 134 | |
| 135 | forScope(scope: SettingScope): SettingsFile { |
| 136 | switch (scope) { |
no outgoing calls
no test coverage detected