today's savings
This commit is contained in:
parent
17f37947f3
commit
171c8d5489
5 changed files with 237 additions and 0 deletions
26
10-linux/00-utils/helix/fill match arms.md
Normal file
26
10-linux/00-utils/helix/fill match arms.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
В **Helix** пока нет встроенной полноценной поддержки сниппетов в том виде, как это сделано в VS Code (где нажал Tab и развернулся шаблон кода), но есть очень мощная альтернатива через **LSP (Language Server Protocol)**.
|
||||
|
||||
То, что ты описываешь ("заполнить match по всем вариантам enum"), — это фича **rust-analyzer**, и она работает в Helix через **Code Actions**.
|
||||
|
||||
### Как сделать "Fill match arms" в Helix:
|
||||
|
||||
1. Напиши `match s.split_once(',') {}`.
|
||||
2. Поставь курсор **внутри** фигурных скобок `{}` или на ключевое слово `match`.
|
||||
3. Нажми **`Space` + `a`** (команда `code_action`).
|
||||
4. В появившемся меню выбери **"Fill match arms"**.
|
||||
|
||||
Rust-analyzer автоматически сгенерирует код:
|
||||
```rust
|
||||
match s.split_once(',') {
|
||||
Some(_) => todo!(),
|
||||
None => todo!(),
|
||||
}
|
||||
```
|
||||
|
||||
### Насчет классических сниппетов
|
||||
В Helix нативная поддержка сниппетов (как в VSCode: набрал `for` -> Tab -> развернулся цикл) находится в разработке/планах.
|
||||
Сейчас сообщество использует:
|
||||
1. **Внешние решения:** Например, через автодополнение LSP, если сервер их поддерживает (rust-analyzer кое-что умеет, например `tmod` разворачивает тестовый модуль).
|
||||
2. **Скрипты/Пайпы:** Можно настроить хоткеи на вставку текста через `pipe` из внешних файлов, но это костыльно.
|
||||
|
||||
Так что для Rust твой лучший друг — это `Space` + `a` (Code Actions). Это даже круче сниппетов, потому что оно контекстно-зависимое.
|
||||
Loading…
Add table
Add a link
Reference in a new issue