Add: windows mvp - transparent bugs not fixed
This commit is contained in:
159
skills/rust-code-navigator/SKILL.md
Normal file
159
skills/rust-code-navigator/SKILL.md
Normal file
@@ -0,0 +1,159 @@
|
||||
---
|
||||
name: rust-code-navigator
|
||||
description: "Navigate Rust code using LSP. Triggers on: /navigate, go to definition, find references, where is defined, 跳转定义, 查找引用, 定义在哪, 谁用了这个"
|
||||
argument-hint: "<symbol> [in file.rs:line]"
|
||||
allowed-tools: ["LSP", "Read", "Glob"]
|
||||
---
|
||||
|
||||
# Rust Code Navigator
|
||||
|
||||
Navigate large Rust codebases efficiently using Language Server Protocol.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/rust-code-navigator <symbol> [in file.rs:line]
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
- `/rust-code-navigator parse_config` - Find definition of parse_config
|
||||
- `/rust-code-navigator MyStruct in src/lib.rs:42` - Navigate from specific location
|
||||
|
||||
## LSP Operations
|
||||
|
||||
### 1. Go to Definition
|
||||
|
||||
Find where a symbol is defined.
|
||||
|
||||
```
|
||||
LSP(
|
||||
operation: "goToDefinition",
|
||||
filePath: "src/main.rs",
|
||||
line: 25,
|
||||
character: 10
|
||||
)
|
||||
```
|
||||
|
||||
**Use when:**
|
||||
- User asks "where is X defined?"
|
||||
- User wants to understand a type/function
|
||||
- Ctrl+click equivalent
|
||||
|
||||
### 2. Find References
|
||||
|
||||
Find all usages of a symbol.
|
||||
|
||||
```
|
||||
LSP(
|
||||
operation: "findReferences",
|
||||
filePath: "src/lib.rs",
|
||||
line: 15,
|
||||
character: 8
|
||||
)
|
||||
```
|
||||
|
||||
**Use when:**
|
||||
- User asks "who uses X?"
|
||||
- Before refactoring/renaming
|
||||
- Understanding impact of changes
|
||||
|
||||
### 3. Hover Information
|
||||
|
||||
Get type and documentation for a symbol.
|
||||
|
||||
```
|
||||
LSP(
|
||||
operation: "hover",
|
||||
filePath: "src/main.rs",
|
||||
line: 30,
|
||||
character: 15
|
||||
)
|
||||
```
|
||||
|
||||
**Use when:**
|
||||
- User asks "what type is X?"
|
||||
- User wants documentation
|
||||
- Quick type checking
|
||||
|
||||
## Workflow
|
||||
|
||||
```
|
||||
User: "Where is the Config struct defined?"
|
||||
│
|
||||
▼
|
||||
[1] Search for "Config" in workspace
|
||||
LSP(operation: "workspaceSymbol", ...)
|
||||
│
|
||||
▼
|
||||
[2] If multiple results, ask user to clarify
|
||||
│
|
||||
▼
|
||||
[3] Go to definition
|
||||
LSP(operation: "goToDefinition", ...)
|
||||
│
|
||||
▼
|
||||
[4] Show file path and context
|
||||
Read surrounding code for context
|
||||
```
|
||||
|
||||
## Output Format
|
||||
|
||||
### Definition Found
|
||||
|
||||
```
|
||||
## Config (struct)
|
||||
|
||||
**Defined in:** `src/config.rs:15`
|
||||
|
||||
```rust
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Config {
|
||||
pub name: String,
|
||||
pub port: u16,
|
||||
pub debug: bool,
|
||||
}
|
||||
```
|
||||
|
||||
**Documentation:** Configuration for the application server.
|
||||
```
|
||||
|
||||
### References Found
|
||||
|
||||
```
|
||||
## References to `Config` (5 found)
|
||||
|
||||
| Location | Context |
|
||||
|----------|---------|
|
||||
| src/main.rs:10 | `let config = Config::load()?;` |
|
||||
| src/server.rs:25 | `fn new(config: Config) -> Self` |
|
||||
| src/server.rs:42 | `self.config.port` |
|
||||
| src/tests.rs:15 | `Config::default()` |
|
||||
| src/cli.rs:8 | `config: Option<Config>` |
|
||||
```
|
||||
|
||||
## Common Patterns
|
||||
|
||||
| User Says | LSP Operation |
|
||||
|-----------|---------------|
|
||||
| "Where is X defined?" | goToDefinition |
|
||||
| "Who uses X?" | findReferences |
|
||||
| "What type is X?" | hover |
|
||||
| "Find all structs" | workspaceSymbol |
|
||||
| "What's in this file?" | documentSymbol |
|
||||
|
||||
## Error Handling
|
||||
|
||||
| Error | Cause | Solution |
|
||||
|-------|-------|----------|
|
||||
| "No LSP server" | rust-analyzer not running | Suggest: `rustup component add rust-analyzer` |
|
||||
| "Symbol not found" | Typo or not in scope | Search with workspaceSymbol first |
|
||||
| "Multiple definitions" | Generics or macros | Show all and let user choose |
|
||||
|
||||
## Related Skills
|
||||
|
||||
| When | See |
|
||||
|------|-----|
|
||||
| Call relationships | rust-call-graph |
|
||||
| Project structure | rust-symbol-analyzer |
|
||||
| Trait implementations | rust-trait-explorer |
|
||||
| Safe refactoring | rust-refactor-helper |
|
||||
Reference in New Issue
Block a user