From dec7cb040d9b567010f5b3b412a7a3305eca6288 Mon Sep 17 00:00:00 2001 From: ashalimov Date: Sun, 2 Feb 2025 00:47:27 +0300 Subject: [PATCH] Add snippets README --- lua/custom/snippets/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lua/custom/snippets/README.md diff --git a/lua/custom/snippets/README.md b/lua/custom/snippets/README.md new file mode 100644 index 0000000..5eb0b03 --- /dev/null +++ b/lua/custom/snippets/README.md @@ -0,0 +1,20 @@ +# Гайд по формированию сниппетов +## fmta + f +Рассмотрим пример использования `fmta` в сочетании с `f`: +``` +f(function(args) return string.lower(args[1][1]) end, {1}) +``` +Тут: +- `f`: Это функция LuaSnip, которая позволяет выполнять произвольные преобразования над входными данными. + Она принимает два аргумента: + - Функцию, которая выполняет преобразование. + - Список индексов, указывающих, какие входные данные использовать. + +- `function(args)`: Это функция, которая принимает аргумент args — таблица, содержащая значения, переданные из других узлов (например, i(1), i(2) и т.д.). +- `args[1][1]`: + - `args[1]` — это первая группа входных данных, переданная в f. + - `args[1][1]` — это первое значение из этой группы. Например, если вы используете i(1), то args[1][1] будет содержать текст, введенный пользователем для этого узла. + +- `string.lower(args[1][1])`: `string.lower` — это стандартная функция Lua, которая преобразует строку в нижний регистр. + +- `{1}`: Это список индексов, указывающих, какие входные данные использовать. `{1}` означает, что функция будет использовать значение из первого узла (например, i(1)).