From 2fee4f507180709c89925ccbd6fb8695249b5f33 Mon Sep 17 00:00:00 2001 From: Sourcerer Date: Sat, 16 Aug 2025 18:53:52 +0200 Subject: [PATCH] feat(zig): add basic language statements. Main source I used is from [sublime-zig-language](https://github.com/ziglang/sublime-zig-language/tree/master/Snippets) project. However I've customized some of the variants to be accessible via the same shortcodes. --- snippets/zig-mode/elif | 7 +++++++ snippets/zig-mode/else | 7 +++++++ snippets/zig-mode/enum | 7 +++++++ snippets/zig-mode/fn | 7 +++++++ snippets/zig-mode/for | 7 +++++++ snippets/zig-mode/if | 7 +++++++ snippets/zig-mode/imp | 5 +++++ snippets/zig-mode/main | 7 +++++++ snippets/zig-mode/struct | 7 +++++++ snippets/zig-mode/switch | 7 +++++++ snippets/zig-mode/test | 7 +++++++ snippets/zig-mode/union | 7 +++++++ 12 files changed, 82 insertions(+) create mode 100644 snippets/zig-mode/elif create mode 100644 snippets/zig-mode/else create mode 100644 snippets/zig-mode/enum create mode 100644 snippets/zig-mode/fn create mode 100644 snippets/zig-mode/for create mode 100644 snippets/zig-mode/if create mode 100644 snippets/zig-mode/imp create mode 100644 snippets/zig-mode/main create mode 100644 snippets/zig-mode/struct create mode 100644 snippets/zig-mode/switch create mode 100644 snippets/zig-mode/test create mode 100644 snippets/zig-mode/union diff --git a/snippets/zig-mode/elif b/snippets/zig-mode/elif new file mode 100644 index 00000000..10416fc6 --- /dev/null +++ b/snippets/zig-mode/elif @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: else if statement +# key: elif +# -- +else if (${1}) { + ${0} +} \ No newline at end of file diff --git a/snippets/zig-mode/else b/snippets/zig-mode/else new file mode 100644 index 00000000..f47bd416 --- /dev/null +++ b/snippets/zig-mode/else @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: else sttement +# key: el +# -- +else { + $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/enum b/snippets/zig-mode/enum new file mode 100644 index 00000000..618f381b --- /dev/null +++ b/snippets/zig-mode/enum @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: enum declaration +# key: enum +# -- +enum${1:(${2:type})} { + $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/fn b/snippets/zig-mode/fn new file mode 100644 index 00000000..4d6961e1 --- /dev/null +++ b/snippets/zig-mode/fn @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: fn name() type { ... } +# key: fn +# -- +fn ${1:name}($2) ${3:!void} { + $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/for b/snippets/zig-mode/for new file mode 100644 index 00000000..7a70df6b --- /dev/null +++ b/snippets/zig-mode/for @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: for statement +# key: for +# -- +for ($1) ${2:|${3:value}|} { + $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/if b/snippets/zig-mode/if new file mode 100644 index 00000000..c452115a --- /dev/null +++ b/snippets/zig-mode/if @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: if statement +# key: if +# -- +if ($1) { + $0 +} diff --git a/snippets/zig-mode/imp b/snippets/zig-mode/imp new file mode 100644 index 00000000..6f883a08 --- /dev/null +++ b/snippets/zig-mode/imp @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: import statement +# key: imp +# -- +const ${1:name} = @import("${2:lib}"); \ No newline at end of file diff --git a/snippets/zig-mode/main b/snippets/zig-mode/main new file mode 100644 index 00000000..6f0cb3c0 --- /dev/null +++ b/snippets/zig-mode/main @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: main pub function +# key: main +# -- +pub fn main($1) ${2:${!void}} { + $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/struct b/snippets/zig-mode/struct new file mode 100644 index 00000000..fe02c0b4 --- /dev/null +++ b/snippets/zig-mode/struct @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: struct declaration +# key: struct +# -- +struct { + $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/switch b/snippets/zig-mode/switch new file mode 100644 index 00000000..83fa149c --- /dev/null +++ b/snippets/zig-mode/switch @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: switch statement +# key: switch +# -- +switch ($1) { + $2 => $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/test b/snippets/zig-mode/test new file mode 100644 index 00000000..1a41879b --- /dev/null +++ b/snippets/zig-mode/test @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: test statement +# key: test +# -- +test "$1" { + $0 +} \ No newline at end of file diff --git a/snippets/zig-mode/union b/snippets/zig-mode/union new file mode 100644 index 00000000..96993993 --- /dev/null +++ b/snippets/zig-mode/union @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: union statement +# key: union +# -- +union ${1:(enum)} { + $0 +} \ No newline at end of file