dot_files/vim-plugins/bundle/xptemplate/ftplugin/go/go.xpt.vim
2017-07-09 00:26:06 +03:00

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( `^ )
}