today's savings

This commit is contained in:
Rorik Star Platinum 2025-11-30 01:06:36 +03:00
parent 17f37947f3
commit 171c8d5489
5 changed files with 237 additions and 0 deletions

View 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). Это даже круче сниппетов, потому что оно контекстно-зависимое.