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

Roadmap for v0.1 #9

Open
10 tasks done
chemzqm opened this issue Jul 18, 2018 · 44 comments
Open
10 tasks done

Roadmap for v0.1 #9

chemzqm opened this issue Jul 18, 2018 · 44 comments
Assignees
Milestone

Comments

@chemzqm
Copy link
Member

chemzqm commented Jul 18, 2018

Coc is working now, but still lots of work ahead to make it better.
Let me know if you have some ideas for it.

  • Works in vim.
  • Airline/Lightline integration
  • Add support for https://github.com/Shougo/neosnippet.vim
  • Binary distribution.
  • Command for edit coc-settings.json.
  • Support lSP feature: document highlight
  • Support lSP feature: document link
  • Support codeLens feature by using vritual text.
  • A coc-emmet extension to help expand emmet in completion menu.
  • Integration of Microsoft/vscode-python
@iamcco
Copy link
Contributor

iamcco commented Jul 19, 2018

is it possible to support code block detection like ncm2 with ncm2-markdown-subscope ?

@chemzqm
Copy link
Member Author

chemzqm commented Jul 20, 2018

@iamcco There is a plan for something like that, but not high priority for now.

@chemzqm chemzqm added this to the v0.1 milestone Aug 1, 2018
@chemzqm chemzqm self-assigned this Aug 1, 2018
@kdurant
Copy link

kdurant commented Aug 4, 2018

Can use it on Win10?

@chemzqm
Copy link
Member Author

chemzqm commented Aug 4, 2018

@kdurant it works on my win7, should works on win10 as well.
BTW, there's some issue with vim, using neovim should be fine.

@fannheyward
Copy link
Member

Microsoft's python-language-server is just released: https://github.com/Microsoft/python-language-server

According to https://github.com/Microsoft/vscode-python/blob/master/src/client/activation/languageServer.ts#L159, the VSCode-python can download LS bin.

@sandangel
Copy link

could you please consider adding emmet support? so I could use Tab to expand html markup without conflict with coc auto-complete

	" Use <Tab> for confirm completion.
	" Coc only does snippet and additional edit on confirm.
	inoremap <expr> <Tab> pumvisible() ? "\<C-y>" : "\<Tab>"

@chemzqm
Copy link
Member Author

chemzqm commented Oct 27, 2018

@sandangel you just need to extend the remap, like:

  let g:user_emmet_leader_key = '<C-e>'
  let g:user_emmet_expandabbr_key = '<C-x><C-e>'
  imap <silent><expr> <Tab> <SID>expand()

  function! s:expand()
    if pumvisible()
      return "\<C-y>"
    endif
    let col = col('.') - 1
    if !col || getline('.')[col - 1]  =~# '\s'
      return "\<Tab>"
    endif
    return "\<C-x>\<C-e>"
  endfunction

Notice imap is used here so that you can't let emmet use the mapping for <C-y>

@sandangel
Copy link

sandangel commented Oct 28, 2018

thanks @chemzqm for your tip. However, I mean it would be great if we can add emmet to completion source and only have to use Tab to expand it. With the above tip, we can only expand emmet after close the popup menu.

@chemzqm
Copy link
Member Author

chemzqm commented Oct 28, 2018

thanks @chemzqm for your tip. However, I mean it would be great if we can add emmet to completion source and only have to use Tab to expand it. With the above tip, we can only expand emmet after close the popup menu.

I don't understand how could this work, provide a complete item with label like expand emmet or just expand the complete item if it's confirmed and is not snippet?

@sandangel
Copy link

I mean is it posible to add emmet suggestion to the popup menu like vscode?

example

@chemzqm
Copy link
Member Author

chemzqm commented Oct 28, 2018

It's possible by create a custom source, but I don't think it's useful since you can always expand emmet with it's own expand key, and it could be buggy.

@adelarsq
Copy link

adelarsq commented Nov 7, 2018

@chemzqm Any idea if VS Code Debug Protocol will be supported?

@chemzqm
Copy link
Member Author

chemzqm commented Nov 7, 2018

@adelarsq I've thinked about it, but one big problem is I don't know how to make it easy to use, ex: I can't create buttons in terminal vim.

@adelarsq
Copy link

adelarsq commented Nov 7, 2018

@chemzqm We can take ideas from vim-vebugger. About buttons, we can use denite or quickmenu to provide "buttons".

@aeosynth
Copy link

aeosynth commented Nov 7, 2018

there are a bunch of vim debuggers to look at for ideas, here's one which even uses the debug protocol (i haven't used it): https://github.com/puremourning/vimspector

@chemzqm
Copy link
Member Author

chemzqm commented Nov 14, 2018

I've experienced with emmet completion in VSCode, I think it's worthy to have it, since it would help to reduce the number of key stroke you need to use for snippet.

@adelarsq
Copy link

@chemzqm Would be nice. Actually I use emmet-vim with <c-e> as leader key.

@Moroxus
Copy link

Moroxus commented Dec 19, 2018

Is it possible to add semantic highlighting through LSP protocol?

@chemzqm
Copy link
Member Author

chemzqm commented Dec 19, 2018

@Moroxus LSP don't have semantic highlight yet, but it's possible for coc to implement.

@ovidius72
Copy link

Is it possible to add icons in the completion menu, similar to vscode, that distinguish methods, property and snippet ?
It's not just an aesthetic matter, it would be helpful to easily find the correct item.
Like in this comment #9 (comment)

Thanks.

@oblitum
Copy link
Member

oblitum commented Dec 28, 2018

@ovidius72 it's possible, through what is available in Unicode and font with colored characters/emoji (plus terminal support of that if you're on terminal), or custom fonts. There's no option for enabling or tweaking that in coc though.

@ovidius72
Copy link

Thanks @oblitum
I'm on terminal. I have nerd fonts working fine but unfortunately have no idea where to start.
I joined the vim word only a few weeks ago.
Can you suggest any tutorial or doc where I can start from ?

@oblitum
Copy link
Member

oblitum commented Dec 28, 2018

@ovidius72 hi, I just meant that it's not impossible, since you can use emoji/unicode/custom-fonts for that, but coc.nvim doesn't provide options for tweaking kind or other parts of the menu, which may vary depending on language, that's up to @chemzqm or your willing to fork/patch it to put Unicode in it.

@oblitum
Copy link
Member

oblitum commented Dec 28, 2018

@oblitum
Copy link
Member

oblitum commented Dec 28, 2018

@ovidius72, for example:

  • cd ~/.vim/plugged/coc.nvim

  • @@ -74,7 +74,7 @@ export function completionKindString(kind: CompletionItemKind): string {
         case CompletionItemKind.Text:
           return 'Text'
         case CompletionItemKind.Method:
    -      return 'Method'
    +      return '📙'
         case CompletionItemKind.Function:
           return 'Function'
         case CompletionItemKind.Constructor:
  • yarn install

  • nvim sample.cpp
    imgur-21 03 08_28-12-2018

@ovidius72
Copy link

@oblitum Wow this is nice.
I'll take a look at it as soon as possible. Is it also possible to show them at the left side ?
Thanks.

@oblitum
Copy link
Member

oblitum commented Dec 29, 2018

@ovidius72 anything is possible, since it's open source, good luck maintaining the patch though.

@oblitum
Copy link
Member

oblitum commented Dec 29, 2018

@ovidius72 the kind of the completion is generally shown in the middle though, never left-side, it's the way Vim does things, you could try patching it for that but you would be really going against how Vim works, to the point you better stick to vscode.

@ovidius72
Copy link

@oblitum ok, I understand that make sense.
And no, i will not give up for this, I'm getting comfortable with vim now and you want me to switch back to vscode for a few icons ;-)

@theFool32
Copy link

I find the repo coc-jedi, does it conflict with the integration of Microsoft/vscode-python?

BTW, what's the difference between the sources (vim plugins?) and extensions (node package?). I'm new to coc.nvim and vimL, and wonder whether there exist a fast and easy way to port something like ncm2-tmux, ncm2-look and ncm2-en to coc.nvim.

Thanks.

@chemzqm
Copy link
Member Author

chemzqm commented Dec 29, 2018

does it conflict with the integration of Microsoft/vscode-python?

They could work together, but you may have duplicated complete items.

what's the difference between the sources (vim plugins?) and extensions (node package?)

Coc load sources from viml plugin as extension internally, the source could be implemented in viml as vim plugin, or javascript as node package. The call to viml function could quite slow, and block your typing, so it's recommended to use node module, and it could make use of javascript APIs from coc.

whether there exist a fast and easy way to port something like ncm2-tmux

Not yet, but possible in the feature.

@kutsan
Copy link

kutsan commented Dec 31, 2018

A way to change location and name of coc-settings.json file?

@oblitum
Copy link
Member

oblitum commented Dec 31, 2018

@kutsan you can use configuration from .vimrc and ditch coc-settings.json, check :h coc#config(), example.

@kutsan
Copy link

kutsan commented Dec 31, 2018

@oblitum Oh, thanks; that was what I wanted in the first place.

@oblitum
Copy link
Member

oblitum commented Jan 2, 2019

@kutsan fyi, updated example, due to breaking changes.

@oblitum
Copy link
Member

oblitum commented Jan 3, 2019

@kutsan fyi, updated example, due to breaking changes.

FWIW, I think all plugin specific global variables should be prefixed with the plugin name, and g:rooter_patterns should have been called g:coc_root_patterns instead (besides following docs regarding implementation).

@chemzqm
Copy link
Member Author

chemzqm commented Jan 3, 2019

I've removed using of g:rooter_patterns, it's bad idea, new setting coc.preferences.rootPatterns also added.

@sandangel
Copy link

@chemzqm I think you also need to change the coc.txt file as well

g:rooter_patterns 				*g:rooter_patterns*

			To specify how to identify a project's root directory >

			let g:rooter_patterns = ['Rakefile', '.git/']
<

			default to `['.vim/', '.git/', '.hg/', '.projections.json']`

			Note: you can specify different project root for
			language servers by use `rootPatterns` in
			settings.json.

@rbpatt2019
Copy link

rbpatt2019 commented Feb 15, 2019

Thanks for the great work @chemzqm! I've found pyls to be a bit of a pain and look forward to coc.nvim with the Microsoft Python extension!

@kabouzeid
Copy link

kabouzeid commented Apr 10, 2019

I find the repo coc-jedi, does it conflict with the integration of Microsoft/vscode-python?

BTW, what's the difference between the sources (vim plugins?) and extensions (node package?). I'm new to coc.nvim and vimL, and wonder whether there exist a fast and easy way to port something like ncm2-tmux, ncm2-look and ncm2-en to coc.nvim.

Thanks.

@theFool32 I've just added support for coc.nvim in tmux-complete (wellle/tmux-complete.vim#84)

@oblitum
Copy link
Member

oblitum commented Jan 14, 2020

Hello.

The current state is rather confusing for coc.nvim, as there isn't release tags anymore since 08/2019 and compiled state is being pushed to the release branch since then. Given that, does this issue represent anything yet? Should it be closed or is there still plans for reaching 0.1?

@chemzqm
Copy link
Member Author

chemzqm commented Jan 15, 2020

Need lots of tests, but I don't have too much time recently.

@carlosala
Copy link

Is there going to be a new release? I saw that this issue seems a little bit abandoned. Should we use directly master or just wait for release be updated (talking about production, of course)

@oblitum
Copy link
Member

oblitum commented Nov 12, 2021

@carlosala the release branch, as instructed from readme, doesn't require compilation from user. Each commit in that branch is a release.

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