UltiSnips 3.1

@SirVer SirVer released this Dec 7, 2015 · 47 commits to master since this release

  • This is the last release done by @SirVer. The new maintainer of UltiSnips is @seletskiy. The repository remains https://github.com/SirVer/ultisnips, so this should not affect any users. This is also the last release to be published on vim.org. Please follow the master branch on GitHub for the latest stable version.
  • New option e: Context aware snippets. This gives very precise and powerful control over which snippet should be expanded depending on surrounding code. UltiSnips-context-snippets
  • New option m: Trim whitespace in all snippet lines.
  • Very powerful, freely configurable pre/post-expand and post-jump actions allow for transforming the buffer outside the snippet. UltiSnips-snippet-actions
  • Automatic triggering of snippets without the need to press the expand trigger. UltiSnips-autotrigger
  • Better error reporting for snippet errors including python stacktraces and listing of executed code.
  • Undo is more granular. Each jump and expand is now a separate undo step.
  • UltiSnips now emits autocommands on certain events. UltiSnips-custom-autocommands
  • clearsnippets now clears all snippets below the current priority. This fits better with the priority system introduced in 3.0.
  • snipMate snippets support can be disabled. UltiSnipsEnableSnipMate
  • UltiSnipsEditSplit got a new value 'context'. UltiSnipsEditSplit
  • Improved syntax highlighting for snippets filetype.
  • Mappings and autocommands are now only established when needed, i.e. when a snippet is active. This boosts performance outside of snippets.
  • New integration with Unite, TagBar, and deoplete.
  • New Ctags configuration file for snippet definitions.
  • Bug fixes, performance improvements, code cleanups and refactorings.
  • No longer supports Vim < 7.4.


UltiSnips 3.0

@SirVer SirVer released this Mar 22, 2014 · 358 commits to master since this release

  • Organisational changes: The project is now hosted on github. Snippets are now shipped separately - please track honza/vim-snippets.
  • UltiSnips is now a drop in replacement for snipMate - it parses snipMate snippets and expands them emulating snipMates smaller feature set.
  • Filetype tab completion for UltiSnipsEdit.
  • UltiSnipsEdit now only edits private snippet files. Use UltiSnipsEdit! if you want to edit shipped files.
  • New option 's' which strips trailing whitespace before jumping to next tabstop
  • New option 'a' which converts non-ascii characters into ascii characters in transformations.
  • New keyword in snippet files: priority defines which snippets should overwrite others. This deprecates the '!' option. UltiSnips-adding-snippets
  • Remove common whitespace of visual line selections before inserting in an indented tabstop.
  • Support for overwriting the snippet directory name on a per buffer basis to support per project snippets. UltiSnips-snippet-search-path
  • The keymaps for jumping in snippets are now only mapped when a snippet is active, allowing them to be used for something else otherwise.
  • Expanding and jumping no longer overwrites the unnamed register.
  • Integration with Valloric/YouCompleteMe and Shougo/neocomplete.vim.
  • Other plugins can add sources for snippets to create snippets on the fly. UltiSnips-extending
  • Vim functions now indicates if it did any work. UltiSnips-trigger-functions
  • For python extensions: UltiSnips adds itself to the sys.path and can be easily imported if it is available. UltiSnips-python-module-path
  • A new function giving programmatic access to the snippets currently available for expansion for other plugins integrating with UltiSnips. UltiSnips_SnippetsInCurrentScope
  • New or improved snippets (now in a different repo): all, bib, c, cpp, cs, d, django, eruby, go, haskell, html, html, htmljinja, java, javascript, js, ledger, ocaml, perl, php, puppet, python, ruby, scss, sh, tex, vim, xml, zsh.