Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

Code completion using LSP and clangd

<< < (37/85) > >>

Pecan:

--- Quote from: ollydbg on September 25, 2022, 04:21:30 am ---I have a question:

LSP_ParseSemanticTokens(), what does this function used for?

--- End quote ---

The fastest way to satisfy a code completion request is to request the clangd "textDocument/DocumentSymbol" response.

However, that response does not have enough information to satisfy a code completion for a variable, enumeration, etc.

So clangd_client requests and parses the "textDocument/semanticTokens" record which does have variable info.
That response is very memory and process expensive. So we only use it when necessary (such as filling html Document popup info).

That particular response provides entries that need teasing out further info. The old CodeCompletion plugin has code to do that. I plan to use more of the old CodeCompletion parsing code in the future when needed.
 

ollydbg:
Thanks for the explanation, I some times get error message like below when using clangd_client plugin:


--- Quote ---[Window Title]
Assert(non fatal)

[Content]
Trying to DoParse recursion in DoHandleClass():2028

[OK]
--- End quote ---

So, DoParse() is a function from old code completion plugin.  :)

ollydbg:

--- Quote from: ollydbg on September 16, 2022, 05:29:45 am ---
--- Quote ---1) The HtmlDocumentationPopup gets stuck showing and cannot be closed.
2) The user did a double-click to select from the AutocompPopup, the HtmlDocumentationPopup got left showing and CB is frozen (and may crash).
3) The AutocompPopup and the HtmlPopup are showing, the user unfocused CB then re-focused CB and CB is frozen and must be killed.
4) The user has unChecked Documentation popup in options and now AutocompPopups cannot be scrolled.
5) The AutocompPopup only is stuck showing and cannot be closed.
--- End quote ---

Hi, Pecan, good work! I see issue5 many times randomly in my daily work, but it is hard to reproduce, I even don't know how to reproduce this issue. The popup window shown on top of every application, and even CB is not focused, the popup window is still showing. What I have to do is kill the C::B process from the task manager.

Hope your fix will solve those issues, thanks!

--- End quote ---

I'm using the C::B svn rev12908, and the latest clangd_client plugin rev78, but I see the issue "popup(tooltip) window shown on top of every application" still happens.  :(

ollydbg:
I see another issus is that not the full tooltip window is shown, see the image shot as attachment.

I see only a very small portion of the tooltip window is shown, and the right side of the window is hidden.

Pecan:

--- Quote from: ollydbg on September 28, 2022, 07:56:53 am ---I see another issus is that not the full tooltip window is shown, see the image shot as attachment.

I see only a very small portion of the tooltip window is shown, and the right side of the window is hidden.

--- End quote ---

This is not a clangd_client problem. Only ccManager has control  over the popup(s) appearances.
Change Settings/Editor/OtherEditorSettings(tab)/Technology:(choice list) to Direct write.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version