opencode-snippets 2.0.2 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +44 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +106 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/config.d.ts +2 -0
  6. package/dist/src/config.d.ts.map +1 -1
  7. package/dist/src/config.js +12 -2
  8. package/dist/src/config.js.map +1 -1
  9. package/dist/src/constants.d.ts +2 -0
  10. package/dist/src/constants.d.ts.map +1 -1
  11. package/dist/src/constants.js +2 -0
  12. package/dist/src/constants.js.map +1 -1
  13. package/dist/src/expander.d.ts.map +1 -1
  14. package/dist/src/expander.js +4 -1
  15. package/dist/src/expander.js.map +1 -1
  16. package/dist/src/hook-types.d.ts +3 -0
  17. package/dist/src/hook-types.d.ts.map +1 -1
  18. package/dist/src/skill-load-manager.d.ts +10 -0
  19. package/dist/src/skill-load-manager.d.ts.map +1 -0
  20. package/dist/src/skill-load-manager.js +30 -0
  21. package/dist/src/skill-load-manager.js.map +1 -0
  22. package/dist/src/skill-loader.d.ts +8 -1
  23. package/dist/src/skill-loader.d.ts.map +1 -1
  24. package/dist/src/skill-loader.js +66 -17
  25. package/dist/src/skill-loader.js.map +1 -1
  26. package/dist/src/skill-loading.d.ts +11 -0
  27. package/dist/src/skill-loading.d.ts.map +1 -0
  28. package/dist/src/skill-loading.js +122 -0
  29. package/dist/src/skill-loading.js.map +1 -0
  30. package/dist/src/tui-search.d.ts +2 -0
  31. package/dist/src/tui-search.d.ts.map +1 -1
  32. package/dist/src/tui-search.js +61 -16
  33. package/dist/src/tui-search.js.map +1 -1
  34. package/dist/src/tui-trigger.d.ts +2 -0
  35. package/dist/src/tui-trigger.d.ts.map +1 -1
  36. package/dist/src/tui-trigger.js +22 -0
  37. package/dist/src/tui-trigger.js.map +1 -1
  38. package/dist/tui.d.ts.map +1 -1
  39. package/dist/tui.jsx +84 -29
  40. package/dist/tui.jsx.map +1 -1
  41. package/package.json +1 -1
  42. package/skill/snippets/SKILL.md +30 -2
package/dist/tui.jsx CHANGED
@@ -5,8 +5,9 @@ import { useKeyboard } from "@opentui/solid";
5
5
  import { createEffect, createMemo, createResource, createSignal, Index, onCleanup, Show, } from "solid-js";
6
6
  import { CONFIG } from "./src/constants.js";
7
7
  import { ensureSnippetsDir, listSnippets, loadSnippets } from "./src/loader.js";
8
- import { filterSnippets, highlightMatches, matchedAliases, snippetDescription, } from "./src/tui-search.js";
9
- import { findTrailingHashtagTrigger, insertSnippetTag, insertSnippetTrigger, preferredSnippetTag, } from "./src/tui-trigger.js";
8
+ import { loadSkills } from "./src/skill-loader.js";
9
+ import { filterSkills, filterSnippets, highlightMatches, matchedAliases, snippetDescription, } from "./src/tui-search.js";
10
+ import { findTrailingHashtagTrigger, insertSkillLoad, insertSnippetTag, insertSnippetTrigger, preferredSnippetTag, stepSelection, } from "./src/tui-trigger.js";
10
11
  const id = "opencode-snippets:autocomplete";
11
12
  const PROMPT_SYNC_MS = 50;
12
13
  const MENU_MAX_HEIGHT = 10;
@@ -51,6 +52,16 @@ function sortSnippets(snippets) {
51
52
  return a.name.localeCompare(b.name);
52
53
  });
53
54
  }
55
+ function sortSkills(skills) {
56
+ return [...skills].sort((a, b) => {
57
+ if (a.source !== b.source) {
58
+ if (a.source === "project")
59
+ return -1;
60
+ return 1;
61
+ }
62
+ return a.name.localeCompare(b.name);
63
+ });
64
+ }
54
65
  function selectedText(theme) {
55
66
  if (theme.background.a !== 0)
56
67
  return theme.background;
@@ -125,17 +136,28 @@ async function getSnippets(api) {
125
136
  const registry = await loadSnippets(api.state.path.directory);
126
137
  return sortSnippets(listSnippets(registry));
127
138
  }
139
+ async function getSkills(api) {
140
+ const registry = await loadSkills(api.state.path.directory);
141
+ return sortSkills([...registry.values()]);
142
+ }
143
+ function skillDescription(skill) {
144
+ return (skill.description || skill.content).replace(/\s+/g, " ").trim();
145
+ }
128
146
  function PromptWithSnippetAutocomplete(props) {
129
147
  const [prompt, setPrompt] = createSignal();
130
148
  const [dismissed, setDismissed] = createSignal();
131
149
  const [selected, setSelected] = createSignal(0);
132
- const [inputMode, setInputMode] = createSignal("keyboard");
150
+ const [, setInputMode] = createSignal("keyboard");
133
151
  const [ignoreMouseUntil, setIgnoreMouseUntil] = createSignal(0);
152
+ const [lastMousePos, setLastMousePos] = createSignal();
134
153
  const [input, setInput] = createSignal("");
135
154
  const [creating, setCreating] = createSignal(false);
136
155
  const [snippets, { refetch: refetchSnippets }] = createResource(() => props.api.state.path.directory, () => getSnippets(props.api), {
137
156
  initialValue: [],
138
157
  });
158
+ const [skills] = createResource(() => props.api.state.path.directory, () => getSkills(props.api), {
159
+ initialValue: [],
160
+ });
139
161
  const bind = (ref) => {
140
162
  setPrompt(ref);
141
163
  props.bindPrompt(ref);
@@ -146,6 +168,14 @@ function PromptWithSnippetAutocomplete(props) {
146
168
  setIgnoreMouseUntil(Date.now() + MOUSE_HOVER_SUPPRESS_MS);
147
169
  };
148
170
  const allowMouseHover = () => Date.now() >= ignoreMouseUntil();
171
+ const recordMouseMove = (x, y) => {
172
+ const last = lastMousePos();
173
+ if (last?.x === x && last.y === y) {
174
+ return false;
175
+ }
176
+ setLastMousePos({ x, y });
177
+ return true;
178
+ };
149
179
  const syncPromptInput = (ref, nextInput) => {
150
180
  setPromptInput(ref, nextInput);
151
181
  setInput(nextInput);
@@ -170,13 +200,29 @@ function PromptWithSnippetAutocomplete(props) {
170
200
  return;
171
201
  return findTrailingHashtagTrigger(input());
172
202
  });
203
+ const query = createMemo(() => match()?.query.trim() || "");
173
204
  const options = createMemo(() => {
174
205
  const next = match();
175
206
  if (!next)
176
207
  return [];
177
- return filterSnippets(snippets(), next.query.trim());
208
+ const snippetOptions = filterSnippets(snippets(), next.query.trim()).map((snippet) => ({
209
+ kind: "snippet",
210
+ id: `snippet:${snippet.name}`,
211
+ label: `#${snippet.name}`,
212
+ description: snippetDescription(snippet),
213
+ aliases: matchedAliases(snippet, next.query.trim()),
214
+ snippet,
215
+ }));
216
+ const skillOptions = filterSkills(skills(), next.query.trim()).map((skill) => ({
217
+ kind: "skill",
218
+ id: `skill:${skill.name}`,
219
+ label: `#skill(${skill.name})`,
220
+ description: skillDescription(skill),
221
+ aliases: [],
222
+ skill,
223
+ }));
224
+ return [...snippetOptions, ...skillOptions];
178
225
  });
179
- const query = createMemo(() => match()?.query.trim() || "");
180
226
  const draftName = createMemo(() => normalizeSnippetName(query()));
181
227
  const visible = createMemo(() => {
182
228
  const next = match();
@@ -185,19 +231,19 @@ function PromptWithSnippetAutocomplete(props) {
185
231
  return dismissed() !== next.token;
186
232
  });
187
233
  const canCreate = createMemo(() => {
188
- if (snippets.loading)
234
+ if (snippets.loading || skills.loading)
189
235
  return false;
190
236
  if (options().length > 0)
191
237
  return false;
192
238
  return !!query() && !!draftName();
193
239
  });
194
240
  const optionKey = createMemo(() => options()
195
- .map((item) => item.name)
241
+ .map((item) => item.id)
196
242
  .join("\n"));
197
243
  const menuHeight = createMemo(() => Math.min(MENU_MAX_HEIGHT, Math.max(1, options().length || 1)));
198
244
  const activeRowId = createMemo(() => {
199
245
  if (options().length > 0)
200
- return options()[selected()]?.name;
246
+ return options()[selected()]?.id;
201
247
  if (canCreate())
202
248
  return "create-snippet";
203
249
  return undefined;
@@ -217,6 +263,11 @@ function PromptWithSnippetAutocomplete(props) {
217
263
  lockKeyboardSelection();
218
264
  setTimeout(() => {
219
265
  scroll?.scrollTo(0);
266
+ const first = options()[0]?.id;
267
+ if (first) {
268
+ // Query changes can keep the same first row id, so force the scrollbox back to top.
269
+ scroll?.scrollChildIntoView(first);
270
+ }
220
271
  }, 0);
221
272
  }
222
273
  return key;
@@ -239,7 +290,9 @@ function PromptWithSnippetAutocomplete(props) {
239
290
  const ref = prompt();
240
291
  if (!ref)
241
292
  return;
242
- const nextInput = insertSnippetTag(ref.current.input, preferredSnippetTag(ref.current.input, item));
293
+ const nextInput = item.kind === "skill"
294
+ ? insertSkillLoad(ref.current.input, item.skill.name)
295
+ : insertSnippetTag(ref.current.input, preferredSnippetTag(ref.current.input, item.snippet));
243
296
  syncPromptInput(ref, nextInput);
244
297
  ref.focus();
245
298
  setDismissed(undefined);
@@ -277,16 +330,16 @@ function PromptWithSnippetAutocomplete(props) {
277
330
  return;
278
331
  }
279
332
  }
280
- if (snippets.loading) {
333
+ if (snippets.loading || skills.loading) {
281
334
  return;
282
335
  }
283
- const query = current.query.trim();
284
- const live = filterSnippets(snippets(), query);
336
+ const live = options();
285
337
  if (live.length > 0) {
286
338
  const index = Math.min(selected(), live.length - 1);
287
339
  chooseItem(live[index] ?? live[0]);
288
340
  return;
289
341
  }
342
+ const query = current.query.trim();
290
343
  if (normalizeSnippetName(query)) {
291
344
  void createSnippetDraft();
292
345
  return;
@@ -354,7 +407,7 @@ function PromptWithSnippetAutocomplete(props) {
354
407
  return;
355
408
  lockKeyboardSelection();
356
409
  if (total > 0) {
357
- setSelected((selected() - 1 + total) % total);
410
+ setSelected(stepSelection(selected(), total, -1));
358
411
  }
359
412
  evt.preventDefault();
360
413
  evt.stopPropagation();
@@ -365,7 +418,7 @@ function PromptWithSnippetAutocomplete(props) {
365
418
  return;
366
419
  lockKeyboardSelection();
367
420
  if (total > 0) {
368
- setSelected((selected() + 1) % total);
421
+ setSelected(stepSelection(selected(), total, 1));
369
422
  }
370
423
  evt.preventDefault();
371
424
  evt.stopPropagation();
@@ -391,11 +444,12 @@ function PromptWithSnippetAutocomplete(props) {
391
444
  }
392
445
  });
393
446
  const emptyLabel = createMemo(() => {
394
- if (snippets.loading && snippets().length === 0)
395
- return "Loading snippets...";
396
- if (snippets().length === 0)
397
- return "No snippets found";
398
- return "No matching snippets";
447
+ if ((snippets.loading || skills.loading) && options().length === 0) {
448
+ return "Loading snippets and skills...";
449
+ }
450
+ if (snippets().length === 0 && skills().length === 0)
451
+ return "No snippets or skills found";
452
+ return "No matching snippets or skills";
399
453
  });
400
454
  const addSnippetLabel = createMemo(() => {
401
455
  if (creating())
@@ -419,6 +473,7 @@ function PromptWithSnippetAutocomplete(props) {
419
473
  setInputMode("mouse");
420
474
  }} onMouseDown={() => {
421
475
  setInputMode("mouse");
476
+ setLastMousePos(undefined);
422
477
  }} onMouseUp={() => {
423
478
  void createSnippetDraft();
424
479
  }}>
@@ -427,30 +482,30 @@ function PromptWithSnippetAutocomplete(props) {
427
482
  </Show>}>
428
483
  {(option, index) => (
429
484
  // biome-ignore lint/a11y/noStaticElementInteractions: OpenTUI rows intentionally handle mouse selection.
430
- // biome-ignore lint/a11y/useKeyWithMouseEvents: Keyboard navigation is handled by the prompt-level key handler above.
431
- <box id={option().name} paddingLeft={1} paddingRight={1} backgroundColor={index === selected() ? props.api.theme.current.primary : undefined} flexDirection="row" onMouseMove={() => {
485
+ <box id={option().id} paddingLeft={1} paddingRight={1} backgroundColor={index === selected() ? props.api.theme.current.primary : undefined} flexDirection="row" onMouseMove={(event) => {
432
486
  if (!allowMouseHover())
433
487
  return;
434
- setInputMode("mouse");
435
- }} onMouseOver={() => {
436
- if (inputMode() !== "mouse" || !allowMouseHover())
488
+ // User requirement: ignore synthetic hover churn when the list scrolls under a stationary mouse.
489
+ if (!recordMouseMove(event.x, event.y))
437
490
  return;
491
+ setInputMode("mouse");
438
492
  setSelected(index);
439
493
  }} onMouseDown={() => {
440
494
  setInputMode("mouse");
495
+ setLastMousePos(undefined);
441
496
  setSelected(index);
442
497
  }} onMouseUp={() => choose(index)}>
443
498
  <text fg={index === selected() ? selectedFg() : props.api.theme.current.text} flexShrink={0} wrapMode="none">
444
- {renderHighlighted(`#${option().name}`, query(), index === selected() ? selectedFg() : props.api.theme.current.text)}
499
+ {renderHighlighted(option().label, query(), index === selected() ? selectedFg() : props.api.theme.current.text)}
445
500
  </text>
446
- <Show when={matchedAliases(option(), query()).length > 0}>
501
+ <Show when={option().aliases.length > 0}>
447
502
  <text fg={index === selected() ? selectedFg() : props.api.theme.current.textMuted} wrapMode="none" flexShrink={0}>
448
- {renderHighlighted(` ${matchedAliases(option(), query()).length === 1 ? "alias" : "aliases"}: ${matchedAliases(option(), query()).join(", ")}`, query(), index === selected() ? selectedFg() : props.api.theme.current.textMuted)}
503
+ {renderHighlighted(` ${option().aliases.length === 1 ? "alias" : "aliases"}: ${option().aliases.join(", ")}`, query(), index === selected() ? selectedFg() : props.api.theme.current.textMuted)}
449
504
  </text>
450
505
  </Show>
451
- <Show when={snippetDescription(option())}>
506
+ <Show when={option().description}>
452
507
  <text fg={index === selected() ? selectedFg() : props.api.theme.current.textMuted} wrapMode="none">
453
- {renderHighlighted(` ${snippetDescription(option())}`, query(), index === selected() ? selectedFg() : props.api.theme.current.textMuted)}
508
+ {renderHighlighted(` ${option().description}`, query(), index === selected() ? selectedFg() : props.api.theme.current.textMuted)}
454
509
  </text>
455
510
  </Show>
456
511
  </box>)}
package/dist/tui.jsx.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.jsx","sourceRoot":"","sources":["../tui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.jsx","sourceRoot":"","sources":["../tui.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-snippets",
3
- "version": "2.0.2",
3
+ "version": "2.1.1",
4
4
  "description": "Hashtag-based snippet expansion plugin for OpenCode - instant inline text shortcuts",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -39,7 +39,7 @@ Full config example with all options:
39
39
  ```jsonc
40
40
  {
41
41
  // JSON Schema for editor autocompletion
42
- "$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.0.2/schema/config.schema.json",
42
+ "$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.1.1/schema/config.schema.json",
43
43
 
44
44
  // Logging settings
45
45
  "logging": {
@@ -56,7 +56,10 @@ Full config example with all options:
56
56
  "injectBlocks": false,
57
57
  // Enable skill rendering with <skill>name</skill> syntax
58
58
  // Default: false
59
- "skillRendering": false
59
+ "skillRendering": false,
60
+ // Enable #skill(name) syntax
61
+ // Default: false
62
+ "skillLoading": false
60
63
  },
61
64
 
62
65
  // Hide shell command in output, showing only the result
@@ -156,6 +159,31 @@ Enable in config:
156
159
 
157
160
  Skills are loaded from OpenCode's standard directories (`~/.config/opencode/skill/` and `.opencode/skill/`).
158
161
 
162
+ ### Skill Loading (Experimental)
163
+
164
+ Load OpenCode skills with command-style syntax while keeping the visible message compact:
165
+
166
+ ```md
167
+ Use caveman mode. #skill(caveman)
168
+ <!-- or -->
169
+ #skill("opencode-config")
170
+ ```
171
+
172
+ Enable in config:
173
+ ```jsonc
174
+ {
175
+ "experimental": {
176
+ "skillLoading": true
177
+ }
178
+ }
179
+ ```
180
+
181
+ Visible transcript text becomes `↳ Loaded name`. The model receives the full OpenCode-style `<skill_content>` wrapper above that message.
182
+
183
+ Treat `#skill(...)` as hidden context injection, not inline expansion. User usually sees compact placeholder text, while the model receives an extra injected user message containing the full `<skill_content>` payload. Do not assume one visible bubble can hold different hidden text. The implementation achieves this by inserting an additional hidden message before the visible one.
184
+
185
+ `#skill(...)` also works when produced by snippet expansion, not only when the user types it directly.
186
+
159
187
  ## Commands
160
188
 
161
189
  - `/snippet add <name> [content]` - create global snippet