aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snipmate/autoload/snipMate_python_demo.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-snipmate/autoload/snipMate_python_demo.vim')
m---------vim/bundle/vim-snipmate0
-rw-r--r--vim/bundle/vim-snipmate/autoload/snipMate_python_demo.vim47
2 files changed, 0 insertions, 47 deletions
diff --git a/vim/bundle/vim-snipmate b/vim/bundle/vim-snipmate
new file mode 160000
+Subproject ee433e43c76c768c95ad6d9af67c4cd4b40f7ea
diff --git a/vim/bundle/vim-snipmate/autoload/snipMate_python_demo.vim b/vim/bundle/vim-snipmate/autoload/snipMate_python_demo.vim
deleted file mode 100644
index de495d2..0000000
--- a/vim/bundle/vim-snipmate/autoload/snipMate_python_demo.vim
+++ /dev/null
@@ -1,47 +0,0 @@
-" This file demonstrates
-" - how to register your own snippet sources (call snipMate_python_demo#Activate() in ftplugin/python.vim)
-" - implents a source which creates snippets based on python function
-" definitions found in the current file
-"
-" Example:
-"
-" def abc(a,b,c=None)
-" will create a snippet on the fly which looks like this:
-" abc(${1:a}, ${2:b}, ${3:c=None})
-
-fun! snipMate_python_demo#Activate() abort
- if !exists('g:snipMateSources')
- let g:snipMateSources = {}
- endif
-
- let g:snipMateSources['python'] = funcref#Function('snipMate_python_demo#FunctionsFromCurrentFileAndTags')
-endf
-
-fun! s:Add(dict, line, source, trigger) abort
- let matched = matchlist(a:line,'def\s\+\([^( \t]\+\)[ \t]*(\([^)]*\)')
- if len(matched) > 2
- let name = matched[1]
- " TODO: is this a glob?
- if name !~ a:trigger | return | endif
- let a:dict[name] = get(a:dict, name, {})
- let sd = a:dict[name]
- let args = []
- let nr=1
- for arg in split(matched[2], '\s*,\s*')
- call add(args, '${'.nr.':'.arg.'}')
- let nr+=1
- endfor
- let sd[a:source] = name.'('.join(args,', ').')'
- endif
-endf
-fun! snipMate_python_demo#FunctionsFromCurrentFileAndTags(scopes, trigger, result) abort
- " getting all might be too much
- if a:trigger == '*' | return | endif
- if index(a:scopes, 'python') < 0 | return | endif
- for t in taglist('^'.a:trigger)
- call s:Add(a:result, t.cmd, 'tags-' . t.filename, a:trigger)
- endfor
- for l in getline(0, line('$'))
- call s:Add(a:result, l, 'current-file', a:trigger)
- endfor
-endf