Yasnippet Configurations

Table of Contents

1. snippets

1.1. c-mode/

1.1.1. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
#include <stdio.h>

int main() {
    $0
    return 0;
}

1.2. css-mode/

1.2.1. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
* {
    padding: 0;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
    overscroll-behavior-y: contain;
    $0
}

a {
    text-decoration: none;
}

1.2.2. media

# -*- mode: snippet -*-
# name: media
# key: media
# --
@media (${1:max-width}: ${2:768px}) {
  $0
}

1.3. clojure-mode/

1.3.1. info

# -*- mode: snippet -*-
# name: info
# key: info
# --
(info "##### $1" ${1:object})

1.3.2. defn

# -*- mode: snippet -*-
# name: defn
# key: defn
# --

(defn $1
  "$2"
  [$3]
  $0)

1.4. emacs-lisp-mode/

1.4.1. cond

# -*- mode: snippet -*-
# contributor: Xah Lee (XahLee.org)
# name: cond
# key: cond
# --
(cond
 (${1:condition} ${2:body})$0)

1.4.2. el-get

# -*- mode: snippet -*-
# name: el-get
# key: el-get
# --
(eval-when-compile
  (el-get-bundle '$1))

1.4.3. header

# -*- mode: snippet; -*-
# contributor: kchenphy <https://www.github.com/kchenphy>
# name: package header
# key: header
# --
;;; ${1:name}.el --- ${2:summary} -*- lexical-binding: t -*-

;; Author: ${3:`(user-full-name)`}
;; Maintainer: ${4:`(user-full-name)`}
;; Version: ${5:version}
;; Package-Requires: (${6:dependencies})
;; Homepage: ${7:homepage}
;; Keywords: ${8:keywords}

${9:
;; This file is not part of GNU Emacs

;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; For a full copy of the GNU General Public License
;; see <http://www.gnu.org/licenses/>.
}

;;; Commentary:

;; ${10:commentary}

;;; Code:

${11:(message "Hello World!")}

(provide '$1)

;;; $1.el ends here

1.4.4. kill-buffer

# -*- mode: snippet -*-
# contributor: Xah Lee (XahLee.org)
# name: kill-buffer
# key: kill-buffer
# key: kb
# --
(kill-buffer $0)

1.4.5. lambda

# -*- mode: snippet; -*-
# contributor: Xah Lee (XahLee.org)
# name: lambda
# key: lam
# --
(lambda ($1) ${2:(interactive${3: "$4"}) }$0)

1.4.6. minor

# -*- mode: snippet -*-
# name: minor
# key: minor
# --
(defvar ${1:mode}-modeline-indicator " ${2:indicator}"
  "call ($1-install-mode) again if this is changed")

(defvar $1-mode nil)
(make-variable-buffer-local '$1-mode)
(put '$1-mode 'permanent-local t)

(defun $1-mode (&optional arg)
  "$0"
  (interactive "P")
  (setq $1-mode
	(if (null arg) (not $1-mode)
	  (> (prefix-numeric-value arg) 0)))
  (force-mode-line-update))

(provide '$1-mode)

1.4.7. with-delayed-execution

# -*- mode: snippet -*-
# name: with-delayed-execution
# key: with-delayed-execution
# --
(with-delayed-execution
  (message "Install $1...")
  (add-to-list 'load-path (locate-user-emacs-file "el-get/$1"))
  (autoload-if-found '($0) "$1" nil t))

1.5. fish-mode/

1.5.1. bang

# name: bang
# key: !
# --
#!/usr/bin/env fish
$0

1.5.2. block

# name: begin ... end
# key: block
# --
begin
    $0
end

1.5.3. breakpoint

# name: breakpoint
# key: breakpoint
# --
breakpoint
$0

1.5.4. for

# name: for loop
# key: for
# --
for ${1:var} in ${2:stuff}
    $0
end

1.5.5. function

# name: function
# key: function
# --
function ${1:name}
    $0
end

1.5.6. if

# name: if ... ... else ... end
# key: if
# --
if ${1:cond}
    ${2:stuff}
else
    ${3:other}
end
$0

1.5.7. switch

# name: switch
# key: switch
# --
switch ${1:condition}
    case ${2:*}
	 ${0}
end

1.5.8. while

# name: while loop
# key: while
# --
while ${1:cond}
    $0
end

1.6. fundamental-mode/

1.6.1. current-date

# name: current-date
# key: dd
# contributor : Kristof Molnar-Tatai <kristof.mlnr@gmail.com>
# --
`(format-time-string "%Y-%m-%d")`

1.6.2. mode-line

# name: Mode line
# key: mode-line
# --
# -*- mode:${1:conf}; -*-

1.7. git-commit-mode/

1.7.1. .yas-parents

text-mode

1.7.2. type

# name: type
# key: type
# --
${1:$$(yas-choose-value '("fix" "hotfix" "add" "update" "change" "clean" "disable" "remove" "upgrade" "revert"))} $0

1.8. go-mode/

1.8.1. append

# name: for append
# key: append
# --
$1 = append($1, $0)

1.8.2. case

# name: switch case
# key: case
# --
case $1:
	$0

1.8.3. error

# name: error
# key: error
# --
if err != nil {
	$0
}

1.8.4. for

# name: for range
# key: range
# --
for ${3:key}, ${2:value} := range ${1:target} {
	$0
}

1.8.5. func

# name: func
# key: func
# --

func ($2) $1 ($3) {
	$0
}

1.8.6. handler

# -*- mode: snippet -*-
# name: handler
# key: handler
# --
var $1 = func(w http.ResponseWriter, r *http.Request) {
    $0
}

1.8.7. init

# name: init
# key: init
# --
func init(){
	$0
}

1.8.8. interface

# name: interface
# key: type
# --
type $1 interface {
	$0
}

1.8.9. main

# name: main
# key: main
# --
func main() {
	$0
}

1.8.10. package

# name: package
# key: package
# --
package ${1:main}

1.8.11. struct

# name: struct
# key: struct
# --

type $1 struct {
$0
}

1.8.12. switch

# name: for switch
# key: switch
# --
switch $1 {
	case $2:
		$0
	default:
}

1.8.13. test

# name: test
# key: test
# --
func Test$1(t *testing.T) {
	$0
}

1.9. js-mode/

1.9.1. alert

# name: alert
# key: alert
# --
alert($0);

1.9.2. class

# name: class
# key: class
# --
class ${1:Class}${2: extends ${3:ParentClass}} {
  ${4:constructor(${5:arg}) {
    ${6:super(arg);}
    $7
  }}

  $0
}

1.9.3. const

# name: const declaration
# key: const
# --
const ${1:name} = ${2:initial};

1.9.4. each

# name: each
# --
${1:collection}.forEach(function (${2:elem}) {
  $0
});

1.9.5. else

# name: else
# key: else
# --
else {
  $0
}

1.9.6. export-const

# -*- mode: snippet -*-
# name: export-const
# key: export-const
# --

export const ${1:functionName} = (${2:params}) => {
  $0
}

1.9.7. export-default

# name: export-default
# key: export-default
# --

export default (${1:params}) => {
  $0
}

1.9.8. for-in

# name: for-in
# key: for-in
# --

for(const ${1:item} in ${2:object}) {
  ${0}
}

1.9.9. for-of

# name: for-of
# key: fof-of
# --

for(const ${1:item} of ${2:object}) {
  ${0}
}

1.9.10. for

# name: for
# --
for (let ${1:i} = ${2:0}; $1 < ${3:collection}.length; $1++) {
  $0
}

1.9.11. function

# name: function
# key: function
# --
function ${1:name}(${2:arg}) {
	 $0
}

1.9.12. if

# name: if
# --
if (${1:condition}) {
  $0
}

1.9.13. lambda

# name: lambda
# key: lambda
# --
const ${1:name} = (${2:args}) => {
  $0
};

1.9.14. log

# name: log (console.log)
# key: log
# --
console.log(${2:"$3 >> ", }${1:var})

1.9.15. import

# name: import
# key: import
# --

import ${2:moduleName} from '${1:module}'$0

1.9.16. let

# name: let declaration
# key: let
# --
let ${1:name} = ${2:initial};

1.9.17. setInterval

# name: setInterval
# key: setInterval
# --

setInterval(() => {
  ${2}
}, ${0:intervalInms})

1.9.18. setTimeout

# name: setTimeOut
# key: setTimeOut
# --

setTimeout(() => {
  ${2}
}, ${1:delayInms})

1.9.19. styled

# name: styled
# key: styled
# --

const $1 = styled.$2\`
  $0
\`

1.9.20. switch

# name: switch
# key: switch
# --
switch (${1:condition}) {
  case ${2:expression}:
    $0
    break;
  default:
}

1.9.21. try-catch

# name: try...catch statement
# key: try
# --
try {
  $1
} catch (err) {
  $2
}${3: finally {
  $4
}}

1.10. js2-mode/

1.10.1. .yas-parents

js-mode

1.11. lisp-mode/

1.11.1. main

# name: main
# key: main
# --
(defun main () $0)

1.11.2. class

# name: class
# key: cls
# --
(defclass ${1:name} (${2:inherits})
   (${4:slot})
   (:documentation "${3:doc}"))
$0

1.11.3. comment

# name: comment
# key: /*
# --
#|${1:type the comment here}|#
$0

1.11.4. cond

# name: cond
# key: cond
# --
(cond (${1:case1} (${2:do-this}))
      (${3:case2} (${4:do-this}))
      (t ${5:default}))
$0

1.11.5. defun

# name: defun
# key: defun
# --
(defun ${1:fun} (${2:args})
       $0
)

1.11.6. defpackage

# name: defpackage
# key: defp
# --
(defpackage #:${1:name}
   (:nicknames #:${2:nick})
   (:use #:cl #:closer-mop #:${3:package})
   (:shadow :${4.symbol})
   (:shadowing-import-from #:${5:package} #:${6:symbol})
   (:export :$0))

1.11.7. do

# name: do
# key: do
# --
(do ((${1:var1} ${2:init-form} ${3:step-form})
     (${4:var2} ${5:init-form} ${6:step-form}))
    (${7:condition} ${8:return-value})
    (${9:body}))
$0

1.11.8. for

# name: do
# key: for
# --
(dotimes (${1:var} ${2:count-form})
	 ${3:body})
$0

1.11.9. foreach

# name: do
# key: foreach
# --
(dolist (${1:var} ${2:list-form})
	${3:body})
$0

1.11.10. format

# name: format
# key: print
# --
(format t "~& $0 ~%")

1.11.11. if

# name: if
# key: if
# --
(when (${1:condition})
      (${2:then-do-this}))
$0

1.11.12. ifelse

# name: ifelse (...) (...) (...) ...
# key: ifelse
# --
(if (${1:condition})
    (${2:then})
    (${3:else}))
$0

1.11.13. ifnot

# name: ifnot (...) (...)  ...
# key: ifnot
# --
(unless (${1:condition})
	(${2:then-do-this}))
$0

1.11.14. slot

# name: slot
# key: slot
# --
(${1:name} :initarg :${1:$(yas/substr yas-text "[^: ]*")}
	   :initform (error ":${1:$(yas/substr yas-text "[^: ]*")} must be specified")
	   ;; :accessor ${1:$(yas/substr yas-text "[^: ]*")}
	   :reader ${1:$(yas/substr yas-text "[^: ]*")}-changed
	   :writer set-${1:$(yas/substr yas-text "[^: ]*")}
	   :type
	   :allocation ${3::class :instance}
	   :documentation "${2:about-slot}")
$0

1.11.15. typecast

# name: typecast
# name: cast
# --
(coerce ${1:object} ${2:type})
$0

1.12. makefile-mode/

1.12.1. all

# name: all
# key: all
# --
.PHONY: all
all: $0

1.12.2. help

# -*- mode: snippet -*-
# name: help
# key: help
# --
.PHONY: help
help:
    @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

1.12.3. phony

# name: phony
# --
.PHONY: $1
$1:
	$0

1.13. markdown-mode/

1.13.1. code

# name: Code block
# key: code
# --
\`\`\`$1
$0
\`\`\`

1.13.2. highlight

# name: Highlight
# contributor: nguyenvinhlinh <nguyenvinhlinh93@gmail.com>
# key: highlight
# --
{% highlight ${1:language} %}
${0:content}
{% endhighlight %}

1.13.3. hr

# name: Horizontal Rule (-)
# key: hr
# --
----------
$0

1.13.4. img

# name: Image
# contributor: Peng Deng <dengpeng@gmail.com>
# key: img
# --
![${1:Alt Text}](${2:URL} $3) $0

1.13.5. link

# name: Link
# contributor: Peng Deng <dengpeng@gmail.com>
# key: link
# --
[${1:Link Text}](${2:URL} $3) $0

1.14. org-mode/

1.14.1. author

# name: author
# key: author
# --
#+AUTHOR: $0

1.14.2. center

# name: center
# key: center
# --
#+begin_center
$0
#+end_center

1.14.3. date

# name: date
# key: date
# --
#+DATE: ${1:year}:${2:month}:${3:day}

1.14.4. description

# name: description
# key: desc
# --
#+DESCRIPTION: $0

1.14.5. email

# name: email
# key: email
# --
#+email: $0

1.14.6. embedded

# name: embedded
# key: embedded
# --
src_${1:lang}${2:[${3:where}]}{${4:code}}

1.14.7. entry

# name: entry
# key: entry
# --
#+begin_html
---
layout: ${1:default}
title: ${2:title}
---
#+end_html

1.14.8. exampleblock

# name: example
# key: example
# --
#+begin_example
$0
#+end_example

1.14.9. export

# name: export
# key: export
# --
#+begin_export ${1:type}
$0
#+end_export

1.14.10. figure

# name: figure
# key: figure
# --
#+caption: ${1:caption}
#+attr_latex: ${2:scale=0.75}
#+label: fig:${3:label}$0

1.14.11. html

# name: html
# key: html
# --
#+html:$1

1.14.12. image

# name: image
# key: image
# --
#+caption: ${1:caption of the image}
[[file:${2:image_path}]]$0

1.14.13. img

# name: img
# key: img
# --
<img src="$1" alt="$2" align="${3:left}" title="${4:image title}" class="img" $5/>$0

1.14.14. include

# name: include
# key: include
# --
#+include: $0

1.14.15. keywords

# name: keywords
# key: keywords
# --
#+keywords: $0

1.14.16. language

# name: language
# key: language
# --
#+language: ${1:en}

1.14.17. link

# name: link
# key: link
# --
[[${1:link}][${2:description}]]

1.14.18. matrix

# name: matrix
# key: matrix
# possible improvement, compute the number of lines from the argument to array
# --
\left \(
\begin{array}{${1:ccc}}
${2:v1 & v2} \\
$0
\end{array}
\right \)

1.14.19. nippo

# -*- mode: snippet -*-
# name: nippo
# key: nippo
# --

** やったこと

- Task
  - ...

- MTG
  - ...

** 今日やること

- Task
  - ...

- MTG
  - ...

** 困ってること・相談したいこと

- 特になし

** その他

-  ...

1.14.20. options

# name: options
# key: options
# --
#+options: h:${1:1} num:${2:t||nil} toc:${3:t||nil}$0

1.14.21. rvbackground

# name: reveal_single_colored_background
# key: reveal_single_colored_background
# --
:properties:
:reveal_background: ${1: #123456}
:end:

1.14.22. rvimagebackground

# name: reveal_image_background
# key: <rib
# --
    :properties:
    :reveal_background: ${1: path of the image}
    :reveal_background_trans: ${2: default||cube||page||concave||zoom||linear||fade||none||slide}
    :end:

1.14.23. setup

# name: setup
# key: setup
# --
#+setup: $0

1.14.24. setupfile

# name: setupfile
# key: setupfile
# --
#+setupfile: $0

1.14.25. style

# name: style
# key: style
# --
#+style: <link rel="stylesheet" type="text/css" href="$1" />

1.14.26. table

# name: table
# key: table
# --
#+caption: ${1: caption of the table}
|${2:column 1} | ${3: column 2} |
|--------------+----------------|

1.14.27. title

# name: title
# key: title
# --
#+title: $0

1.14.28. uml

# name: uml
# key: uml
# contributor : Robert O'Connor
# --
#+begin_uml
$1
#+end_uml

1.14.29. verse

# name: verse
# key: verse
# --
#+begin_verse
$0
#+end_verse

1.14.30. video

# name: video
# key: video
# --
[[${1:link of the video}][file:${2:link of the image}]

1.14.31. roam

# name: roam
# key: <roam
# --
#+roam_tags: $0

1.15. php-mode/

1.15.1. .yas-setup.el

(require 'yasnippet)

(defun yas-php-get-class-name-by-file-name ()
  "Return name of class-like construct by `file-name'.
\"class-like\" contains class, trait and interface."
  (file-name-nondirectory
   (file-name-sans-extension (or (buffer-file-name)
                                 (buffer-name (current-buffer))))))

1.15.2. _call

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: __call()
# key: __call
# group: Magic Methods
# --
public function __call($name, $args)
{
    $0
}

1.15.3. _construct

# -*- mode: snippet -*-
# name: __construct()
# key: __construct
# --
public function __construct(${1:private })
{$0
}

1.15.4. abstruct

# -*- mode: snippet -*-
# name: abstract
# key: abstract
# --
abstract class ${1:`(yas-php-get-class-name-by-file-name)`}
{
  $0
}

1.15.5. class

# -*- mode: snippet -*-
# name: class
# key: class
# group: definitions
# --
class ${1:`(yas-php-get-class-name-by-file-name)`}
{
  $0
}

1.15.6. const

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: const
# key: const
# group: definitions
# --
const ${1:NAME} = ${2:value};

1.15.7. dd

# -*- mode: snippet -*-
# name: dd
# key: dd
# --
dd($1);

1.15.8. ddd

# -*- mode: snippet -*-
# name: ddd
# key: ddd
# --
ddd($1);

1.15.9. declare

# -*- mode: snippet -*-
# name: declare
# key: declare
# group: generic
# --
declare(strict_types=1);

1.15.10. doc

# -*- mode: snippet -*-
# key: /**
# group: annotation
# --
/**
 * ${1:Summary}
 */

1.15.11. dumptype

# -*- mode: snippet -*-
# name: dumptype
# key: dumptype
# --
\PHPStan\dumpType($0);

1.15.12. enum

# -*- mode: snippet -*-
# contributor: takeo obara<bararararatty@gmail.com>
# name: enum
# key: enum
# group : definitions
# --
enum ${1:Name}
{
    case: ${2:One};
    case: ${2:Two};
$0
}

1.15.13. final

# -*- mode: snippet -*-
# name: final
# key: final
# group: definitions
# --
final class ${1:`(yas-php-get-class-name-by-file-name)`}
{
  $0
}

1.15.14. foreach

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: foreach
# key: foreach
# group : control structure
# --
foreach (${1:$expression} as \$${2:value}) {
    $0
}

1.15.15. function

# -*- mode: snippet -*-
# name: function
# key: function
# --
${1:public} function ${2:name}(${3:$arg, ...}): ${4:type}
{
    $0
}

1.15.16. interface

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: interface
# key: interface
# group : definitions
# --
interface ${1:`(yas-php-get-class-name-by-file-name)`}
{
    $0
}

1.15.17. php

# -*- mode: snippet -*-
# name: php
# key: php
# group: generic
# --
<?php

declare(strict_types=1);

$0

1.15.18. psysh

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: psysh
# key: psysh
# group: generic
# --
eval(\Psy\sh());

1.15.19. match

# -*- mode: snippet -*-
# contributor: takeo obara<bararararatty@gmail.com>
# name: match
# key: match
# group : control structure
# --
match (${1:$var}) {
    ${2:$cond} => ${3:$return},
$0
};

1.15.20. switch

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: switch
# key: switch
# group : control structure
# --
switch (${1:condition}) {
    case ${2:expr}:
	$0
	break;
    default:
}

1.15.21. trait

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: trait
# key: trait
# group : definitions
# --
trait ${1:`(yas-php-get-class-name-by-file-name)`}
{
    $0
}

1.15.22. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
<?php
declare(strict_types=1);

${1:namespace}

final class ${2:`(yas-php-get-class-name-by-file-name)`}${3: extends $4}${5: implements $6}
{$0
}

1.15.23. vardump

# -*- mode: snippet -*-
# contributor: USAMI Kenta <tadsan@zonu.me>
# name: var_dump()
# key: vd
# group: generic
# --
var_dump(${1:$var});

1.15.24. @phpstan-ignore-line

# -*- mode: snippet -*-
# name: @phpstan-ignore-line
# key: phpstan-ignore-line
# --

// @phpstan-ignore-line$0

1.15.25. @phpstan-ignore-next-line

# -*- mode: snippet -*-
# name: @phpstan-ignore-next-line
# key: phpstan-ignore-next-line
# --

// @phpstan-ignore-next-line$0

1.16. prog-mode/

1.16.1. .yas-setup.el

(require 'yasnippet)
;; whitespace removing functions from Magnar Sveen ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun yas-s-trim-left (s)
  "Remove whitespace at the beginning of S."
  (if (string-match "\\`[ \t\n\r]+" s)
      (replace-match "" t t s)
    s))
(defun yas-s-trim-right (s)
  "Remove whitespace at the end of S."
  (if (string-match "[ \t\n\r]+\\'" s)
      (replace-match "" t t s)
    s))
(defun yas-s-trim (s)
  "Remove whitespace at the beginning and end of S."
  (yas-s-trim-left (yas-s-trim-right s)))
(defun yas-string-reverse (str)
  "Reverse a string STR manually to be compatible with emacs versions < 25."
  (apply #'string
	 (reverse
	  (string-to-list str))))
(defun yas-trimmed-comment-start ()
  "This function returns `comment-start' trimmed by whitespaces."
  (yas-s-trim comment-start))
(defun yas-trimmed-comment-end ()
  "This function returns `comment-end' trimmed by whitespaces if `comment-end' is not empty.
Otherwise the reversed output of function `yas-trimmed-comment-start' is returned."
  (if (eq (length comment-end) 0)
      (yas-string-reverse (yas-trimmed-comment-start))
    (yas-s-trim comment-end)))

1.16.2. comment

# contributor: sh-ow <sh-ow@users.noreply.github.com>
# name: comment
# key: co
# --
`(yas-trimmed-comment-start)` ${1:comment}`(unless (eq (length comment-end) 0) (concat " " (yas-trimmed-comment-end)))`$0

1.16.3. comment-block

# name: comment-block
# key: comment-block
# --
${1:$(let* ((col (current-column))
	   (str "")
	   (lastcom (substring (yas-trimmed-comment-start) -1))
	   (start (yas-trimmed-comment-start))
	   (end (yas-trimmed-comment-end))
	   (over (- (+ (string-width yas-text) (length start) (length end) col) 77)))
	 (while (< (length str) (+ (- 79 (length start) (length end) col) (if (> over 0) over 0)))
		(setq str (concat str lastcom)))
       (concat start str end))}
${1:$(let* ((col (current-column))
	   (str "")
	   (start (yas-trimmed-comment-start))
	   (end (yas-trimmed-comment-end)))
	 (while (< (length str) (ffloor (/ (- 78.0 (+ col (length start) (string-width yas-text) (length end))) 2.0)))
		(setq str (concat str " ")))
	(concat start str))} ${1:comment} ${1:$(let* ((col (current-column))
						     (str "")
						     (start (yas-trimmed-comment-start))
						     (end (yas-trimmed-comment-end)))
						   (while (< (length str) (- 79.0 (if (eq (mod (string-width yas-text) 2) 1) (- col 1) col) (length end)))
							  (setq str (concat str " ")))
						 (concat str end))}
${1:$(let* ((col (current-column))
	   (str "")
	   (lastcom (substring (yas-trimmed-comment-start) -1))
	   (start (yas-trimmed-comment-start))
	   (end (yas-trimmed-comment-end))
	   (over (- (+ (string-width yas-text) (length start) (length end) col) 77)))
	 (while (< (length str) (+ (- 79 (length start) (length end) col) (if (> over 0) over 0)))
		(setq str (concat str lastcom)))
       (concat start str end))}$0

1.16.4. commentblock-two

# name: commentblock-two
# key: commentblock-two
# --

/*
|--------------------------------------------------------------------------
| $1
|--------------------------------------------------------------------------
|
| $2
|
*/

$0

1.16.5. fixme

# name: fixme
# key: fi
# condition: (not (eq major-mode 'sh-mode))
# --
`comment-start`FIXME: $0`comment-end`

1.16.6. todo

# name: todo
# key: t
# --
`comment-start`TODO: $0`comment-end`

1.16.7. xxx

# name: xxx
# key: x
# --
`comment-start`XXX: $0`comment-end`

1.17. prisma-mode/

1.17.1. datasource

# name: datasource
# key: datasource
# --
datasource $1 {
  provider = $2
  url      = $3
}

1.17.2. generator

# name: generator
# key: generator
# --
generator $1 {
  provider = $2
}

1.17.3. model

# name: model
# key: model
# --
model $1 {
  $0
}

1.18. robots-txt-mode/

1.18.1. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
User-Agent:*

Disallow: $1

Sitemap: $2

1.19. scheme-mode/

1.19.1. guix-bzr-reference

# -*- mode: snippet -*-
# name: guix-bzr-reference
# key: bzr-reference...
# --
(bzr-reference
  (url "$1")
  (revision ${2:ref}))

1.19.2. guix-cvs-reference

# -*- mode: snippet -*-
# name: guix-cvs-reference
# key: cvs-reference...
# --
(cvs-reference
  (root-directory "${1:root-directory}")
  (module "${2:module}")
  (revision "${3:revision}"))

1.19.3. guix-hg-reference

# -*- mode: snippet -*-
# name: guix-hg-reference
# key: hg-reference...
# --
(hg-reference
  (url "$1")
  (changeset ${2:changeset}))

1.19.4. guix-origin

# -*- mode: snippet -*-
# name: guix-origin
# key: origin...
# --
(origin
 (method ${1:$$(yas-choose-value "url-fetch"
				 "url-fetch/tarbomb"
				 "url-fetch/zipbomb"
				 "cvs-fetch"
				 "git-fetch"
				 "hg-fetch"
				 "svn-fetch"
				 "bzr-fetch")})
 (uri ${1:$(cond ((equal yas-text "git-fetch") "git-reference...")
		 ((equal yas-text "svn-fetch") "svn-reference...")
		 ((equal yas-text "hg-fetch")  "hg-reference...")
		 ((equal yas-text "cvs-fetch") "cvs-reference...")
		 ((equal yas-text "bzr-fetch") "bzr-reference...")
		 (t "(string-append \\"https://\\" version \\".tar.gz\\")"))}$0)
 ${1:$(cond ((equal yas-text "git-fetch")
	     "(file-name (git-file-name name version))")
	    ((equal yas-text "hg-fetch")
	     "(file-name (hg-file-name name version))")
	    ((member yas-text '("svn-fetch" "cvs-fetch" "bzr-fetch"))
	     "(file-name (string-append name \\"-\\" version \\"-checkout\\"))")
	    (t ""))}
 (sha256
  (base32
    "$2")))

1.19.5. guix-package

# -*- mode: snippet -*-
# name: guix-package
# key: package...
# --
(define-public $1
  (package
    (name "$1")
    (version "$2")
    (source origin...$0)
    (build-system ${3:$$(yas-choose-value "android-ndk-build-system"
					  "ant-build-system"
					  "asdf-build-system"
					  "cargo-build-system"
					  "chicken-build-system"
					  "clojure-build-system"
					  "cmake-build-system"
					  "copy-build-system"
					  "dub-build-system"
					  "dune-build-system"
					  "emacs-build-system"
					  "font-build-system"
					  "glib-or-gtk-build-system"
					  "gnu-build-system"
					  "go-build-system"
					  "guile-build-system"
					  "haskell-build-system"
					  "julia-build-system"
					  "linux-module-build-system"
					  "maven-build-system"
					  "meson-build-system"
					  "minetest-build-system"
					  "minify-build-system"
					  "node-build-system"
					  "ocaml-build-system"
					  "perl-build-system"
					  "python-build-system"
					  "qt-build-system"
					  "r-build-system"
					  "rakudo-build-system"
					  "rebar-build-system"
					  "renpy-build-system"
					  "ruby-build-system"
					  "scons-build-system"
					  "texlive-build-system"
					  "trivial-build-system"
					  "waf-build-system")})
    (home-page "$4")
    (synopsis "$5")
    (description "$6")
    (license $7)))

1.19.6. guix-svn-reference

# -*- mode: snippet -*-
# name: guix-svn-reference
# key: svn-reference...
# --
(svn-reference
  (url "$1")
  (revision ${2:svn-revision}))

1.20. snippet-mode/

1.20.1. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
# -*- mode: snippet -*-
# name: ${1:name}
# key: ${2:key}
# --
$0

1.21. snippet-mode/

1.21.1. header

# name: header
# key: header
# --

# name: ${1:name}
# key: ${2:key}
# --

$0

1.22. sql-mode/

1.22.1. constraint

# -*- mode: snippet -*-
# name: constraint
# key: constraint
# --
CONSTRAINT [${1:PK_Name}] PRIMARY KEY ${2:CLUSTERED} ([${3:ColumnName}])

1.22.2. create

# -*- mode: snippet -*-
# name: create
# key: create
# --
CREATE TABLE [${1:dbo}].[${2:TableName}]
(
		${3:Id}		${4:INT IDENTITY(1,1)}		${5:NOT NULL}
$0
	CONSTRAINT [${6:PK_}] PRIMARY KEY ${7:CLUSTERED} ([$3])
)

1.22.3. insert

# name: insert
# key: insert
# --
INSERT INTO ${table-name} (${col1, col2}) VALUES (${'val1', 'val2'});$0

1.22.4. update

# -*- mode: snippet -*-
# name: update
# key: update
# --
BEGIN;
UPDATE $1 SET $2 = $3 WHERE $4;
COMMIT;
$0

1.22.5. delete

# -*- mode: snippet -*-
# name: delete
# key: delete
# --
BEGIN;
DELETE FROM $1 WHERE $2;
COMMIT;
$0

1.23. ssh-config-mode/

1.23.1. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
Host $1
  HostName $2
  Port ${3:22}
  User ${4:ec2-user}
  IdentityFile ${5:~/.ssh/id_ed25519}

1.24. terraform-mode/

1.24.1. provider

# -*- mode: snippet -*-
# name: provider
# key: provider
# --
provider "${1:name}" {
  $0
}

1.24.2. locals

# -*- mode: snippet -*-
# name: locals
# key: locals
# --
locals {
  {$1:name} = ${2:value}
}

1.24.3. module

# -*- mode: snippet -*-
# name: module
# key: mod
# --
module "${1:name}" {
  source = "${2:location}"
  $0
}

1.24.4. resource

# -*- mode: snippet -*-
# name: resource
# key: resource
# --
resource "${1:type}" "${2:name}" {
  $0
}

1.24.5. output

# -*- mode: snippet -*-
# name: output
# key: output
# --
output "${1:name}" {
  value = ${2:value}
}

1.24.6. variable

# name: variable
# key: variable
# --
variable "$1" {
  type = ${2:string}
  $0
}

1.24.7. data

# -*- mode: snippet -*-
# name: data
# key: data
# --
data "${1:type}" "${2:name}" {
  $0
}

1.24.8. terraform

# -*- mode: snippet -*-
# name: terraform
# key: terraform
# --
terraform {
  backend "${1:backend}" {
    $0
  }
}

1.24.9. variables

# -*- mode: snippet -*-
# name: variable
# key: variable
# --
variable "${1:name}" {
  ${2:default = "$3"}
}

1.25. text-mode/

1.25.1. guix-commit-message-add-cl-package

# -*- mode: snippet -*-
# name: guix-commit-message-add-cl-package
# key: addcl
# condition: git-commit-mode
# --
gnu: Add ${1:`(with-temp-buffer
		(magit-git-wash #'magit-diff-wash-diffs
		  "diff" "--staged")
		(beginning-of-buffer)
		(when (search-forward "+(define-public " nil 'noerror)
		  (replace-regexp-in-string
		   "^sbcl-" ""
		   (thing-at-point 'sexp 'no-properties))))`}.

* `(car (magit-staged-files))` (cl-${1:$(replace-regexp-in-string "^cl-" "" yas-text)}, ecl-$1, sbcl-$1): New variables.

1.25.2. guix-commit-message-add-package

# -*- mode: snippet -*-
# name: guix-commit-message-add-package
# key: add
# condition: git-commit-mode
# --
gnu: Add ${1:`(with-temp-buffer
		(magit-git-wash #'magit-diff-wash-diffs
		  "diff" "--staged")
		(goto-char (point-min))
		(when (re-search-forward "\\+(define-public \\(\\S-+\\)" nil 'noerror)
		  (match-string-no-properties 1)))`}.

* `(car (magit-staged-files))` ($1): New variable.

1.25.3. guix-commit-message-remove-package

# -*- mode: snippet -*-
# name: guix-commit-message-remove-package
# key: remove
# condition: git-commit-mode
# --
gnu: Remove ${1:`(with-temp-buffer
		   (magit-git-wash #'magit-diff-wash-diffs
		     "diff" "--staged")
		   (goto-char (point-min))
		   (when (re-search-forward "\\-(define-public \\(\\S-+\\)" nil 'noerror)
		     (match-string-no-properties 1)))`}.

* `(car (magit-staged-files))` ($1): Delete variable.

1.25.4. guix-commit-message-rename-package

# -*- mode: snippet -*-
# name: guix-commit-message-rename-package
# key: rename
# condition: git-commit-mode
# --
gnu: ${1:`(with-temp-buffer
	   (magit-git-wash #'magit-diff-wash-diffs
	     "diff" "--staged")
	   (beginning-of-buffer)
	   (when (search-forward "-(define-public " nil 'noerror)
	     (thing-at-point 'sexp 'no-properties)))`}: Rename package to ${2:`(with-temp-buffer
	   (magit-git-wash #'magit-diff-wash-diffs
	     "diff" "--staged")
	   (beginning-of-buffer)
	   (when (search-forward "+(define-public " nil 'noerror)
	     (thing-at-point 'sexp 'no-properties)))`}.

* `(car (magit-staged-files))` ($1): Define in terms of
'deprecated-package'.
($2): New variable, formerly known as "$1".

1.25.5. guix-commit-message-update-package

# -*- mode: snippet -*-
# name: guix-commit-message-update-package
# key: update
# condition: git-commit-mode
# --

gnu: ${1:`(with-temp-buffer
	   (magit-git-wash #'magit-diff-wash-diffs
	     "diff" "--staged")
	   (goto-char (point-min))
	   (when (re-search-forward "^[ ]*(define-public \\(\\S-+\\)" nil 'noerror)
	     (match-string-no-properties 1)))`}: Update to ${2:`(with-temp-buffer
    (magit-git-wash #'magit-diff-wash-diffs
      "diff" "--staged")
    (goto-char (point-min))
    (search-forward "name" nil 'noerror)
    (search-forward "+" nil 'noerror)   ; first change
    (when (and (search-forward "version " nil 'noerror)
	       (looking-at-p "\""))
      (let ((end (save-excursion (search-forward "\")" nil 'noerror))))
	(when end
	  (forward-char)
	  (buffer-substring-no-properties (point) (- end 2))))))`}.

* `(car (magit-staged-files))` ($1): Update to $2.$0
`(mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) "\n")`

1.25.6. guix-commit-message-use-https-home-page

# -*- mode: snippet -*-
# name: guix-commit-message-use-https-home-page
# key: https
# condition: git-commit-mode
# --
gnu: $1: Use HTTPS home page URI.

* `(car (magit-staged-files))` ($1)[home-page]: Use HTTPS URI.
`(mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) "\n")`

1.26. toml-mode/

1.26.1. plugins

[[plugins]]
repo = '$1'
${2:hook_add = '''
$3
'''}

1.27. typescript-mode/

1.27.1. .yas-parents

js-mode

1.27.2. abstract

# name: abstract
# key: abstract
# --
abstract class ${1:Class} {
  ${2:constructor(${3:arg}) {
    ${4:super(arg);}
    $5
  }}

  $0
}

1.27.3. export-type

# -*- mode: snippet -*-
# name: export-type
# key: export-type
# --
export type ${1:name} {
  $0
}

1.27.4. interface

# -*- mode: snippet -*-
# name: interface
# key: interface
# --
interface $1 ${2: extends ${3:Parent}} = {
$0
}

1.27.5. namespace

# name: namespace
# key: namespace
# --

namespace $1 {
  $0
}

1.27.6. type

# name: type
# key: type
# --
type $1 = {
  $0
}

1.27.7. use-props

# -*- mode: snippet -*-
# name: use-props
# key: use-props
# --
import { Props } from './Layout'

export const useProps = (): Props => {
  return {
    tmp: 'tmp',
  }
}

1.28. typescript-tsx-mode/

1.28.1. .yas-parents

web-mode

1.28.2. index

# -*- mode: snippet -*-
# name: index
# key: index
# --
import React from 'react'
import { useProps } from './useProps'
import { Layout } from './Layout'

export const ${1:Index}: React.FC = () => <Layout {...useProps()} />

1.28.3. layout

# -*- mode: snippet -*-
# name: layout
# key: layout
# --
import React from 'react'
import styled from 'styled-components'

export type Props = {
  tmp: string
}

export const Layout: React.FC<Props> = (props: Props) => {
  return <Wrapper>{props.tmp}</Wrapper>
}

const Wrapper = styled.div\`\`

1.29. vue-mode/

1.29.1. .yas-parents

js-mode

*

1.29.2. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
<template>
    $0
</template>

<script${1: lang="${2:ts}"}>

</script>

<style${3: scoped}>

</style>

1.30. web-mode/

1.30.1. html5

# -*- mode: snippet -*-
# name: html5
# key: html
# --
<!DOCTYPE html>
<html lang="${1:ja}">
<head>
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <title>$2</title>
</head>
<body>
    $0
</body>
</html>

1.30.2. style

# -*- mode: snippet -*-
# name: style
# key: style
# --
<style type="text/css" media="${1:screen}">
  $0
</style>

1.30.3. form

# -*- mode: snippet -*-
# key: form
# name: form
# --
<form${1: method="$2"}${3: action="$4"}>
    $0
</form>

1.30.4. href

# -*- mode: snippet -*-
# name: href
# key: href
# --
<a href="$1">$0</a>

1.30.5. input

# -*- mode: snippet -*-
# name: input
# key: input
# --
<input${1: type="$2"}${3: name="$4"}${5: value="$6"}>$0

1.30.6. img

# -*- mode: snippet -*-
# name: img
# key: img
# --
<img src="$1"${2: alt="$3"}>$0

1.30.7. favicon

# -*- mode: snippet -*-
# name: favicon
# key: favicon
# --
<link rel="icon" href="${1:/favicon.ico}">$0

1.30.8. meta

# -*- mode: snippet -*-
# name: meta
# key: meta
# --
<meta name="title" content="${1:title}">
<meta name="description" content="${2:description}">
<meta name="keywords" content="${3:keywords}">

1.30.9. ogp

# -*- mode: snippet -*-
# name: ogp
# key: ogp
# --
<meta property="og:title" content="$1">
<meta property="og:type" content="$2">
<meta property="og:url" content="$3">
<meta property="og:image" content="$4">
<meta property="og:site_name" content="$5">
<meta property="og:description" content="$6">
<meta name="twitter:site" content="$7">
<meta name="twitter:card" content="$8">

1.30.10. dns-prefetch

# -*- mode: snippet -*-
# name: dns-prefetch
# key: dns-prefetch
# --

<link as="${1:stylesheet}" rel="dns-prefetch" href="$2">$0

1.30.11. preload

# -*- mode: snippet -*-
# name: preload
# key: preload
# --

<link as="${1:stylesheet}" rel="preload" href="$2">$0

1.30.12. prefetch

# -*- mode: snippet -*-
# name: prefetch
# key: prefetch
# --

<link as="${1:stylesheet}" rel="prefetch" href="$2">$0

1.30.13. preconnect

# -*- mode: snippet -*-
# name: preconnect
# key: preconnect
# --

<link rel="preconnect" href="$1">$0

1.31. web-php-blade-mode/

1.31.1. auth

# -*- mode: snippet -*-
# name: auth
# key: auth
# --
@auth${1:('user')}
    $0
@endauth

1.31.2. empty

# -*- mode: snippet -*-
# name: empty
# key: empty
# --
@empty($1)
    $0
@endempty

1.31.3. env

# -*- mode: snippet -*-
# name: env
# key: env
# --
@env(['${1:staging}'])
    $0
@endenv

1.31.4. error

# -*- mode: snippet -*-
# name: error
# key: error
# --
@error('${1:title}')
    $0
@enderror

1.31.5. for

# -*- mode: snippet -*-
# name: for
# key: for
# --
@for ($${1:index} = ${2:0}; $1 < ${3:10}; $1++)
    $0
@endfor

1.31.6. foreach

# -*- mode: snippet -*-
# name: foreach
# key: foreach
# --
@foreach ($1 as ${2:$key =>} ${3:$value})
    $0
@endforeach

1.31.7. guest

# -*- mode: snippet -*-
# name: guest
# key: guest
# --
@guest
    $0
@endguest

1.31.8. if

# -*- mode: snippet -*-
# name: if
# key: if
# --
@if ($1)$0
${2:@elseif ()}
@endif

1.31.9. include

# -*- mode: snippet -*-
# name: include
# key: include
# --
@include('$0')

1.31.10. isset

# -*- mode: snippet -*-
# name: isset
# key: isset
# --
@isset($1)
    $0
@endisset

1.31.11. once

# -*- mode: snippet -*-
# name: once
# key: once
# --
@once
    $0
@endonce

1.31.12. php

# -*- mode: snippet -*-
# name: php
# key: php
# --
@php
    $0
@endphp

1.31.13. production

# -*- mode: snippet -*-
# name: production
# key: production
# --
@production
    $0
@endproduction

1.31.14. section

# -*- mode: snippet -*-
# name: section
# key: section
# --
@section('${1:content}')
    $0
@endsection

1.31.15. switch

# -*- mode: snippet -*-
# name: switch
# key: switch
# --
@switch($1)
    @case($2)
	$0
	@break
    @default
	@break
@endswitch

1.31.16. unless

# -*- mode: snippet -*-
# name: unless
# key: unless
# --
@unless ($1)
    $0
@endunless

1.31.17. yield

# -*- mode: snippet -*-
# name: yield
# key: yeild
# --
@yeild('$0')

1.31.18. while

# -*- mode: snippet -*-
# name: while
# key: while
# --
@while ($1)
    $0
@endwhile

1.32. sh-mode/

1.32.1. template

# -*- mode: snippet -*-
# name: template
# key: template
# --
#!/usr/bin/env bash

set -o errexit
set -o nounset
set -o pipefail
if [[ "${TRACE-0}" == "1" ]]; then
    set -o xtrace
fi

if [[ "${1-}" =~ ^-*h(elp)?$ ]]; then
    echo 'Usage: ./script.sh arg-one arg-two

This is an awesome bash script to make your life better.

'
    exit
fi

cd "$(dirname "$0")"

main() {
    echo do awesome stuff
}

main "$@"

Author: takeokunn

Created: 2022-11-30 Wed 19:17

Validate