Reputation: 79
I receive this error every time I try to write code in nvim, in any file it does not matter if it is not python, I just installed vim and what I did is copy a repository, I don't know which part could be wrong, also mention that the paths are /user/.vim, and that the repository that I clone for this is from a person with mac.
This is the UltiSnips.vim:
if exists("b:did_autoload_ultisnips")
finish
endif
let b:did_autoload_ultisnips = 1
" Also import vim as we expect it to be imported in many places.
py3 import vim
py3 from UltiSnips import UltiSnips_Manager
function! s:compensate_for_pum() abort
""" The CursorMovedI event is not triggered while the popup-menu is visible,
""" and it's by this event that UltiSnips updates its vim-state. The fix is
""" to explicitly check for the presence of the popup menu, and update
""" the vim-state accordingly.
if pumvisible()
py3 UltiSnips_Manager._cursor_moved()
endif
endfunction
function! UltiSnips#Edit(bang, ...) abort
if a:0 == 1 && a:1 != ''
let type = a:1
else
let type = ""
endif
py3 vim.command("let file = '%s'" % UltiSnips_Manager._file_to_edit(vim.eval("type"), vim.eval('a:bang')))
if !len(file)
return
endif
let mode = 'e'
if exists('g:UltiSnipsEditSplit')
if g:UltiSnipsEditSplit == 'vertical'
let mode = 'vs'
elseif g:UltiSnipsEditSplit == 'horizontal'
let mode = 'sp'
elseif g:UltiSnipsEditSplit == 'tabdo'
let mode = 'tabedit'
elseif g:UltiSnipsEditSplit == 'context'
let mode = 'vs'
if winwidth(0) <= 2 * (&tw ? &tw : 80)
let mode = 'sp'
endif
endif
endif
exe ':'.mode.' '.escape(file, ' ')
endfunction
function! UltiSnips#AddFiletypes(filetypes) abort
py3 UltiSnips_Manager.add_buffer_filetypes(vim.eval("a:filetypes"))
return ""
endfunction
function! UltiSnips#FileTypeComplete(arglead, cmdline, cursorpos) abort
let ret = {}
let items = map(
\ split(globpath(&runtimepath, 'syntax/*.vim'), '\n'),
\ 'fnamemodify(v:val, ":t:r")'
\ )
call insert(items, 'all')
for item in items
if !has_key(ret, item) && item =~ '^'.a:arglead
let ret[item] = 1
endif
endfor
return sort(keys(ret))
endfunction
function! UltiSnips#ExpandSnippet() abort
py3 UltiSnips_Manager.expand()
return ""
endfunction
function! UltiSnips#ExpandSnippetOrJump() abort
call s:compensate_for_pum()
py3 UltiSnips_Manager.expand_or_jump()
return ""
endfunction
function! UltiSnips#ListSnippets() abort
py3 UltiSnips_Manager.list_snippets()
return ""
endfunction
function! UltiSnips#SnippetsInCurrentScope(...) abort
let g:current_ulti_dict = {}
let all = get(a:, 1, 0)
if all
let g:current_ulti_dict_info = {}
endif
py3 UltiSnips_Manager.snippets_in_current_scope(int(vim.eval("all")))
return g:current_ulti_dict
endfunction
function! UltiSnips#SaveLastVisualSelection() range abort
py3 UltiSnips_Manager._save_last_visual_selection()
return ""
endfunction
function! UltiSnips#JumpBackwards() abort
call s:compensate_for_pum()
py3 UltiSnips_Manager.jump_backwards()
return ""
endfunction
function! UltiSnips#JumpForwards() abort
call s:compensate_for_pum()
py3 UltiSnips_Manager.jump_forwards()
return ""
endfunction
function! UltiSnips#AddSnippetWithPriority(trigger, value, description, options, filetype, priority) abort
py3 trigger = vim.eval("a:trigger")
py3 value = vim.eval("a:value")
py3 description = vim.eval("a:description")
py3 options = vim.eval("a:options")
py3 filetype = vim.eval("a:filetype")
py3 priority = vim.eval("a:priority")
py3 UltiSnips_Manager.add_snippet(trigger, value, description, options, filetype, priority)
return ""
endfunction
function! UltiSnips#Anon(value, ...) abort
" Takes the same arguments as SnippetManager.expand_anon:
" (value, trigger="", description="", options="")
py3 args = vim.eval("a:000")
py3 value = vim.eval("a:value")
py3 UltiSnips_Manager.expand_anon(value, *args)
return ""
endfunction
function! UltiSnips#CursorMoved() abort
py3 UltiSnips_Manager._cursor_moved()
endf
function! UltiSnips#LeavingBuffer() abort
let from_preview = getwinvar(winnr('#'), '&previewwindow')
let to_preview = getwinvar(winnr(), '&previewwindow')
if !(from_preview || to_preview)
py3 UltiSnips_Manager._leaving_buffer()
endif
endf
function! UltiSnips#LeavingInsertMode() abort
py3 UltiSnips_Manager._leaving_insert_mode()
endfunction
function! UltiSnips#TrackChange() abort
py3 UltiSnips_Manager._track_change()
endfunction
function! UltiSnips#RefreshSnippets() abort
py3 UltiSnips_Manager._refresh_snippets()
endfunction
" }}}
Upvotes: 0
Views: 1242
Reputation: 188
Your error is mostly because you don't have the pynvim Python package installed. Do a pip install pynvim
and it should work.
Be careful because I couldn't make it work with latest version of python (3.9), as it says it needs Build Tools for C++.
Upvotes: 1