<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/plugin/lsp, branch 20230125_mix</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>fix(tests): use -l mode for lsp tests</title>
<updated>2023-01-31T12:15:23+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-01-31T12:08:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=50b256d51528fef068e07871e18aa3e324b7e2d8'/>
<id>50b256d51528fef068e07871e18aa3e324b7e2d8</id>
<content type='text'>
This fixes "fake server" from leaking memory, which makes ASAN very
upset, except on current ASAN CI for some reason.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes "fake server" from leaking memory, which makes ASAN very
upset, except on current ASAN CI for some reason.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): add function to clear codelens (#21504)</title>
<updated>2022-12-31T15:16:21+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2022-12-31T15:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6ba34e21fee2a81677e8261dfeaf24c8cd320500'/>
<id>6ba34e21fee2a81677e8261dfeaf24c8cd320500</id>
<content type='text'>
Currently once you retrieve the lenses you're pretty much stuck with
them as saving new lenses is additive.

Adding a dedicated method to reset lenses allows users to toggle lenses
on/off which can be useful for language servers where they are noisy or
expensive and you only want to see them temporary.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently once you retrieve the lenses you're pretty much stuck with
them as saving new lenses is additive.

Adding a dedicated method to reset lenses allows users to toggle lenses
on/off which can be useful for language servers where they are noisy or
expensive and you only want to see them temporary.</pre>
</div>
</content>
</entry>
<entry>
<title>test(lsp): add a screen:expect() between insert() and feed_command() (#21577)</title>
<updated>2022-12-28T23:55:26+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-12-28T23:55:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=05b6dd6e5f543083ebca581506398a8c263a2db6'/>
<id>05b6dd6e5f543083ebca581506398a8c263a2db6</id>
<content type='text'>
The insert() and feed_command() type a lot of text, with only one
screen:expect() call after the feed_command() it may time out.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The insert() and feed_command() type a lot of text, with only one
screen:expect() call after the feed_command() it may time out.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): token_edit.data might be null on deletion (#21462)</title>
<updated>2022-12-19T08:24:27+00:00</updated>
<author>
<name>tiagovla</name>
<email>30515389+tiagovla@users.noreply.github.com</email>
</author>
<published>2022-12-19T08:24:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f4d8e992bfcd6e9d0097b9d7a022060bd32f2069'/>
<id>f4d8e992bfcd6e9d0097b9d7a022060bd32f2069</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): highlight semantic token modifiers (#21390)</title>
<updated>2022-12-12T19:43:14+00:00</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2022-12-12T19:43:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=54d6a32fbdcbd5b26b72f4dca8906e60f5186d2c'/>
<id>54d6a32fbdcbd5b26b72f4dca8906e60f5186d2c</id>
<content type='text'>
Apply semantic token modifiers as separate extmarks with corresponding
highlight groups (e.g., `@readonly`). This is a low-effort PR to enable
the most common use cases (applying, e.g., italics or backgrounds on top
of type highlights; language-specific fallbacks like `@global.lua` are
also available). This can be replaced by more complicated selector-style
themes later on.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply semantic token modifiers as separate extmarks with corresponding
highlight groups (e.g., `@readonly`). This is a low-effort PR to enable
the most common use cases (applying, e.g., italics or backgrounds on top
of type highlights; language-specific fallbacks like `@global.lua` are
also available). This can be replaced by more complicated selector-style
themes later on.</pre>
</div>
</content>
</entry>
<entry>
<title>perf(lsp): update semantic tokens algorithm for parsing modifiers (#21383)</title>
<updated>2022-12-12T17:42:37+00:00</updated>
<author>
<name>jdrouhard</name>
<email>john@drouhard.dev</email>
</author>
<published>2022-12-12T17:42:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=3869a2e0cf25323a8e5235840678b147ca908517'/>
<id>3869a2e0cf25323a8e5235840678b147ca908517</id>
<content type='text'>
Instead of testing for every possible modifier type, only test bits up
to the highest set in the token array. Saves many bit ops and
comparisons when there are no modifiers or when the highest set bit is a
lower bit than the highest possible in the legend on average.

Can be further simplified when non-luaJIT gets the full bit module (see #21222)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of testing for every possible modifier type, only test bits up
to the highest set in the token array. Saves many bit ops and
comparisons when there are no modifiers or when the highest set bit is a
lower bit than the highest possible in the legend on average.

Can be further simplified when non-luaJIT gets the full bit module (see #21222)</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): ignore null responses for semanticTokens request (#21364)</title>
<updated>2022-12-10T11:16:33+00:00</updated>
<author>
<name>fsouza</name>
<email>108725+fsouza@users.noreply.github.com</email>
</author>
<published>2022-12-10T11:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6d37d8cb17390419360c1459607beac2d93183b6'/>
<id>6d37d8cb17390419360c1459607beac2d93183b6</id>
<content type='text'>
The spec indicates that the response may be `null`, but it doesn't
really say what a `null` response means. Since neovim raises an error if
the response is `null`, I figured that ignoring it would be the safest
bet.

Co-authored-by: Mathias Fussenegger &lt;f.mathias@zignar.net&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The spec indicates that the response may be `null`, but it doesn't
really say what a `null` response means. Since neovim raises an error if
the response is `null`, I figured that ignoring it would be the safest
bet.

Co-authored-by: Mathias Fussenegger &lt;f.mathias@zignar.net&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): followup fixes for semantic tokens support (#21357)</title>
<updated>2022-12-09T10:54:09+00:00</updated>
<author>
<name>jdrouhard</name>
<email>john@drouhard.dev</email>
</author>
<published>2022-12-09T10:54:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=5e6a288ce7ee079e7695525f2e9e99d071ccdfbf'/>
<id>5e6a288ce7ee079e7695525f2e9e99d071ccdfbf</id>
<content type='text'>
1. The algorithm for applying edits was slightly incorrect. It needs to
   preserve the original token list as the edits are applied instead of
   mutating it as it iterates. From the spec:

   Semantic token edits behave conceptually like text edits on
   documents: if an edit description consists of n edits all n edits are
   based on the same state Sm of the number array. They will move the
   number array from state Sm to Sm+1.

2. Schedule the semantic token engine start() call in the
   client._on_attach() function so that users who schedule_wrap() their
   config.on_attach() functions (like nvim-lspconfig does) can still
   disable semantic tokens by deleting the semanticTokensProvider from
   their server capabilities.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. The algorithm for applying edits was slightly incorrect. It needs to
   preserve the original token list as the edits are applied instead of
   mutating it as it iterates. From the spec:

   Semantic token edits behave conceptually like text edits on
   documents: if an edit description consists of n edits all n edits are
   based on the same state Sm of the number array. They will move the
   number array from state Sm to Sm+1.

2. Schedule the semantic token engine start() call in the
   client._on_attach() function so that users who schedule_wrap() their
   config.on_attach() functions (like nvim-lspconfig does) can still
   disable semantic tokens by deleting the semanticTokensProvider from
   their server capabilities.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): initial support for semantic token highlighting</title>
<updated>2022-12-08T17:31:56+00:00</updated>
<author>
<name>John Drouhard</name>
<email>john@drouhard.dev</email>
</author>
<published>2022-11-23T16:06:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9f035559defd9d575f37fd825954610065d9cf96'/>
<id>9f035559defd9d575f37fd825954610065d9cf96</id>
<content type='text'>
* credit to @smolck and @theHamsta for their contributions in laying the
  groundwork for this feature and for their work on some of the helper
  utility functions and tests
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* credit to @smolck and @theHamsta for their contributions in laying the
  groundwork for this feature and for their work on some of the helper
  utility functions and tests
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(test): create an lsp-specific helpers.lua file</title>
<updated>2022-12-08T17:31:56+00:00</updated>
<author>
<name>John Drouhard</name>
<email>john@drouhard.dev</email>
</author>
<published>2022-12-08T14:54:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=5e0c74cd82ce75510b15e63a1b0b51cf70cdf47f'/>
<id>5e0c74cd82ce75510b15e63a1b0b51cf70cdf47f</id>
<content type='text'>
* move the code for creating fake rpc servers there
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* move the code for creating fake rpc servers there
</pre>
</div>
</content>
</entry>
</feed>
