179 lines
2.9 KiB
VimL
179 lines
2.9 KiB
VimL
XPTemplate priority=lang
|
|
|
|
let s:f = g:XPTfuncs()
|
|
|
|
fun! s:f.MakeIntType( n )
|
|
let n = a:n
|
|
return matchstr(n, '\v^u') . "int" . matchstr(n, '\v\d+$' )
|
|
endfunction
|
|
|
|
XPTvar $TRUE true
|
|
XPTvar $FALSE false
|
|
XPTvar $NULL nil
|
|
XPTvar $UNDEFINED nil
|
|
|
|
XPTvar $SParg ''
|
|
|
|
XPTinclude
|
|
\ _common/common
|
|
\ _comment/c.like
|
|
|
|
|
|
XPT _dec hidden " $_xSnipName
|
|
`$_xSnipName^
|
|
|
|
XPT package alias=_dec
|
|
XPT import alias=_dec
|
|
XPT type alias=_dec
|
|
XPT const alias=_dec
|
|
XPT var alias=_dec
|
|
|
|
XPT _int " MakeIntType($_xSnipName)
|
|
`MakeIntType($_xSnipName)^
|
|
|
|
XPT i8 alias=_int
|
|
XPT i16 alias=_int
|
|
XPT i32 alias=_int
|
|
XPT i64 alias=_int
|
|
XPT u8 alias=_int
|
|
XPT u16 alias=_int
|
|
XPT u32 alias=_int
|
|
XPT u64 alias=_int
|
|
|
|
XPT struct " struct {
|
|
struct {
|
|
`cursor^
|
|
}
|
|
|
|
XPT func wrap " func () int {
|
|
func `n^(`p?^)` `int?^ {
|
|
`cursor^
|
|
}
|
|
XPT meth wrap " func (*T) () int {
|
|
func (`^) `n^(`p?^)` `int?^ {
|
|
`cursor^
|
|
}
|
|
XPT go " go func (){}()
|
|
go func (`p?^) {
|
|
`cursor^
|
|
}()
|
|
XPT tfunc " func Test
|
|
func Test`^(t *testing.T) {
|
|
`cursor^
|
|
}
|
|
XPT bfunc " func Test
|
|
func Benchmark`^(b *testing.B) {
|
|
`cursor^
|
|
|
|
for ii := 0; i < b.N; i++ {
|
|
}
|
|
}
|
|
XPT main " func main\()
|
|
func main() {
|
|
`cursor^
|
|
}
|
|
|
|
XPT println " fmt.Println\()
|
|
fmt.Println( `^ )
|
|
XPT sprintf " fmt.Sprintf\()
|
|
fmt.Sprintf( `^ )
|
|
|
|
XPT forever " for ;;
|
|
for ;; {
|
|
`cursor^
|
|
}
|
|
XPT for wrap " for i=0; i<10; i++
|
|
for `i^ := `0^; `i^ < `10^; `i^++ {
|
|
`cursor^
|
|
}
|
|
XPT forr wrap " for i=10; i>=0; i--
|
|
for `i^ := `10^; `i^ >= `0^; `i^-- {
|
|
`cursor^
|
|
}
|
|
XPT forrange wrap " for range
|
|
for `_^, `^ := range `^ {
|
|
`cursor^
|
|
}
|
|
XPT forin wrap alias=forrange
|
|
|
|
XPT if wrap " if {
|
|
if `^ {
|
|
`cursor^
|
|
}
|
|
XPT iftype wrap " if _, ok := x.(type); ok { ... }
|
|
if _, ok := `x^.( `tp^ ); ok {
|
|
`cursor^
|
|
}
|
|
XPT _ifeq wrap hidden " if x == $v {
|
|
XSET $v=0
|
|
if `^ == `$v^ {
|
|
`cursor^
|
|
}
|
|
XPT _ifne wrap hidden " if x != $v {
|
|
XSET $v=0
|
|
if `x^ != `$v^ {
|
|
`cursor^
|
|
}
|
|
XPT iferr " if err != nil {
|
|
if err != nil {
|
|
`cursor^
|
|
}
|
|
XPT ifn alias=_ifeq
|
|
XSET $v=nil
|
|
XPT ifnn alias=_ifne
|
|
XSET $v=nil
|
|
XPT if0 alias=_ifeq
|
|
XSET $v=0
|
|
XPT ifn0 alias=_ifne
|
|
XSET $v=0
|
|
XPT else
|
|
else {
|
|
`cursor^
|
|
}
|
|
|
|
XPT mps " map[string]
|
|
map[`string^]`T^
|
|
XPT mpi " map[string]
|
|
map[`int^]`T^
|
|
|
|
XPT mkc " make\(chan X, n, capa?)
|
|
make(chan `bool^, `0^`, `capa?^)
|
|
XPT mks " make\([]X, n, capa?)
|
|
make([]`bool^, `0^`, `capa?^)
|
|
XPT mkm " make\(map[X]Y, n, capa?)
|
|
make(map[`string^]`bool^`, `capa?^)
|
|
XPT mkms " make\(map[string]Y, n, capa?)
|
|
make(map[string]`bool^`, `capa?^)
|
|
|
|
XPT sel " select
|
|
select {
|
|
case `^:
|
|
`cursor^
|
|
}
|
|
XPT selc " select x <-ch
|
|
select {
|
|
case ``x?` := ^<-`ch^:
|
|
`cursor^
|
|
}
|
|
|
|
XPT switch " switch x {
|
|
switch `^ {
|
|
case `^:
|
|
`cursor^
|
|
}
|
|
XPT default " default:
|
|
default:
|
|
`cursor^
|
|
|
|
XPT test " if .. t.Errorf
|
|
if `^ {} else {
|
|
t.Errorf( `^ )
|
|
}
|
|
XPT ttype " if _, ok := x.(type); ok { ... }
|
|
if _, ok := `x^.( `tp^ ); ok {} else {
|
|
t.Errorf( "Expect `x^ to be `tp^ but: %v", `x^ )
|
|
}
|
|
XPT assert " if .. t.Errorf
|
|
if `^ {} else {
|
|
t.Fatalf( `^ )
|
|
}
|