In the VSCode extension there is a "*" documentFilter set (https://github.com/huggingface/llm-vscode/blob/master/src/extension.ts#L63), which sends document did_change events for ALL updates it has e.g. when files on the filesystem changed (which will have scheme file: or unsaved ones untitled. However this also includes the VSCode "Output" tab.
As it happens this output is coming from llm-ls itself. Whenever we log a message to the client, e.g. in
the output changes and we trigger the event. This is problematic in the case of the mentioned log, since this basically triggers an infinite loop of logs and changed events.
There are two ways to fix this:
setting the documentFilter in the VSCode client to ignore output scheme, I think this could look like the following:
In the VSCode extension there is a "*"
documentFilter
set (https://github.com/huggingface/llm-vscode/blob/master/src/extension.ts#L63), which sends document did_change events for ALL updates it has e.g. when files on the filesystem changed (which will have schemefile:
or unsaved onesuntitled
. However this also includes the VSCode "Output" tab.As it happens this output is coming from llm-ls itself. Whenever we log a message to the client, e.g. in
the output changes and we trigger the event. This is problematic in the case of the mentioned log, since this basically triggers an infinite loop of logs and changed events.
There are two ways to fix this:
documentFilter
in the VSCode client to ignoreoutput
scheme, I think this could look like the following:The problem is there is no "negate" operator, which means we have to exhaustively list everything we want to get, and I couldn't find an enumeration.
output
scheme. This seems like low risk, since no valuable input for code completion can get out of it anywayFixes https://github.com/huggingface/llm-vscode/issues/120