Skip to content

Configurar snippets personalizados en Astrovim

Published: at 20:01

Un snippet es un fragmento de código o texto predefinido que se puede insertar rápidamente en un archivo.

lua-snip ya viene instalado en AstroVim por defecto

Contenidos

Open Contenidos

Crear archivo de configuración

Crear luasnip.lua en .config/nvim/lua/plugins

return {
  "L3MON4D3/LuaSnip",
  config = function(plugin, opts)
    -- include the default astronvim config that calls the setup call
    require "astronvim.plugins.configs.luasnip"(plugin, opts)
    -- load snippets paths
    require("luasnip.loaders.from_vscode").lazy_load {
      paths = { vim.fn.stdpath "config" .. "/snippets" },
    }
  end,
}

Crear carpeta de snippets y los JSON

Crear carpeta snippets en .config/nvim

Un ejemplo en caso de markdown:

{
  "setup": {
    "prefix": ["saludo", "hola"],
    "body": [
      "Hola!",
      "Como te va?",
      "R: ${1}",
      "",
      "${0}"
    ],
    "description": "Inserta un saludo"
  }
}

Crear package.json en .config/nvim

{
  "name": "user_snippets",
  "engines": {
    "vscode": "^1.11.0"
  },
  "contributes": {
    "snippets": [
      {
        "language": "markdown",
        "path": "./snippets/markdown.json"
      }
    ]
  }
}

La jerarquía desde .config/nvim/ debe quedar de la siguiente manera:

.
├── lua
│   ├── plugins
│   │   ├── luasnip.lua
├── package.json
└── snippets
    └── markdown.json