Help me understand this startup error

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Vim

    The official Vim repository

  • local nvim_lsp = require('lspconfig') -- lsp setup -- Set Default Prefix. -- Note: You can set a prefix per lsp server in the lv-globals.lua file vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( vim.lsp.diagnostic.on_publish_diagnostics, { virtual_text = false, -- { -- prefix = "", -- spacing = 0, -- }, signs = true, underline = true } ) -- symbols for autocomplete vim.lsp.protocol.CompletionItemKind = { "  (Text) ", "  (Method)", "  (Function)", "  (Constructor)", " ﴲ (Field)", "[] (Variable)", "  (Class)", " ﰮ (Interface)", "  (Module)", " 襁 (Property)", "  (Unit)", "  (Value)", " 練 (Enum)", "  (Keyword)", "  (Snippet)", "  (Color)", "  (File)", "  (Reference)", "  (Folder)", "  (EnumMember)", " ﲀ (Constant)", " ﳤ (Struct)", "  (Event)", "  (Operator)", "  (TypeParameter)" } local function documentHighlight(client, bufnr) -- Set autocommands conditional on server_capabilities if client.resolved_capabilities.document_highlight then vim.api.nvim_exec( [[ hi LspReferenceRead cterm=bold ctermbg=red guibg=#464646 hi LspReferenceText cterm=bold ctermbg=red guibg=#464646 hi LspReferenceWrite cterm=bold ctermbg=red guibg=#464646 augroup lsp_document_highlight autocmd! * autocmd CursorHold lua vim.lsp.buf.document_highlight() autocmd CursorMoved lua vim.lsp.buf.clear_references() augroup END ]], false ) end end local lsp_config = {} function lsp_config.common_on_attach(client, bufnr) documentHighlight(client, bufnr) end function lsp_config.tsserver_on_attach(client, bufnr) lsp_config.common_on_attach(client, bufnr) client.resolved_capabilities.document_formatting = false end local function make_config() return { -- map buffer local keybindings when the language server attaches on_attach = on_attach, } end local function setup_servers() require'lspinstall'.setup() local servers = require'lspinstall'.installed_servers() table.insert(servers, "r_language_server") for _, server in pairs(servers) do local config = make_config() -- language specific config if server == "html" then config.filetypes = {"html", "blade"}; end if server == "php" then config.init_options = { licenceKey = "/Users/fabianmundt/iCloud/Documents/Sicherheitscodes/intelephense.txt"; }; end if server == "lua" then config.settings = { Lua = { diagnostics = { -- Get the language server to recognize the `vim` global globals = {'vim'}, } } } end nvim_lsp[server].setup(config) end end setup_servers() -- Automatically reload after `:LspInstall ` so we don't have to restart neovim require'lspinstall'.post_install_hook = function () setup_servers() -- reload installed servers vim.cmd("bufdo e") -- this triggers the FileType autocmd that starts the server end -- Automatically reload after `:LspInstall ` so we don't have to restart neovim require'lspinstall'.post_install_hook = function () setup_servers() -- reload installed servers vim.cmd("bufdo e") -- this triggers the FileType autocmd that starts the server end -- LSP omnifunc sync version for MUComplete chains local omnifunc_cache function _G.omnifunc_sync(findstart, base) local pos = vim.api.nvim_win_get_cursor(0) local line = vim.api.nvim_get_current_line() if findstart == 1 then -- Cache state of cursor line and position due to the fact that it will -- change at the second call to this function (with `findstart = 0`). See: -- https://github.com/vim/vim/issues/8510. -- This is needed because request to LSP server is made on second call. -- If not done, server's completion mechanics will operate on different -- document and position. omnifunc_cache = {pos = pos, line = line} -- On first call return column of completion start local line_to_cursor = line:sub(1, pos[2]) return vim.fn.match(line_to_cursor, '\\k*$') end -- Restore cursor line and position to the state of first call vim.api.nvim_set_current_line(omnifunc_cache.line) vim.api.nvim_win_set_cursor(0, omnifunc_cache.pos) -- Make request local bufnr = vim.api.nvim_get_current_buf() local params = vim.lsp.util.make_position_params() local result = vim.lsp.buf_request_sync(bufnr, 'textDocument/completion', params, 2000) if not result then return {} end -- Transform request answer to list of completion matches local items = {} for _, item in pairs(result) do if not item.err then local matches = vim.lsp.util.text_document_completion_list_to_complete_items(item.result, base) vim.list_extend(items, matches) end end -- Restore back cursor line and position to the state of this call's start -- (avoids outcomes of Vim's internal line postprocessing) vim.api.nvim_set_current_line(line) vim.api.nvim_win_set_cursor(0, pos) return items end

    " Installation {{{ call plug#begin(stdpath('data') . 'vimplug') Plug 'prabirshrestha/asyncomplete.vim' Plug 'xianzhon/vim-code-runner' " Plug 'folke/which-key.nvim' Plug 'EdenEast/nightfox.nvim' Plug 'RishabhRD/popfix' Plug 'RishabhRD/nvim-cheat.sh' "Plug 'kristijanhusak/orgmode.nvim' Plug 'scrooloose/nerdtree' Plug 'github/copilot.vim' Plug 'skywind3000/asynctasks.vim' Plug 'skywind3000/asyncrun.vim' Plug 'jistr/vim-nerdtree-tabs' Plug 'nvim-lua/plenary.nvim' Plug 'nvim-lua/popup.nvim' Plug 'nvim-telescope/telescope.nvim' Plug 'neovim/nvim-lspconfig' Plug 'kabouzeid/nvim-lspinstall' Plug 'glepnir/lspsaga.nvim' Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} Plug 'nvim-treesitter/nvim-treesitter-textobjects' Plug 'lifepillar/vim-mucomplete' " Plug 'itchyny/lightline.vim' " Plug 'nvim-lualine/lualine.nvim' Plug 'glepnir/galaxyline.nvim' Plug 'kyazdani42/nvim-web-devicons' " needed for galaxyline icons Plug 'tpope/vim-ragtag' Plug 'tpope/vim-surround' Plug 'tpope/vim-unimpaired' Plug 'imkmf/ctrlp-branches' Plug 'hara/ctrlp-colorscheme' Plug 'simplenote-vim/simplenote.vim' Plug 'tpope/vim-eunuch' Plug 'tpope/vim-fugitive' Plug 'rhysd/vim-grammarous' Plug 'yegappan/greplace' Plug 'tomtom/tcomment_vim' Plug 'ompugao/ctrlp-locate' Plug 'endel/ctrlp-filetype.vim' Plug 'suy/vim-ctrlp-commandline' Plug 'mbbill/desertex' Plug 'mhinz/vim-startify' Plug 'jalvesaq/Nvim-R' Plug 'metakirby5/codi.vim' Plug 'ctrlpvim/ctrlp.vim' Plug 'ryanoasis/vim-devicons' Plug 'tacahiroy/ctrlp-funky' Plug 'dbeecham/ctrlp-commandpalette.vim' Plug 'dense-analysis/ale' " Plug 'https://github.com/prashanthellina/follow-markdown-links' Plug 'phongnh/ctrlp-fzy-matcher' Plug 'halkn/ripgrep.vim' call plug#end() " }}} " General settings {{{ if exists('+termguicolors') let &t_8f = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" set termguicolors endif colorscheme duskfox set guifont=Iosevka:h12 let g:molokai_original=1 let g:blamer_enabled = 1 let g:webdevicons_enable_ctrlp = 1 let g:disco_nobright = 1 let g:disco_red_error_only = 1 set bg=dark let g:yui_comments = "fade" let g:mapleader = "\" let maplocalleader = "\" set autochdir set sessionoptions-=blank " This fixes a problem with nerdtree and sessions set modelines=1 " set spell " set spelllang=en set mouse=a " Enable mouse support in insert mode. set clipboard+=unnamedplus " Use clipboard set guioptions+=a set backspace=indent,eol,start " To make backscape work in all conditions. set ma " To set mark a at current cursor location. " set number " To switch the line numbers on. set expandtab " To enter spaces when tab is pressed. set smarttab " To use smart tabs. set tabstop=2 " Two chars for a tab set shiftwidth=2 set autoindent " To copy indentation from current line set si " To switch on smart indentation. set ignorecase " To ignore case when searching. set smartcase " When searching try to be smart about cases. set hlsearch " To highlight search results. set incsearch " To make search act like search in modern browsers. set magic " For regular expressions turn magic on. set showmatch " To show matching brackets when text indicator set mat=2 " How many tenths of a second to blink syntax enable " Enable syntax highlighting. set encoding=utf-8 fileencodings=ucs-bom,utf-8,gbk,gb18030,latin1 termencoding=utf-8 set nobackup " Turn off backup. set nowb " Don't backup before overwriting a file. set noswapfile " Don't create a swap file. "set ffs=unix,dos,mac " Use Unix as the standard file type. "au! BufWritePost $MYVIMRC source % " auto source when writing to init.vm alternatively you can run :source $MYVIMRC " autocmd CursorHoldI * update " Saves when changing from insert mode set undofile " Maintain undo history between sessions set undodir=~/.vim/undodir " Return to last edit position when opening files au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif " Reload vimrc on save " au BufWritePost ~/.config/nvim/*.{vim,lua} so $MYVIMRC "map q :quit " Quit with q " FIXME: (broken) ctrl s to save noremap :update vnoremap :update inoremap :update " exit insert mode " inoremap " Find map / " indent / deindent after selecting the text with (⇧ v), (.) to repeat. vnoremap > vnoremap < " Cut, Paste, Copy vmap d vmap p vmap y " Undo, Redo (broken) nnoremap :undo inoremap :undo nnoremap :redo inoremap :redo " This mapping makes Ctrl-Tab switch between tabs. " Ctrl-Shift-Tab goes the other way. noremap :tabnext noremap :tabprev map :tabnew " switch between tabs with cmd+1, cmd+2,..." map 1gt map 2gt map 3gt map 4gt map 5gt map 6gt map 7gt map 8gt map 9gt " until we have default MacVim shortcuts this is the only way to use it in " insert mode imap 1gt imap 2gt imap 3gt imap 4gt imap 5gt imap 6gt imap 7gt imap 8gt imap 9gt set completeopt=noselect,noinsert,menuone,preview " >> Lsp key bindings nnoremap gd lua vim.lsp.buf.definition() nnoremap lua vim.lsp.buf.definition() nnoremap gD lua vim.lsp.buf.declaration() nnoremap gr lua vim.lsp.buf.references() nnoremap gi lua vim.lsp.buf.implementation() nnoremap K Lspsaga hover_doc nnoremap lua vim.lsp.buf.signature_help() nnoremap Lspsaga diagnostic_jump_prev nnoremap Lspsaga diagnostic_jump_next nnoremap gf lua vim.lsp.buf.formatting() nnoremap gn lua vim.lsp.buf.rename() nnoremap ga Lspsaga code_action xnoremap ga Lspsaga range_code_action nnoremap gs Lspsaga signature_help lua < RDSendSelection nmap RDSendLine " }}} " CtrlP interface {{{ if executable('rg') let g:ctrlp_user_command = 'rg --files %s' let g:ctrlp_use_caching = 0 let g:ctrlp_working_path_mode = 'rw' endif let g:ctrlp_match_func = { 'match': 'fzy_matcher#match' } let g:ctrlp_map = '' let g:ctrlp_cmd = 'CtrlPCommandPalette' let g:ctrlp_extensions = ['mixed', 'line', 'filetype', 'commandline', 'colorscheme', 'funky', 'branches'] let g:ripgrep_options='--hidden \ -g "!/cache/*" \ -g "!/data/*" \ -g "!/reports/*" \ -g "!/.git/*" \ -- ' let g:commandPalette = { \ 'Ignorecase: Toggle': 'set ignorecase!', \ 'File: save and close': 'wq', \ 'Start R': 'call StartR("R")', \ 'Start Object Browser': 'call RObjBrowser()', \ 'Start Inim': 'T inim', \ 'Search files': 'CtrlPMixed', \ 'MRU': 'CtrlPMRU', \ 'Search within project': 'call feedkeys(":CtrlPRg ")', \ 'Search in this file': 'CtrlPLine', \ 'Commend lines': 'TComment', \ 'Check grammar': 'GrammarousCheck', \ 'Set filetype': 'CtrlPFiletype', \ 'Bye!': 'qa!', \ 'Command history': 'call ctrlp#init(ctrlp#commandline#id())', \ 'Find file anywhere in system': 'CtrlPLocate', \ 'Colorschemes': 'CtrlPColorscheme', \ 'Unfold all lines': 'call feedkeys("\zR\")', \ 'Fold all lines': 'call feedkeys("\zM\")', \ 'Unfold here': 'call feedkeys("\zo\")', \ 'Navigate sections of this file': 'CtrlPFunkyMulti', \ 'Run!': 'call feedkeys("\B\")', \ 'More!': 'Telescope builtin', \ 'Branches': 'CtrlPBranches'} let g:ctrlp_match_window = 'results:100' set wildignore+=*/.git/*,*/.hg/*,*/.svn/* " }}} " Startify {{{ function! s:gitModified() let files = systemlist('git ls-files -m 2>/dev/null') return map(files, "{'line': v:val, 'path': v:val}") endfunction " same as above, but show untracked files, honouring .gitignore function! s:gitUntracked() let files = systemlist('git ls-files -o --exclude-standard 2>/dev/null') return map(files, "{'line': v:val, 'path': v:val}") endfunction let g:startify_lists = [ \ { 'type': 'files', 'header': [' MRU'] }, \ { 'type': 'sessions', 'header': [' Sessions'] }, \ ] " }}} " Nerdtree {{{ nnoremap :NERDTreeTabsToggle " Start NERDTree when Vim starts with a directory argument. autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') | \ execute 'NERDTree' argv()[0] | wincmd p | enew | execute 'cd '.argv()[0] | endif "autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif " Exit Vim if NERDTree is the only window left. autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | \ quit | endif let g:NERDTreeChDirMode = 2 " If another buffer tries to replace NERDTree, put it in the other window, and bring back NERDTree. autocmd BufEnter * if bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_tree_\d\+' && winnr('$') > 1 | \ let buf=bufnr() | buffer# | execute "normal! \w" | execute 'buffer'.buf | endif autocmd BufWinEnter * silent NERDTreeMirror " Open the existing NERDTree on each new tab. " }}} " ALE {{{ let g:ale_linters = { \ 'nim': ['nimlsp', 'nimcheck'], \ 'sh': ['shellcheck'] \} let g:ale_fixers = { \ '*': ['remove_trailing_lines', 'trim_whitespace'], \ 'rmd': ['styler'], \ 'nim': ['nimpretty'], \} let g:ale_fix_on_save = 1 let g:ale_linters_explicit = 1 let g:ale_set_loclist = 0 let g:ale_set_quickfix = 1 let g:ale_lint_on_text_changed = 'never' let g:ale_lint_on_insert_leave = 0 let g:ale_fix_on_save = 1 let g:ale_sign_error = '✖✖' let g:ale_sign_warning = '⚠⚠' highlight ALEErrorSign guifg=Red highlight ALEWarningSign guifg=Yellow " }}} " Nim configuration - asyncomplete {{{ au User asyncomplete_setup call asyncomplete#register_source({ \ 'name': 'nim', \ 'whitelist': ['nim'], \ 'completor': {opt, ctx -> nim#suggest#sug#GetAllCandidates({start, candidates -> asyncomplete#complete(opt['name'], ctx, start, candidates)})} \ }) " }}} " Nim configuration - CodeRunner and TREPL {{{ let g:CodeRunnerCommandMap = { \ 'nim' : 'nim c -r $fileName' \} let g:code_runner_save_before_execute = 1 let g:neoterm_callbacks = {} function! g:neoterm_callbacks.before_new() if winwidth('.') > 100 let g:neoterm_default_mod = 'botright vertical' else let g:neoterm_default_mod = 'botright' end endfunction nmap B CodeRunner autocmd FileType nim nmap d :TREPLSendLine " }}} " Grammarous {{{ let $PATH.=':/usr/lib64/openjdk-11/bin/' let $MYVIMRC='/home/luis/.config/nvim/init.vim' " }}} " MUCOMPLETE {{{ let g:mucomplete#enable_auto_at_startup = 1 let g:mucomplete#chains = { \ 'default' : ['omni', 'path', 'c-n'], \ } let g:mucomplete#chains['rmd'] = { \ 'default' : ['user', 'path', 'uspl'], \ 'rmdrChunk' : ['omni', 'path'], \ } " }}} " Async Run {{{ augroup renderRmd | au! autocmd BufWritePost *.Rmd call Render() augroup end function! Render() abort :AsyncTask render endfunction let g:asyncrun_open = 6 " }}} " Vim Script let g:lightline = {'colorscheme': 'nightfox'} " vim:foldmethod=marker:foldlevel=0

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nvim-lsp-installer

    Discontinued Further development has moved to https://github.com/williamboman/mason.nvim!

  • The nvim-lspinstall repo mentions williamboman/nvim-lsp-installer

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts