=== modified file 'plugin/UltiSnips.vim' --- plugin/UltiSnips.vim 2013-04-21 15:18:14 +0000 +++ plugin/UltiSnips.vim 2013-04-21 18:50:17 +0000 @@ -145,6 +145,12 @@ return "" endfunction +function! UltiSnips_SnippetDict() + let g:current_ulti_dict = {} + exec g:_uspy "UltiSnips_Manager.list_snippets_dict()" + return g:current_ulti_dict +endfunction + function! UltiSnips_SaveLastVisualSelection() exec g:_uspy "UltiSnips_Manager.save_last_visual_selection()" return "" === modified file 'plugin/UltiSnips/__init__.py' --- plugin/UltiSnips/__init__.py 2013-02-25 09:18:19 +0000 +++ plugin/UltiSnips/__init__.py 2013-04-21 19:04:31 +0000 @@ -546,6 +546,17 @@ self._handle_failure(self.expand_trigger) @err_to_scratch_buffer + def list_snippets_dict(self): + before, after = _vim.buf.current_line_splitted + snippets = self._snips(before, True) + + # Sort snippets alphabetically + snippets.sort(key=lambda x: x.trigger) + for snip in snippets: + _vim.command("let g:current_ulti_dict['{key}'] = '{val}'".format(key=snip.trigger, val=snip.description)) + + + @err_to_scratch_buffer def list_snippets(self): before, after = _vim.buf.current_line_splitted snippets = self._snips(before, True)