summaryrefslogtreecommitdiffstats
path: root/lua/snippets/c.lua
blob: f8e420834ce415fded3e67fda52a92980a70997a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
require('core.snippets.shorthands')

return {
  -- method snippet
  s("main", {
    c(1, {
      t(""),
      t("static "),
    }),
    t("int main("),
    c(2, {
      t("int argc, char *argv[]"),
      i(1, "void"),
    }),
    t(")"),
    t({ " {", "\t" }),
    i(0),
    t({ "", "}" }),
  }),

  -- function snippet
  s({ trig = [[fn\|main]], trigEngine = "vim" }, {
    d(1, function(_, snip)
      if snip.trigger == "main" then
        return sn(nil, {
          t({ "int", "main(int argc, char *argv[])" })
        })
      else
        return sn(nil, {
          c(1, {
            t(""),
            t("static "),
          }),
          c(2, {
            t("void"),
            t("char"),
            t("int"),
            t("short"),
            t("long"),
            t("double"),
            t("float"),
            i(nil, "myType"),
          }),
          t({ "", "" }),
          c(3, {
            t(""),
            t("*")
          }),
          i(4, "myFunc");
          t("("),
          i(5),
          t(")"),
        })
      end
    end, {}),
    t({ "", "{", "\t" }),
    i(0),
    t({ "", "}" })
  }),
  })
}