Como crear un snippet en lazy vim

  1. Vamos a ~/.config/nvim/
  2. Creamos package.json con el siguiente contenido:
{
  "name": "snippets",
  "contributes": {
    "snippets": [
      {
        "language": [
          "javascript",
          "javascriptreact"
        ],
        "path": "snippets/rn.json"
      },
      {
        "language": [
          "typescript",
          "typescriptreact"
        ],
        "path": "snippets/rn.json"
      }
    ]
  }
}
  1. En ~/.config/nvim/lua/plugins/ creamos luasnip.lua con el siguiente contenido:
return {
  "L3MON4D3/LuaSnip",
  dependencies = {
    "rafamadriz/friendly-snippets",
    config = function()
      require("luasnip.loaders.from_vscode").lazy_load()
      require("luasnip.loaders.from_vscode").lazy_load({ paths = vim.fn.stdpath("config") .. "/snippets/" })
    end,
  },
}
  1. Como paso final en ~/.config/nvim/snippets/ creamos un archivo rn.json (o el nombre que quieras) con el siguiente formato y contenido.
{
  "reactnative-component": {
    "prefix": "rncomp",
    "body": [
      "import React from 'react';",
      "import { View, Text } from 'react-native';",
      "",
      "export const ${1:ComponentName} = () => {",
      "  return (",
      "    <View>",
      "      <Text>${2:Hello, world!}</Text>",
      "    </View>",
      "  );",
      "};",
      ""
    ],
    "description": "Crea un componente básico de React Native con View y Text"
  }
}