summary refs log tree commit diff
path: root/.vim/snippets
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-02-10 12:32:48 +0100
committerRobert Günzler <r@gnzler.io>2026-02-10 12:41:25 +0100
commit63feeb9f369fc6176e85c1c2d8fcc863caad1946 (patch)
tree41cd5d2d1ec36e74e464caab722cc9b460153f04 /.vim/snippets
parent5bd0a4aca65ecb9818ef1285982d160b6b6ff665 (diff)
start new
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.vim/snippets')
-rw-r--r--.vim/snippets/all.lua112
-rw-r--r--.vim/snippets/html.lua49
-rw-r--r--.vim/snippets/javascript.lua26
-rw-r--r--.vim/snippets/license_eupl.txt287
-rw-r--r--.vim/snippets/license_mit0.txt18
-rw-r--r--.vim/snippets/mail.lua17
-rw-r--r--.vim/snippets/markdown.lua20
-rw-r--r--.vim/snippets/sh_script.txt9
-rw-r--r--.vim/snippets/zig.lua13
9 files changed, 0 insertions, 551 deletions
diff --git a/.vim/snippets/all.lua b/.vim/snippets/all.lua
deleted file mode 100644
index 2e9d975..0000000
--- a/.vim/snippets/all.lua
+++ /dev/null
@@ -1,112 +0,0 @@
----@diagnostic disable: undefined-global
-local events = require('luasnip.util.events')
-
-local fromglob = function(pattern, opts)
-  local choices = {}
-  for _, path in ipairs(vim.fn.glob(pattern, false, true, false)) do
-    choices[#choices + 1] = f(function(_, _, uargs)
-      return vim.fn.readfile(uargs)
-    end, {}, { user_args = { path } })
-  end
-  return sn(nil, { c(1, choices, opts) })
-end
-
-local commentwrap = function(opts)
-  return vim.tbl_extend('error', opts or {}, {
-    callbacks = {
-      [-1] = {
-        [events.leave] = function(node)
-          local start_ln = node:get_buf_position()[1] + 1
-          local end_ln = start_ln + #node:get_text() - 1
-          require('vim._comment').toggle_lines(start_ln, end_ln)
-        end,
-      },
-    },
-  })
-end
-
-return {
-  -- mini symbols
-  s('check', t([[✔]])),
-  s('cross', t([[✖]])),
-  s('...', t([[…]])),
-  s('->', t([[➞ ]])),
-
-  s(
-    'memail',
-    c(1, {
-      t([[robert@gnzler.de]]),
-      t([[robert@gnzler.io]]),
-    })
-  ),
-  s('mename', t([[Robert Günzler]])),
-  s('date', exec([[date --rfc-email]])),
-  s('mfg', t([[Mit freundlichen Grüßen]])),
-  s('sehr', t([[Sehr geehrte Damen und Herren]])),
-  s('sign', t([[  - Robert]])),
-
-  s(
-    'today',
-    f(function()
-      return os.date('%Y-%m-%d')
-    end, {})
-  ),
-  s(
-    'now',
-    f(function()
-      return os.date('%Y-%m-%dT%H:%M:%SZ')
-    end, {})
-  ),
-
-  s(
-    { trig = 'license' },
-    d(1, function()
-      local pattern = vim.fn.stdpath('config') .. '/snippets/license_*.txt'
-      return fromglob(pattern, { name = 'LICENSE templates' })
-    end, nil)
-  ),
-
-  s(
-    { trig = 'spdx' },
-    d(1, function()
-      local pattern = vim.fn.stdpath('config') .. '/snippets/spdx_*.txt'
-      return fromglob(pattern, { name = 'SPDX header templates' })
-    end),
-    commentwrap(nil)
-  ),
-
-  s(
-    { trig = 'todo' },
-    isn(1, {
-      c(1, {
-        sn(nil, { i(1, 'TODO') }),
-        sn(nil, { i(1, 'NOTE') }),
-        sn(nil, { i(1, 'XXX') }),
-      }),
-      c(2, {
-        sn(nil, { i(1) }),
-        sn(nil, { t('('), i(1, 'robertgzr'), t(')') }),
-      }),
-      t(': '),
-      i(3, 'your comment here'),
-    }, ''),
-    commentwrap(nil)
-  ),
-
-  s(
-    { trig = '#!/bin' },
-    d(1, function()
-      local pattern = vim.fn.stdpath('config') .. '/snippets/sh_*.txt'
-      return fromglob(pattern, { name = 'Shell script template' })
-    end, {}),
-    {
-      callbacks = {
-        [-1] = {
-          [events.pre_expand] = function()
-            vim.opt_local.filetype = 'sh'
-          end,
-        },
-      },
-    }
-  ),
-}
diff --git a/.vim/snippets/html.lua b/.vim/snippets/html.lua
deleted file mode 100644
index af7be73..0000000
--- a/.vim/snippets/html.lua
+++ /dev/null
@@ -1,49 +0,0 @@
----@diagnostic disable: undefined-global
-return {
-  s(
-    'html:5',
-    fmt(
-      [[
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-  <meta charset="utf-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <meta name="color-scheme" content="dark light">
-  <title>{title}</title>
-  <link href="{style}" rel="stylesheet">
-  <script src="{script}"></script>
-</head>
-
-<body>
-  {body}
-</body>
-
-</html>
-  ]],
-      {
-        title = i(1, 'my title'),
-        style = i(2, 'style.css'),
-        script = i(3, 'main.js'),
-        body = i(0),
-      }
-    )
-  ),
-  s('anchor', fmt([[<a href="{}">{}</a>]], { i(1), i(2) })),
-  s(
-    'journal',
-    fmt(
-      [[
-<article>
-      <h2>{}</h2>
-      <p>{}</p>
-</article>
-      ]],
-      {
-        i(1, os.date('%Y-%m-%d, %a')),
-        i(0),
-      }
-    )
-  ),
-}
diff --git a/.vim/snippets/javascript.lua b/.vim/snippets/javascript.lua
deleted file mode 100644
index 4c7b8e3..0000000
--- a/.vim/snippets/javascript.lua
+++ /dev/null
@@ -1,26 +0,0 @@
----@diagnostic disable: undefined-global
-
-local jsdoc_s = function(ctx, snip)
-  return s(ctx, snip, {
-    show_condition = cond.ts('comment'),
-  })
-end
-
-return {
-  s({ trig = 'jsdoc', name = 'JSDoc comment' }, {
-    t('/**'),
-    nl(),
-    t(' * '),
-    i(1),
-    nl(),
-    t(' */'),
-  }),
-  jsdoc_s(
-    { trig = 'param', name = 'JSDoc @param' },
-    { t('@param '), t('{'), i(1), t('}'), t(' '), i(2) }
-  ),
-  jsdoc_s(
-    { trig = 'return', name = 'JSDoc @return' },
-    { t('@return '), t('{'), i(1), t('}'), t(' ') }
-  ),
-}
diff --git a/.vim/snippets/license_eupl.txt b/.vim/snippets/license_eupl.txt
deleted file mode 100644
index 4153cd3..0000000
--- a/.vim/snippets/license_eupl.txt
+++ /dev/null
@@ -1,287 +0,0 @@
-                      EUROPEAN UNION PUBLIC LICENCE v. 1.2
-                      EUPL © the European Union 2007, 2016
-
-This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined
-below) which is provided under the terms of this Licence. Any use of the Work,
-other than as authorised under this Licence is prohibited (to the extent such
-use is covered by a right of the copyright holder of the Work).
-
-The Work is provided under the terms of this Licence when the Licensor (as
-defined below) has placed the following notice immediately following the
-copyright notice for the Work:
-
-        Licensed under the EUPL
-
-or has expressed by any other means his willingness to license under the EUPL.
-
-1. Definitions
-
-In this Licence, the following terms have the following meaning:
-
-- ‘The Licence’: this Licence.
-
-- ‘The Original Work’: the work or software distributed or communicated by the
-  Licensor under this Licence, available as Source Code and also as Executable
-  Code as the case may be.
-
-- ‘Derivative Works’: the works or software that could be created by the
-  Licensee, based upon the Original Work or modifications thereof. This Licence
-  does not define the extent of modification or dependence on the Original Work
-  required in order to classify a work as a Derivative Work; this extent is
-  determined by copyright law applicable in the country mentioned in Article 15.
-
-- ‘The Work’: the Original Work or its Derivative Works.
-
-- ‘The Source Code’: the human-readable form of the Work which is the most
-  convenient for people to study and modify.
-
-- ‘The Executable Code’: any code which has generally been compiled and which is
-  meant to be interpreted by a computer as a program.
-
-- ‘The Licensor’: the natural or legal person that distributes or communicates
-  the Work under the Licence.
-
-- ‘Contributor(s)’: any natural or legal person who modifies the Work under the
-  Licence, or otherwise contributes to the creation of a Derivative Work.
-
-- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of
-  the Work under the terms of the Licence.
-
-- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending,
-  renting, distributing, communicating, transmitting, or otherwise making
-  available, online or offline, copies of the Work or providing access to its
-  essential functionalities at the disposal of any other natural or legal
-  person.
-
-2. Scope of the rights granted by the Licence
-
-The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
-sublicensable licence to do the following, for the duration of copyright vested
-in the Original Work:
-
-- use the Work in any circumstance and for all usage,
-- reproduce the Work,
-- modify the Work, and make Derivative Works based upon the Work,
-- communicate to the public, including the right to make available or display
-  the Work or copies thereof to the public and perform publicly, as the case may
-  be, the Work,
-- distribute the Work or copies thereof,
-- lend and rent the Work or copies thereof,
-- sublicense rights in the Work or copies thereof.
-
-Those rights can be exercised on any media, supports and formats, whether now
-known or later invented, as far as the applicable law permits so.
-
-In the countries where moral rights apply, the Licensor waives his right to
-exercise his moral right to the extent allowed by law in order to make effective
-the licence of the economic rights here above listed.
-
-The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to
-any patents held by the Licensor, to the extent necessary to make use of the
-rights granted on the Work under this Licence.
-
-3. Communication of the Source Code
-
-The Licensor may provide the Work either in its Source Code form, or as
-Executable Code. If the Work is provided as Executable Code, the Licensor
-provides in addition a machine-readable copy of the Source Code of the Work
-along with each copy of the Work that the Licensor distributes or indicates, in
-a notice following the copyright notice attached to the Work, a repository where
-the Source Code is easily and freely accessible for as long as the Licensor
-continues to distribute or communicate the Work.
-
-4. Limitations on copyright
-
-Nothing in this Licence is intended to deprive the Licensee of the benefits from
-any exception or limitation to the exclusive rights of the rights owners in the
-Work, of the exhaustion of those rights or of other applicable limitations
-thereto.
-
-5. Obligations of the Licensee
-
-The grant of the rights mentioned above is subject to some restrictions and
-obligations imposed on the Licensee. Those obligations are the following:
-
-Attribution right: The Licensee shall keep intact all copyright, patent or
-trademarks notices and all notices that refer to the Licence and to the
-disclaimer of warranties. The Licensee must include a copy of such notices and a
-copy of the Licence with every copy of the Work he/she distributes or
-communicates. The Licensee must cause any Derivative Work to carry prominent
-notices stating that the Work has been modified and the date of modification.
-
-Copyleft clause: If the Licensee distributes or communicates copies of the
-Original Works or Derivative Works, this Distribution or Communication will be
-done under the terms of this Licence or of a later version of this Licence
-unless the Original Work is expressly distributed only under this version of the
-Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee
-(becoming Licensor) cannot offer or impose any additional terms or conditions on
-the Work or Derivative Work that alter or restrict the terms of the Licence.
-
-Compatibility clause: If the Licensee Distributes or Communicates Derivative
-Works or copies thereof based upon both the Work and another work licensed under
-a Compatible Licence, this Distribution or Communication can be done under the
-terms of this Compatible Licence. For the sake of this clause, ‘Compatible
-Licence’ refers to the licences listed in the appendix attached to this Licence.
-Should the Licensee's obligations under the Compatible Licence conflict with
-his/her obligations under this Licence, the obligations of the Compatible
-Licence shall prevail.
-
-Provision of Source Code: When distributing or communicating copies of the Work,
-the Licensee will provide a machine-readable copy of the Source Code or indicate
-a repository where this Source will be easily and freely available for as long
-as the Licensee continues to distribute or communicate the Work.
-
-Legal Protection: This Licence does not grant permission to use the trade names,
-trademarks, service marks, or names of the Licensor, except as required for
-reasonable and customary use in describing the origin of the Work and
-reproducing the content of the copyright notice.
-
-6. Chain of Authorship
-
-The original Licensor warrants that the copyright in the Original Work granted
-hereunder is owned by him/her or licensed to him/her and that he/she has the
-power and authority to grant the Licence.
-
-Each Contributor warrants that the copyright in the modifications he/she brings
-to the Work are owned by him/her or licensed to him/her and that he/she has the
-power and authority to grant the Licence.
-
-Each time You accept the Licence, the original Licensor and subsequent
-Contributors grant You a licence to their contributions to the Work, under the
-terms of this Licence.
-
-7. Disclaimer of Warranty
-
-The Work is a work in progress, which is continuously improved by numerous
-Contributors. It is not a finished work and may therefore contain defects or
-‘bugs’ inherent to this type of development.
-
-For the above reason, the Work is provided under the Licence on an ‘as is’ basis
-and without warranties of any kind concerning the Work, including without
-limitation merchantability, fitness for a particular purpose, absence of defects
-or errors, accuracy, non-infringement of intellectual property rights other than
-copyright as stated in Article 6 of this Licence.
-
-This disclaimer of warranty is an essential part of the Licence and a condition
-for the grant of any rights to the Work.
-
-8. Disclaimer of Liability
-
-Except in the cases of wilful misconduct or damages directly caused to natural
-persons, the Licensor will in no event be liable for any direct or indirect,
-material or moral, damages of any kind, arising out of the Licence or of the use
-of the Work, including without limitation, damages for loss of goodwill, work
-stoppage, computer failure or malfunction, loss of data or any commercial
-damage, even if the Licensor has been advised of the possibility of such damage.
-However, the Licensor will be liable under statutory product liability laws as
-far such laws apply to the Work.
-
-9. Additional agreements
-
-While distributing the Work, You may choose to conclude an additional agreement,
-defining obligations or services consistent with this Licence. However, if
-accepting obligations, You may act only on your own behalf and on your sole
-responsibility, not on behalf of the original Licensor or any other Contributor,
-and only if You agree to indemnify, defend, and hold each Contributor harmless
-for any liability incurred by, or claims asserted against such Contributor by
-the fact You have accepted any warranty or additional liability.
-
-10. Acceptance of the Licence
-
-The provisions of this Licence can be accepted by clicking on an icon ‘I agree’
-placed under the bottom of a window displaying the text of this Licence or by
-affirming consent in any other similar way, in accordance with the rules of
-applicable law. Clicking on that icon indicates your clear and irrevocable
-acceptance of this Licence and all of its terms and conditions.
-
-Similarly, you irrevocably accept this Licence and all of its terms and
-conditions by exercising any rights granted to You by Article 2 of this Licence,
-such as the use of the Work, the creation by You of a Derivative Work or the
-Distribution or Communication by You of the Work or copies thereof.
-
-11. Information to the public
-
-In case of any Distribution or Communication of the Work by means of electronic
-communication by You (for example, by offering to download the Work from a
-remote location) the distribution channel or media (for example, a website) must
-at least provide to the public the information requested by the applicable law
-regarding the Licensor, the Licence and the way it may be accessible, concluded,
-stored and reproduced by the Licensee.
-
-12. Termination of the Licence
-
-The Licence and the rights granted hereunder will terminate automatically upon
-any breach by the Licensee of the terms of the Licence.
-
-Such a termination will not terminate the licences of any person who has
-received the Work from the Licensee under the Licence, provided such persons
-remain in full compliance with the Licence.
-
-13. Miscellaneous
-
-Without prejudice of Article 9 above, the Licence represents the complete
-agreement between the Parties as to the Work.
-
-If any provision of the Licence is invalid or unenforceable under applicable
-law, this will not affect the validity or enforceability of the Licence as a
-whole. Such provision will be construed or reformed so as necessary to make it
-valid and enforceable.
-
-The European Commission may publish other linguistic versions or new versions of
-this Licence or updated versions of the Appendix, so far this is required and
-reasonable, without reducing the scope of the rights granted by the Licence. New
-versions of the Licence will be published with a unique version number.
-
-All linguistic versions of this Licence, approved by the European Commission,
-have identical value. Parties can take advantage of the linguistic version of
-their choice.
-
-14. Jurisdiction
-
-Without prejudice to specific agreement between parties,
-
-- any litigation resulting from the interpretation of this License, arising
-  between the European Union institutions, bodies, offices or agencies, as a
-  Licensor, and any Licensee, will be subject to the jurisdiction of the Court
-  of Justice of the European Union, as laid down in article 272 of the Treaty on
-  the Functioning of the European Union,
-
-- any litigation arising between other parties and resulting from the
-  interpretation of this License, will be subject to the exclusive jurisdiction
-  of the competent court where the Licensor resides or conducts its primary
-  business.
-
-15. Applicable Law
-
-Without prejudice to specific agreement between parties,
-
-- this Licence shall be governed by the law of the European Union Member State
-  where the Licensor has his seat, resides or has his registered office,
-
-- this licence shall be governed by Belgian law if the Licensor has no seat,
-  residence or registered office inside a European Union Member State.
-
-Appendix
-
-‘Compatible Licences’ according to Article 5 EUPL are:
-
-- GNU General Public License (GPL) v. 2, v. 3
-- GNU Affero General Public License (AGPL) v. 3
-- Open Software License (OSL) v. 2.1, v. 3.0
-- Eclipse Public License (EPL) v. 1.0
-- CeCILL v. 2.0, v. 2.1
-- Mozilla Public Licence (MPL) v. 2
-- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
-- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for
-  works other than software
-- European Union Public Licence (EUPL) v. 1.1, v. 1.2
-- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong
-  Reciprocity (LiLiQ-R+).
-
-The European Commission may update this Appendix to later versions of the above
-licences without producing a new version of the EUPL, as long as they provide
-the rights granted in Article 2 of this Licence and protect the covered Source
-Code from exclusive appropriation.
-
-All other changes or additions to this Appendix require the production of a new
-EUPL version.
diff --git a/.vim/snippets/license_mit0.txt b/.vim/snippets/license_mit0.txt
deleted file mode 100644
index a5f0b4b..0000000
--- a/.vim/snippets/license_mit0.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-MIT No Attribution
-
-Copyright 2024 Robert Günzler
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/.vim/snippets/mail.lua b/.vim/snippets/mail.lua
deleted file mode 100644
index e57902c..0000000
--- a/.vim/snippets/mail.lua
+++ /dev/null
@@ -1,17 +0,0 @@
----@diagnostic disable: undefined-global
-return {
-  s(
-    'Sehr geehrte',
-    fmt(
-      [[
-Sehr geehrte Damen und Herren,
-
-{}
-
-Mit freundlichen Grüßen,
-{}
-]],
-      { i(0), i(1) }
-    )
-  ),
-}
diff --git a/.vim/snippets/markdown.lua b/.vim/snippets/markdown.lua
deleted file mode 100644
index 221f301..0000000
--- a/.vim/snippets/markdown.lua
+++ /dev/null
@@ -1,20 +0,0 @@
----@diagnostic disable: undefined-global
-return {
-  s(
-    'bugs',
-    fmt(
-      [[
-## bugs, help, patches?
-
-submit them to my [public-inbox](https://lists.sr.ht/~robertgzr/public-inbox) by sending an email to [~robertgzr/public-inbox@lists.sr.ht](mailto:~robertgzr/public-inbox@lists.sr.ht?Subject=%5B{proj}%5D%20)
-]],
-      { proj = i(1, 'project name') }
-    )
-  ),
-
-  s('date', {
-    t('<span class="date">'),
-    i(1),
-    t('</span>'),
-  }),
-}
diff --git a/.vim/snippets/sh_script.txt b/.vim/snippets/sh_script.txt
deleted file mode 100644
index eab45a3..0000000
--- a/.vim/snippets/sh_script.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -eu
-[ -n "${DEBUG:-}" ] && set -x
-
-main() {
-  printf 'Hello world\n'
-}
-
-main "$@"
diff --git a/.vim/snippets/zig.lua b/.vim/snippets/zig.lua
deleted file mode 100644
index 3a7d12f..0000000
--- a/.vim/snippets/zig.lua
+++ /dev/null
@@ -1,13 +0,0 @@
----@diagnostic disable: undefined-global
-return {
-  s('str', t('[]const u8')),
-  s('fn_C', fmt('fn {}({}) callconv(.C) {}', { i(0), i(1), i(2) })),
-  s('debug', {
-    t('std.log.debug("'),
-    i(1, '{any}'),
-    t('", .{'),
-    i(2),
-    t('});'),
-    i(0),
-  }),
-}