diff --git a/.changeset/shy-bikes-prove.md b/.changeset/shy-bikes-prove.md
new file mode 100644
index 00000000..95abf768
--- /dev/null
+++ b/.changeset/shy-bikes-prove.md
@@ -0,0 +1,5 @@
+---
+'@sveltejs/repl': patch
+---
+
+show warnings only for the selected file
diff --git a/packages/repl/src/lib/CodeMirror.svelte b/packages/repl/src/lib/CodeMirror.svelte
index 00c0c414..a1f408a5 100644
--- a/packages/repl/src/lib/CodeMirror.svelte
+++ b/packages/repl/src/lib/CodeMirror.svelte
@@ -230,6 +230,7 @@
svelte: () => import('@replit/codemirror-lang-svelte').then((m) => m.svelte())
},
lint: diagnostics,
+ lintOptions: { delay: 200 },
autocomplete,
extensions: [watcher],
instanceStore: cmInstance
diff --git a/packages/repl/src/lib/Input/ModuleEditor.svelte b/packages/repl/src/lib/Input/ModuleEditor.svelte
index 547889a8..25c91538 100644
--- a/packages/repl/src/lib/Input/ModuleEditor.svelte
+++ b/packages/repl/src/lib/Input/ModuleEditor.svelte
@@ -24,38 +24,34 @@
$: filename = $selected?.name + '.' + $selected?.type;
- let error_file = '';
-
$: if ($bundle) {
error = $bundle?.error;
warnings = $bundle?.warnings ?? [];
- if (error || warnings.length > 1) {
- error_file = error?.filename ?? warnings[0]?.filename;
- }
}
async function diagnostics() {
await $bundling;
- return $selected && error_file === get_full_filename($selected)
- ? /** @type {import('@codemirror/lint').Diagnostic[]} */ ([
- ...(error
- ? [
- {
- from: error.start.character,
- to: error.end.character,
- severity: 'error',
- message: error.message
- }
- ]
- : []),
- ...warnings.map((warning) => ({
- from: warning.start.character,
- to: warning.end.character,
- severity: 'warning',
- message: warning.message
- }))
- ])
- : [];
+
+ return /** @type {import('@codemirror/lint').Diagnostic[]} */ ([
+ ...($selected && error?.filename === get_full_filename($selected)
+ ? [
+ {
+ from: error.start.character,
+ to: error.end.character,
+ severity: 'error',
+ message: error.message
+ }
+ ]
+ : []),
+ ...warnings
+ .filter((warning) => $selected && warning.filename === get_full_filename($selected))
+ .map((warning) => ({
+ from: warning.start.character,
+ to: warning.end.character,
+ severity: 'warning',
+ message: warning.message
+ }))
+ ]);
}
diff --git a/packages/repl/src/routes/+page.svelte b/packages/repl/src/routes/+page.svelte
index bd260e2f..6d81afcb 100644
--- a/packages/repl/src/routes/+page.svelte
+++ b/packages/repl/src/routes/+page.svelte
@@ -13,22 +13,22 @@
name: 'App',
type: 'svelte',
source:
- `
\n\t\t\t\tThis is a test.\n\t\t\t
\n\t\t