diff --git a/packages/site-kit/src/lib/codemirror/autocompletionDataProvider.js b/packages/site-kit/src/lib/codemirror/autocompletionDataProvider.js index e6891efff5..587c78e0ef 100644 --- a/packages/site-kit/src/lib/codemirror/autocompletionDataProvider.js +++ b/packages/site-kit/src/lib/codemirror/autocompletionDataProvider.js @@ -573,10 +573,22 @@ const is_bindable = (node, context) => { ); }; +/** + * @type {import("./types").Test} + */ +const is_props_id = (node) => { + if (node.parent?.name !== 'VariableDeclaration') return false; + if (node.parent?.parent?.name !== 'VariableDeclarator') return false; + if (node.parent?.parent?.parent?.name !== 'Program') return false; + if (node.parent?.firstChild?.name !== 'Identifier') return false; + return true; +}; + export const runes = [ { snippet: '$state(${})', test: is_state }, { snippet: '$state', test: is_state_call }, { snippet: '$props()', test: is_props }, + { snippet: '$props.id()', test: is_props_id }, { snippet: '$derived(${});', test: is_state }, { snippet: '$derived', test: is_state_call }, { snippet: '$derived.by(() => {\n\t${}\n});', test: is_state }, @@ -590,6 +602,7 @@ export const runes = [ { snippet: '$state.snapshot(${})' }, { snippet: '$effect.tracking()' }, { snippet: '$inspect(${});', test: is_statement }, + { snippet: '$inspect.trace();', test: is_statement }, { snippet: '$inspect.trace(${});', test: is_statement }, { snippet: '$host()' } ];