Yasnippet Configurations

Table of Contents

1. snippet

1.1. default

1.1.1. css-mode/

  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;
    }
    
  2. media
    # -*- mode: snippet -*-
    # name: media
    # key: media
    # --
    @media (${1:max-width}: ${2:768px}) {
      $0
    }
    

1.1.2. emacs-lisp-mode/

  1. cond
    # -*- mode: snippet -*-
    # contributor: Xah Lee (XahLee.org)
    # name: cond
    # key: cond
    # --
    (cond
     (${1:condition} ${2:body})$0)
    
  2. 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
    
  3. kill-buffer
    # -*- mode: snippet -*-
    # contributor: Xah Lee (XahLee.org)
    # name: kill-buffer
    # key: kill-buffer
    # key: kb
    # --
    (kill-buffer $0)
    
  4. lambda
    # -*- mode: snippet; -*-
    # contributor: Xah Lee (XahLee.org)
    # name: lambda
    # key: lam
    # --
    (lambda ($1) ${2:(interactive${3: "$4"}) }$0)
    
    
  5. 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.1.3. fish-mode/

  1. bang
    # name: bang
    # key: !
    # --
    #!/usr/bin/env fish
    $0
    
    
  2. block
    # name: begin ... end
    # key: block
    # --
    begin
        $0
    end
    
  3. breakpoint
    # name: breakpoint
    # key: breakpoint
    # --
    breakpoint
    $0
    
  4. for
    # name: for loop
    # key: for
    # --
    for ${1:var} in ${2:stuff}
        $0
    end
    
  5. function
    # name: function
    # key: function
    # --
    function ${1:name}
        $0
    end
    
  6. if
    # name: if ... ... else ... end
    # key: if
    # --
    if ${1:cond}
        ${2:stuff}
    else
        ${3:other}
    end
    $0
    
  7. switch
    # name: switch
    # key: switch
    # --
    switch ${1:condition}
        case ${2:*}
    	 ${0}
    end
    
  8. while
    # name: while loop
    # key: while
    # --
    while ${1:cond}
        $0
    end
    

1.1.4. fundamental-mode/

  1. current-date
    # name: current-date
    # key: dd
    # contributor : Kristof Molnar-Tatai <kristof.mlnr@gmail.com>
    # --
    `(format-time-string "%Y-%m-%d")`
    
  2. mode-line
    # name: Mode line
    # key: mode-line
    # --
    # -*- mode:${1:conf}; -*-
    

1.1.5. snippet-mode/

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

1.1.6. git-commit-mode/

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

1.1.7. go-mode/

  1. append
    # name: for append
    # key: append
    # --
    $1 = append($1, $0)
    
  2. case
    # name: switch case
    # key: case
    # --
    case $1:
    	$0
    
  3. error
    # name: error
    # key: error
    # --
    if err != nil {
    	$0
    }
    
  4. for
    # name: for range
    # key: range
    # --
    for ${3:key}, ${2:value} := range ${1:target} {
    	$0
    }
    
  5. func
    # name: func
    # key: func
    # --
    
    func ($2) $1 ($3) {
    	$0
    }
    
  6. handler
    # -*- mode: snippet -*-
    # name: handler
    # key: handler
    # --
    var $1 = func(w http.ResponseWriter, r *http.Request) {
        $0
    }
    
  7. init
    # name: init
    # key: init
    # --
    func init(){
    	$0
    }
    
  8. interface
    # name: interface
    # key: type
    # --
    type $1 interface {
    	$0
    }
    
  9. main
    # name: main
    # key: main
    # --
    func main() {
    	$0
    }
    
  10. package
    # name: package
    # key: package
    # --
    package ${1:main}
    
  11. struct
    # name: struct
    # key: struct
    # --
    
    type $1 struct {
    $0
    }
    
    
  12. switch
    # name: for switch
    # key: switch
    # --
    switch $1 {
    	case $2:
    		$0
    	default:
    }
    
  13. test
    # name: test
    # key: test
    # --
    func Test$1(t *testing.T) {
    	$0
    }
    

1.1.8. js-mode/

  1. alert
    # name: alert
    # key: alert
    # --
    alert($0);
    
  2. class
    # name: class
    # key: class
    # --
    class ${1:Class}${2: extends ${3:ParentClass}} {
      ${4:constructor(${5:arg}) {
        ${6:super(arg);}
        $7
      }}
    
      $0
    }
    
  3. const
    # name: const declaration
    # key: const
    # --
    const ${1:name} = ${2:initial};
    
  4. each
    # name: each
    # --
    ${1:collection}.forEach(function (${2:elem}) {
      $0
    });
    
  5. else
    # name: else
    # key: else
    # --
    else {
      $0
    }
    
  6. export-const
    # -*- mode: snippet -*-
    # name: export-const
    # key: export-const
    # --
    
    export const ${1:functionName} = (${2:params}) => {
      $0
    }
    
  7. export-default
    # name: export-default
    # key: export-default
    # --
    
    export default (${1:params}) => {
      $0
    }
    
  8. for-in
    # name: for-in
    # key: for-in
    # --
    
    for(const ${1:item} in ${2:object}) {
      ${0}
    }
    
  9. for-of
    # name: for-of
    # key: fof-of
    # --
    
    for(const ${1:item} of ${2:object}) {
      ${0}
    }
    
  10. for
    # name: for
    # --
    for (let ${1:i} = ${2:0}; $1 < ${3:collection}.length; $1++) {
      $0
    }
    
  11. function
    # name: function
    # key: function
    # --
    function ${1:name}(${2:arg}) {
    	 $0
    }
    
    
  12. if
    # name: if
    # --
    if (${1:condition}) {
      $0
    }
    
  13. lambda
    # name: lambda
    # key: lambda
    # --
    const ${1:name} = (${2:args}) => {
      $0
    };
    
  14. log
    # name: log (console.log)
    # key: log
    # --
    console.log(${2:"$3 >> ", }${1:var})
    
  15. import
    # name: import
    # key: import
    # --
    
    import ${2:moduleName} from '${1:module}'$0
    
  16. let
    # name: let declaration
    # key: let
    # --
    let ${1:name} = ${2:initial};
    
  17. setInterval
    # name: setInterval
    # key: setInterval
    # --
    
    setInterval(() => {
      ${2}
    }, ${0:intervalInms})
    
  18. setTimeout
    # name: setTimeOut
    # key: setTimeOut
    # --
    
    setTimeout(() => {
      ${2}
    }, ${1:delayInms})
    
  19. styled
    # name: styled
    # key: styled
    # --
    
    const $1 = styled.$2\`
      $0
    \`
    
  20. switch
    # name: switch
    # key: switch
    # --
    switch (${1:condition}) {
      case ${2:expression}:
        $0
        break;
      default:
    }
    
  21. try-catch
    # name: try...catch statement
    # key: try
    # --
    try {
      $1
    } catch (err) {
      $2
    }${3: finally {
      $4
    }}
    

1.1.9. js2-mode/

  1. .yas-parents
    js-mode
    

1.1.10. lisp-mode/

  1. main
    # name: main
    # key: main
    # --
    (defun main () $0)
    
  2. class
    # name: class
    # key: cls
    # --
    (defclass ${1:name} (${2:inherits})
       (${4:slot})
       (:documentation "${3:doc}"))
    $0
    
  3. comment
    # name: comment
    # key: /*
    # --
    #|${1:type the comment here}|#
    $0
    
  4. cond
    # name: cond
    # key: cond
    # --
    (cond (${1:case1} (${2:do-this}))
          (${3:case2} (${4:do-this}))
          (t ${5:default}))
    $0
    
  5. defun
    # name: defun
    # key: defun
    # --
    (defun ${1:fun} (${2:args})
           $0
    )
    
  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))
    
  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
    
  8. for
    # name: do
    # key: for
    # --
    (dotimes (${1:var} ${2:count-form})
    	 ${3:body})
    $0
    
  9. foreach
    # name: do
    # key: foreach
    # --
    (dolist (${1:var} ${2:list-form})
    	${3:body})
    $0
    
  10. format
    # name: format
    # key: print
    # --
    (format t "~& $0 ~%")
    
  11. if
    # name: if
    # key: if
    # --
    (when (${1:condition})
          (${2:then-do-this}))
    $0
    
  12. ifelse
    # name: ifelse (...) (...) (...) ...
    # key: ifelse
    # --
    (if (${1:condition})
        (${2:then})
        (${3:else}))
    $0
    
  13. ifnot
    # name: ifnot (...) (...)  ...
    # key: ifnot
    # --
    (unless (${1:condition})
    	(${2:then-do-this}))
    $0
    
  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
    
  15. typecast
    # name: typecast
    # name: cast
    # --
    (coerce ${1:object} ${2:type})
    $0
    

1.1.11. makefile-mode/

  1. all
    # name: all
    # key: all
    # --
    .PHONY: all
    all:
    	$0
    
  2. phony
    # name: phony
    # --
    .PHONY: $1
    $1:
    	$0
    

1.1.12. markdown-mode/

  1. code
    # name: Code block
    # key: code
    # --
    \`\`\`$1
    $0
    \`\`\`
    
  2. highlight
    # name: Highlight
    # contributor: nguyenvinhlinh <nguyenvinhlinh93@gmail.com>
    # key: highlight
    # --
    {% highlight ${1:language} %}
    ${0:content}
    {% endhighlight %}
    
  3. hr
    # name: Horizontal Rule (-)
    # key: hr
    # --
    ----------
    $0
    
  4. img
    # name: Image
    # contributor: Peng Deng <dengpeng@gmail.com>
    # key: img
    # --
    ![${1:Alt Text}](${2:URL} $3) $0
    
  5. link
    # name: Link
    # contributor: Peng Deng <dengpeng@gmail.com>
    # key: link
    # --
    [${1:Link Text}](${2:URL} $3) $0
    

1.1.13. org-mode/

  1. author
    # name: author
    # key: author
    # --
    #+AUTHOR: $0
    
  2. center
    # name: center
    # key: center
    # --
    #+begin_center
    $0
    #+end_center
    
  3. date
    # name: date
    # key: date
    # --
    #+DATE: ${1:year}:${2:month}:${3:day}
    
  4. description
    # name: description
    # key: desc
    # --
    #+DESCRIPTION: $0
    
  5. email
    # name: email
    # key: email
    # --
    #+email: $0
    
  6. embedded
    # name: embedded
    # key: embedded
    # --
    src_${1:lang}${2:[${3:where}]}{${4:code}}
    
  7. entry
    # name: entry
    # key: entry
    # --
    #+begin_html
    ---
    layout: ${1:default}
    title: ${2:title}
    ---
    #+end_html
    
  8. exampleblock
    # name: example
    # key: example
    # --
    #+begin_example
    $0
    #+end_example
    
  9. export
    # name: export
    # key: export
    # --
    #+begin_export ${1:type}
    $0
    #+end_export
    
  10. figure
    # name: figure
    # key: figure
    # --
    #+caption: ${1:caption}
    #+attr_latex: ${2:scale=0.75}
    #+label: fig:${3:label}$0
    
  11. html
    # name: html
    # key: html
    # --
    #+html:$1
    
  12. image
    # name: image
    # key: image
    # --
    #+caption: ${1:caption of the image}
    [[file:${2:image_path}]]$0
    
  13. img
    # name: img
    # key: img
    # --
    <img src="$1" alt="$2" align="${3:left}" title="${4:image title}" class="img" $5/>$0
    
  14. include
    # name: include
    # key: include
    # --
    #+include: $0
    
  15. keywords
    # name: keywords
    # key: keywords
    # --
    #+keywords: $0
    
  16. language
    # name: language
    # key: language
    # --
    #+language: ${1:en}
    
  17. link
    # name: link
    # key: link
    # --
    [[${1:link}][${2:description}]]
    
  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 \)
    
  19. options
    # name: options
    # key: options
    # --
    #+options: h:${1:1} num:${2:t||nil} toc:${3:t||nil}$0
    
  20. rvbackground
    # name: reveal_single_colored_background
    # key: reveal_single_colored_background
    # --
    :properties:
    :reveal_background: ${1: #123456}
    :end:
    
  21. 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:
    
  22. setup
    # name: setup
    # key: setup
    # --
    #+setup: $0
    
  23. setupfile
    # name: setupfile
    # key: setupfile
    # --
    #+setupfile: $0
    
  24. style
    # name: style
    # key: style
    # --
    #+style: <link rel="stylesheet" type="text/css" href="$1" />
    
  25. table
    # name: table
    # key: table
    # --
    #+caption: ${1: caption of the table}
    |${2:column 1} | ${3: column 2} |
    |--------------+----------------|
    
  26. title
    # name: title
    # key: title
    # --
    #+title: $0
    
  27. uml
    # name: uml
    # key: uml
    # contributor : Robert O'Connor
    # --
    #+begin_uml
    $1
    #+end_uml
    
  28. verse
    # name: verse
    # key: verse
    # --
    #+begin_verse
    $0
    #+end_verse
    
  29. video
    # name: video
    # key: video
    # --
    [[${1:link of the video}][file:${2:link of the image}]
    
  30. roam
    # name: roam
    # key: <roam
    # --
    #+roam_tags: $0
    

1.1.14. php-mode/

  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))))))
    
  2. _call
    # -*- mode: snippet -*-
    # contributor: USAMI Kenta <tadsan@zonu.me>
    # name: __call()
    # key: __call
    # group: Magic Methods
    # --
    public function __call($name, $args)
    {
        $0
    }
    
  3. _construct
    # -*- mode: snippet -*-
    # name: __construct()
    # key: __construct
    # --
    public function __construct(${1:private })
    {$0
    }
    
  4. abstruct
    # -*- mode: snippet -*-
    # name: abstract
    # key: abstract
    # --
    abstract class ${1:`(yas-php-get-class-name-by-file-name)`}
    {
      $0
    }
    
  5. class
    # -*- mode: snippet -*-
    # name: class
    # key: class
    # group: definitions
    # --
    class ${1:`(yas-php-get-class-name-by-file-name)`}
    {
      $0
    }
    
  6. const
    # -*- mode: snippet -*-
    # contributor: USAMI Kenta <tadsan@zonu.me>
    # name: const
    # key: const
    # group: definitions
    # --
    const ${1:NAME} = ${2:value};
    
  7. dd
    # -*- mode: snippet -*-
    # name: dd
    # key: dd
    # --
    dd($1);
    
  8. ddd
    # -*- mode: snippet -*-
    # name: ddd
    # key: ddd
    # --
    ddd($1);
    
  9. declare
    # -*- mode: snippet -*-
    # name: declare
    # key: declare
    # group: generic
    # --
    declare(strict_types=1);
    
  10. doc
    # -*- mode: snippet -*-
    # key: /**
    # group: annotation
    # --
    /**
     * ${1:Summary}
     */
    
  11. dumptype
    # -*- mode: snippet -*-
    # name: dumptype
    # key: dumptype
    # --
    \PHPStan\dumpType($0);
    
  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
    }
    
  13. final
    # -*- mode: snippet -*-
    # name: final
    # key: final
    # group: definitions
    # --
    final class ${1:`(yas-php-get-class-name-by-file-name)`}
    {
      $0
    }
    
  14. foreach
    # -*- mode: snippet -*-
    # contributor: USAMI Kenta <tadsan@zonu.me>
    # name: foreach
    # key: foreach
    # group : control structure
    # --
    foreach (${1:$expression} as \$${2:value}) {
        $0
    }
    
  15. function
    # -*- mode: snippet -*-
    # name: function
    # key: function
    # --
    ${1:public} function ${2:name}(${3:$arg, ...}): ${4:type}
    {
        $0
    }
    
  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
    }
    
  17. php
    # -*- mode: snippet -*-
    # name: php
    # key: php
    # group: generic
    # --
    <?php
    declare(strict_types=1);
    
    $0
    
  18. psysh
    # -*- mode: snippet -*-
    # contributor: USAMI Kenta <tadsan@zonu.me>
    # name: psysh
    # key: psysh
    # group: generic
    # --
    eval(\Psy\sh());
    
  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
    };
    
  20. 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
    }
    
  21. template
    # -*- mode: snippet -*-
    # name: template
    # key: template
    # --
    <?php
    declare(strict_types=1);
    
    namespace $1;
    
    final class ${2:`(yas-php-get-class-name-by-file-name)`}${3: extends $4}${5: implements $6}
    {$0
    }
    
  22. vardump
    # -*- mode: snippet -*-
    # contributor: USAMI Kenta <tadsan@zonu.me>
    # name: var_dump()
    # key: vd
    # group: generic
    # --
    var_dump(${1:$var});
    
  23. @phpstan-ignore-line
    # -*- mode: snippet -*-
    # name: @phpstan-ignore-line
    # key: phpstan-ignore-line
    # --
    
    // @phpstan-ignore-line$0
    
  24. @phpstan-ignore-next-line
    # -*- mode: snippet -*-
    # name: @phpstan-ignore-next-line
    # key: phpstan-ignore-next-line
    # --
    
    // @phpstan-ignore-next-line$0
    

1.1.15. prog-mode/

  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)))
    
  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
    
  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
    
  4. commentblock-two
    # name: commentblock-two
    # key: commentblock-two
    # --
    
    /*
    |--------------------------------------------------------------------------
    | $1
    |--------------------------------------------------------------------------
    |
    | $2
    |
    */
    
    $0
    
  5. fixme
    # name: fixme
    # key: fi
    # condition: (not (eq major-mode 'sh-mode))
    # --
    `comment-start`FIXME: $0`comment-end`
    
  6. todo
    # name: todo
    # key: t
    # --
    `comment-start`TODO: $0`comment-end`
    
  7. xxx
    # name: xxx
    # key: x
    # --
    `comment-start`XXX: $0`comment-end`
    

1.1.16. prisma-mode/

  1. datasource
    # name: datasource
    # key: datasource
    # --
    datasource $1 {
      provider = $2
      url      = $3
    }
    
  2. generator
    # name: generator
    # key: generator
    # --
    generator $1 {
      provider = $2
    }
    
  3. model
    # name: model
    # key: model
    # --
    model $1 {
      $0
    }
    

1.1.17. robots-txt-mode/

  1. template
    # -*- mode: snippet -*-
    # name: template
    # key: template
    # --
    User-Agent:*
    
    Disallow: $1
    
    Sitemap: $2
    

1.1.18. snippet-mode/

  1. header
    # name: header
    # key: header
    # --
    
    # name: ${1:name}
    # key: ${2:key}
    # --
    
    $0
    

1.1.19. sql-mode/

  1. constraint
    # -*- mode: snippet -*-
    # name: constraint
    # key: constraint
    # --
    CONSTRAINT [${1:PK_Name}] PRIMARY KEY ${2:CLUSTERED} ([${3:ColumnName}])
    
  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])
    )
    
  3. insert
    # name: insert
    # key: ins
    # --
    INSERT INTO ${table-name} (${col1, col2}) VALUES (${'val1', 'val2'});$0
    

1.1.20. ssh-config-mode/

  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.1.21. terraform-mode/

  1. provider
    # -*- mode: snippet -*-
    # name: provider
    # key: provider
    # --
    provider "${1:name}" {
      $0
    }
    
  2. locals
    # -*- mode: snippet -*-
    # name: locals
    # key: locals
    # --
    locals {
      {$1:name} = ${2:value}
    }
    
  3. module
    # -*- mode: snippet -*-
    # name: module
    # key: mod
    # --
    module "${1:name}" {
      source = "${2:location}"
      $0
    }
    
  4. resource
    # -*- mode: snippet -*-
    # name: resource
    # key: resource
    # --
    resource "${1:type}" "${2:name}" {
      $0
    }
    
  5. output
    # -*- mode: snippet -*-
    # name: output
    # key: output
    # --
    output "${1:name}" {
      value = ${2:value}
    }
    
  6. variable
    # name: variable
    # key: variable
    # --
    variable "$1" {
      type = ${2:string}
      $0
    }
    
  7. data
    # -*- mode: snippet -*-
    # name: data
    # key: data
    # --
    data "${1:type}" "${2:name}" {
      $0
    }
    
  8. terraform
    # -*- mode: snippet -*-
    # name: terraform
    # key: terraform
    # --
    terraform {
      backend "${1:backend}" {
        $0
      }
    }
    
  9. variables
    # -*- mode: snippet -*-
    # name: variable
    # key: variable
    # --
    variable "${1:name}" {
      ${2:default = "$3"}
    }
    

1.1.22. toml-mode/

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

1.1.23. typescript-mode/

  1. .yas-parents
    js-mode
    
  2. abstract
    # name: abstract
    # key: abstract
    # --
    abstract class ${1:Class} {
      ${2:constructor(${3:arg}) {
        ${4:super(arg);}
        $5
      }}
    
      $0
    }
    
  3. export-type
    # -*- mode: snippet -*-
    # name: export-type
    # key: export-type
    # --
    export type ${1:name} {
      $0
    }
    
  4. interface
    # -*- mode: snippet -*-
    # name: interface
    # key: interface
    # --
    interface $1 ${2: extends ${3:Parent}} = {
    $0
    }
    
  5. namespace
    # name: namespace
    # key: namespace
    # --
    
    namespace $1 {
      $0
    }
    
  6. type
    # name: type
    # key: type
    # --
    type $1 = {
      $0
    }
    

1.1.24. typescript-tsx-mode/

  1. .yas-parents
    web-mode
    

    *

  2. template
    # -*- mode: snippet -*-
    # name: template
    # key: template
    # --
    export const ${1:Component}: React.FC${2:<${3:Props}>} = (${4:props: Props}) => {
      return (
         $0
      )
    }
    

1.1.25. vue-mode/

  1. .yas-parents
    js-mode
    

    *

  2. template
    # -*- mode: snippet -*-
    # name: template
    # key: template
    # --
    <template>
        $0
    </template>
    
    <script${1: lang="${2:ts}"}>
    
    </script>
    
    <style${3: scoped}>
    
    </style>
    

1.1.26. web-mode/

  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>
    
  2. style
    # -*- mode: snippet -*-
    # name: style
    # key: style
    # --
    <style type="text/css" media="${1:screen}">
      $0
    </style>
    
  3. form
    # -*- mode: snippet -*-
    # key: form
    # name: form
    # --
    <form${1: method="$2"}${3: action="$4"}>
        $0
    </form>
    
  4. href
    # -*- mode: snippet -*-
    # name: href
    # key: href
    # --
    <a href="$1">$0</a>
    
  5. input
    # -*- mode: snippet -*-
    # name: input
    # key: input
    # --
    <input${1: type="$2"}${3: name="$4"}${5: value="$6"}>$0
    
  6. img
    # -*- mode: snippet -*-
    # name: img
    # key: img
    # --
    <img src="$1"${2: alt="$3"}>$0
    
  7. favicon
    # -*- mode: snippet -*-
    # name: favicon
    # key: favicon
    # --
    <link rel="icon" href="${1:/favicon.ico}">$0
    
  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}">
    
  9. ogp
    # -*- mode: snippet -*-
    # name: ogp
    # key: ogp
    # --
    <meta property="og:title" content="">
    <meta property="og:type" content="">
    <meta property="og:url" content="">
    <meta property="og:image" content="">
    <meta property="og:site_name" content="">
    <meta property="og:description" content="">
    <meta name="twitter:site" content="">
    <meta name="twitter:card" content="">
    
  10. dns-prefetch
    # -*- mode: snippet -*-
    # name: dns-prefetch
    # key: dns-prefetch
    # --
    
    <link as="${1:stylesheet}" rel="dns-prefetch" href="$2">$0
    
  11. preload
    # -*- mode: snippet -*-
    # name: preload
    # key: preload
    # --
    
    <link as="${1:stylesheet}" rel="preload" href="$2">$0
    
  12. prefetch
    # -*- mode: snippet -*-
    # name: prefetch
    # key: prefetch
    # --
    
    <link as="${1:stylesheet}" rel="prefetch" href="$2">$0
    
  13. preconnect
    # -*- mode: snippet -*-
    # name: preconnect
    # key: preconnect
    # --
    
    <link rel="preconnect" href="$1">$0
    

1.1.27. web-php-blade-mode/

  1. auth
    # -*- mode: snippet -*-
    # name: auth
    # key: auth
    # --
    @auth${1:('user')}
        $0
    @endauth
    
    
  2. empty
    # -*- mode: snippet -*-
    # name: empty
    # key: empty
    # --
    @empty($1)
        $0
    @endempty
    
  3. env
    # -*- mode: snippet -*-
    # name: env
    # key: env
    # --
    @env(['${1:staging}'])
        $0
    @endenv
    
  4. error
    # -*- mode: snippet -*-
    # name: error
    # key: error
    # --
    @error('${1:title}')
        $0
    @enderror
    
  5. for
    # -*- mode: snippet -*-
    # name: name
    # key: key
    # --
    @for ($${1:index} = ${2:0}; $1 < ${3:10}; $1++)
        $0
    @endfor
    
  6. foreach
    # -*- mode: snippet -*-
    # name: foreach
    # key: foreach
    # --
    @foreach ($${1} as ${2:$key =>} ${3:value})
        $0
    @endforeach
    
    
  7. guest
    # -*- mode: snippet -*-
    # name: guest
    # key: guest
    # --
    @guest
        $0
    @endguest
    
  8. if
    # -*- mode: snippet -*-
    # name: if
    # key: if
    # --
    @if ($1)$0
    ${2:@elseif ()}
    @endif
    
  9. include
    # -*- mode: snippet -*-
    # name: include
    # key: include
    # --
    @include('$0')
    
  10. isset
    # -*- mode: snippet -*-
    # name: isset
    # key: isset
    # --
    @isset($1)
        $0
    @endisset
    
  11. once
    # -*- mode: snippet -*-
    # name: once
    # key: once
    # --
    @once
        $0
    @endonce
    
  12. php
    # -*- mode: snippet -*-
    # name: php
    # key: php
    # --
    @php
        $0
    @endphp
    
  13. production
    # -*- mode: snippet -*-
    # name: production
    # key: production
    # --
    @production
        $0
    @endproduction
    
  14. section
    # -*- mode: snippet -*-
    # name: section
    # key: section
    # --
    @section('${1:content}')
        $0
    @endsection
    
  15. switch
    # -*- mode: snippet -*-
    # name: switch
    # key: switch
    # --
    @switch($1)
        @case($2)
    	$0
    	@break
        @default
    	@break
    @endswitch
    
  16. unless
    # -*- mode: snippet -*-
    # name: unless
    # key: unless
    # --
    @unless ($1)
        $0
    @endunless
    
  17. yield
    # -*- mode: snippet -*-
    # name: yield
    # key: yeild
    # --
    @yeild('$0')
    
  18. while
    # -*- mode: snippet -*-
    # name: while
    # key: while
    # --
    @while ($1)
        $0
    @endwhile
    

Author: takeokunn

Created: 2022-06-25 Sat 12:24

Validate