Skip to content

Commit 803aff1

Browse files
committed
fix(vscode): narrow profiling initialization config
1 parent 134f26d commit 803aff1

2 files changed

Lines changed: 24 additions & 16 deletions

File tree

editors/vscode/src/profiling.ts

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import * as path from 'node:path';
55
import * as vscode from 'vscode';
66

77
import { stripProfileArgs } from './profilingArgs';
8+
import { diagnosticsProfilingInitializationOptions } from './profilingConfig';
89
import {
910
type DiagnosticProfileRequest,
1011
diagnosticsFromProfileResponse,
@@ -350,22 +351,7 @@ async function showProfileCompleteMessage(
350351
}
351352

352353
function readDiagnosticsProfilingInitializationOptions(): Record<string, unknown> {
353-
const config = vscode.workspace.getConfiguration('vizsla');
354-
return {
355-
files_excludeDirs: config.get('files.excludeDirs') ?? [],
356-
files_watcher: config.get('files.watcher') ?? 'client',
357-
scope_visibility: config.get('scope.visibility') ?? 'private',
358-
diagnostics: {
359-
enable: config.get('diagnostics.enable') ?? true,
360-
update: config.get('diagnostics.update') ?? 'onSave',
361-
parse: { enable: config.get('diagnostics.parse.enable') ?? true },
362-
semantic: { enable: config.get('diagnostics.semantic.enable') ?? true },
363-
slang: {
364-
warnings: config.get('diagnostics.slang.warnings') ?? [],
365-
rules: config.get('diagnostics.slang.rules') ?? [],
366-
},
367-
},
368-
};
354+
return diagnosticsProfilingInitializationOptions(vscode.workspace.getConfiguration('vizsla'));
369355
}
370356

371357
async function writeJsonFile(filePath: string, value: unknown): Promise<void> {
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
type ConfigurationReader = {
2+
get<T>(section: string): T | undefined;
3+
};
4+
5+
export function diagnosticsProfilingInitializationOptions(
6+
config: ConfigurationReader,
7+
): Record<string, unknown> {
8+
return {
9+
files_excludeDirs: config.get('files.excludeDirs') ?? [],
10+
// The profiling runner does not implement client-side file watching.
11+
files_watcher: 'server',
12+
diagnostics: {
13+
enable: config.get('diagnostics.enable') ?? true,
14+
parse: { enable: config.get('diagnostics.parse.enable') ?? true },
15+
semantic: { enable: config.get('diagnostics.semantic.enable') ?? true },
16+
slang: {
17+
warnings: config.get('diagnostics.slang.warnings') ?? [],
18+
rules: config.get('diagnostics.slang.rules') ?? [],
19+
},
20+
},
21+
};
22+
}

0 commit comments

Comments
 (0)