Skip to content
This repository has been archived by the owner on Jan 5, 2025. It is now read-only.

sambergo/lunarvim-snippet-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

How to add snippets to Lunarvim

First example: Let's add existing VSCode snippet package

  1. Clone https://github.com/dsznajder/vscode-es7-javascript-react-snippets:
git clone https://github.com/dsznajder/vscode-es7-javascript-react-snippets

In this example we cloned it to ~/.config/lvim/snippets/ but you can store your snippets anywhere you want.

Now we do have ~/.config/lvim/snippets/vscode-es7-javascript-react-snippets/package.json

  1. And we can require package in config.lua:
require("luasnip/loaders/from_vscode").load { paths = { "~/.config/lvim/snippets/vscode-es7-javascript-react-snippets" } }
  1. These snippets should work now: img1

More VSCode snippets in https://marketplace.visualstudio.com/VSCode

Second example: Let's add custom snippets

  1. Create folder:
mkdir ~/.config/lvim/snippets/my-snippets
  1. Create package.json with content:
{
  "name": "my-snippets",
  "author": "user",
  "engines": {
    "vscode": "^1.11.0"
  },
  "contributes": {
    "snippets": [
      {
        "language": "javascriptreact",
        "path": "./js-react.json"
      },
      {
        "language": ["javascript", "javascriptreact"],
        "path": "./javascript.json"
      }
    ]
  }
}
  1. Create javascript.json with content:
{
  "test console log object": {
    "prefix": "cltest",
    "body": "console.log('${1:object}:', ${1})",
    "description": "console.log object"
  },
  "test const function": {
    "prefix": "cftest",
    "body": [
      "const ${1:name} = (${2:arguments}) => {",
      "\t\treturn ${3}",
      "\t}"
    ]
  }
}
  1. Create js-react.json with content:
{
  "React funtion component exported": {
    "prefix": "rfce",
    "body": [
      "const ${TM_FILENAME_BASE}: React.FC = () => {",
      "\treturn (",
      "\t\t${1}",
      "\t)",
      "}",
      "",
      "export default ${TM_FILENAME_BASE}"
    ],
    "description": "React function component with export"
  }
}
  1. Require snippets in config.lua:
require("luasnip/loaders/from_vscode").load { paths = { "~/.config/lvim/snippets/my-snippets" } }
  1. Make sure it works: img2

If you followed this your ~/.config/lvim/snippets/ should look like:

snippets folder

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published