Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The text above get seleted automatically #5012

Closed
adithyanajay opened this issue May 16, 2024 · 2 comments
Closed

The text above get seleted automatically #5012

adithyanajay opened this issue May 16, 2024 · 2 comments

Comments

@adithyanajay
Copy link

Result from CocInfo

Describe the bug

When i use the autocomplete for importing the type from a header file the whole text above my cursor gets automatically selected after the auto complete is done;

Reproduce the bug

  • I use the bear for my clang autocomplete to work

  • Just write a type which you want to import from the standard lib or third party lib, Select the desired type and the whole text above the cursor gets selected,

  • Note the type has to have argument to pass

  • It will change the mode to select mode.

  • int -> will not cause the error

  • std::vector similar types will cause the error.

  • Create file mini.vim with:

  • Start (neo)vim with command: vim -u mini.vim
    //My .vimrc file
    set relativenumber
    set tabstop=4
    set shiftwidth=4
    set clipboard=unnamedplus
    set autoindent
    set mouse=a
    set encoding=utf-8
    set updatetime=300
    set nowrap
    colorscheme slate

call plug#begin()
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()

" https://raw.githubusercontent.com/neoclide/coc.nvim/master/doc/coc-example-config.vim

" May need for Vim (not Neovim) since coc.nvim calculates byte offset by count
" utf-8 byte sequence
set encoding=utf-8
" Some servers have issues with backup files, see #649
set nobackup
set nowritebackup

" Having longer updatetime (default is 4000 ms = 4s) leads to noticeable
" delays and poor user experience
set updatetime=300

" Always show the signcolumn, otherwise it would shift the text each time
" diagnostics appear/become resolved
set signcolumn=yes

" Use tab for trigger completion with characters ahead and navigate
" NOTE: There's always complete item selected by default, you may want to enable
" no select by "suggest.noselect": true in your configuration file
" NOTE: Use command ':verbose imap ' to make sure tab is not mapped by
" other plugin before putting this into your config
inoremap
\ coc#pum#visible() ? coc#pum#next(1) :
\ CheckBackspace() ? "<Tab>" :
\ coc#refresh()
inoremap coc#pum#visible() ? coc#pum#prev(1) : "<C-h>"

" Make to accept selected completion item or notify coc.nvim to format
" u breaks current undo, please make your own choice
inoremap coc#pum#visible() ? coc#pum#confirm()
: "<C-g>u<CR><c-r>=coc#on_enter()<CR>"

function! CheckBackspace() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction

" Use to trigger completion
if has('nvim')
inoremap coc#refresh()
else
inoremap <c-@> coc#refresh()
endif

" Use [g and ]g to navigate diagnostics
" Use :CocDiagnostics to get all diagnostics of current buffer in location list
nmap [g (coc-diagnostic-prev)
nmap ]g (coc-diagnostic-next)

" GoTo code navigation
nmap gd (coc-definition)
nmap gy (coc-type-definition)
nmap gi (coc-implementation)
nmap gr (coc-references)

" Use K to show documentation in preview window
nnoremap K :call ShowDocumentation()

function! ShowDocumentation()
if CocAction('hasProvider', 'hover')
call CocActionAsync('doHover')
else
call feedkeys('K', 'in')
endif
endfunction

" Highlight the symbol and its references when holding the cursor
autocmd CursorHold * silent call CocActionAsync('highlight')

" Symbol renaming
nmap rn (coc-rename)

" Formatting selected code
xmap f (coc-format-selected)
nmap f (coc-format-selected)

augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s)
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end

" Applying code actions to the selected code block
" Example: <leader>aap for current paragraph
xmap a (coc-codeaction-selected)
nmap a (coc-codeaction-selected)

" Remap keys for applying code actions at the cursor position
nmap ac (coc-codeaction-cursor)
" Remap keys for apply code actions affect whole buffer
nmap as (coc-codeaction-source)
" Apply the most preferred quickfix action to fix diagnostic on the current line
nmap qf (coc-fix-current)

" Remap keys for applying refactor code actions
nmap re (coc-codeaction-refactor)
xmap r (coc-codeaction-refactor-selected)
nmap r (coc-codeaction-refactor-selected)

" Run the Code Lens action on the current line
nmap cl (coc-codelens-action)

" Map function and class text objects
" NOTE: Requires 'textDocument.documentSymbol' support from the language server
xmap if (coc-funcobj-i)
omap if (coc-funcobj-i)
xmap af (coc-funcobj-a)
omap af (coc-funcobj-a)
xmap ic (coc-classobj-i)
omap ic (coc-classobj-i)
xmap ac (coc-classobj-a)
omap ac (coc-classobj-a)

" Remap and to scroll float windows/popups
if has('nvim-0.4.0') || has('patch-8.2.0750')
nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>"
nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>"
inoremap coc#float#has_scroll() ? "<c-r>=coc#float#scroll(1)<cr>" : "<Right>"
inoremap coc#float#has_scroll() ? "<c-r>=coc#float#scroll(0)<cr>" : "<Left>"
vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>"
vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>"
endif

" Use CTRL-S for selections ranges
" Requires 'textDocument/selectionRange' support of language server
nmap (coc-range-select)
xmap (coc-range-select)

" Add :Format command to format current buffer
command! -nargs=0 Format :call CocActionAsync('format')

" Add :Fold command to fold current buffer
command! -nargs=? Fold :call CocAction('fold', )

" Add :OR command for organize imports of the current buffer
command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport')

" Add (Neo)Vim's native statusline support
" NOTE: Please see :h coc-status for integrations with external plugins that
" provide custom statusline: lightline.vim, vim-airline
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}

" Mappings for CoCList
" Show all diagnostics
nnoremap a :CocList diagnostics
" Manage extensions
nnoremap e :CocList extensions
" Show commands
nnoremap c :CocList commands
" Find symbol of current document
nnoremap o :CocList outline
" Search workspace symbols
nnoremap s :CocList -I symbols
" Do default action for next item
nnoremap j :CocNext
" Do default action for previous item
nnoremap k :CocPrev
" Resume latest coc list
nnoremap p :CocListResume

Screenshots (optional)

Screencastfrom16-05-24042417PMIST-ezgif com-video-to-gif-converter

If applicable, add screenshots to help explain your problem.

@fannheyward
Copy link
Member

Upgrade your vim and try again.

@adithyanajay
Copy link
Author

Thank you @fannheyward
The problem was with vim version 8.2
upgraded vim to 9.0, all the problems have been fixed.

Thank you for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants