diff --git a/autoload/highlighter.vim b/autoload/highlighter.vim index 00a24dd..c410281 100644 --- a/autoload/highlighter.vim +++ b/autoload/highlighter.vim @@ -6,7 +6,7 @@ if exists("s:loaded") endif let s:loaded = 1 -let s:highlights = { +let s:all_highlights = { \ 'skProc': "Function", \ 'skTemplate': "PreProc", \ 'skType': "Type", @@ -35,6 +35,8 @@ let s:highlights = { \ 'skVar': "Constant", \ } +let s:highlights = {} + let s:NimHighlighter = { \ } @@ -113,6 +115,14 @@ function highlighter#New() endfunction +function! highlighter#select_highlights(kinds) + let s:highlights = {} + for kind in a:kinds + let s:highlights[kind] = s:all_highlights[kind] + endfor +endfunction + + function! highlighter#guard() if g:nvim_nim_highlighter_enable if line("$") + 0 < 500 diff --git a/plugin/nim.vim b/plugin/nim.vim index 90bb42f..a3625b0 100644 --- a/plugin/nim.vim +++ b/plugin/nim.vim @@ -33,6 +33,8 @@ if exists("g:ycm_semantic_triggers") let g:ycm_semantic_triggers["nim"] = ['.', '('] endif +let g:nvim_nim_enable_async = has("nvim") + let g:nvim_nim_exec_nim = CheckDependency("nim") let g:nvim_nim_exec_nimble = CheckDependency("nimble") let g:nvim_nim_exec_nimsuggest = CheckDependency("nimsuggest") @@ -40,12 +42,12 @@ let g:nvim_nim_exec_bash = CheckDependency("bash") let g:nvim_nim_deps_nim = FindNimModulesPath() let g:nvim_nim_deps_nimble = FindNimbleModulesPath() +let g:nvim_nim_outline_track_symbol = 1 let g:nvim_nim_highlighter_enable = 0 let g:nvim_nim_enable_async = 1 let g:nvim_nim_highlight_builtin = 1 let g:nvim_nim_highlight_use_unite = 0 -let g:nvim_nim_outline_track_symbol = 1 let g:nvim_nim_outline_buffer = 1 let g:nvim_nim_outline_buffer_width = 30 @@ -55,7 +57,11 @@ let g:nvim_nim_repl_vsplit = 0 let g:nvim_nim_enable_default_binds = 1 let g:nvim_nim_enable_custom_textobjects = 1 -let g:nvim_nim_highlighter_semantics = ["skConst", "skForVar", "skGlobalVar", "skGlobalLet", "skLet", "skModule", "skParam", "skTemp", "skVar"] +let g:nvim_nim_highlighter_enable = 1 +let g:nvim_nim_highlight_builtin = 1 +let g:nvim_nim_highlighter_semantics = ["skConst", "skForVar", "skGlobalVar", "skGlobalLet", "skLet", "skModule", "skParam", "skTemp", "skVar"] + +call highlighter#select_highlights(["skProc", "skTemplate", "skType", "skMacro", "skMethod", "skField", "skForVar", "skIterator"]) au BufNewFile,BufRead *.nim setlocal filetype=nim au BufNewFile,BufRead *.nims setlocal filetype=nims