yuki-yano / tsnip.nvim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tsnip.nvim

Plugin to expand snippets written in Pure TypeScript(Deno).

This plugin depends on denops.vim.

Demo

tsnip_demo.mp4

Installation

Required

Usage

Can be used with coc.nvim or ddc.vim. Place the snippet file in ~/.vim/tsnip/{filetype}.ts.

coc.nvim

:CocInstall coc-tsnip

ddc.nvim

call ddc#custom#patch_global('sources', ['tsnip'])

Example

~/.vim/tsnip/typescriptreact.ts

import { Snippet } from "https://deno.land/x/tsnip_vim@v0.5/mod.ts";

const state: Snippet = {
  name: "useState",
  text: "const [${1:state}, set${State}] = useState(${2:default_value})",
  params: [
    {
      name: "state",
      type: "single_line",
    },
    {
      name: "default_value",
      type: "single_line",
    },
  ],
  render: ({ state, default_value }) =>
    `const [${state?.text ?? ""}, set${
      state != null
        ? `${state.text?.charAt(0).toUpperCase()}${state.text?.slice(1)}`
        : ""
    }] = useState(${default_value?.text ?? ""})`,
};

export default {
  state
}

About

License:MIT License


Languages

Language:TypeScript 86.3%Language:Lua 8.8%Language:Vim Script 4.9%