Giter Club home page Giter Club logo

neosnippet.vim's Introduction

Neosnippet

The Neosnippet plug-In adds snippet support to Vim. Snippets are small templates for commonly used code that you can fill in on the fly. To use snippets can increase your productivity in Vim a lot. The functionality of this plug-in is quite similar to plug-ins like snipMate.vim. But since you can choose snippets with the deoplete interface, you might have less trouble using them, because you do not have to remember each snippet name.

Note: Active development on neosnippet.vim has stopped. The only future changes will be bug fixes.

Please see Deoppet.nvim.

Installation

To install neosnippet and other Vim plug-ins it is recommended to use one of the popular package managers for Vim, rather than installing by drag and drop all required files into your .vim folder.

Notes:

  • Vim 7.4 or above is needed.

  • Vim 8.0 or above or neovim is recommended.

  • Default snippets files are available in: neosnippet-snippets

  • Installing default snippets is optional. If choose not to install them, you must deactivate them with g:neosnippet#disable_runtime_snippets.

  • deoplete is not required to use neosnippet, but it's highly recommended.

  • Extra snippets files can be found in: vim-snippets.

Vundle

Plugin 'Shougo/deoplete.nvim'
if !has('nvim')
  Plugin 'roxma/nvim-yarp'
  Plugin 'roxma/vim-hug-neovim-rpc'
endif

Plugin 'Shougo/neosnippet.vim'
Plugin 'Shougo/neosnippet-snippets'

dein.vim

call dein#add('Shougo/deoplete.nvim')
if !has('nvim')
  call dein#add('roxma/nvim-yarp')
  call dein#add('roxma/vim-hug-neovim-rpc')
endif
let g:deoplete#enable_at_startup = 1

call dein#add('Shougo/neosnippet.vim')
call dein#add('Shougo/neosnippet-snippets')

vim-plug

if has('nvim')
  Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
  Plug 'Shougo/deoplete.nvim'
  Plug 'roxma/nvim-yarp'
  Plug 'roxma/vim-hug-neovim-rpc'
endif
let g:deoplete#enable_at_startup = 1

Plug 'Shougo/neosnippet.vim'
Plug 'Shougo/neosnippet-snippets'

Configuration

This is an example ~/.vimrc configuration for Neosnippet. It is assumed you already have deoplete configured. With the settings of the example, you can use the following keys:

  • C-k to select-and-expand a snippet from the deoplete popup (Use C-n and C-p to select it). C-k can also be used to jump to the next field in the snippet.

  • Tab to select the next field to fill in the snippet.

" Plugin key-mappings.
" Note: It must be "imap" and "smap".  It uses <Plug> mappings.
imap <C-k>     <Plug>(neosnippet_expand_or_jump)
smap <C-k>     <Plug>(neosnippet_expand_or_jump)
xmap <C-k>     <Plug>(neosnippet_expand_target)

" SuperTab like snippets behavior.
" Note: It must be "imap" and "smap".  It uses <Plug> mappings.
"imap <expr><TAB>
" \ pumvisible() ? "\<C-n>" :
" \ neosnippet#expandable_or_jumpable() ?
" \    "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"

" For conceal markers.
if has('conceal')
  set conceallevel=2 concealcursor=niv
endif

If you want to use a different collection of snippets than the built-in ones, then you can set a path to the snippets with the g:neosnippet#snippets_directory variable (e.g Honza's Snippets)

But if you enable g:neosnippet#enable_snipmate_compatibility, neosnippet will load snipMate snippets from runtime path automatically.

" Enable snipMate compatibility feature.
let g:neosnippet#enable_snipmate_compatibility = 1

" Tell Neosnippet about the other snippets
let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets'

neosnippet.vim's People

Contributors

aaronjensen avatar aileot avatar alindeman avatar amaisaeta avatar averms avatar bootleq avatar boxp avatar cpfaff avatar crazymaster avatar creasty avatar docwhat avatar h-youhei avatar justinas avatar kikito avatar ktonga avatar mumumu avatar resolritter avatar rhysd avatar sheile avatar shougo avatar stardiviner avatar syngan avatar tylerhorth avatar ujihisa avatar unclebill avatar vinsonchuong avatar wilywampa avatar xnuk avatar yuvallanger avatar zyx-i avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neosnippet.vim's Issues

neocomplcache#sources#snippets_complete#force_expandable()は---を認識しないのですか?

キーワードパターンにないsnippetでも開くようにしようと、例えば、

snippet     ---
prev_word   '^'
  "-----------------------------------------------------------------------------

で、---で罫線を引くようにsinippetを定義しました。
そして(neocomplcache_snippets_force_expand)で開くようにして、同じキーでプレースホルダの移動も兼ねようと

:imap <expr><C-k>  neocomplcache#sources#snippets_complete#force_expandable() ? 
\ "\<Plug>(neocomplcache_snippets_force_expand)" :
\ "\<Plug>(neocomplcache_snippets_force_jump)"

をmapしました。しかし、---をneocomplcache#sources#snippets_complete#force_expandable()は認識しませんでした。

[error] initialization order for g:neocomplcache_context_filetype_lists

g:neocomplcache_context_filetype_lists is accessed before initialization.

Messages maintainer: Bram Moolenaar <[email protected]>
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E121: Undefined variable: g:neocomplcache_context_filetype_lists
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E116: Invalid arguments for function has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])
Error detected while processing function neosnippet#caching..neosnippet#make_cache..neosnippet#get_snippets_directory..neosnippet#get_filetype..neocomplcache#get_context_filetype..<SNR>41_set_context_filetype..<SNR>41_get_context_filetype:
line    8:
E15: Invalid expression: has_key(g:neocomplcache_context_filetype_lists, filetype) && !empty(g:neocomplcache_context_filetype_lists[filetype])

How to get to second placeholder?

I made a snippet like this:

snippet html
     <html>
       <head>
         <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">                                                                
         <title>${1}</title>
       </head>
       <body>
         ${2}
       </body>
     </html>

It works great. When I type html, I get a list, the will expand it and put my cursor at ${1}. How do you get the cursor to ${2}? It is currently replacing ${2} with <2>. Forgive me for my ignorance on how this works. I was kind of expecting something like TextMate where you can tab to each placeholder.

select-mode expansion issue

Test Case

snippet     ForExample
prev_word   '^'
    For example,${0}


smap <expr><TAB> neocomplcache#sources#snippets_complete#expandable()
    \ ? "\<Plug>(neocomplcache_snippets_expand)" : "\<TAB>"

ForExample is seleted in select-mode

<Tab>

For example,e,<`0`>

$ is a too common symbol

In neocomplcache, We use $ as an identifier. Unfortunately, this is too common symbol in LATEX and BASH, which makes a lot of trouble. It always substitute my previous content. And it is hard to find. We should define a more complex symbol that do not used in most language.

Feature request: expand snippets everywhere

For example I have a snippet:

snippet f
  function(${1:args}) { ${0:body} }

It some cases, like this
http.createServer(f<expand>) <-- it doen't do expansion

but if I add space before (it will expand my snippet as expected:
http.createServer( f<expand>) --> http.createServer( function() {} )

There are also some cases where this feature is really useful, for example

snippet fe
  forEach(function(${1:item}) {
    ${0:body}
  }

which should work on array, so writing something like
[1,2,3].fe<expand> would expand to [1,2,3].forEach(function(item) { /* code */ }

Summary

So, what I actually want is to have a possibility to expand snippet anywhere in my code, or somehow mark that snippet (maybe with prev_word) to be expandable everywhere.

feature request: multiple placeholder at same time

I found UltiSnips or SnipMate has this feature:

snippet img_id
abbr     image link with ID
prev_word '^'
    ![${3:title}][${2:ID}] ${0}
    [${2:ID}]: ${1:url/to/image} ${3:title}

when cursor is at ${3:title}, this two same placeholder both will write when I type characters.

Placeholder cannot be skipped

Hi Shougo,

I really enjoy using your plugins.
I use snippets from snipMate, and it includes some snippets with placeholders like

snippet do
do |${1:variable}|
${2}
end

When I want to keep 'variable' as a real variable (that said, I just want to skip first placeholder and move to second placeholder), I cannot do that.
After I entered some value into placeholder, I can move to second placeholder.
This problem didn't take place before introducing this plugin.

How can I solve this problem?

Best,
Masafumi

スニペット展開時の入力可能な文字について

例えば sample.vim を作り、カーソルを 1 行目以外に移動して

for を入力し、<C-k> を入力すると、

for var in <`2:list`>
  <`0`>
endfor

が挿入され、var が選択されますが、この時変数名を var ではなく key にしようと思い k を入力したら文字が挿入されず、カーソルが上の行に移動します。
同様に j で始まる文字が入力できません(下の行に移動する)。

jk も他の文字同様入力できるようになると嬉しいです。

snippetの1行目だけ1段浅くインデントされる

snippet transition
abbr    CSS transitioon with vender-prefix
    >>>>/* transition */
    >>>>-webkit-transition: ${1:all 0.7s ease 1s};
    >>>>   -moz-transition: $1;
    >>>>    -ms-transition: $1;
    >>>>     -o-transition: $1;
    >>>>        transition: $1;

上記のようなsnippetを用意して(>>>>はTAB文字です)、

p {
    _
}

_の位置にカーソルがあり、スニペット展開します。

p {
    /* transition */
        -webkit-transition: all 0.7s ease 1s;
           -moz-transition: all 0.7s ease 1s;
            -ms-transition: all 0.7s ease 1s;
             -o-transition: all 0.7s ease 1s;
                transition: all 0.7s ease 1s;
}

上記のように、最初の1行だけスペース4つ分のインデントになります。
2行目の半角スペース8つ分(半角スペース4つ+TAB分の半角スペース4つ)になるのが意図した挙動。

snippet transition
abbr    CSS transitioon with vender-prefix
>>>>/* transition */
>>>>-webkit-transition: ${1:all 0.7s ease 1s};
>>>>   -moz-transition: $1;
>>>>    -ms-transition: $1;
>>>>     -o-transition: $1;
>>>>        transition: $1;

上記snippetだと以下のようになります。これはドキュメント通りの挙動ですね。

p {
    /* transition */
    -webkit-transition: all 0.7s ease 1s;
    -moz-transition: all 0.7s ease 1s;
    -ms-transition: all 0.7s ease 1s;
    -o-transition: all 0.7s ease 1s;
    transition: all 0.7s ease 1s;
}

sippets folder created in local directory

I am on windows 7.

A local folder will show up in my current working directory as SERSJPHUSTMAN (its after the beginning of pathname (ie c:\U)) I think it's not escaping windows's backslash "" in its pathname.

It seems something is going on in this function while expanding the '~': https://github.com/Shougo/neocomplcache-snippets-complete/blob/master/autoload/neosnippet/util.vim#L57

I am using spf13-vim-3 and there is a line that sets a location for snippets here: https://github.com/spf13/spf13-vim/blob/3.0/.vimrc#L426

The order of nest snippets should be modified.

In a nest snippets

    \frac{
        \bbb{
            ${1}
        }{
            ${2}
        }${3}
    }{
        ${2}
    }${3}

You will find that the jump order is not ideal. It is better if we can modify the new add snippets so that it can be rightly ordered.

jump not available on not changed placeholder.

I map <tab> in vimrc like this:

imap <expr> <Tab> neosnippet#expandable() ?
    \ "\<Plug>(neosnippet_expand_or_jump)"
    \ : pumvisible() ? "\<C-n>" : "\<Tab>"

When I type if, then press <Tab> to expand snippet, then cursor is on placeholder condition. I do not change it, when I want to jump to next placeholder with <Tab>, found it is not available.

The expansion with Unite.vim behavior is strange

The snippet such as following is defined:

" ruby.snippet
snippet do end
  do
    ${1}
  end

In source code:

(1..10).each _

and press <Plug>(neocomplcache_start_unite_snippet) key bind, select do snippet, press Enter, then I got as following: (_ is a cursor position.)

do
  _
end

I expect such as following:

(1..10).each do
  _
end

Is this behavior correct, or unintentional?

is there a setting similar to snipmate's scope_aliases?

On snipmate I have " let g:snipMate.scope_aliases['htmldjango'] = 'html,htmldjango' " in order to load both html and htmldjango snippets for htmldjango files. Is it possible to have something similar with neocomplcache-snippets-complete?

snippetファイルを別窓で開く度に余計に空のバッファが作成される

:NeoSnippetEdit -split -horizontal -direction=aboveleft
で、snippet編集ファイルを呼び出す時、すでにバッファリストにsnippetファイルが存在していたら、
二回目からは余計に空バッファが作られてしまいます。

バッファリストにsnippetファイルが存在する場合は単純にsplitしてsnippetファイルを表示するようにさせられませんか(新しい空のバッファを作成することなしに)

Snippets does not work correctly

Bug:

snippet  function
abbr     func endfunc
alias    func
prev_word   '^'
        " $1: ${3}
        " Description: ${4}
        function! ${1:func_name}(${2})
                ${0}
        endfunction

Try to use this snippet, you will find a mess.

how to correctly indent snippet ?

I created a snippet for Python like this.

snippet     docs                                                                          
abbr        Docstring                                                                     
prev_word   '^'                                                                           
     '''${1:The short first line.}                                                         

     ${2:the rest Docsting.}'''                                                            
     ${0}

But this can not indent correctly.
After I expand this snippet in Python file, it becomes to like this:

def funcName():
     '''${1:The short first line.}                                                         

${2:the rest Docsting.}'''                                                            
${0}

I have readed doc/*.txt file. just a little confused about hard tab, and expandtab etc in language indent and snippet indent ...

anyway, bellowing is my setting about Tab in .vimrc

set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set smarttab

Indentation Issue

Wrong Indentation

snippet     licenseTest
prev_word   '^'
    Copyright 

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.
Copyright 

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.

Possible Cause

The , in the end of line ... OF MERCHANTABILITY,
normal! == would cause it indent

neosnippet a explicit matched trigger is not in popup.

For example, I have two snippets, triggers are snip and snip1.
When I type sni, both of upper snippet triggers are in popup menu.
But when I type snip, the first snippet trigger snip disappear. It should be in popup.

prev_wordが効かない

prev_word '^' を指定していますが、行頭以外でも展開されてしまいます

スニペット

snippet     st 
prev_word '^'
    $${1:self}->stash->{${2}} = ${3};${0}

コード(filetype perl)

my ($host, ) = @_;

$hostの後ろで<Plug>(neocomplcache_snippets_expand)

my ($ho$self->stash->{<`2`>} = <`3`>;<`0`>, ) = @_;

Problems expanding snippets with backticks

Hi

I noticed a problem in expanding markdown snippets. The code and codeblock snippets contain backticks.

snippet code
abbr code
           `${1}` ${2}

My expansion mappings are:

imap <C-k> <Plug>(neosnippet_expand)  
smap <C-k> <Plug>(neosnippet_expand)

When I type "code" and expand with control+k, I get an error message which tells me:

Error on executing "function <SNR>75_snippets_expand..neosnippet#expand..<SNR>75_eval_snippet

And below that it tells me there are addittional characters which are too much.

Best Claas

Make snippets directory recursively available.

I found snippet files in recursive directory will not be available for neosnippet.
like this:
neosnippet/vim/skeleton/plugin.snip.
I hope neosnippet plugin can load all snippets recursively.

Do not load all runtime snippets.

let g:neosnippet#disable_runtime_snippets This option is used to disable runtime snippets depend on option dictionary (filetype) keys. _ is for global.
I want to disable all runtime snippets.
So I suggest plugin can support a Dictionary key all for user to disable all runtime snippets.

Python indention error

I set my vim to use tab instead of space :
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set smarttab

but when I use the Snippets to complete some snippets of Python,the second line has 5 space ahead,not 4.For example,the for snippet,the second begins with 5 space.

How to solve this problem?

omni completion to snippet?

Is it possible to write an omnicompletion result that can be treated as a snippet? It would be necessary to generate a snippet dynamically, and then have neocomplcache expand it. I tried setting the "word" field of an omnicompletion to "${1}", and then trying to complete it with Ctrl-K, but it had no effect.

about the registers complete was deleted.

First, thanks you the talent programmers!!!!!
The neo* plugins totally change my life, ending my long sealing on the sea of vim plugins!
thank you so much!

I just curious why the registers complete was deleted?
Whether it may cause some bugs and too hard to fix? or just it's not popular?
I think it is very helpful to me.
So if it is not because it's difficultis to code or fix bugs , I'm trying to make it run ,as I just start learning to write the vim shell.

---a rookie.

how to jump backwards on placeholder ?

I setted up this to use neocomplcache-snippets-complete, I tried to find some code about jump backwards in source code file, But I have not found that. I this it should have feature for jump backwards on placeholder.

imap <expr><Tab> neocomplcache#sources#snippets_complete#expandable() ?         
                \ "\<Plug>(neocomplcache_snippets_expand)"                              
                 \ : pumvisible() ? "\<C-n>" : "\<Tab>"                                  
imap <expr><C-j> neocomplcache#sources#snippets_complete#jumpable() ?           
                 \ "\<Plug>(neocomplcache_snippets_jump)"                                
                 \ : pumvisible() ? "\<C-n>" : "\<Tab>" 

imap <expr><c-k> JUMP BACKWARDS ....

Problems with NeoComplCacheEdit -runtime

He

You documented :NeoComplCacheEditRuntimeSnippets as deprecated. So I tried to change
my keymappings (see below) to the new function :NeoComplCacheEdit -runtime but it seems not
to work. Nothing happens. The old function works well.

Old:

nnoremap <leader>er :NeoComplCacheEditRuntimeSnippets<CR>

New

nnoremap <leader>er :NeoComplCacheEdit -runtime<CR>

Update:

Sorry my fault. Now I use the function below and everything works fine.

nnoremap <leader>er :NeoSnippetEdit -runtime<CR>

Best Claas

error when use with vimwiki.

When I open vimwiki, has bellowing error.
Error detected while processing function vimwiki#base#nested_syntax:
line16:
E484: Can't open file syntax/snippets.vim

When I use UltiSnips or snipmate, do not have this error.

Indent do not work

snippet:

snippet     lfrac
abbr        \frac{\n..}{..}
    \frac{
        ${1}
    }{
        ${2}
    }${0}

new file:
:set ft=tex
:set indentexpr=
Use the lfrac snippet, you will find that ${1} does not indent properly.

Feature request: visual mode snippet

For example, there is a line:

    a+=1

We want

  if (a)
     a+=1

Then we can use V select line a+=1, type some key, and input if(maybe in a input()), the ${0} will be a+=1

Ask How to insert {} literally ?

Here is an example:

catch ${2:/${3:pattern: empty, E484, Vim(cmdname):{errmsg} \}/}
catch ${2:/${3:pattern: empty, E484, Vim(cmdname):\{errmsg\} \}/}

The first one I do not use \ to escape {}. The second I use \ to escape { and }. But both of them do not work. The placeholder 3 only visual selected pattern: empty, E484, Vim(cmdname):\{errmsg, It should be pattern: empty, E484, Vim(cmdname):{errmsg}/

syntax can not highlight placeholder like $1.

Here is a screenshot
some placeholder like $1, $2 can not be highlighted.
screenshot

I checked the syntax file source code. I feel the pattern is ok.
syn match SnippetVariable '\$\d\+' contained
Anyway, this is a bug..

JavaScriptのスニペットで()の中で展開がされない

最新版を使用して、例えば

hoge.forEach(f

のようなコードでfの部分でスニペットを展開しようとしても、出来なくなってしましました。(fを展開するとfunction() {}になるようにしてます)

()以外でも.も展開されないようです。(ex: Obj.hasで展開しようとしてもダメ)

それぞれ、前後にスペースを挟むなどすると、展開するようになります。

keep placeholder's text when do not type anything.

for example:
after I press to expand a snippet "if".
then it is like this:

if <condition>:
    print('somet|hing')

the text in placeholder something will not be kept if I do not write something and move to next placeholder.

add user own snippets directory.

I want to add my own snippets dir into neocomplcache-snippets-complete.vim.
I set up like this:
set runtimepath+=~/.vim/snippets/
let g:neocomplcache_snippets_dir=["snippets_complete", "neocomplcache-snippets"]
But I got error :
Error detected while processing function neocomplcache#enable..261..235:
line25: E730: using List as a String

the dir "neocomplcache-snippets" is the path "~/.vim/snippets/neocomplcache-snippets".

Expand not compatible with g:neocomplcache_enable_auto_select=1

Hi Shougo,

Very nice plugins. Thank you.

I really like the feature of auto selecting first option in neocomplcache, super fast to type. And I have set it in vimrc.

However, I found this feature is not compatible with Expand command(mapped to <C-k>) in neocomplcache-snippets-complete.

When the popup comes and the first option is a snippet, it is auto selected and highlighted. But when I click <C-k>, nothing happens.

In above case, I need to click <C-n>(next) then <C-p>(previous) to activate it. After that, I can click <C-k> to expand that option.

Could you take a look? Thanks!

Best,

Billy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.