Skip to content

yuki-yano/tsnip.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published