This commit is contained in:
baabelfish 2016-01-31 22:57:43 +02:00
commit 4c5dfe3ea5
6 changed files with 40 additions and 10 deletions

View file

@ -2,7 +2,7 @@
Nim support for Neovim
# TODO
- [ ] Add global options for user
- [x] Add global options for user
- [ ] Doc
- [ ] Bindings
- [ ] Options
@ -34,6 +34,7 @@ Nim support for Neovim
- [x] NimRenameSymbol
- [ ] NimRenameSymbolProject
- [ ] IDE features
- [ ] Parse proc parameter types for parameter completion
- [ ] Auto complete modules
- [ ] Outline with unite
- [ ] Outline with a proper tagbar
@ -43,13 +44,26 @@ Nim support for Neovim
- [ ] REPL interaction
- [ ] Add tests
- [x] CI integration
- [ ] Test nimsuggest for surprises
- [x] Test nimsuggest for surprises
- [ ] Unit tests
- [ ] Suggest module
- [ ] Async
- [ ] Sync
- [ ] Integration tests
- [ ] NimDefinition
- [ ] NimOutline
- [ ] NimInfo
- [ ] NimUsages
- [ ] NimUsagesProject
- [ ] NimRenameSymbol
- [ ] NimRenameSymbolProject
# TASKS
- [ ] Sync version communicating with nimsuggest
- [x] Sync version communicating with nimsuggest
- [ ] Test the user's versions
- [ ] Add roadmap
# BUGS
- [ ] Not all lines are read from stdin for some reason with job-control

View file

@ -18,6 +18,6 @@ endfunction
function! features#definition#run()
call util#StartQuery()
call suggest#New("def", 0, s:DefinitionImpl)
endfunction

View file

@ -67,6 +67,5 @@ endfunction
function! features#info#run()
call util#StartQuery()
call suggest#New("def", 0, s:InfoImpl)
endfunction

View file

@ -51,7 +51,6 @@ function! s:UsagesDefinitionImpl.run(data)
endfunction
function! features#usages#run(findInProject)
call util#StartQuery()
cclose
call setqflist([])
let s:findInProject = a:findInProject

View file

@ -22,7 +22,8 @@ function! s:NimSuggest.on_exit()
if len(self.lines) > 0
call self.handler.run(self)
else
echo ""
" Clear cli
echo ""
endif
endfunction
@ -38,8 +39,20 @@ function! suggest#NewKnown(command, useV2, file, line, col, handler)
" call writefile(getline(1, '$'), result.tempfile)
" endif
" let nimcom = completion . " " . file . (a:useTempFile ? (";" . result.tempfile) : "") . ":" . line . ":" . col
let result.job = jobstart([g:nvim_nim_exec_nimsuggest, (a:useV2 ? '--v2' : ''), '--stdin', result.file], result)
call jobsend(result.job, a:command . " " . result.file . ":" . result.line . ":" . result.col . "\nquit\n")
let jobcmd = [g:nvim_nim_exec_nimsuggest, (a:useV2 ? '--v2' : ''), '--stdin', result.file]
let jobcmdstr = g:nvim_nim_exec_nimsuggest . " " . (a:useV2 ? '--v2' : '') . " " . '--stdin' . " " . result.file
let jobstdin = a:command . " " . result.file . ":" . result.line . ":" . result.col
if !g:nvim_nim_enable_async || !has("nvim")
let fullcmd = 'echo -e ' . shellescape(jobstdin, 1) . '|' . jobcmdstr
let result.lines = split(system(fullcmd), "\n")[4:-2]
call a:handler.run(result)
else
call util#StartQuery()
let result.job = jobstart([g:nvim_nim_exec_nimsuggest, (a:useV2 ? '--v2' : ''), '--stdin', result.file], result)
call jobsend(result.job, jobcmd)
endif
return result
endfunction

View file

@ -6,4 +6,9 @@ let s:loaded = 1
au BufNewFile,BufRead *.nim set filetype=nim
au BufNewFile,BufRead *.nims set filetype=nims
let g:nvim_nim_enable_highlighter = 0
let g:nvim_nim_enable_highlighter = 0
let g:nvim_nim_enable_async = 0
let g:nvim_nim_highlight_builtin = 1
let g:nvim_nim_highlight_use_unite = 0
let g:nvim_nim_autocomplete = "omni" " omni, deoplete, ycm
let g:nvim_nim_outline = "quickfix" " quickfix, outline