From d6fcdb2060954f98f5e9bd511c2f2de48b45b4f0 Mon Sep 17 00:00:00 2001 From: valeth Date: Thu, 21 Apr 2016 21:18:46 +0200 Subject: [PATCH] add ultisnips plugin add snippets in UltiSnips add python modules in pythonx/ultisnips --- UltiSnips/all.snippets | 0 UltiSnips/c.snippets | 39 ++++++++++++++++++++++++++++++++++++++ UltiSnips/haskell.snippets | 11 +++++++++++ UltiSnips/sh.snippets | 12 ++++++++++++ plugins/ultisnips.vim | 1 + plugins/vim-snippets.vim | 1 + pythonx/ultisnips/all.py | 10 ++++++++++ pythonx/ultisnips/c.py | 16 ++++++++++++++++ 8 files changed, 90 insertions(+) create mode 100644 UltiSnips/all.snippets create mode 100644 UltiSnips/c.snippets create mode 100644 UltiSnips/haskell.snippets create mode 100644 UltiSnips/sh.snippets create mode 100644 plugins/ultisnips.vim create mode 100644 plugins/vim-snippets.vim create mode 100644 pythonx/ultisnips/all.py create mode 100644 pythonx/ultisnips/c.py diff --git a/UltiSnips/all.snippets b/UltiSnips/all.snippets new file mode 100644 index 0000000..e69de29 diff --git a/UltiSnips/c.snippets b/UltiSnips/c.snippets new file mode 100644 index 0000000..f6283b5 --- /dev/null +++ b/UltiSnips/c.snippets @@ -0,0 +1,39 @@ +global !p +from ultisnips.all import * +from ultisnips.c import * +endglobal + + +snippet fun "C function" b +${1:int} ${2:main}(${3:void}) +{ + ${0} + `!p snip.rv = returnval(t[1])` +} +endsnippet + + +snippet todo "TODO comment" b +/* TODO(`!p snip.rv = getUsername("valeth", True)`@`!v strftime("%d.%m.%y")`): ${1:Description} */ +endsnippet + + +snippet doxfun "Doxygen function documentation" b +/** + * ${1:DESCRIPTION} + * @brief ${2:BRIEF} + * @param ${3:PARAM} + * @return ${4:RETURN} + */ + +endsnippet + + +snippet doxhead "Doxygen documentation file header" b +/** + * @author ${1:`!p snip.rv = getUsername("valeth", True)`} + * @date ${2:`!v strftime("%d.%m.%Y")`} + * @file ${3:`!v expand("%:t")`} + */ +endsnippet + diff --git a/UltiSnips/haskell.snippets b/UltiSnips/haskell.snippets new file mode 100644 index 0000000..678380a --- /dev/null +++ b/UltiSnips/haskell.snippets @@ -0,0 +1,11 @@ +snippet mod "Create new module" b +module ${1:`!v expand("%:p:h:t")`} ( + ) where + +endsnippet + +snippet hdfun "Haddock function documentation" b +-- | ${1:DESCRIPTION} +-- ${2} +endsnippet + diff --git a/UltiSnips/sh.snippets b/UltiSnips/sh.snippets new file mode 100644 index 0000000..2151ae1 --- /dev/null +++ b/UltiSnips/sh.snippets @@ -0,0 +1,12 @@ +snippet bang "Shebang line for shellscripts" b +#!/usr/bin/env bash + +endsnippet + +snippet fun "Shell function" b +function $1 +{ + +} +endsnippet + diff --git a/plugins/ultisnips.vim b/plugins/ultisnips.vim new file mode 100644 index 0000000..9ff055a --- /dev/null +++ b/plugins/ultisnips.vim @@ -0,0 +1 @@ +Plug 'SirVer/ultisnips' diff --git a/plugins/vim-snippets.vim b/plugins/vim-snippets.vim new file mode 100644 index 0000000..7f28bf8 --- /dev/null +++ b/plugins/vim-snippets.vim @@ -0,0 +1 @@ +Plug 'honza/vim-snippets' diff --git a/pythonx/ultisnips/all.py b/pythonx/ultisnips/all.py new file mode 100644 index 0000000..7bf056f --- /dev/null +++ b/pythonx/ultisnips/all.py @@ -0,0 +1,10 @@ +def getUsername(username, gecos = True, passwd = "/etc/passwd"): + content = [x.split(":") for x in open(passwd, "r").readlines()] + + for entry in content: + if len(entry) != 0 and entry[0] == username: + if gecos and len(entry[4]) != 0: + return entry[4] + else: + return username + diff --git a/pythonx/ultisnips/c.py b/pythonx/ultisnips/c.py new file mode 100644 index 0000000..98db27e --- /dev/null +++ b/pythonx/ultisnips/c.py @@ -0,0 +1,16 @@ +def returnval(t): + if t == "void": + return "" + + ret = { + "int": "0", + "float": "0.0", + "double": "0.0", + "bool": "false" + } + + if t in ret.keys(): + return "return " + ret[t] + ";" + else: + return "return NULL;" +