40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
---
|
|
name: highlight
|
|
description: 'This skill should be used when the user invokes "/highlight" to highlight relevant regions in one or more files in Emacs via emacsclient.'
|
|
tools: Bash
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# Highlight regions in Emacs
|
|
|
|
Highlight relevant regions in one or more files in Emacs using `emacsclient --eval`. Files are opened in a temporary read-only minor mode with highlighted overlays. The user presses `q` to exit the mode and remove all highlights in that buffer.
|
|
|
|
Determine the relevant files and line ranges from the most recent interaction context.
|
|
|
|
## How to highlight
|
|
|
|
First, determine the path to `agent-skill-highlight.el`. It lives alongside this skill file at `skills/highlight/agent-skill-highlight.el` in the emacs-skills plugin directory.
|
|
|
|
```sh
|
|
emacsclient --eval '
|
|
(progn
|
|
(load "/path/to/skills/highlight/agent-skill-highlight.el" nil t)
|
|
(agent-skill-highlight
|
|
:files (quote (("/path/to/file1.el"
|
|
:regions ((:start 90 :lines 18)
|
|
(:start 114 :lines 49)))
|
|
("/path/to/file2.el"
|
|
:regions ((:start 94 :lines 18)))))))'
|
|
```
|
|
|
|
- `:start` is the 1-indexed line number.
|
|
- `:lines` is the number of lines to highlight from that start line.
|
|
- Add as many files and regions as needed.
|
|
|
|
## Rules
|
|
|
|
- Use absolute paths for files.
|
|
- Locate `agent-skill-highlight.el` relative to this skill file's directory.
|
|
- If no relevant files or regions exist in the recent interaction, inform the user.
|
|
- Run the `emacsclient --eval` command via the Bash tool.
|