File: .yas-setup.el

package info (click to toggle)
yasnippet-snippets 1.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,328 kB
  • sloc: lisp: 127; sh: 13; ada: 5; makefile: 2; python: 2
file content (24 lines) | stat: -rw-r--r-- 721 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
;;; .yas-setup.el --- Yasnippet helper functions for JSX snippets -*- lexical-binding: t -*-

;;; Commentary:

;;; Code:

(require 'yasnippet)

(defun yas-jsx-get-class-name-by-file-name ()
  "Return name of class-like construct by `file-name'."
  (if buffer-file-name
      (let ((class-name (file-name-nondirectory
                         (file-name-sans-extension buffer-file-name))))
        (if (equal class-name "index")
            (file-name-nondirectory
             (directory-file-name (file-name-directory buffer-file-name)))
          class-name))
    ""))

(defun yas-snake-case (s)
  "Convert S to snake-case."
  (mapconcat #'upcase (split-string s "[^[:word:]0-9]+" t) "_"))

;;; .yas-setup.el ends here