From f1eabbaa1b4ff1836d0ee8335b31d009203f3775 Mon Sep 17 00:00:00 2001 From: "Vito G. Graffagnino" Date: Tue, 30 Aug 2022 16:06:22 +0100 Subject: fixed zathura integration with texlab using nvim-texlabconfig --- init.lua | 1 + lua/user/cmp.lua | 17 +- lua/user/keymaps.lua | 2 + lua/user/nvim-texlabconfig.lua | 15 + lua/user/options.lua | 1 + lua/user/plugins.lua | 7 +- lua/user/snippet-converter.lua | 34 + luasnip_snippets/ada.json | 360 ++++++ luasnip_snippets/all.json | 1 + luasnip_snippets/bib.json | 68 ++ luasnip_snippets/bindzone.json | 7 + luasnip_snippets/blade.json | 79 ++ luasnip_snippets/c.json | 27 + luasnip_snippets/coffee-jasmine.json | 210 ++++ luasnip_snippets/coffee-react.json | 115 ++ luasnip_snippets/coffee.json | 90 ++ luasnip_snippets/cpp.json | 120 ++ luasnip_snippets/crystal.json | 1 + luasnip_snippets/cs.json | 206 ++++ luasnip_snippets/css.json | 271 +++++ luasnip_snippets/cuda.json | 1 + luasnip_snippets/d.json | 416 +++++++ luasnip_snippets/django.json | 457 ++++++++ luasnip_snippets/eelixir.json | 53 + luasnip_snippets/ejs.json | 20 + luasnip_snippets/elm.json | 1 + luasnip_snippets/erlang.json | 23 + luasnip_snippets/eruby.json | 75 ++ luasnip_snippets/gitcommit.json | 22 + luasnip_snippets/go.json | 26 + luasnip_snippets/haskell.json | 15 + luasnip_snippets/help.json | 1 + luasnip_snippets/html.json | 426 +++++++ luasnip_snippets/html_minimal.json | 36 + luasnip_snippets/htmldjango.json | 345 ++++++ luasnip_snippets/htmljinja.json | 1 + luasnip_snippets/java.json | 202 ++++ luasnip_snippets/javascript-angular.json | 32 + luasnip_snippets/javascript-ember.json | 120 ++ luasnip_snippets/javascript-jasmine-arrow.json | 68 ++ luasnip_snippets/javascript-jsdoc.json | 42 + luasnip_snippets/javascript-node.json | 74 ++ luasnip_snippets/javascript.json | 17 + luasnip_snippets/javascript_react.json | 54 + luasnip_snippets/jinja2.json | 186 +++ luasnip_snippets/json.json | 20 + luasnip_snippets/julia.json | 54 + luasnip_snippets/ledger.json | 1 + luasnip_snippets/lhaskell.json | 1 + luasnip_snippets/lua.json | 129 +++ luasnip_snippets/mako.json | 116 ++ luasnip_snippets/markdown.json | 54 + luasnip_snippets/matlab.json | 17 + luasnip_snippets/objc.json | 120 ++ luasnip_snippets/ocaml.json | 260 +++++ luasnip_snippets/octave.json | 1 + luasnip_snippets/package.json | 340 ++++++ luasnip_snippets/pandoc.json | 1 + luasnip_snippets/perl.json | 172 +++ luasnip_snippets/php-laravel.json | 1 + luasnip_snippets/php-phpspec.json | 202 ++++ luasnip_snippets/php-symfony2.json | 97 ++ luasnip_snippets/php.json | 1 + luasnip_snippets/plsql.json | 511 +++++++++ luasnip_snippets/proto.json | 1 + luasnip_snippets/puppet.json | 215 ++++ luasnip_snippets/python.json | 260 +++++ luasnip_snippets/r.json | 57 + luasnip_snippets/rails.json | 886 +++++++++++++++ luasnip_snippets/rnoweb.json | 1 + luasnip_snippets/robot.json | 395 +++++++ luasnip_snippets/rst.json | 11 + luasnip_snippets/ruby.json | 111 ++ luasnip_snippets/rust.json | 16 + luasnip_snippets/sh.json | 1 + luasnip_snippets/snippets.json | 7 + luasnip_snippets/soy.json | 79 ++ luasnip_snippets/supercollider.json | 18 + luasnip_snippets/svelte.json | 1 + luasnip_snippets/tcl.json | 69 ++ luasnip_snippets/tex.json | 226 ++++ luasnip_snippets/texmath.json | 1 + luasnip_snippets/typescript.json | 21 + luasnip_snippets/typescript_react.json | 16 + luasnip_snippets/vim.json | 23 + luasnip_snippets/vue.json | 1 + luasnip_snippets/xhtml.json | 1 + luasnip_snippets/xml.json | 13 + luasnip_snippets/zsh.json | 13 + snippets/_.snippets | 288 ----- snippets/actionscript.snippets | 153 --- snippets/ada.snippets | 217 ---- snippets/alpaca.snippets | 38 - snippets/apache.snippets | 35 - snippets/arduino.snippets | 124 -- snippets/asm.snippets | 195 ---- snippets/autoit.snippets | 66 -- snippets/awk.snippets | 82 -- snippets/c.snippets | 392 ------- snippets/chef.snippets | 204 ---- snippets/clojure.snippets | 87 -- snippets/cmake.snippets | 83 -- snippets/codeigniter.snippets | 171 --- snippets/coffee/angular_coffee.snippets | 116 -- snippets/coffee/coffee.snippets | 101 -- snippets/coffee/jquery_coffee.snippets | 524 --------- snippets/coffee/requirejs_coffee.snippets | 11 - snippets/cpp.snippets | 233 ---- snippets/crystal.snippets | 82 -- snippets/cs.snippets | 531 --------- snippets/css.snippets | 1263 --------------------- snippets/cuda.snippets | 59 - snippets/d.snippets | 338 ------ snippets/dart-flutter.snippets | 89 -- snippets/dart.snippets | 83 -- snippets/diff.snippets | 11 - snippets/django.snippets | 112 -- snippets/dosini.snippets | 12 - snippets/eelixir.snippets | 71 -- snippets/elixir.snippets | 292 ----- snippets/elm.snippets | 158 --- snippets/erlang.snippets | 722 ------------ snippets/eruby.snippets | 138 --- snippets/falcon.snippets | 71 -- snippets/fortran.snippets | 103 -- snippets/freemarker.snippets | 74 -- snippets/fsharp.snippets | 80 -- snippets/gitcommit.snippets | 2 - snippets/gleam.snippets | 98 -- snippets/go.snippets | 280 ----- snippets/haml.snippets | 37 - snippets/handlebars.snippets | 14 - snippets/haskell.snippets | 151 --- snippets/helm.snippets | 591 ---------- snippets/html.snippets | 858 -------------- snippets/htmldjango.snippets | 142 --- snippets/htmltornado.snippets | 55 - snippets/idris.snippets | 46 - snippets/jade.snippets | 18 - snippets/java.snippets | 295 ----- snippets/javascript-bemjson.snippets | 52 - snippets/javascript-d3.snippets | 30 - snippets/javascript-jasmine.snippets | 175 --- snippets/javascript-mocha.snippets | 34 - snippets/javascript-openui5.snippets | 205 ---- snippets/javascript/javascript-jquery.snippets | 589 ---------- snippets/javascript/javascript-react.snippets | 190 ---- snippets/javascript/javascript-redux.snippets | 37 - snippets/javascript/javascript-requirejs.snippets | 14 - snippets/javascript/javascript.node.snippets | 51 - snippets/javascript/javascript.snippets | 359 ------ snippets/jenkins.snippets | 270 ----- snippets/jinja.snippets | 142 --- snippets/jsp.snippets | 99 -- snippets/julia.snippets | 114 -- snippets/kotlin.snippets | 41 - snippets/laravel.snippets | 242 ---- snippets/ledger.snippets | 5 - snippets/lfe.snippets | 18 - snippets/liquid.snippets | 472 -------- snippets/lpc.snippets | 190 ---- snippets/ls.snippets | 108 -- snippets/lua.snippets | 64 -- snippets/make.snippets | 50 - snippets/mako.snippets | 54 - snippets/markdown.snippets | 144 --- snippets/matlab.snippets | 64 -- snippets/mustache.snippets | 15 - snippets/objc.snippets | 247 ---- snippets/ocaml.snippets | 39 - snippets/octave.snippets | 2 - snippets/openfoam.snippets | 53 - snippets/pandoc.snippets | 2 - snippets/perl.snippets | 367 ------ snippets/perl6.snippets | 116 -- snippets/phoenix.snippets | 16 - snippets/php.snippets | 690 ----------- snippets/plsql.snippets | 109 -- snippets/po.snippets | 5 - snippets/processing.snippets | 705 ------------ snippets/progress.snippets | 58 - snippets/ps1.snippets | 101 -- snippets/puppet.snippets | 245 ---- snippets/purescript.snippets | 71 -- snippets/python.snippets | 523 --------- snippets/r.snippets | 135 --- snippets/racket.snippets | 131 --- snippets/rails.snippets | 487 -------- snippets/reason.snippets | 36 - snippets/rmd.snippets | 205 ---- snippets/rst.snippets | 101 -- snippets/ruby.snippets | 742 ------------ snippets/rust.snippets | 252 ---- snippets/sass.snippets | 1243 -------------------- snippets/scala.snippets | 364 ------ snippets/scheme.snippets | 36 - snippets/scss.snippets | 44 - snippets/sh.snippets | 106 -- snippets/simplemvcf.snippets | 122 -- snippets/slim.snippets | 63 - snippets/snippets.snippets | 8 - snippets/sql.snippets | 26 - snippets/stylus.snippets | 1221 -------------------- snippets/supercollider.snippets | 22 - snippets/svelte.snippets | 1 - snippets/systemverilog.snippets | 73 -- snippets/tcl.snippets | 96 -- snippets/tex.snippets | 452 -------- snippets/textile.snippets | 30 - snippets/twig.snippets | 177 --- snippets/typescript.snippets | 67 -- snippets/typescriptreact.snippets | 1 - snippets/verilog.snippets | 99 -- snippets/vhdl.snippets | 137 --- snippets/vim.snippets | 85 -- snippets/vue.snippets | 208 ---- snippets/xml.snippets | 12 - snippets/xslt.snippets | 97 -- snippets/yii-chtml.snippets | 248 ---- snippets/yii.snippets | 300 ----- snippets/zsh.snippets | 66 -- 221 files changed, 8884 insertions(+), 24668 deletions(-) create mode 100644 lua/user/nvim-texlabconfig.lua create mode 100644 lua/user/snippet-converter.lua create mode 100644 luasnip_snippets/ada.json create mode 100644 luasnip_snippets/all.json create mode 100644 luasnip_snippets/bib.json create mode 100644 luasnip_snippets/bindzone.json create mode 100644 luasnip_snippets/blade.json create mode 100644 luasnip_snippets/c.json create mode 100644 luasnip_snippets/coffee-jasmine.json create mode 100644 luasnip_snippets/coffee-react.json create mode 100644 luasnip_snippets/coffee.json create mode 100644 luasnip_snippets/cpp.json create mode 100644 luasnip_snippets/crystal.json create mode 100644 luasnip_snippets/cs.json create mode 100644 luasnip_snippets/css.json create mode 100644 luasnip_snippets/cuda.json create mode 100644 luasnip_snippets/d.json create mode 100644 luasnip_snippets/django.json create mode 100644 luasnip_snippets/eelixir.json create mode 100644 luasnip_snippets/ejs.json create mode 100644 luasnip_snippets/elm.json create mode 100644 luasnip_snippets/erlang.json create mode 100644 luasnip_snippets/eruby.json create mode 100644 luasnip_snippets/gitcommit.json create mode 100644 luasnip_snippets/go.json create mode 100644 luasnip_snippets/haskell.json create mode 100644 luasnip_snippets/help.json create mode 100644 luasnip_snippets/html.json create mode 100644 luasnip_snippets/html_minimal.json create mode 100644 luasnip_snippets/htmldjango.json create mode 100644 luasnip_snippets/htmljinja.json create mode 100644 luasnip_snippets/java.json create mode 100644 luasnip_snippets/javascript-angular.json create mode 100644 luasnip_snippets/javascript-ember.json create mode 100644 luasnip_snippets/javascript-jasmine-arrow.json create mode 100644 luasnip_snippets/javascript-jsdoc.json create mode 100644 luasnip_snippets/javascript-node.json create mode 100644 luasnip_snippets/javascript.json create mode 100644 luasnip_snippets/javascript_react.json create mode 100644 luasnip_snippets/jinja2.json create mode 100644 luasnip_snippets/json.json create mode 100644 luasnip_snippets/julia.json create mode 100644 luasnip_snippets/ledger.json create mode 100644 luasnip_snippets/lhaskell.json create mode 100644 luasnip_snippets/lua.json create mode 100644 luasnip_snippets/mako.json create mode 100644 luasnip_snippets/markdown.json create mode 100644 luasnip_snippets/matlab.json create mode 100644 luasnip_snippets/objc.json create mode 100644 luasnip_snippets/ocaml.json create mode 100644 luasnip_snippets/octave.json create mode 100644 luasnip_snippets/package.json create mode 100644 luasnip_snippets/pandoc.json create mode 100644 luasnip_snippets/perl.json create mode 100644 luasnip_snippets/php-laravel.json create mode 100644 luasnip_snippets/php-phpspec.json create mode 100644 luasnip_snippets/php-symfony2.json create mode 100644 luasnip_snippets/php.json create mode 100644 luasnip_snippets/plsql.json create mode 100644 luasnip_snippets/proto.json create mode 100644 luasnip_snippets/puppet.json create mode 100644 luasnip_snippets/python.json create mode 100644 luasnip_snippets/r.json create mode 100644 luasnip_snippets/rails.json create mode 100644 luasnip_snippets/rnoweb.json create mode 100644 luasnip_snippets/robot.json create mode 100644 luasnip_snippets/rst.json create mode 100644 luasnip_snippets/ruby.json create mode 100644 luasnip_snippets/rust.json create mode 100644 luasnip_snippets/sh.json create mode 100644 luasnip_snippets/snippets.json create mode 100644 luasnip_snippets/soy.json create mode 100644 luasnip_snippets/supercollider.json create mode 100644 luasnip_snippets/svelte.json create mode 100644 luasnip_snippets/tcl.json create mode 100644 luasnip_snippets/tex.json create mode 100644 luasnip_snippets/texmath.json create mode 100644 luasnip_snippets/typescript.json create mode 100644 luasnip_snippets/typescript_react.json create mode 100644 luasnip_snippets/vim.json create mode 100644 luasnip_snippets/vue.json create mode 100644 luasnip_snippets/xhtml.json create mode 100644 luasnip_snippets/xml.json create mode 100644 luasnip_snippets/zsh.json delete mode 100644 snippets/_.snippets delete mode 100644 snippets/actionscript.snippets delete mode 100644 snippets/ada.snippets delete mode 100644 snippets/alpaca.snippets delete mode 100644 snippets/apache.snippets delete mode 100644 snippets/arduino.snippets delete mode 100644 snippets/asm.snippets delete mode 100644 snippets/autoit.snippets delete mode 100644 snippets/awk.snippets delete mode 100644 snippets/c.snippets delete mode 100644 snippets/chef.snippets delete mode 100644 snippets/clojure.snippets delete mode 100644 snippets/cmake.snippets delete mode 100644 snippets/codeigniter.snippets delete mode 100644 snippets/coffee/angular_coffee.snippets delete mode 100644 snippets/coffee/coffee.snippets delete mode 100644 snippets/coffee/jquery_coffee.snippets delete mode 100644 snippets/coffee/requirejs_coffee.snippets delete mode 100644 snippets/cpp.snippets delete mode 100644 snippets/crystal.snippets delete mode 100644 snippets/cs.snippets delete mode 100644 snippets/css.snippets delete mode 100644 snippets/cuda.snippets delete mode 100644 snippets/d.snippets delete mode 100644 snippets/dart-flutter.snippets delete mode 100644 snippets/dart.snippets delete mode 100644 snippets/diff.snippets delete mode 100644 snippets/django.snippets delete mode 100644 snippets/dosini.snippets delete mode 100644 snippets/eelixir.snippets delete mode 100644 snippets/elixir.snippets delete mode 100644 snippets/elm.snippets delete mode 100644 snippets/erlang.snippets delete mode 100644 snippets/eruby.snippets delete mode 100644 snippets/falcon.snippets delete mode 100644 snippets/fortran.snippets delete mode 100644 snippets/freemarker.snippets delete mode 100644 snippets/fsharp.snippets delete mode 100644 snippets/gitcommit.snippets delete mode 100644 snippets/gleam.snippets delete mode 100644 snippets/go.snippets delete mode 100644 snippets/haml.snippets delete mode 100644 snippets/handlebars.snippets delete mode 100644 snippets/haskell.snippets delete mode 100644 snippets/helm.snippets delete mode 100644 snippets/html.snippets delete mode 100644 snippets/htmldjango.snippets delete mode 100644 snippets/htmltornado.snippets delete mode 100644 snippets/idris.snippets delete mode 100644 snippets/jade.snippets delete mode 100644 snippets/java.snippets delete mode 100644 snippets/javascript-bemjson.snippets delete mode 100644 snippets/javascript-d3.snippets delete mode 100644 snippets/javascript-jasmine.snippets delete mode 100644 snippets/javascript-mocha.snippets delete mode 100644 snippets/javascript-openui5.snippets delete mode 100644 snippets/javascript/javascript-jquery.snippets delete mode 100644 snippets/javascript/javascript-react.snippets delete mode 100644 snippets/javascript/javascript-redux.snippets delete mode 100644 snippets/javascript/javascript-requirejs.snippets delete mode 100644 snippets/javascript/javascript.node.snippets delete mode 100644 snippets/javascript/javascript.snippets delete mode 100644 snippets/jenkins.snippets delete mode 100644 snippets/jinja.snippets delete mode 100644 snippets/jsp.snippets delete mode 100644 snippets/julia.snippets delete mode 100644 snippets/kotlin.snippets delete mode 100644 snippets/laravel.snippets delete mode 100644 snippets/ledger.snippets delete mode 100644 snippets/lfe.snippets delete mode 100644 snippets/liquid.snippets delete mode 100644 snippets/lpc.snippets delete mode 100644 snippets/ls.snippets delete mode 100644 snippets/lua.snippets delete mode 100644 snippets/make.snippets delete mode 100644 snippets/mako.snippets delete mode 100644 snippets/markdown.snippets delete mode 100644 snippets/matlab.snippets delete mode 100644 snippets/mustache.snippets delete mode 100644 snippets/objc.snippets delete mode 100644 snippets/ocaml.snippets delete mode 100644 snippets/octave.snippets delete mode 100644 snippets/openfoam.snippets delete mode 100644 snippets/pandoc.snippets delete mode 100644 snippets/perl.snippets delete mode 100644 snippets/perl6.snippets delete mode 100644 snippets/phoenix.snippets delete mode 100644 snippets/php.snippets delete mode 100644 snippets/plsql.snippets delete mode 100644 snippets/po.snippets delete mode 100644 snippets/processing.snippets delete mode 100644 snippets/progress.snippets delete mode 100644 snippets/ps1.snippets delete mode 100644 snippets/puppet.snippets delete mode 100644 snippets/purescript.snippets delete mode 100644 snippets/python.snippets delete mode 100644 snippets/r.snippets delete mode 100644 snippets/racket.snippets delete mode 100644 snippets/rails.snippets delete mode 100644 snippets/reason.snippets delete mode 100644 snippets/rmd.snippets delete mode 100644 snippets/rst.snippets delete mode 100644 snippets/ruby.snippets delete mode 100644 snippets/rust.snippets delete mode 100644 snippets/sass.snippets delete mode 100644 snippets/scala.snippets delete mode 100644 snippets/scheme.snippets delete mode 100644 snippets/scss.snippets delete mode 100644 snippets/sh.snippets delete mode 100644 snippets/simplemvcf.snippets delete mode 100644 snippets/slim.snippets delete mode 100644 snippets/snippets.snippets delete mode 100644 snippets/sql.snippets delete mode 100644 snippets/stylus.snippets delete mode 100644 snippets/supercollider.snippets delete mode 100644 snippets/svelte.snippets delete mode 100644 snippets/systemverilog.snippets delete mode 100644 snippets/tcl.snippets delete mode 100644 snippets/tex.snippets delete mode 100644 snippets/textile.snippets delete mode 100644 snippets/twig.snippets delete mode 100644 snippets/typescript.snippets delete mode 100644 snippets/typescriptreact.snippets delete mode 100644 snippets/verilog.snippets delete mode 100644 snippets/vhdl.snippets delete mode 100644 snippets/vim.snippets delete mode 100644 snippets/vue.snippets delete mode 100644 snippets/xml.snippets delete mode 100644 snippets/xslt.snippets delete mode 100644 snippets/yii-chtml.snippets delete mode 100644 snippets/yii.snippets delete mode 100644 snippets/zsh.snippets diff --git a/init.lua b/init.lua index 98d95d5..41d6091 100644 --- a/init.lua +++ b/init.lua @@ -23,3 +23,4 @@ require "user.toggleterm" require "user.indentline" require "user.impatient" require "user.whichkey" +require "user.snippet-converter" diff --git a/lua/user/cmp.lua b/lua/user/cmp.lua index b8e3c14..9f115e7 100644 --- a/lua/user/cmp.lua +++ b/lua/user/cmp.lua @@ -8,7 +8,22 @@ if not snip_status_ok then return end -require("luasnip/loaders/from_vscode").lazy_load() +-- [[ Split a string into lines. ]] +-- local function split_lines(txt) +-- return vim.fn.split(txt,'\n') +-- end + +-- [[ Find files in the runtime path. ]] +-- local function glob_runtimepath(pattern) +-- local runtime_path = vim.fn.escape(vim.o.runtimepath, ' ') +-- local search_result = vim.fn.globpath(runtime_path, pattern) +-- return split_lines(search_result) +-- end + +require("luasnip/loaders/from_vscode").lazy_load({ +-- paths = glob_runtimepath('luasnip_snippets/*.json') + paths = "~/.config/nvim/luasnip_snippets/*.json" +}) local check_backspace = function() local col = vim.fn.col "." - 1 diff --git a/lua/user/keymaps.lua b/lua/user/keymaps.lua index 10a8ee8..19fbe85 100644 --- a/lua/user/keymaps.lua +++ b/lua/user/keymaps.lua @@ -38,6 +38,8 @@ keymap("n", "", ":bprevious", opts) -- Insert -- -- Press jk fast to enter normal mode keymap("i", "jk", "", opts) +-- Spellcheck in insert_mode +keymap("i", "", "u[s1z=`]au", opts) -- Visual -- -- Stay in indent mode diff --git a/lua/user/nvim-texlabconfig.lua b/lua/user/nvim-texlabconfig.lua new file mode 100644 index 0000000..e89b910 --- /dev/null +++ b/lua/user/nvim-texlabconfig.lua @@ -0,0 +1,15 @@ +local nvim_texlabconfig_status_ok = pcall(require, "nvim-texlabconfig") +if not nvim_texlabconfig_status_ok then + return +end + +-- local config = { +-- cache_activate = true, +-- cache_filetypes = { 'tex', 'bib' }, +-- cache_root = vim.fn.stdpath('cache'), +-- reverse_search_edit_cmd = 'edit', +-- file_permission_mode = 438, +-- } +config = function () + require('nvim-texlabconfig').setup(config) +end diff --git a/lua/user/options.lua b/lua/user/options.lua index 52e63ab..6a5449d 100644 --- a/lua/user/options.lua +++ b/lua/user/options.lua @@ -13,6 +13,7 @@ local options = { showtabline = 2, -- always show tabs smartcase = true, -- smart case smartindent = true, -- make indenting smarter again + spell = true, -- spell check. splitbelow = true, -- force all horizontal splits to go below current window splitright = true, -- force all vertical splits to go to the right of current window swapfile = false, -- creates a swapfile diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua index 1db7da4..a3c9884 100644 --- a/lua/user/plugins.lua +++ b/lua/user/plugins.lua @@ -95,6 +95,11 @@ return packer.startup(function(use) -- snippets use {"L3MON4D3/LuaSnip", commit = ""} --snippet engine use {"rafamadriz/friendly-snippets", commit = ""} -- a bunch of snippets to use + use {"smjonas/snippet-converter.nvim", commit = ""} + + use {"SirVer/ultisnips", commit = ""} --snippet engine + use {"honza/vim-snippets", commit = ""} --snippets to use +-- use {"molleweide/LuaSnip-snippets.nvim", commit = ""} -- a bunch of snippets to use -- LSP use {"jose-elias-alvarez/null-ls.nvim", commit = ""} -- for formatters and linters @@ -125,7 +130,7 @@ return packer.startup(function(use) -- Tex -- use {"lervag/vimtex", commit = ""} - use {"f3fora/nvim-texlabconfig", commit = "", run ="go build"} + use {"f3fora/nvim-texlabconfig", run = 'go build ~/.local/bin/nvim-texlabconfig'} -- use {"emakman/nvim-latex-previewer", LatexViewer = "zathura"} -- use {"xuhdev/vim-latex-live-preview"} diff --git a/lua/user/snippet-converter.lua b/lua/user/snippet-converter.lua new file mode 100644 index 0000000..6835593 --- /dev/null +++ b/lua/user/snippet-converter.lua @@ -0,0 +1,34 @@ +local snipconv_status_ok, snippet_converter = pcall(require, "snippet-converter") +if not snipconv_status_ok then + return +end + +config = function() + local template = { + -- name = "t1", (optionally give your template a name to refer to it in the `ConvertSnippets` command) + sources = { + ultisnips = { + -- Add snippets from (plugin) folders or individual files on your runtimepath... + "./vim-snippets/UltiSnips", + "./latex-snippets/tex.snippets", + }, + snipmate = { + }, + }, + output = { + -- Specify the output formats and paths + vscode_luasnip = { + vim.fn.stdpath("config") .. "/luasnip_snippets", + opts = { + generate_package_json = false, + } + }, + }, + } + + require("snippet_converter").setup { + templates = { template }, + -- To change the default settings (see configuration section in the documentation) + -- settings = {}, + } +end diff --git a/luasnip_snippets/ada.json b/luasnip_snippets/ada.json new file mode 100644 index 0000000..2893309 --- /dev/null +++ b/luasnip_snippets/ada.json @@ -0,0 +1,360 @@ +{ + "wi": { + "prefix": "wi", + "description": "with", + "body": "with $1;$0", + "luasnip": { + "priority": -50 + } + }, + "ent": { + "prefix": "ent", + "description": "entry ... when", + "body": [ + "entry $1($2) when $3 is", + "begin", + "\t$0", + "end $1;" + ] + }, + "task": { + "prefix": "task", + "description": "task", + "body": [ + "task $1 is", + "\tentry $0", + "end $1;" + ] + }, + "taskb": { + "prefix": "taskb", + "description": "task body", + "body": [ + "task body $1 is", + "\t$2", + "begin", + "\t$0", + "end $1;" + ] + }, + "acc": { + "prefix": "acc", + "description": "accept", + "body": [ + "accept $1($2) do", + "\t$0", + "end $1;" + ] + }, + "prot": { + "prefix": "prot", + "description": "protected type", + "body": [ + "protected type $1($2) is", + "\t$0", + "end $1;" + ] + }, + "prob": { + "prefix": "prob", + "description": "protected body", + "body": [ + "protected body $1 is", + "\t$2", + "begin", + "\t$0", + "end $1;" + ] + }, + "gen": { + "prefix": "gen", + "description": "generic type", + "body": [ + "generic", + "\ttype $1 is $2;$0" + ] + }, + "ty": { + "prefix": "ty", + "description": "type", + "body": "type $1 is $2;$0" + }, + "tyd": { + "prefix": "tyd", + "description": "type with default value", + "body": [ + "type $1 is $2", + "\twith Default_Value => $3;$0" + ] + }, + "subty": { + "prefix": "subty", + "description": "subtype", + "body": "subtype $1 is $2;$0" + }, + "dec": { + "prefix": "dec", + "description": "declare block", + "body": [ + "declare", + "\t$1", + "begin", + "\t$0", + "end;" + ] + }, + "decn": { + "prefix": "decn", + "description": "declare named block", + "body": [ + "$1:", + "declare", + "\t$2", + "begin", + "\t$0", + "end $1;" + ] + }, + "ifex": { + "prefix": "ifex", + "description": "if expression", + "body": "if $1 then $2 else $0" + }, + "casex": { + "prefix": "casex", + "description": "case expression", + "body": [ + "case $1 is", + "\twhen $2 => $3,$0" + ] + }, + "fora": { + "prefix": "fora", + "description": "for all", + "body": "for all $1 ${2:in} $3 => $0" + }, + "fors": { + "prefix": "fors", + "description": "for some", + "body": "for some $1 ${2:in} $3 => $0" + }, + "if": { + "prefix": "if", + "description": "if", + "body": [ + "if $1 then", + "\t$0", + "end if;" + ] + }, + "ife": { + "prefix": "ife", + "description": "if ... else", + "body": [ + "if $1 then", + "\t$2", + "else", + "\t$0", + "end if;" + ] + }, + "el": { + "prefix": "el", + "description": "else", + "body": [ + "else", + "\t$0" + ] + }, + "eif": { + "prefix": "eif", + "description": "elsif", + "body": [ + "elsif $1 then", + "\t$0" + ] + }, + "wh": { + "prefix": "wh", + "description": "while", + "body": [ + "while $1 loop", + "\t$0", + "end loop;" + ] + }, + "nwh": { + "prefix": "nwh", + "description": "named while", + "body": [ + "$1:", + "while $2 loop", + "\t$0", + "end loop $1;" + ] + }, + "for": { + "prefix": "for", + "description": "for", + "body": [ + "for ${1:I} in $2 loop", + "\t$0", + "end loop;" + ] + }, + "fore": { + "prefix": "fore", + "description": "for each", + "body": [ + "for $1 of $2 loop", + "\t$0", + "end loop;" + ] + }, + "nfor": { + "prefix": "nfor", + "description": "named for", + "body": [ + "$1:", + "for ${2:I} in $3 loop", + "\t$0", + "end loop $1;" + ] + }, + "nfore": { + "prefix": "nfore", + "description": "named for each", + "body": [ + "$1:", + "for $2 of $3 loop", + "\t$0", + "end loop $1;" + ] + }, + "proc": { + "prefix": "proc", + "description": "procedure", + "body": [ + "procedure $1($2) is", + "\t$3", + "begin", + "\t$0", + "end $1;" + ] + }, + "procd": { + "prefix": "procd", + "description": "procedure declaration", + "body": "procedure $1;$0" + }, + "fun": { + "prefix": "fun", + "description": "function", + "body": [ + "function $1($2) return $3 is", + "\t$4", + "begin", + "\t$0", + "end $1;" + ] + }, + "fune": { + "prefix": "fune", + "description": "expression function", + "body": [ + "function $1 return $2 is", + "\t($3);$0" + ] + }, + "fund": { + "prefix": "fund", + "description": "function declaration", + "body": "function $1 return $2;$0" + }, + "ret": { + "prefix": "ret", + "description": "extended return", + "body": [ + "return $1 do", + "\t$0", + "end return;" + ] + }, + "rec": { + "prefix": "rec", + "description": "record", + "body": [ + "record", + "\t$0", + "end record;" + ] + }, + "case": { + "prefix": "case", + "description": "case", + "body": [ + "case $1 is", + "\twhen $2 => $3;$0", + "end case;" + ] + }, + "whe": { + "prefix": "whe", + "description": "when", + "body": "when $1 => $2;$0" + }, + "wheo": { + "prefix": "wheo", + "description": "when others", + "body": "when others => $1;$0" + }, + "lo": { + "prefix": "lo", + "description": "loop", + "body": [ + "loop", + "\t$0", + "end loop;" + ] + }, + "nlo": { + "prefix": "nlo", + "description": "named loop", + "body": [ + "$1:", + "loop", + "\t$0", + "end loop $1;" + ] + }, + "ex": { + "prefix": "ex", + "description": "exit when", + "body": "exit when $1;$0" + }, + "put": { + "prefix": "put", + "description": "Ada.Text_IO.Put", + "body": "Ada.Text_IO.Put($1);$0" + }, + "putl": { + "prefix": "putl", + "description": "Ada.Text_IO.Put_Line", + "body": "Ada.Text_IO.Put_Line($1);$0" + }, + "get": { + "prefix": "get", + "description": "Ada.Text_IO.Get", + "body": "Ada.Text_IO.Get($1);$0" + }, + "getl": { + "prefix": "getl", + "description": "Ada.Text_IO.Get_Line", + "body": "Ada.Text_IO.Get_Line($1);$0" + }, + "newline": { + "prefix": "newline", + "description": "Ada.Text_IO.New_Line", + "body": "Ada.Text_IO.New_Line(${1:1});$0" + } +} diff --git a/luasnip_snippets/all.json b/luasnip_snippets/all.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/luasnip_snippets/all.json @@ -0,0 +1 @@ +{} diff --git a/luasnip_snippets/bib.json b/luasnip_snippets/bib.json new file mode 100644 index 0000000..6f237c7 --- /dev/null +++ b/luasnip_snippets/bib.json @@ -0,0 +1,68 @@ +{ + "online": { + "prefix": "online", + "description": "Online resource", + "body": [ + "@online{${1:name},", + "\tauthor={${2:author}\\},", + "\ttitle={${3:title}\\},", + "\tdate={${4:date}\\},", + "\turl={${5:url}\\}", + "\\}", + "$0" + ], + "luasnip": { + "priority": -50 + } + }, + "article": { + "prefix": "article", + "description": "Article reference", + "body": [ + "@article{${1:name},", + "\tauthor={${2:author}\\},", + "\ttitle={${3:title}\\},", + "\tjournaltitle={${4:journal}\\},", + "\tvolume={${5:NN}\\},", + "\tnumber={${6:NN}\\},", + "\tyear={${7:YYYY}\\},", + "\tpages={${8:NN}--${9:NN}\\}", + "\\}", + "$0" + ] + }, + "book": { + "prefix": "book", + "description": "Book reference", + "body": [ + "@book{${1:name},", + "\tauthor={${2:author}\\},", + "\ttitle={${3:title}\\},", + "\tsubtitle={${4:subtitle}\\},", + "\tyear={${5:YYYY}\\},", + "\tlocation={${6:somewhere}\\},", + "\tpublisher={${7:publisher}\\},", + "\tpages={${8:NN}--${9:NN}\\}", + "\\}", + "$0" + ] + }, + "inb": { + "prefix": "inb", + "description": "In Book reference", + "body": [ + "@inbook{${1:name},", + "\tauthor={${2:author}\\},", + "\ttitle={${3:title}\\},", + "\tsubtitle={${4:subtitle}\\},", + "\tbooktitle={${5:book}\\},", + "\teditor={${6:editor}\\},", + "\tyear={${7:YYYY}\\},", + "\tlocation={${8:somewhere}\\},", + "\tpublisher={${9:publisher}\\},", + "\tpages={${10:NN}--${11:NN}\\}", + "\\}", + "$0" + ] + } +} diff --git a/luasnip_snippets/bindzone.json b/luasnip_snippets/bindzone.json new file mode 100644 index 0000000..2ccda11 --- /dev/null +++ b/luasnip_snippets/bindzone.json @@ -0,0 +1,7 @@ +{ + "A": { + "prefix": "A", + "description": "Insert A Record", + "body": "${1:hostname}\tIN\t\tA\t${2:ip}" + } +} diff --git a/luasnip_snippets/blade.json b/luasnip_snippets/blade.json new file mode 100644 index 0000000..e624f8b --- /dev/null +++ b/luasnip_snippets/blade.json @@ -0,0 +1,79 @@ +{ + "break": { + "prefix": "break", + "description": "@break", + "body": "@break", + "luasnip": { + "priority": -49 + } + }, + "each": { + "prefix": "each", + "description": "@each directive", + "body": "@each('$1', \\$$2, '$3')" + }, + "else": { + "prefix": "else", + "description": "@else directive", + "body": "@else" + }, + "extends": { + "prefix": "extends", + "description": "@extends directive", + "body": "@extends('$1')" + }, + "include": { + "prefix": "include", + "description": "@include directive", + "body": "@include('$1')" + }, + "includeIf": { + "prefix": "includeIf", + "description": "@includeIf directive", + "body": "@includeIf('$1')" + }, + "inject": { + "prefix": "inject", + "description": "@inject directive", + "body": "@inject('$1', '$2')" + }, + "lang": { + "prefix": "lang", + "description": "@lang directive", + "body": "@lang('$1')" + }, + "section": { + "prefix": "section", + "description": "@section directive", + "body": "@section('$1')" + }, + "show": { + "prefix": "show", + "description": "@show directive", + "body": "@show" + }, + "verbatim": { + "prefix": "verbatim", + "description": "@verbatim directive", + "body": [ + "@verbatim", + "\t${0:\\$VISUAL}", + "@endverbatim" + ] + }, + "yield": { + "prefix": "yield", + "description": "@yield directive", + "body": "@yield('$1')" + }, + "{": { + "prefix": "{", + "description": "{{ }} statement.", + "body": "{{ $1 \\}\\}" + }, + "{!": { + "prefix": "{!", + "description": "{!! !!} statement", + "body": "{!! $1 !!\\}" + } +} diff --git a/luasnip_snippets/c.json b/luasnip_snippets/c.json new file mode 100644 index 0000000..611d918 --- /dev/null +++ b/luasnip_snippets/c.json @@ -0,0 +1,27 @@ +{ + "def": { + "prefix": "def", + "description": "#define ...", + "body": "#define $1", + "luasnip": { + "priority": -50 + } + }, + "mark": { + "prefix": "mark", + "description": "#pragma mark (mark)", + "body": [ + "#if 0", + "${1:#pragma mark -", + "}#pragma mark $2", + "#endif", + "", + "$0" + ] + }, + "fund": { + "prefix": "fund", + "description": "function declaration", + "body": "${1:void} ${2:function_name}($3);" + } +} diff --git a/luasnip_snippets/coffee-jasmine.json b/luasnip_snippets/coffee-jasmine.json new file mode 100644 index 0000000..563b88e --- /dev/null +++ b/luasnip_snippets/coffee-jasmine.json @@ -0,0 +1,210 @@ +{ + "des": { + "prefix": "des", + "description": "Describe (coffee)", + "body": [ + "describe '${1:description}', ->", + "\t$0" + ], + "luasnip": { + "priority": -49 + } + }, + "it": { + "prefix": "it", + "description": "it (coffee)", + "body": [ + "it '${1:description}', ->", + "\t$0" + ] + }, + "bef": { + "prefix": "bef", + "description": "before each (coffee)", + "body": [ + "beforeEach ->", + "\t$0" + ] + }, + "aft": { + "prefix": "aft", + "description": "after each (coffee)", + "body": [ + "afterEach ->", + "\t$0" + ] + }, + "any": { + "prefix": "any", + "description": "any (coffee)", + "body": "jasmine.any($1)" + }, + "ru": { + "prefix": "ru", + "description": "runs (coffee)", + "body": [ + "runs ->", + "\t$0" + ] + }, + "wa": { + "prefix": "wa", + "description": "waits (coffee)", + "body": "waits($1)" + }, + "ex": { + "prefix": "ex", + "description": "expect (coffee)", + "body": "expect(${1:target})$0" + }, + "ee": { + "prefix": "ee", + "description": "expect to equal (coffee)", + "body": "expect(${1:target}).toEqual(${2:value})" + }, + "em": { + "prefix": "em", + "description": "expect to match (coffee)", + "body": "expect(${1:target}).toMatch(${2:pattern})" + }, + "eha": { + "prefix": "eha", + "description": "expect to have attribute (coffee)", + "body": "expect(${1:target}).toHaveAttr('${2:attr}'${3:, '${4:value}'})" + }, + "et": { + "prefix": "et", + "description": "expect to be truthy (coffee)", + "body": "expect(${1:target}).toBeTruthy()" + }, + "ef": { + "prefix": "ef", + "description": "expect to be falsy (coffee)", + "body": "expect(${1:target}).toBeFalsy()" + }, + "ed": { + "prefix": "ed", + "description": "expect to be defined (coffee)", + "body": "expect(${1:target}).toBeDefined()" + }, + "en": { + "prefix": "en", + "description": "expect to be null (coffee)", + "body": "expect(${1:target}).toBeNull()" + }, + "ec": { + "prefix": "ec", + "description": "expect to contain (coffee)", + "body": "expect(${1:target}).toContain(${2:value})" + }, + "ev": { + "prefix": "ev", + "description": "expect to be visible (coffee)", + "body": "expect(${1:target}).toBeVisible()" + }, + "eh": { + "prefix": "eh", + "description": "expect to be hidden (coffee)", + "body": "expect(${1:target}).toBeHidden()" + }, + "notx": { + "prefix": "notx", + "description": "expect not (coffee)", + "body": "expect(${1:target}).not$0" + }, + "note": { + "prefix": "note", + "description": "expect not to equal (coffee)", + "body": "expect(${1:target}).not.toEqual(${2:value})" + }, + "notm": { + "prefix": "notm", + "description": "expect not to match (coffee)", + "body": "expect(${1:target}).not.toMatch(${2:pattern})" + }, + "notha": { + "prefix": "notha", + "description": "expect to not have attribute (coffee)", + "body": "expect(${1:target}).not.toHaveAttr('${2:attr}'${3:, '${4:value}'})" + }, + "nott": { + "prefix": "nott", + "description": "expect not to be truthy (coffee)", + "body": "expect(${1:target}).not.toBeTruthy()" + }, + "notf": { + "prefix": "notf", + "description": "expect not to be falsy (coffee)", + "body": "expect(${1:target}).not.toBeFalsy()" + }, + "notd": { + "prefix": "notd", + "description": "expect not to be defined (coffee)", + "body": "expect(${1:target}).not.toBeDefined()" + }, + "notn": { + "prefix": "notn", + "description": "expect not to be null (coffee)", + "body": "expect(${1:target}).not.toBeNull()" + }, + "notc": { + "prefix": "notc", + "description": "expect not to contain (coffee)", + "body": "expect(${1:target}).not.toContain(${2:value})" + }, + "notv": { + "prefix": "notv", + "description": "expect not to be visible (coffee)", + "body": "expect(${1:target}).not.toBeVisible()" + }, + "noth": { + "prefix": "noth", + "description": "expect not to be hidden (coffee)", + "body": "expect(${1:target}).not.toBeHidden()" + }, + "s": { + "prefix": "s", + "description": "spy on (coffee)", + "body": "spyOn(${1:object}, \"${2:method}\")$0" + }, + "sr": { + "prefix": "sr", + "description": "spy on and return (coffee)", + "body": "spyOn(${1:object}, \"${2:method}\").andReturn(${3:arguments})" + }, + "st": { + "prefix": "st", + "description": "spy on and throw (coffee)", + "body": "spyOn(${1:object}, \"${2:method}\").andThrow(${3:exception})" + }, + "sct": { + "prefix": "sct", + "description": "spy on and call through (coffee)", + "body": "spyOn(${1:object}, \"${2:method}\").andCallThrough()" + }, + "scf": { + "prefix": "scf", + "description": "spy on and call fake (coffee)", + "body": "spyOn(${1:object}, \"${2:method}\").andCallFake(${3:function})" + }, + "esc": { + "prefix": "esc", + "description": "expect was called (coffee)", + "body": "expect(${1:target}).wasCalled()" + }, + "escw": { + "prefix": "escw", + "description": "expect was called with (coffee)", + "body": "expect(${1:target}).wasCalledWith(${2:arguments})" + }, + "notsc": { + "prefix": "notsc", + "description": "expect was not called (coffee)", + "body": "expect(${1:target}).wasNotCalled()" + }, + "noscw": { + "prefix": "noscw", + "description": "expect was not called with (coffee)", + "body": "expect(${1:target}).wasNotCalledWith(${2:arguments})" + } +} diff --git a/luasnip_snippets/coffee-react.json b/luasnip_snippets/coffee-react.json new file mode 100644 index 0000000..ceca925 --- /dev/null +++ b/luasnip_snippets/coffee-react.json @@ -0,0 +1,115 @@ +{ + "createClass": { + "prefix": "createClass", + "description": "React define Class", + "body": [ + "${1:classname}Class = React.createClass", + "\tdisplayName: \"$1\"", + "\trender: ->", + "\t\t$2", + "$1 = React.createFactory($1)" + ], + "luasnip": { + "priority": -49 + } + }, + "PropTypes": { + "prefix": "PropTypes", + "description": "React define propTypes", + "body": [ + "propTypes: ->", + "\t${1:myVar}: React.PropTypes.${2:type}${3:.isRequired}" + ] + }, + "propType": { + "prefix": "propType", + "description": "React propType (key/value)", + "body": [ + "${1:myVar}: React.PropTypes.${2:type}${3:.isRequired}", + "$4" + ] + }, + "setState": { + "prefix": "setState", + "description": "React setState", + "body": [ + "@setState", + "\t${1:myvar}: ${2:myvalue}", + "\t$3" + ] + }, + "getInitialState": { + "prefix": "getInitialState", + "description": "React define getInitialState", + "body": [ + "getInitialState: ->", + "\t${1:myvar}: ${2:myvalue}", + "\t$3" + ] + }, + "getDefaultProps": { + "prefix": "getDefaultProps", + "description": "React define getDefaultProps", + "body": [ + "getDefaultProps: ->", + "\t${1:myvar}: ${2:myvalue}", + "\t$3" + ] + }, + "componentWillMount": { + "prefix": "componentWillMount", + "description": "React define componentWillMount", + "body": [ + "componentWillMount: ->", + "\t$1" + ] + }, + "componentDidMount": { + "prefix": "componentDidMount", + "description": "React define componentDidMount", + "body": [ + "componentDidMount: ->", + "\t$1" + ] + }, + "componentWillReceiveProps": { + "prefix": "componentWillReceiveProps", + "description": "React define componentWillReceiveProps", + "body": [ + "componentWillReceiveProps: (nextProps) ->", + "\t$1" + ] + }, + "shouldComponentUpdate": { + "prefix": "shouldComponentUpdate", + "description": "React define shouldComponentUpdate", + "body": [ + "shouldComponentUpdate: (nextProps, nextState) ->", + "\t$1" + ] + }, + "componentWillUpdate": { + "prefix": "componentWillUpdate", + "description": "React define componentWillUpdate", + "body": [ + "componentWillUpdate: (nextProps, nextState) ->", + "\t$1" + ] + }, + "componentDidUpdate": { + "prefix": "componentDidUpdate", + "description": "React define componentDidUpdate", + "body": [ + "componentDidUpdate: (prevProps, prevState) ->", + "\t$1" + ] + }, + "componentWillUnmount": { + "prefix": "componentWillUnmount", + "description": "React define componentWillUnmount", + "body": [ + "componentWillUnmount: ->", + "\t$1" + ] + } +} diff --git a/luasnip_snippets/coffee.json b/luasnip_snippets/coffee.json new file mode 100644 index 0000000..88d097a --- /dev/null +++ b/luasnip_snippets/coffee.json @@ -0,0 +1,90 @@ +{ + "if": { + "prefix": "if", + "description": "If", + "body": [ + "if ${1:condition}", + "\t${0:# body...}" + ] + }, + "ife": { + "prefix": "ife", + "description": "If .. Else", + "body": [ + "if ${1:condition}", + "\t${2:# body...}", + "else", + "\t${3:# body...}" + ] + }, + "elif": { + "prefix": "elif", + "description": "Else if", + "body": [ + "else if ${1:condition}", + "\t${0:# body...}" + ] + }, + "ifte": { + "prefix": "ifte", + "description": "Ternary if", + "body": "if ${1:condition} then ${2:value} else ${3:other}" + }, + "unl": { + "prefix": "unl", + "description": "Unless", + "body": "${1:action} unless ${2:condition}" + }, + "fora": { + "prefix": "fora", + "description": "Array Comprehension", + "body": [ + "for ${1:name} in ${2:array}", + "\t${0:# body...}" + ] + }, + "foro": { + "prefix": "foro", + "description": "Object Comprehension", + "body": [ + "for ${1:key}, ${2:value} of ${3:Object}", + "\t${0:# body...}" + ] + }, + "swi": { + "prefix": "swi", + "description": "Switch", + "body": [ + "switch ${1:object}", + "\twhen ${2:value}", + "\t\t${3:# body...}", + "\telse", + "\t\t$0" + ] + }, + "try": { + "prefix": "try", + "description": "Try .. Catch", + "body": [ + "try", + "\t$1", + "catch ${2:error}", + "\t$3" + ] + }, + "#": { + "prefix": "#", + "description": "Interpolated Code", + "body": "#{$1\\}$0" + }, + "log": { + "prefix": "log", + "description": "Log", + "body": "console.log ${1:\"${2:msg}\"}" + }, + "kv": { + "prefix": "kv", + "description": "Key:value for object", + "body": "${1:key}:${2:value}" + } +} diff --git a/luasnip_snippets/cpp.json b/luasnip_snippets/cpp.json new file mode 100644 index 0000000..d9b0ba0 --- /dev/null +++ b/luasnip_snippets/cpp.json @@ -0,0 +1,120 @@ +{ + "main": { + "prefix": "main", + "body": [ + "int main(int argc, char *argv[])", + "{", + "\t$0", + "\treturn 0;", + "\\}" + ], + "luasnip": { + "priority": -49 + } + }, + "readfile": { + "prefix": "readfile", + "description": "read file (readF)", + "body": [ + "std::vector v;", + "if (FILE *fp = fopen(${1:\"filename\"}, \"r\"))", + "{", + "\tchar buf[1024];", + "\twhile(size_t len = fread(buf, 1, sizeof(buf), fp))", + "\t\tv.insert(v.end(), buf, buf + len);", + "\tfclose(fp);", + "\\}" + ] + }, + "map": { + "prefix": "map", + "description": "std::map (map)", + "body": "std::map<${1:key}, ${2:value}> map$0;" + }, + "vector": { + "prefix": "vector", + "description": "std::vector (v)", + "body": "std::vector<${1:char}> v$0;" + }, + "tp": { + "prefix": "tp", + "description": "template (template)", + "body": "template " + }, + "boost_test": { + "prefix": "boost_test", + "description": "Boost test module", + "body": [ + "#define BOOST_TEST_MODULE ${1:TestModuleName}", + "#include ", + "", + "BOOST_AUTO_TEST_CASE(${2:TestCaseName})", + "{", + "\t${0:TestDefinition}", + "\\}", + "" + ] + }, + "boost_suite": { + "prefix": "boost_suite", + "description": "Boost test suite module", + "body": [ + "#define BOOST_TEST_MODULE ${1:TestModuleName}", + "#include ", + "", + "BOOST_AUTO_TEST_SUITE(${2:SuiteName})", + "", + "BOOST_AUTO_TEST_CASE(${3:TestCaseName})", + "{", + "\t${0:TestDefinition}", + "\\}", + "", + "BOOST_AUTO_TEST_SUITE_END()", + "" + ] + }, + "boost_test_fixture": { + "prefix": "boost_test_fixture", + "description": "Boost test module with fixture", + "body": [ + "#define BOOST_TEST_MODULE ${1:TestModuleName}", + "#include ", + "", + "struct ${2:FixtureName} {", + "\t$2() {\\}", + "\tvirtual ~$2() {\\}", + "\t/* define members here */", + "\\};", + "", + "BOOST_FIXTURE_TEST_CASE(${3:SuiteName}, $2)", + "{", + "\t${0:TestDefinition}", + "\\}", + "" + ] + }, + "boost_suite_fixture": { + "prefix": "boost_suite_fixture", + "description": "Boost test suite with fixture", + "body": [ + "#define BOOST_TEST_MODULE ${1:TestModuleName}", + "#include ", + "", + "struct ${2:FixtureName} {", + "\t$2() {\\}", + "\tvirtual ~$2() {\\}", + "\t/* define members here */", + "\\};", + "", + "BOOST_FIXTURE_TEST_SUITE(${3:SuiteName}, $2)", + "", + "BOOST_AUTO_TEST_CASE(${4:TestCaseName})", + "{", + "\t${0:TestDefinition}", + "\\}", + "", + "BOOST_AUTO_TEST_SUITE_END()", + "" + ] + } +} diff --git a/luasnip_snippets/crystal.json b/luasnip_snippets/crystal.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/luasnip_snippets/crystal.json @@ -0,0 +1 @@ +{} diff --git a/luasnip_snippets/cs.json b/luasnip_snippets/cs.json new file mode 100644 index 0000000..17623a9 --- /dev/null +++ b/luasnip_snippets/cs.json @@ -0,0 +1,206 @@ +{ + "enum": { + "prefix": "enum", + "description": "enumeration", + "body": "enum ${1:MyEnum} { ${2:Item} \\};" + }, + "sim": { + "prefix": "sim", + "description": "static int main", + "body": [ + "static int Main(string[] args)", + "{", + "\t$0", + "\\}" + ] + }, + "svm": { + "prefix": "svm", + "description": "static void main", + "body": [ + "static void Main(string[] args)", + "{", + "\t$0", + "\\}" + ] + }, + "prop": { + "prefix": "prop", + "description": "Simple property declaration", + "body": "public ${1:int} ${2:MyProperty} { get; set; \\}" + }, + "propfull": { + "prefix": "propfull", + "description": "Full property declaration", + "body": [ + "private ${1:int} ${2:_myProperty};", + "", + "public $1 ${3:MyProperty}", + "{", + "\tget { return $2; \\}", + "\tset { $2 = value; \\}", + "\\}" + ] + }, + "propg": { + "prefix": "propg", + "description": "Property with a private setter", + "body": "public ${1:int} ${2:MyProperty} { get; private set; \\}" + }, + "elif": { + "prefix": "elif", + "description": "else if", + "body": [ + "else if ($1)", + "{", + "\t$0", + "\\}" + ] + }, + "elseif": { + "prefix": "elseif", + "description": "else if", + "body": [ + "else if ($1)", + "{", + "\t$0", + "\\}" + ] + }, + "switch": { + "prefix": "switch", + "description": "switch statement", + "body": [ + "switch (${1:statement})", + "{", + "\tcase ${2:value}:", + "\t\tbreak;", + "", + "\tdefault:", + "\t\t$0break;", + "\\}" + ] + }, + "case": { + "prefix": "case", + "description": "case", + "body": [ + "case ${1:value}:", + "\t$2", + "\tbreak;" + ] + }, + "throw": { + "prefix": "throw", + "description": "throw", + "body": "throw new $1Exception(\"$2\");" + }, + "from": { + "prefix": "from", + "description": "LINQ syntax", + "body": [ + "var ${1:seq} =", + "\tfrom ${2:item1} in ${3:items1}", + "\tjoin ${4:item2} in ${5:items2} on $2.${6:prop1} equals $4.${7:prop2}", + "\tselect ${8:$2.prop3}", + "\twhere ${9:clause}" + ] + }, + "da": { + "prefix": "da", + "description": "Debug.Assert", + "body": "Debug.Assert(${1:true});" + }, + "cw": { + "prefix": "cw", + "description": "Console.WriteLine", + "body": "Console.WriteLine(\"$1\");" + }, + "cr": { + "prefix": "cr", + "description": "Console.ReadLine", + "body": "Console.ReadLine();" + }, + "mbox": { + "prefix": "mbox", + "description": "Message box", + "body": "MessageBox.Show(\"${1:message}\");" + }, + "equals": { + "prefix": "equals", + "description": "Equality for a type", + "body": [ + "public override bool Equals(object obj) => Equals(obj as ${1:TYPE});", + "", + "public bool Equals($1 other) // IEquatable<$1>", + "{", + "\tif (object.ReferenceEquals(other, null))", + "\t\treturn false;", + "\tif (object.ReferenceEquals(this, other))", + "\t\treturn true;", + "\tif (this.GetType() != other.GetType())", + "\t\treturn false;", + "\t$0", + "\treturn base.Equals(other);", + "\\}", + "", + "public override int GetHashCode() => base.GetHashCode();", + "", + "public static bool operator ==($1 x, $1 y) =>", + "\t(object.ReferenceEquals(x, null) && object.ReferenceEquals(y, null))", + "\t|| (!object.ReferenceEquals(x, null) && x.Equals(y));", + "", + "public static bool operator !=($1 x, $1 y) => !(x == y);", + "" + ] + }, + "mth": { + "prefix": "mth", + "description": "Method", + "body": [ + "${1:public} ${2:void} ${3:MyMethod}($4)", + "{", + "\t$0", + "\\}" + ] + }, + "mths": { + "prefix": "mths", + "description": "Static method", + "body": [ + "${1:public} static ${2:void} ${3:MyMethod}($4)", + "{", + "\t$0", + "\\}" + ] + }, + "///": { + "prefix": "///", + "description": "XML summary comment", + "body": [ + "/// ", + "/// $0", + "/// " + ] + }, + "$2" + }, + "$2" + }, + "$0" + }, + "$0" + } +} diff --git a/luasnip_snippets/css.json b/luasnip_snippets/css.json new file mode 100644 index 0000000..427d3af --- /dev/null +++ b/luasnip_snippets/css.json @@ -0,0 +1,271 @@ +{ + "p": { + "prefix": "p", + "description": "padding", + "body": "padding: ${1:0};$0", + "luasnip": { + "priority": -50 + } + }, + "m": { + "prefix": "m", + "description": "margin", + "body": "margin: ${1:0};$0" + }, + "bd": { + "prefix": "bd", + "description": "border", + "body": "border: ${1:0};$0" + }, + "d": { + "prefix": "d", + "description": "display", + "body": "display: ${1:none};$0" + }, + "bg": { + "prefix": "bg", + "description": "background", + "body": "background: ${1:none};$0" + }, + "ff": { + "prefix": "ff", + "description": "font-family", + "body": "font-family: ${1:\"Helvetica Neue\", Helvetica, Arial, sans-serif};$0" + }, + "h": { + "prefix": "h", + "description": "height", + "body": "height: ${1:auto};$0" + }, + "w": { + "prefix": "w", + "description": "width", + "body": "width: ${1:auto};$0" + }, + "pos": { + "prefix": "pos", + "description": "position", + "body": "position: ${1:relative};$0" + }, + "tt": { + "prefix": "tt", + "description": "text-transform", + "body": "text-transform: ${1:none};$0" + }, + "!": { + "prefix": "!", + "description": "!important CSS (!)", + "body": "!important" + }, + "tsh": { + "prefix": "tsh", + "description": "text-shadow: color-hex x y blur (text)", + "body": "text-shadow: ${1:${2:offset-x} ${3:offset-y} ${4:blur} ${5:color}};$0" + }, + "bxsh": { + "prefix": "bxsh", + "description": "box-shadow: color-hex x y blur (text)", + "body": "box-shadow: ${1:${2:offset-x} ${3:offset-y} ${4:blur} ${5:spread} ${6:color} ${7:inset}};$0" + }, + "rgb": { + "prefix": "rgb", + "description": "color rgb", + "body": "rgb(${1:255}, ${2:255}, ${3:255})$0" + }, + "rgba": { + "prefix": "rgba", + "description": "color rgba", + "body": "rgba(${1:255}, ${2:255}, ${3:255}, ${4:0.5})$0" + }, + "hsl": { + "prefix": "hsl", + "description": "color hsl", + "body": "hsl(${1:360}, ${2:100}%, ${3:100}%)$0" + }, + "hsla": { + "prefix": "hsla", + "description": "color hsla", + "body": "hsla(${1:360}, ${2:100}%, ${3:100}%, ${4:0.5})$0" + }, + ":fc": { + "prefix": ":fc", + "body": ":first-child" + }, + ":lc": { + "prefix": ":lc", + "body": ":last-child" + }, + ":nc": { + "prefix": ":nc", + "body": ":nth-child($0)" + }, + ":nlc": { + "prefix": ":nlc", + "body": ":nth-last-child($0)" + }, + ":oc": { + "prefix": ":oc", + "body": ":only-child" + }, + ":a": { + "prefix": ":a", + "body": ":after" + }, + ":b": { + "prefix": ":b", + "body": ":before" + }, + "::a": { + "prefix": "::a", + "body": "::after" + }, + "::b": { + "prefix": "::b", + "body": "::before" + }, + "background": { + "prefix": "background", + "description": "background: color image repeat attachment position (background)", + "body": "background:${6: #${1:DDD}} url($2) ${3:repeat/repeat-x/repeat-y/no-repeat} ${4:scroll/fixed} ${5:top left/top center/top right/center left/center center/center right/bottom left/bottom center/bottom right/x-% y-%/x-pos y-pos};$0" + }, + "border": { + "prefix": "border", + "description": "border: size style color (border)", + "body": "border: ${1:1px} ${2:solid} #${3:999};$0" + }, + "clear": { + "prefix": "clear", + "description": "clear: value (clear)", + "body": "clear: ${1:left/right/both/none};$0" + }, + "color": { + "prefix": "color", + "description": "color: color-rgb (color)", + "body": "color: rgb(${1:255},${2:255},${3:255});$0" + }, + "cursor": { + "prefix": "cursor", + "description": "cursor: url (cursor)", + "body": "cursor: url($1);$0" + }, + "direction": { + "prefix": "direction", + "description": "direction: ltr|rtl (direction)", + "body": "direction: ${1:ltr|rtl};$0" + }, + "display": { + "prefix": "display", + "description": "display: table-types (display)", + "body": "display: ${1:table/inline-table/table-row-group/table-header-group/table-footer-group/table-row/table-column-group/table-column/table-cell/table-caption};$0" + }, + "float": { + "prefix": "float", + "description": "float: left:right:none (float)", + "body": "float: ${1:left/right/none};$0" + }, + "font": { + "prefix": "font", + "description": "font: size font (font)", + "body": "font: ${1:75%} ${2:\"Lucida Grande\", \"Trebuchet MS\", Verdana,} ${3:sans-}serif;$0" + }, + "letter": { + "prefix": "letter", + "description": "letter-spacing: length-px (letter)", + "body": "letter-spacing: $1px;$0" + }, + "list": { + "prefix": "list", + "description": "list-style: type position image (list)", + "body": "list-style: ${1:none/disc/circle/square/decimal/zero} ${2:inside/outside} url($3);$0" + }, + "margin": { + "prefix": "margin", + "description": "margin: V H (margin)", + "body": "margin: ${1:20px} ${2:0px};$0" + }, + "marker": { + "prefix": "marker", + "description": "marker-offset: length (marker)", + "body": "marker-offset: ${1:10px};$0" + }, + "overflow": { + "prefix": "overflow", + "description": "overflow: type (overflow)", + "body": "overflow: ${1:visible/hidden/scroll/auto};$0" + }, + "padding": { + "prefix": "padding", + "description": "padding: all (padding)", + "body": "padding: ${1:20px};$0" + }, + "position": { + "prefix": "position", + "description": "position: type (position)", + "body": "position: ${1:static/relative/absolute/fixed};$0" + }, + "{": { + "prefix": "{", + "description": "properties { } ( } )", + "body": [ + "{", + "\t/* $1 */", + "\t$0", + "" + ] + }, + "scrollbar": { + "prefix": "scrollbar", + "description": "scrollbar", + "body": [ + "scrollbar-base-color: ${1:#CCCCCC};${2:", + "scrollbar-arrow-color: ${3:#000000};", + "scrollbar-track-color: ${4:#999999};", + "scrollbar-3dlight-color: ${5:#EEEEEE};", + "scrollbar-highlight-color: ${6:#FFFFFF};", + "scrollbar-face-color: ${7:#CCCCCC};", + "scrollbar-shadow-color: ${9:#999999};", + "scrollbar-darkshadow-color: ${8:#666666};}" + ] + }, + "selection": { + "prefix": "selection", + "description": "selection", + "body": [ + "$1::-moz-selection,", + "$1::selection {", + "\tcolor: ${2:inherit};", + "\tbackground: ${3:inherit};", + "\\}" + ] + }, + "text": { + "prefix": "text", + "description": "text-transform: capitalize:upper:lower (text)", + "body": "text-transform: ${1:capitalize/uppercase/lowercase};$0" + }, + "vertical": { + "prefix": "vertical", + "description": "vertical-align: type (vertical)", + "body": "vertical-align: ${1:baseline/sub/super/top/text-top/middle/bottom/text-bottom/length/%};$0" + }, + "visibility": { + "prefix": "visibility", + "description": "visibility: type (visibility)", + "body": "visibility: ${1:visible/hidden/collapse};$0" + }, + "white": { + "prefix": "white", + "description": "white-space: normal:pre:nowrap (white)", + "body": "white-space: ${1:normal/pre/nowrap};$0" + }, + "word": { + "prefix": "word", + "description": "word-spacing: length (word)", + "body": "word-spacing: ${1:10px};$0" + }, + "z": { + "prefix": "z", + "description": "z-index: index (z)", + "body": "z-index: $1;$0" + } +} diff --git a/luasnip_snippets/cuda.json b/luasnip_snippets/cuda.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/luasnip_snippets/cuda.json @@ -0,0 +1 @@ +{} diff --git a/luasnip_snippets/d.json b/luasnip_snippets/d.json new file mode 100644 index 0000000..dbb46aa --- /dev/null +++ b/luasnip_snippets/d.json @@ -0,0 +1,416 @@ +{ + "imp": { + "prefix": "imp", + "description": "import (imp)", + "body": "import ${1:std.stdio};", + "luasnip": { + "priority": -50 + } + }, + "pimp": { + "prefix": "pimp", + "description": "public import (pimp)", + "body": "public import ${1:/*module*/};" + }, + "over": { + "prefix": "over", + "description": "override (over)", + "body": "override ${1:/*function*/}" + }, + "al": { + "prefix": "al", + "description": "alias (al)", + "body": "alias ${1:/*orig*/} ${2:/*alias*/};" + }, + "mixin": { + "prefix": "mixin", + "description": "mixin (mixin)", + "body": "mixin ${1:/*mixed_in*/} ${2:/*name*/};" + }, + "new": { + "prefix": "new", + "description": "new (new)", + "body": "new $1($2);" + }, + "scpn": { + "prefix": "scpn", + "description": "@safe const pure nothrow (scpn)", + "body": "@safe const pure nothrow" + }, + "spn": { + "prefix": "spn", + "description": "@safe pure nothrow (spn)", + "body": "@safe pure nothrow" + }, + "cont": { + "prefix": "cont", + "description": "continue (cont)", + "body": "continue;" + }, + "dis": { + "prefix": "dis", + "description": "@disable (dis)", + "body": "@disable ${1:/*method*/};" + }, + "pub": { + "prefix": "pub", + "description": "public (pub)", + "body": [ + "public:", + "\t${1:/*members*/}" + ] + }, + "priv": { + "prefix": "priv", + "description": "private (priv)", + "body": [ + "private:", + "\t${1:/*members*/}" + ] + }, + "prot": { + "prefix": "prot", + "description": "protected (prot)", + "body": [ + "protected:", + "\t${1:/*members*/}" + ] + }, + "pack": { + "prefix": "pack", + "description": "package (pack)", + "body": [ + "package:", + "\t${1:/*members*/}" + ] + }, + "ret": { + "prefix": "ret", + "description": "return (ret)", + "body": "return ${1:/*value to return*/};" + }, + "auto": { + "prefix": "auto", + "description": "auto (auto)", + "body": "auto ${1:/*variable*/} = ${2:/*value*/};" + }, + "con": { + "prefix": "con", + "description": "const (con)", + "body": "const ${1:/*variable*/} = ${2:/*value*/};" + }, + "siz": { + "prefix": "siz", + "description": "size_t (siz)", + "body": "size_t ${1:/*variable*/} = ${2:/*value*/};" + }, + "sup": { + "prefix": "sup", + "description": "super (sup)", + "body": "super(${1:/*args*/});" + }, + "tup": { + "prefix": "tup", + "description": "tuple (tup)", + "body": "tuple(${1:/*args*/})" + }, + "wr": { + "prefix": "wr", + "description": "writeln (wr)", + "body": "writeln(${1:/*args*/});" + }, + "to": { + "prefix": "to", + "description": "to (to)", + "body": "to!(${1:/*type*/})(${2:/*arg*/})" + }, + "enf": { + "prefix": "enf", + "description": "enforce (enf)", + "body": [ + "enforce(${1:/*condition*/},", + "\tnew $2Exception(${3:/*args*/}));" + ] + }, + "ife": { + "prefix": "ife", + "description": "if .. else (ife)", + "body": [ + "if(${1:/*condition*/})", + "{", + "\t$2", + "\\}", + "else", + "{", + "\t${3:/*else*/}", + "\\}" + ] + }, + "sw": { + "prefix": "sw", + "description": "switch (sw)", + "body": [ + "switch(${1:/*var*/})", + "{", + "\tcase ${2:/*value*/}:", + "\t\t$3", + "\t\tbreak;", + "\tcase ${4:/*value*/}:", + "\t\t$5", + "\t\tbreak;", + "\t${7:/*more cases*/}", + "\tdefault:", + "\t\t${6:assert(false);}", + "\\}" + ] + }, + "fsw": { + "prefix": "fsw", + "description": "final switch (fsw)", + "body": [ + "final switch(${1:/*var*/})", + "{", + "\tcase ${2:/*value*/}:", + "\t\t$3", + "\t\tbreak;", + "\tcase ${4:/*value*/}:", + "\t\t$5", + "\t\tbreak;", + "\t${7:/*more cases*/}", + "\\}" + ] + }, + "case": { + "prefix": "case", + "description": "case (case)", + "body": [ + "case ${1:/*value*/}:", + "\t$2", + "\tbreak;" + ] + }, + "?:": { + "prefix": "?:", + "description": "ternary operator (?:)", + "body": "${1:/*condition*/} ? ${2:/*then*/} : ${3:/*else*/}$4" + }, + "in": { + "prefix": "in", + "description": "in contract (in)", + "body": [ + "in", + "{", + "\tassert(${1:/*condition*/}, \"${2:error message}\");", + "\t$3", + "\\}", + "body" + ] + }, + "out": { + "prefix": "out", + "description": "out contract (out)", + "body": [ + "out${1:(result)}", + "{", + "\tassert(${2:/*condition*/}, \"${3:error message}\");", + "\t$4", + "\\}", + "body" + ] + }, + "inv": { + "prefix": "inv", + "description": "invariant (inv)", + "body": [ + "invariant()", + "{", + "\tassert(${1:/*condition*/}, \"${2:error message}\");", + "\t$3", + "\\}" + ] + }, + "get": { + "prefix": "get", + "description": "getter property (get)", + "body": "@property ${1:/*type*/} ${2:/*member_name*/}() const pure nothrow {return ${3:$2_};\\}" + }, + "set": { + "prefix": "set", + "description": "setter property (set)", + "body": "@property void ${1:/*member_name*/}(${2:/*type*/} rhs) pure nothrow {${3:$1_} = rhs;\\}" + }, + "signal": { + "prefix": "signal", + "description": "signal (signal)", + "body": "mixin Signal!(${1:/*args*/}) ${2:/*name*/};" + }, + "catch": { + "prefix": "catch", + "description": "catch (catch)", + "body": [ + "catch($1Exception e)", + "{", + "\t${2:/*handle exception*/}", + "\\}" + ] + }, + "thr": { + "prefix": "thr", + "description": "throw (thr)", + "body": "throw new $1Exception(\"$2\");" + }, + "exc": { + "prefix": "exc", + "description": "exception declaration (exc)", + "body": [ + "/// ${3:/*documentation*/}", + "class $1Exception : $2Exception", + "{", + "\tpublic this(string msg, string file = __FILE__, int line = __LINE__)", + "\t{", + "\t\tsuper(msg, file, line);", + "\t\\}", + "\\}" + ] + }, + "temp": { + "prefix": "temp", + "description": "template (temp)", + "body": [ + "template ${2:/*name*/}(${1:/*args*/})", + "{", + "\t$3", + "\\}" + ] + }, + "ass": { + "prefix": "ass", + "description": "assert (ass)", + "body": [ + "assert(${1:false}, \"${2:TODO}\");", + "" + ] + }, + "unittest": { + "prefix": "unittest", + "description": "unittest (unittest)", + "body": [ + "unittest", + "{", + "\t$1", + "\\}" + ] + }, + "opDis": { + "prefix": "opDis", + "description": "opDispatch (opDis)", + "body": [ + "${1:/*return type*/} opDispatch(string s)()", + "{", + "\t$2;", + "\\}" + ] + }, + "op=": { + "prefix": "op=", + "description": "opAssign (op=)", + "body": [ + "void opAssign($1 rhs) ${2:@safe pure nothrow}", + "{", + "\t$2", + "\\}" + ] + }, + "opCmp": { + "prefix": "opCmp", + "description": "opCmp (opCmp)", + "body": [ + "int opCmp($1 rhs) @safe const pure nothrow", + "{", + "\t$2", + "\\}" + ] + }, + "opApply": { + "prefix": "opApply", + "description": "opApply (opApply)", + "body": [ + "int opApply(int delegate(ref ${1:/*iterated type/s*/}) dg)", + "{", + "\tint result = 0;", + "\t${2:/*loop*/}", + "\t{", + "\t\tresult = dg(${3:/*arg/s*/});", + "\t\tif(result){break;\\}", + "\t\\}", + "\treturn result;", + "\\}" + ] + }, + "toString": { + "prefix": "toString", + "description": "toString (toString)", + "body": [ + "string toString() @safe const pure nothrow", + "{", + "\t$1", + "\\}" + ] + }, + "todo": { + "prefix": "todo", + "description": "TODO (todo)", + "body": "// TODO: $1" + }, + "doc": { + "prefix": "doc", + "description": "generic ddoc block (doc)", + "body": [ + "/// ${1:description}", + "///", + "/// ${2:details}" + ] + }, + "fdoc": { + "prefix": "fdoc", + "description": "function ddoc block (fdoc)", + "body": [ + "/// ${1:description}", + "///", + "/// ${2:Params: ${3:param} = ${4:param description}", + "///\t\t\t $5}", + "///", + "/// ${6:Returns: ${7:return value}}", + "///", + "/// ${8:Throws: $9Exception $10}" + ] + }, + "Par": { + "prefix": "Par", + "description": "Params (Par)", + "body": [ + "Params: ${1:param} = ${2:param description}", + "///\t\t\t$3" + ] + }, + "Ret": { + "prefix": "Ret", + "description": "Returns (Ret)", + "body": "Returns: ${1:return value/s}" + }, + "Thr": { + "prefix": "Thr", + "description": "Throws (Thr)", + "body": "Throws: $1Exception $2" + }, + "Example": { + "prefix": "Example", + "description": "Examples (Example)", + "body": [ + "Examples:", + "/// --------------------", + "/// ${1:example code}", + "/// --------------------" + ] + } +} diff --git a/luasnip_snippets/django.json b/luasnip_snippets/django.json new file mode 100644 index 0000000..de09161 --- /dev/null +++ b/luasnip_snippets/django.json @@ -0,0 +1,457 @@ +{ + "form": { + "prefix": "form", + "description": "Form", + "body": [ + "class ${1:FORMNAME}(forms.Form):", + "", + "\t${2:# TODO: Define form fields here}" + ], + "luasnip": { + "priority": -50 + } + }, + "modelform": { + "prefix": "modelform", + "description": "ModelForm", + "body": [ + "class ${1:MODELNAME}Form(forms.ModelForm):", + "", + "\tclass Meta:", + "\t\tmodel = $1" + ] + }, + "fbool": { + "prefix": "fbool", + "description": "BooleanField", + "body": "${1:FIELDNAME} = forms.BooleanField($2)" + }, + "fchar": { + "prefix": "fchar", + "description": "CharField", + "body": "${1:FIELDNAME} = forms.CharField($2)" + }, + "fchoice": { + "prefix": "fchoice", + "description": "ChoiceField", + "body": "${1:FIELDNAME} = forms.ChoiceField($2)" + }, + "fcombo": { + "prefix": "fcombo", + "description": "ComboField", + "body": "${1:FIELDNAME} = forms.ComboField($2)" + }, + "fdate": { + "prefix": "fdate", + "description": "DateField", + "body": "${1:FIELDNAME} = forms.DateField($2)" + }, + "fdatetime": { + "prefix": "fdatetime", + "description": "DateTimeField", + "body": "${1:FIELDNAME} = forms.DateTimeField($2)" + }, + "fdecimal": { + "prefix": "fdecimal", + "description": "DecimalField", + "body": "${1:FIELDNAME} = forms.DecimalField($2)" + }, + "fmail": { + "prefix": "fmail", + "description": "EmailField", + "body": "${1:FIELDNAME} = forms.EmailField($2)" + }, + "ffile": { + "prefix": "ffile", + "description": "FileField", + "body": "${1:FIELDNAME} = forms.FileField($2)" + }, + "ffilepath": { + "prefix": "ffilepath", + "description": "FilePathField", + "body": "${1:FIELDNAME} = forms.FilePathField($2)" + }, + "ffloat": { + "prefix": "ffloat", + "description": "FloatField", + "body": "${1:FIELDNAME} = forms.FloatField($2)" + }, + "fip": { + "prefix": "fip", + "description": "IPAddressField", + "body": "${1:FIELDNAME} = forms.IPAddressField($2)" + }, + "fimg": { + "prefix": "fimg", + "description": "ImageField", + "body": "${1:FIELDNAME} = forms.ImageField($2)" + }, + "fint": { + "prefix": "fint", + "description": "IntegerField", + "body": "${1:FIELDNAME} = forms.IntegerField($2)" + }, + "fmochoice": { + "prefix": "fmochoice", + "description": "ModelChoiceField", + "body": "${1:FIELDNAME} = forms.ModelChoiceField($2)" + }, + "fmomuchoice": { + "prefix": "fmomuchoice", + "description": "ModelMultipleChoiceField", + "body": "${1:FIELDNAME} = forms.ModelMultipleChoiceField($2)" + }, + "fmuval": { + "prefix": "fmuval", + "description": "MultiValueField", + "body": "${1:FIELDNAME} = forms.MultiValueField($2)" + }, + "fmuchoice": { + "prefix": "fmuchoice", + "description": "MultipleChoiceField", + "body": "${1:FIELDNAME} = forms.MultipleChoiceField($2)" + }, + "fnullbool": { + "prefix": "fnullbool", + "description": "NullBooleanField", + "body": "${1:FIELDNAME} = forms.NullBooleanField($2)" + }, + "freg": { + "prefix": "freg", + "description": "RegexField", + "body": "${1:FIELDNAME} = forms.RegexField($2)" + }, + "fslug": { + "prefix": "fslug", + "description": "SlugField", + "body": "${1:FIELDNAME} = forms.SlugField($2)" + }, + "fsdatetime": { + "prefix": "fsdatetime", + "description": "SplitDateTimeField", + "body": "${1:FIELDNAME} = forms.SplitDateTimeField($2)" + }, + "ftime": { + "prefix": "ftime", + "description": "TimeField", + "body": "${1:FIELDNAME} = forms.TimeField($2)" + }, + "ftchoice": { + "prefix": "ftchoice", + "description": "TypedChoiceField", + "body": "${1:FIELDNAME} = forms.TypedChoiceField($2)" + }, + "ftmuchoice": { + "prefix": "ftmuchoice", + "description": "TypedMultipleChoiceField", + "body": "${1:FIELDNAME} = forms.TypedMultipleChoiceField($2)" + }, + "furl": { + "prefix": "furl", + "description": "URLField", + "body": "${1:FIELDNAME} = forms.URLField($2)" + }, + "model": { + "prefix": "model", + "description": "Model", + "body": [ + "class ${1:MODELNAME}(models.Model):", + "\t$0", + "\tclass Meta:", + "\t\tverbose_name = \"$1\"", + "\t\tverbose_name_plural = \"$1s\"", + "", + "\tdef __str__(self):", + "\t\treturn super($1, self).__str__()", + "" + ] + }, + "modelfull": { + "prefix": "modelfull", + "description": "Model", + "body": [ + "class ${1:MODELNAME}(models.Model):", + "\t${2:# TODO: Define fields here}", + "", + "\tclass Meta:", + "\t\tverbose_name = \"$1\"", + "\t\tverbose_name_plural = \"$1s\"", + "", + "\tdef __str__(self):", + "\t\treturn super($1, self).__str__()", + "", + "\tdef save(self):", + "\t\treturn super($1, self).save()", + "", + "\tdef get_absolute_url(self):", + "\t\treturn ('')", + "", + "\t${3:# TODO: Define custom methods here}", + "" + ] + }, + "mauto": { + "prefix": "mauto", + "description": "AutoField", + "body": "${1:FIELDNAME} = models.AutoField($2)" + }, + "mbigint": { + "prefix": "mbigint", + "description": "BigIntegerField", + "body": "${1:FIELDNAME} = models.BigIntegerField($2)" + }, + "mbool": { + "prefix": "mbool", + "description": "BooleanField", + "body": "${1:FIELDNAME} = models.BooleanField($2)" + }, + "mchar": { + "prefix": "mchar", + "description": "CharField", + "body": "${1:FIELDNAME} = models.CharField($2, max_length=${3:50})" + }, + "mcoseint": { + "prefix": "mcoseint", + "description": "CommaSeparatedIntegerField", + "body": "${1:FIELDNAME} = models.CommaSeparatedIntegerField($2)" + }, + "mdate": { + "prefix": "mdate", + "description": "DateField", + "body": "${1:FIELDNAME} = models.DateField($2)" + }, + "mdatetime": { + "prefix": "mdatetime", + "description": "DateTimeField", + "body": "${1:FIELDNAME} = models.DateTimeField($2)" + }, + "mdecimal": { + "prefix": "mdecimal", + "description": "DecimalField", + "body": "${1:FIELDNAME} = models.DecimalField(max_digits=${2:10}, decimal_places=${3:2})" + }, + "memail": { + "prefix": "memail", + "description": "EmailField", + "body": "${1:FIELDNAME} = models.EmailField($2)" + }, + "mfile": { + "prefix": "mfile", + "description": "FileField", + "body": "${1:FIELDNAME} = models.FileField($2)" + }, + "mfilepath": { + "prefix": "mfilepath", + "description": "FilePathField", + "body": "${1:FIELDNAME} = models.FilePathField($2)" + }, + "mfloat": { + "prefix": "mfloat", + "description": "FloatField", + "body": "${1:FIELDNAME} = models.FloatField($2)" + }, + "fk": { + "prefix": "fk", + "description": "ForeignKey", + "body": "${1:FIELDNAME} = models.ForeignKey($2)" + }, + "mip": { + "prefix": "mip", + "description": "IPAddressField", + "body": "${1:FIELDNAME} = models.IPAddressField($2)" + }, + "mimg": { + "prefix": "mimg", + "description": "ImageField", + "body": "${1:FIELDNAME} = models.ImageField($2)" + }, + "mint": { + "prefix": "mint", + "description": "IntegerField", + "body": "${1:FIELDNAME} = models.IntegerField($2)" + }, + "m2m": { + "prefix": "m2m", + "description": "ManyToManyField", + "body": "${1:FIELDNAME} = models.ManyToManyField($2)" + }, + "mnullbool": { + "prefix": "mnullbool", + "description": "NullBooleanField", + "body": "${1:FIELDNAME} = models.NullBooleanField($2)" + }, + "o2o": { + "prefix": "o2o", + "description": "OneToOneField", + "body": "${1:FIELDNAME} = models.OneToOneField($2)" + }, + "mphone": { + "prefix": "mphone", + "description": "PhoneNumberField", + "body": "${1:FIELDNAME} = models.PhoneNumberField($2)" + }, + "mposint": { + "prefix": "mposint", + "description": "PositiveIntegerField", + "body": "${1:FIELDNAME} = models.PositiveIntegerField($2)" + }, + "mpossmallint": { + "prefix": "mpossmallint", + "description": "PositiveSmallIntegerField", + "body": "${1:FIELDNAME} = models.PositiveSmallIntegerField($2)" + }, + "mslug": { + "prefix": "mslug", + "description": "SlugField", + "body": "${1:FIELDNAME} = models.SlugField($2)" + }, + "msmallint": { + "prefix": "msmallint", + "description": "SmallIntegerField", + "body": "${1:FIELDNAME} = models.SmallIntegerField($2)" + }, + "mtext": { + "prefix": "mtext", + "description": "TextField", + "body": "${1:FIELDNAME} = models.TextField($2)" + }, + "mtime": { + "prefix": "mtime", + "description": "TimeField", + "body": "${1:FIELDNAME} = models.TimeField($2)" + }, + "murl": { + "prefix": "murl", + "description": "URLField", + "body": "${1:FIELDNAME} = models.URLField($2)" + }, + "musstate": { + "prefix": "musstate", + "description": "USStateField", + "body": "${1:FIELDNAME} = models.USStateField($2)" + }, + "mxml": { + "prefix": "mxml", + "description": "XMLField", + "body": "${1:FIELDNAME} = models.XMLField($2)" + }, + "adminview": { + "prefix": "adminview", + "description": "Model Admin View", + "body": [ + "class $1Admin(admin.ModelAdmin):", + "\t'''", + "\t\tAdmin View for $1", + "\t'''", + "\tlist_display = ('$2',)", + "\tlist_filter = ('$3',)", + "\tinlines = [", + "\t\t$4Inline,", + "\t]", + "\traw_id_fields = ('$5',)", + "\treadonly_fields = ('$6',)", + "\tsearch_fields = ['$7']", + "admin.site.register($1, $1Admin)" + ] + }, + "createview": { + "prefix": "createview", + "description": "Generic Create View", + "body": [ + "class ${1:MODEL_NAME}CreateView(CreateView):", + "\tmodel = $1", + "\ttemplate_name = \"${2:TEMPLATE_NAME}\"" + ] + }, + "deleteview": { + "prefix": "deleteview", + "description": "Generic Delete View", + "body": [ + "class ${1:MODEL_NAME}DeleteView(DeleteView):", + "\tmodel = $1", + "\ttemplate_name = \"${2:TEMPLATE_NAME}\"" + ] + }, + "detailview": { + "prefix": "detailview", + "description": "Generic Detail View", + "body": [ + "class ${1:MODEL_NAME}DetailView(DetailView):", + "\tmodel = $1", + "\ttemplate_name = \"${2:TEMPLATE_NAME}\"" + ] + }, + "listview": { + "prefix": "listview", + "description": "Generic List View", + "body": [ + "class ${1:MODEL_NAME}ListView(ListView):", + "\tmodel = $1", + "\ttemplate_name = \"${2:TEMPLATE_NAME}\"" + ] + }, + "stackedinline": { + "prefix": "stackedinline", + "description": "Stacked Inline", + "body": [ + "class $1Inline(admin.StackedInline):", + "\t'''", + "\tStacked Inline View for $1", + "\t'''", + "\tmodel = ${2:$1}", + "\tmin_num = ${3:3}", + "\tmax_num = ${4:20}", + "\textra = ${5:1}", + "\traw_id_fields = ($6,)" + ] + }, + "tabularinline": { + "prefix": "tabularinline", + "description": "Tabular Inline", + "body": [ + "class $1Inline(admin.TabularInline):", + "\t'''", + "\tTabular Inline View for $1", + "\t'''", + "\tmodel = ${2:$1}", + "\tmin_num = ${3:3}", + "\tmax_num = ${4:20}", + "\textra = ${5:1}", + "\traw_id_fields = ($6,)" + ] + }, + "templateview": { + "prefix": "templateview", + "description": "Generic Template View", + "body": [ + "class ${1:CLASS_NAME}(TemplateView):", + "\ttemplate_name = \"${2:TEMPLATE_NAME}\"" + ] + }, + "updateview": { + "prefix": "updateview", + "description": "Generic Update View", + "body": [ + "class ${1:MODEL_NAME}UpdateView(UpdateView):", + "\tmodel = $1", + "\ttemplate_name = \"${2:TEMPLATE_NAME}\"" + ] + }, + "dispatch": { + "prefix": "dispatch", + "description": "Dispatch View method", + "body": [ + "def dispatch(self, request, *args, **kwargs):", + "\treturn super(${1:CLASS_NAME}, self).dispatch(request, *args, **kwargs)" + ] + }, + "context": { + "prefix": "context", + "description": "get_context_data view method", + "body": [ + "def get_context_data(self, **kwargs):", + "\tkwargs['extra_context'] = ${1:'New Value'}", + "\treturn super(${2:CLASS_NAME}, self).get_context_data(**kwargs)" + ] + } +} diff --git a/luasnip_snippets/eelixir.json b/luasnip_snippets/eelixir.json new file mode 100644 index 0000000..8ca13ed --- /dev/null +++ b/luasnip_snippets/eelixir.json @@ -0,0 +1,53 @@ +{ + "%": { + "prefix": "%", + "description": "<% %>", + "body": "<% $0 %>", + "luasnip": { + "priority": -50 + } + }, + "=": { + "prefix": "=", + "description": "<%= %>", + "body": "<%= $0 %>" + }, + "end": { + "prefix": "end", + "description": "<% end %>", + "body": "<% end %>" + }, + "for": { + "prefix": "for", + "body": [ + "<%= for ${1:item} <- ${2:$1s} ${3:@conn} do %>", + "\t$0", + "<% end %>" + ] + }, + "ft": { + "prefix": "ft", + "description": "form_tag", + "body": [ + "<%= form_tag(${1:\"${2:/users}\"}, method: ${3::post}) %>", + "\t$0", + "" + ] + }, + "lin": { + "prefix": "lin", + "description": "link", + "body": "<%= link ${1:\"${2:Submit}\"}, to: ${3:\"${4:/users}\"}, method: ${5::delete} %>" + }, + "ff": { + "prefix": "ff", + "description": "form_for", + "body": [ + "<%= form_for @changeset, ${1:\"${2:/users}\"}, fn f -> %>", + "\t\t$0", + "", + "\t<%= submit \"Submit\" %>", + "<% end %>" + ] + } +} diff --git a/luasnip_snippets/ejs.json b/luasnip_snippets/ejs.json new file mode 100644 index 0000000..166f8a1 --- /dev/null +++ b/luasnip_snippets/ejs.json @@ -0,0 +1,20 @@ +{ + "for": { + "prefix": "for", + "description": "ejs for loop", + "body": [ + "<% for (let ${1:i = 0}; ${2:i", + "\t${0:body}", + "<% \\} %>" + ] + }, + "forE": { + "prefix": "forE", + "description": "ejs for Each loop", + "body": [ + "<% ${1:array}.forEach((${2:single var}) => { %>", + "\t${0:body}", + "<% \\}) %>" + ] + } +} diff --git a/luasnip_snippets/elm.json b/luasnip_snippets/elm.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/luasnip_snippets/elm.json @@ -0,0 +1 @@ +{} diff --git a/luasnip_snippets/erlang.json b/luasnip_snippets/erlang.json new file mode 100644 index 0000000..e7e336c --- /dev/null +++ b/luasnip_snippets/erlang.json @@ -0,0 +1,23 @@ +{ + "pat": { + "prefix": "pat", + "description": "Case:Receive:Try Clause", + "body": [ + "${1:pattern}${2: when ${3:guard}} ->", + "\t${4:body}" + ], + "luasnip": { + "priority": -50 + } + }, + "||": { + "prefix": "||", + "description": "List Comprehension", + "body": "[${1:X} || ${2:X} <- ${3:List}${4:, gen}]" + }, + "gen": { + "prefix": "gen", + "description": "Generator Expression", + "body": "${1:X} <- ${2:List}${3:, gen}" + } +} diff --git a/luasnip_snippets/eruby.json b/luasnip_snippets/eruby.json new file mode 100644 index 0000000..2c787d9 --- /dev/null +++ b/luasnip_snippets/eruby.json @@ -0,0 +1,75 @@ +{ + "layout": { + "prefix": "layout", + "description": "layout", + "body": "layout \"${1:template_name}\"${2:${3:, :only => ${4:[:${5:action}, :${6:action}]}}${7:, :except => ${8:[:${9:action}, :${10:action}]}}}" + }, + "hide": { + "prefix": "hide", + "description": "page.hide (*ids)", + "body": "page.hide ${1:\"${2:id(s)}\"}" + }, + "ins": { + "prefix": "ins", + "description": "page.insert_html (position, id, partial)", + "body": "page.insert_html :${1:top}, ${2:\"${3:id}\"}, :${4:partial => \"${5:template}\"}" + }, + "rep": { + "prefix": "rep", + "description": "page.replace (id, partial)", + "body": "page.replace ${1:\"${2:id}\"}, :${3:partial => \"${4:template}\"}" + }, + "reph": { + "prefix": "reph", + "description": "page.replace_html (id, partial)", + "body": "page.replace_html ${1:\"${2:id}\"}, :${3:partial => \"${4:template}\"}" + }, + "show": { + "prefix": "show", + "description": "page.show (*ids)", + "body": "page.show ${1:\"${2:id(s)}\"}" + }, + "tog": { + "prefix": "tog", + "description": "page.toggle (*ids)", + "body": "page.toggle ${1:\"${2:id(s)}\"}" + }, + "vis": { + "prefix": "vis", + "description": "page.visual_effect (effect, id)", + "body": "page.visual_effect :${1:toggle_slide}, ${2:\"${3:DOM ID}\"}" + }, + "rp": { + "prefix": "rp", + "description": "render (partial) (rp)", + "body": "render :partial => \"${1:item}\"" + }, + "rpc": { + "prefix": "rpc", + "description": "render (partial,collection) (rpc)", + "body": "render :partial => \"${1:item}\", :collection => ${2:@$1s}" + }, + "rpl": { + "prefix": "rpl", + "description": "render (partial,locals) (rpl)", + "body": "render :partial => \"${1:item}\", :locals => { :${2:$1} => ${3:@$1}$0 \\}" + }, + "rpo": { + "prefix": "rpo", + "description": "render (partial,object) (rpo)", + "body": "render :partial => \"${1:item}\", :object => ${2:@$1}" + }, + "rps": { + "prefix": "rps", + "description": "render (partial,status) (rps)", + "body": "render :partial => \"${1:item}\", :status => ${2:500}" + }, + "else": { + "prefix": "else", + "description": "else (ERB)", + "body": [ + "<% else %>", + "\t$0" + ] + } +} diff --git a/luasnip_snippets/gitcommit.json b/luasnip_snippets/gitcommit.json new file mode 100644 index 0000000..ffe8bfd --- /dev/null +++ b/luasnip_snippets/gitcommit.json @@ -0,0 +1,22 @@ +{ + "sign": { + "prefix": "sign", + "description": "Signature", + "body": [ + "-------------------------------------------------------------------------------", + "${1:Company Name}", + "", + "${2:Author Name}", + "", + "${3:Streetname 21}", + "${4:City and Area}", + "", + "${5:Tel: \t\t\t\t\t\t+44 (0)987 / 888 8888}", + "${6:Fax: \t\t\t\t\t\t+44 (0)987 / 888 8882}", + "${7:Mail: \t\t\t\t\tEmail}", + "${8:Web: \t\t\t\t\t\thttps://}", + "-------------------------------------------------------------------------------", + "$0" + ] + } +} diff --git a/luasnip_snippets/go.json b/luasnip_snippets/go.json new file mode 100644 index 0000000..1a52ce5 --- /dev/null +++ b/luasnip_snippets/go.json @@ -0,0 +1,26 @@ +{ + "map": { + "prefix": "map", + "description": "Map type", + "body": "map[${1:keytype}]${2:valtype}" + }, + ":": { + "prefix": ":", + "description": "Variable declaration :=", + "body": "${1:name} := ${0:value}" + }, + "json": { + "prefix": "json", + "description": "JSON field", + "body": "`json:\"${1:displayName}\"`" + }, + "err": { + "prefix": "err", + "description": "Basic error handling", + "body": [ + "if err != nil {", + "\tlog.${1:Fatal}(err)", + "\\}" + ] + } +} diff --git a/luasnip_snippets/haskell.json b/luasnip_snippets/haskell.json new file mode 100644 index 0000000..f9cfd48 --- /dev/null +++ b/luasnip_snippets/haskell.json @@ -0,0 +1,15 @@ +{ + "imp": { + "prefix": "imp", + "description": "Simple import", + "body": "import ${1:${2:Data}.${0:Text}}", + "luasnip": { + "priority": -50 + } + }, + "imp2": { + "prefix": "imp2", + "description": "Selective import", + "body": "import ${1:${2:Data}.${3:Text}} ($4)$0" + } +} diff --git a/luasnip_snippets/help.json b/luasnip_snippets/help.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/luasnip_snippets/help.json @@ -0,0 +1 @@ +{} diff --git a/luasnip_snippets/html.json b/luasnip_snippets/html.json new file mode 100644 index 0000000..b8d3de7 --- /dev/null +++ b/luasnip_snippets/html.json @@ -0,0 +1,426 @@ +{ + "doctype": { + "prefix": "doctype", + "description": "HTML - 5.0 (doctype)", + "body": [ + "", + "" + ], + "luasnip": { + "priority": -50 + } + }, + "down": { + "prefix": "down", + "description": "Down (down)", + "body": "↓" + }, + "enter": { + "prefix": "enter", + "description": "Enter (enter)", + "body": "⌅" + }, + "escape": { + "prefix": "escape", + "description": "Escape (escape)", + "body": "⎋" + }, + "left": { + "prefix": "left", + "description": "Left (left)", + "body": "←" + }, + "return": { + "prefix": "return", + "description": "Return (return)", + "body": "↩" + }, + "right": { + "prefix": "right", + "description": "Right (right)", + "body": "→" + }, + "shift": { + "prefix": "shift", + "description": "Shift (shift)", + "body": "⇧" + }, + "tab": { + "prefix": "tab", + "description": "Tab (tab)", + "body": "⇥" + }, + "up": { + "prefix": "up", + "description": "Up (up)", + "body": "↑" + }, + "a": { + "prefix": "a", + "description": "Link", + "body": "${4:Anchor Text}" + }, + "abbr": { + "prefix": "abbr", + "description": "", + "body": "$1" + }, + "access": { + "prefix": "access", + "description": "accesskey global attribute", + "body": "accesskey=\"$1\"" + }, + "address": { + "prefix": "address", + "description": "
", + "body": "
$1
" + }, + "article": { + "prefix": "article", + "description": "
", + "body": [ + "
", + "\t${1:article content}", + "
" + ] + }, + "aside": { + "prefix": "aside", + "description": "