Skip to content

Commit 80697be

Browse files
committed
replace Filename by vim_snippets#Filename and document it
It doesn't make sense that all snippet engines have to keep this function somewhere
1 parent 1c74a95 commit 80697be

17 files changed

+97
-68
lines changed

UltiSnips/d.snippets

+1-1
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ snippet module "New module (module)" b
576576
// (See accompanying file LICENSE_1_0.txt or copy at
577577
// http://www.boost.org/LICENSE_1_0.txt)
578578

579-
module ${2}.`!v Filename('$1', 'name')`;
579+
module ${2}.`!v vim_snippets#Filename('$1', 'name')`;
580580

581581

582582
${3}

autoload/vim_snippets.vim

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
" this is well known Filename found in snipmate (and the other engines), but
2+
" rewritten and documented :)
3+
"
4+
" optional arg1: string in which to replace '$1' by filename with extension
5+
" and path dropped. Defaults to $1
6+
" optional arg2: return this value if buffer has no filename
7+
" But why not use the template in this case, too?
8+
" Doesn't make sense to me
9+
fun! vim_snippets#Filename(...)
10+
let template = get(a:000, 0, "$1")
11+
let arg2 = get(a:000, 1, "")
12+
13+
let basename = expand('%:t:r')
14+
15+
if basename == ''
16+
return arg2
17+
else
18+
return substitute(template, '$1', basename, 'g')
19+
endif
20+
endf
21+
22+
" original code:
23+
" fun! Filename(...)
24+
" let filename = expand('%:t:r')
25+
" if filename == '' | return a:0 == 2 ? a:2 : '' | endif
26+
" return !a:0 || a:1 == '' ? filename : substitute(a:1, '$1', filename, 'g')
27+
" endf

snippets/c.snippets

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ snippet inc
2020
#include <${1:stdio}.h>${2}
2121
# #include "..."
2222
snippet Inc
23-
#include "${1:`Filename("$1.h")`}"${2}
23+
#include "${1:`vim_snippets#Filename("$1.h")`}"${2}
2424
# ifndef...define...endif
2525
snippet ndef
2626
#ifndef $1
@@ -41,7 +41,7 @@ snippet #if
4141
#endif
4242
# header include guard
4343
snippet once
44-
#ifndef ${1:`toupper(Filename('$1_H', 'UNTITLED_H'))`}
44+
#ifndef ${1:`toupper(vim_snippets#Filename('$1_H', 'UNTITLED_H'))`}
4545

4646
#define $1
4747

@@ -132,14 +132,14 @@ snippet td
132132
typedef ${1:int} ${2:MyCustomType};${3}
133133
# struct
134134
snippet st
135-
struct ${1:`Filename('$1_t', 'name')`} {
135+
struct ${1:`vim_snippets#Filename('$1_t', 'name')`} {
136136
${2:/* data */}
137137
}${3: /* optional variable list */};${4}
138138
# typedef struct
139139
snippet tds
140140
typedef struct ${2:_$1 }{
141141
${3:/* data */}
142-
} ${1:`Filename('$1_t', 'name')`};${4}
142+
} ${1:`vim_snippets#Filename('$1_t', 'name')`};${4}
143143
# typedef enum
144144
snippet tde
145145
typedef enum {

snippets/coffee.snippets

+4-4
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,19 @@ snippet bfun
3535
${2:# body...}
3636
# Class
3737
snippet cla class ..
38-
class ${1:`substitute(Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`}
38+
class ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`}
3939
${2}
4040
snippet cla class .. constructor: ..
41-
class ${1:`substitute(Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`}
41+
class ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`}
4242
constructor: (${2:args}) ->
4343
${3}
4444

4545
${4}
4646
snippet cla class .. extends ..
47-
class ${1:`substitute(Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`} extends ${2:ParentClass}
47+
class ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`} extends ${2:ParentClass}
4848
${3}
4949
snippet cla class .. extends .. constructor: ..
50-
class ${1:`substitute(Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`} extends ${2:ParentClass}
50+
class ${1:`substitute(vim_snippets#Filename(), '\(_\|^\)\(.\)', '\u\2', 'g')`} extends ${2:ParentClass}
5151
constructor: (${3:args}) ->
5252
${4}
5353

snippets/cpp.snippets

+3-3
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ snippet mu
6868
## Class
6969
# class
7070
snippet cl
71-
class ${1:`Filename('$1', 'name')`}
71+
class ${1:`vim_snippets#Filename('$1', 'name')`}
7272
{
7373
public:
7474
$1(${2});
@@ -79,12 +79,12 @@ snippet cl
7979
};
8080
# member function implementation
8181
snippet mfun
82-
${4:void} ${1:`Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {
82+
${4:void} ${1:`vim_snippets#Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {
8383
${5}
8484
}
8585
# namespace
8686
snippet ns
87-
namespace ${1:`Filename('', 'my')`} {
87+
namespace ${1:`vim_snippets#Filename('', 'my')`} {
8888
${2}
8989
} /* namespace $1 */
9090
##

snippets/cs.snippets

+12-12
Original file line numberDiff line numberDiff line change
@@ -116,49 +116,49 @@ snippet each
116116
}
117117
# interfaces
118118
snippet interface
119-
public interface ${1:`Filename()`} {
119+
public interface ${1:`vim_snippets#Filename()`} {
120120
${2}
121121
}
122122
snippet if+
123-
public interface ${1:`Filename()`} {
123+
public interface ${1:`vim_snippets#Filename()`} {
124124
${2}
125125
}
126126
# class bodies
127127
snippet class
128-
public class ${1:`Filename()`} {
128+
public class ${1:`vim_snippets#Filename()`} {
129129
${2}
130130
}
131131
snippet cls
132-
${2:public} class ${1:`Filename()`} {
132+
${2:public} class ${1:`vim_snippets#Filename()`} {
133133
${3}
134134
}
135135
snippet cls+
136-
public class ${1:`Filename()`} {
136+
public class ${1:`vim_snippets#Filename()`} {
137137
${2}
138138
}
139139
snippet cls+^
140-
public static class ${1:`Filename()`} {
140+
public static class ${1:`vim_snippets#Filename()`} {
141141
${2}
142142
}
143143
snippet cls&
144-
internal class ${1:`Filename()`} {
144+
internal class ${1:`vim_snippets#Filename()`} {
145145
${2}
146146
}
147147
snippet cls&^
148-
internal static class ${1:`Filename()`} {
148+
internal static class ${1:`vim_snippets#Filename()`} {
149149
${2}
150150
}
151151
snippet cls|
152-
protected class ${1:`Filename()`} {
152+
protected class ${1:`vim_snippets#Filename()`} {
153153
${2}
154154
}
155155
snippet cls|%
156-
protected abstract class ${1:`Filename()`} {
156+
protected abstract class ${1:`vim_snippets#Filename()`} {
157157
${2}
158158
}
159159
# constructor
160160
snippet ctor
161-
public ${1:`Filename()`}() {
161+
public ${1:`vim_snippets#Filename()`}() {
162162
${2}
163163
}
164164
# properties - auto properties by default.
@@ -342,7 +342,7 @@ snippet ms-
342342
}
343343
# structure
344344
snippet struct
345-
public struct ${1:`Filename()`} {
345+
public struct ${1:`vim_snippets#Filename()`} {
346346
${2}
347347
}
348348
# enumeration

snippets/dart.snippets

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ snippet br
2222
snippet th
2323
throw ${1}
2424
snippet cl
25-
class ${1:`Filename("", "untitled")`} ${2}
25+
class ${1:`vim_snippets#Filename("", "untitled")`} ${2}
2626
snippet in
27-
interface ${1:`Filename("", "untitled")`} ${2}
27+
interface ${1:`vim_snippets#Filename("", "untitled")`} ${2}
2828
snippet imp
2929
implements ${1}
3030
snippet ext

snippets/erlang.snippets

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# module and export all
22
snippet mod
3-
-module(${1:`Filename('', 'my')`}).
3+
-module(${1:`vim_snippets#Filename('', 'my')`}).
44

55
-compile([export_all]).
66

@@ -66,7 +66,7 @@ snippet %p
6666
%% @private
6767
# OTP application
6868
snippet application
69-
-module(${1:`Filename('', 'my')`}).
69+
-module(${1:`vim_snippets#Filename('', 'my')`}).
7070

7171
-behaviour(application).
7272

@@ -84,7 +84,7 @@ snippet application
8484
ok.
8585
# OTP supervisor
8686
snippet supervisor
87-
-module(${1:`Filename('', 'my')`}).
87+
-module(${1:`vim_snippets#Filename('', 'my')`}).
8888

8989
-behaviour(supervisor).
9090

@@ -107,7 +107,7 @@ snippet supervisor
107107
{ok, {RestartStrategy, Children}}.
108108
# OTP gen_server
109109
snippet gen_server
110-
-module(${1:`Filename('', 'my')`}).
110+
-module(${1:`vim_snippets#Filename('', 'my')`}).
111111

112112
-behaviour(gen_server).
113113

snippets/html.snippets

+3-3
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ snippet head
412412
<head>
413413
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
414414

415-
<title>${1:`substitute(Filename('', 'Page Title'), '^.', '\u&', '')`}</title>
415+
<title>${1:`substitute(vim_snippets#Filename('', 'Page Title'), '^.', '\u&', '')`}</title>
416416
${2}
417417
</head>
418418
snippet header
@@ -450,7 +450,7 @@ snippet html5
450450
<html>
451451
<head>
452452
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
453-
<title>${1:`substitute(Filename('', 'Page Title'), '^.', '\u&', '')`}</title>
453+
<title>${1:`substitute(vim_snippets#Filename('', 'Page Title'), '^.', '\u&', '')`}</title>
454454
${2:meta}
455455
</head>
456456
<body>
@@ -795,7 +795,7 @@ snippet thead
795795
snippet time
796796
<time datetime="${1}" pubdate="${2:$1}">${3:$1}</time>
797797
snippet title
798-
<title>${1:`substitute(Filename('', 'Page Title'), '^.', '\u&', '')`}</title>
798+
<title>${1:`substitute(vim_snippets#Filename('', 'Page Title'), '^.', '\u&', '')`}</title>
799799
snippet tr
800800
<tr>
801801
${1}

snippets/java.snippets

+4-4
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ snippet j.u
3939
##
4040
## Class
4141
snippet cl
42-
class ${1:`Filename("", "untitled")`} ${2}
42+
class ${1:`vim_snippets#Filename("", "untitled")`} ${2}
4343
snippet in
44-
interface ${1:`Filename("", "untitled")`} ${2:extends Parent}${3}
44+
interface ${1:`vim_snippets#Filename("", "untitled")`} ${2:extends Parent}${3}
4545
snippet tc
46-
public class ${1:`Filename()`} extends ${2:TestCase}
46+
public class ${1:`vim_snippets#Filename()`} extends ${2:TestCase}
4747
##
4848
## Class Enhancements
4949
snippet ext
@@ -144,7 +144,7 @@ snippet @au
144144
snippet @br
145145
@brief ${1:Description}
146146
snippet @fi
147-
@file ${1:`Filename()`}.java
147+
@file ${1:`vim_snippets#Filename()`}.java
148148
snippet @pa
149149
@param ${1:param}
150150
snippet @re

snippets/objc.snippets

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ snippet Imp
33
#import <${1:Cocoa/Cocoa.h}>${2}
44
# #import "..."
55
snippet imp
6-
#import "${1:`Filename()`.h}"${2}
6+
#import "${1:`vim_snippets#Filename()`.h}"${2}
77
# @selector(...)
88
snippet sel
99
@selector(${1:method}:)${3}
@@ -18,7 +18,7 @@ snippet log
1818
NSLog(@"${1:%@}"${2});${3}
1919
# Class
2020
snippet objc
21-
@interface ${1:`Filename('', 'someClass')`} : ${2:NSObject}
21+
@interface ${1:`vim_snippets#Filename('', 'someClass')`} : ${2:NSObject}
2222
{
2323
}
2424
@end
@@ -28,33 +28,33 @@ snippet objc
2828
@end
2929
# Class Interface
3030
snippet int
31-
@interface ${1:`Filename('', 'someClass')`} : ${2:NSObject}
31+
@interface ${1:`vim_snippets#Filename('', 'someClass')`} : ${2:NSObject}
3232
{${3}
3333
}
3434
${4}
3535
@end
3636
snippet @interface
37-
@interface ${1:`Filename('', 'someClass')`} : ${2:NSObject}
37+
@interface ${1:`vim_snippets#Filename('', 'someClass')`} : ${2:NSObject}
3838
{${3}
3939
}
4040
${4}
4141
@end
4242
# Class Implementation
4343
snippet impl
44-
@implementation ${1:`Filename('', 'someClass')`}
44+
@implementation ${1:`vim_snippets#Filename('', 'someClass')`}
4545
${2}
4646
@end
4747
snippet @implementation
48-
@implementation ${1:`Filename('', 'someClass')`}
48+
@implementation ${1:`vim_snippets#Filename('', 'someClass')`}
4949
${2}
5050
@end
5151
# Protocol
5252
snippet pro
53-
@protocol ${1:`Filename('$1Delegate', 'MyProtocol')`} ${2:<NSObject>}
53+
@protocol ${1:`vim_snippets#Filename('$1Delegate', 'MyProtocol')`} ${2:<NSObject>}
5454
${3}
5555
@end
5656
snippet @protocol
57-
@protocol ${1:`Filename('$1Delegate', 'MyProtocol')`} ${2:<NSObject>}
57+
@protocol ${1:`vim_snippets#Filename('$1Delegate', 'MyProtocol')`} ${2:<NSObject>}
5858
${3}
5959
@end
6060
# init Definition
@@ -87,7 +87,7 @@ snippet cat
8787
@end
8888
# Category Interface
8989
snippet cath
90-
@interface ${1:`Filename('$1', 'NSObject')`} (${2:MyCategory})
90+
@interface ${1:`vim_snippets#Filename('$1', 'NSObject')`} (${2:MyCategory})
9191
${3}
9292
@end
9393
# Method

snippets/perl.snippets

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ snippet fore
8484
${1:expression} foreach @${2:array};${3}
8585
# Package
8686
snippet package
87-
package ${1:`substitute(Filename('', 'Page Title'), '^.', '\u&', '')`};
87+
package ${1:`substitute(vim_snippets#Filename('', 'Page Title'), '^.', '\u&', '')`};
8888

8989
${2}
9090

@@ -93,7 +93,7 @@ snippet package
9393
__END__
9494
# Package syntax perl >= 5.14
9595
snippet packagev514
96-
package ${1:`substitute(Filename('', 'Page Title'), '^.', '\u&', '')`} ${2:0.99};
96+
package ${1:`substitute(vim_snippets#Filename('', 'Page Title'), '^.', '\u&', '')`} ${2:0.99};
9797

9898
${3}
9999

0 commit comments

Comments
 (0)