forked from AndreaCrotti/yasnippet-snippets
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.yas-setup.el
36 lines (29 loc) · 1.13 KB
/
.yas-setup.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
(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)))