summary refs log tree commit diff
path: root/.vim/after/snippets
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2022-09-28 18:51:57 +0200
committerRobert Günzler <r@gnzler.io>2022-09-28 18:51:57 +0200
commit056873faeffc7bc65096b74aefebedb8cf42235e (patch)
treecacd02ac87e563919562c3bbf4de33a82b3b0ada /.vim/after/snippets
parentc10ecbc16dec71108748f192b5579a23b75651b9 (diff)
vim/snips: refactor luasnip config
Diffstat (limited to '.vim/after/snippets')
-rw-r--r--.vim/after/snippets/c.snippets1
-rw-r--r--.vim/after/snippets/go.snippets20
2 files changed, 21 insertions, 0 deletions
diff --git a/.vim/after/snippets/c.snippets b/.vim/after/snippets/c.snippets
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/.vim/after/snippets/c.snippets
@@ -0,0 +1 @@
+
diff --git a/.vim/after/snippets/go.snippets b/.vim/after/snippets/go.snippets
new file mode 100644
index 0000000..84df9a1
--- /dev/null
+++ b/.vim/after/snippets/go.snippets
@@ -0,0 +1,20 @@
+snippet memfd
+	func newMemFd(data []byte) (*io.File, error) {
+	  fd, err := unix.MemfdCreate("memfd", 0)
+	  if err != nil {
+		  return nil, err
+	  }
+	  if err := unix.Ftruncate(fd, int64(len(data))); err != nil {
+		  return nil, err
+	  }
+	  var mem []byte
+	  mem, err = unix.Mmap(fd, 0, len(data), unix.PROT_READ|unix.PROT_WRITE, unix.MAP_SHARED)
+	  if err != nil {
+		  return nil, err
+	  }
+	  copy(mem, data)
+	  if err := unix.Munmap(mem); err != nil {
+		  return nil, err
+	  }
+	  return os.NewFile(uintptr(fd), fmt.Sprintf("/proc/self/fd/%d", fd)), nil
+	}