<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/api, branch fix_semantic_tokens_pull</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>refactor: replace char_u with char 24 (#21823)</title>
<updated>2023-01-18T13:17:11+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-01-18T13:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8a4285d5637c146a0ae606918a8e77063c6a5f0d'/>
<id>8a4285d5637c146a0ae606918a8e77063c6a5f0d</id>
<content type='text'>
refactor: replace char_u with char

Work on https://github.com/neovim/neovim/issues/459</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
refactor: replace char_u with char

Work on https://github.com/neovim/neovim/issues/459</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: replace char_u with char 23 (#21798)</title>
<updated>2023-01-18T10:52:19+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-01-18T10:52:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=2c1e7242f9bed345e520e9060e5e13fe48a023eb'/>
<id>2c1e7242f9bed345e520e9060e5e13fe48a023eb</id>
<content type='text'>
Work on https://github.com/neovim/neovim/issues/459</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Work on https://github.com/neovim/neovim/issues/459</pre>
</div>
</content>
</entry>
<entry>
<title>feat(api): show more exception info</title>
<updated>2023-01-16T09:58:57+00:00</updated>
<author>
<name>erw7</name>
<email>erw7.github@gmail.com</email>
</author>
<published>2022-11-05T10:40:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ce66f158b55287924b33451b272de847ab75b332'/>
<id>ce66f158b55287924b33451b272de847ab75b332</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: fix IWYU mapping file and use IWYU (#21802)</title>
<updated>2023-01-15T13:16:33+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-01-15T13:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=3269902a13df3bccf8705db73488c0a47f495514'/>
<id>3269902a13df3bccf8705db73488c0a47f495514</id>
<content type='text'>
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: builtin TUI is no longer channel 0 (#21794)</title>
<updated>2023-01-14T21:24:19+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-01-14T21:24:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=7af2c52ef051ebe801f153a2775966fb3c69b439'/>
<id>7af2c52ef051ebe801f153a2775966fb3c69b439</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): nvim_create_autocmd crash on invalid types inside pattern array</title>
<updated>2023-01-12T15:25:44+00:00</updated>
<author>
<name>ii14</name>
<email>59243201+ii14@users.noreply.github.com</email>
</author>
<published>2023-01-12T15:25:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=921e634119c14b03f9611f1602df171c9ffc9559'/>
<id>921e634119c14b03f9611f1602df171c9ffc9559</id>
<content type='text'>
Co-authored-by: ii14 &lt;ii14@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: ii14 &lt;ii14@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feat(float): open float relative to mouse #21531</title>
<updated>2023-01-10T10:22:41+00:00</updated>
<author>
<name>Sebastian Lyng Johansen</name>
<email>seblyng98@gmail.com</email>
</author>
<published>2023-01-10T10:22:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=870ca1de52b240926b88f01afa697cd9b119bdac'/>
<id>870ca1de52b240926b88f01afa697cd9b119bdac</id>
<content type='text'>
Problem:
No easy way to position a LSP hover window relative to mouse.

Solution:
Introduce another option to the `relative` key in `nvim_open_win()`.

With this PR it should be possible to override the handler and do something
similar to this https://github.com/neovim/neovim/pull/19481#issuecomment-1193248674
to have hover information displayed from the mouse.

Test case:

    ```lua
    local util = require('vim.lsp.util')

    local function make_position_param(window, offset_encoding)
        window = window or 0
        local buf = vim.api.nvim_win_get_buf(window)
        local row, col

        local mouse = vim.fn.getmousepos()
        row = mouse.line
        col = mouse.column

        offset_encoding = offset_encoding or util._get_offset_encoding(buf)
        row = row - 1
        local line = vim.api.nvim_buf_get_lines(buf, row, row + 1, true)[1]
        if not line then
            return { line = 0, character = 0 }
        end
        if #line &lt; col then
            return { line = 0, character = 0 }
        end

        col = util._str_utfindex_enc(line, col, offset_encoding)

        return { line = row, character = col }
    end

    local make_params = function(window, offset_encoding)
        window = window or 0
        local buf = vim.api.nvim_win_get_buf(window)
        offset_encoding = offset_encoding or util._get_offset_encoding(buf)
        return {
            textDocument = util.make_text_document_params(buf),
            position = make_position_param(window, offset_encoding),
        }
    end

    local hover_timer = nil
    vim.o.mousemoveevent = true

    vim.keymap.set({ '', 'i' }, '&lt;MouseMove&gt;', function()
        if hover_timer then
            hover_timer:close()
        end
        hover_timer = vim.defer_fn(function()
            hover_timer = nil
            local params = make_params()
            vim.lsp.buf_request(
                0,
                'textDocument/hover',
                params,
                vim.lsp.with(vim.lsp.handlers.hover, {
                    silent = true,
                    focusable = false,
                    relative = 'mouse',
                })
            )
        end, 500)
        return '&lt;MouseMove&gt;'
    end, { expr = true })
    ```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
No easy way to position a LSP hover window relative to mouse.

Solution:
Introduce another option to the `relative` key in `nvim_open_win()`.

With this PR it should be possible to override the handler and do something
similar to this https://github.com/neovim/neovim/pull/19481#issuecomment-1193248674
to have hover information displayed from the mouse.

Test case:

    ```lua
    local util = require('vim.lsp.util')

    local function make_position_param(window, offset_encoding)
        window = window or 0
        local buf = vim.api.nvim_win_get_buf(window)
        local row, col

        local mouse = vim.fn.getmousepos()
        row = mouse.line
        col = mouse.column

        offset_encoding = offset_encoding or util._get_offset_encoding(buf)
        row = row - 1
        local line = vim.api.nvim_buf_get_lines(buf, row, row + 1, true)[1]
        if not line then
            return { line = 0, character = 0 }
        end
        if #line &lt; col then
            return { line = 0, character = 0 }
        end

        col = util._str_utfindex_enc(line, col, offset_encoding)

        return { line = row, character = col }
    end

    local make_params = function(window, offset_encoding)
        window = window or 0
        local buf = vim.api.nvim_win_get_buf(window)
        offset_encoding = offset_encoding or util._get_offset_encoding(buf)
        return {
            textDocument = util.make_text_document_params(buf),
            position = make_position_param(window, offset_encoding),
        }
    end

    local hover_timer = nil
    vim.o.mousemoveevent = true

    vim.keymap.set({ '', 'i' }, '&lt;MouseMove&gt;', function()
        if hover_timer then
            hover_timer:close()
        end
        hover_timer = vim.defer_fn(function()
            hover_timer = nil
            local params = make_params()
            vim.lsp.buf_request(
                0,
                'textDocument/hover',
                params,
                vim.lsp.with(vim.lsp.handlers.hover, {
                    silent = true,
                    focusable = false,
                    relative = 'mouse',
                })
            )
        end, 500)
        return '&lt;MouseMove&gt;'
    end, { expr = true })
    ```</pre>
</div>
</content>
</entry>
<entry>
<title>fix(ui): set stc to empty in floatwin with minimal style (#21720)</title>
<updated>2023-01-10T09:36:48+00:00</updated>
<author>
<name>Raphael</name>
<email>glephunter@gmail.com</email>
</author>
<published>2023-01-10T09:36:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=87cfe50944ef2c84de98eb6b124fe312eef31313'/>
<id>87cfe50944ef2c84de98eb6b124fe312eef31313</id>
<content type='text'>
fix(ui): set stc to emtpy in floatwin with minimal style</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix(ui): set stc to emtpy in floatwin with minimal style</pre>
</div>
</content>
</entry>
<entry>
<title>feat(ui): add 'statuscolumn' option</title>
<updated>2023-01-09T17:12:06+00:00</updated>
<author>
<name>luukvbaal</name>
<email>31730729+luukvbaal@users.noreply.github.com</email>
</author>
<published>2023-01-09T17:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=364b131f42509326c912c9b0fef5dfc94ed23b41'/>
<id>364b131f42509326c912c9b0fef5dfc94ed23b41</id>
<content type='text'>
Problem:    Unable to customize the column next to a window ('gutter').
Solution:   Add 'statuscolumn' option that follows the 'statusline' syntax,
	    allowing to customize the status column. Also supporting the %@
	    click execute function label. Adds new items @C and @s which
	    will print the fold and sign columns. Line numbers and signs
	    can be clicked, highlighted, aligned, transformed, margined etc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Unable to customize the column next to a window ('gutter').
Solution:   Add 'statuscolumn' option that follows the 'statusline' syntax,
	    allowing to customize the status column. Also supporting the %@
	    click execute function label. Adds new items @C and @s which
	    will print the fold and sign columns. Line numbers and signs
	    can be clicked, highlighted, aligned, transformed, margined etc.</pre>
</div>
</content>
</entry>
<entry>
<title>fix: use enum type</title>
<updated>2023-01-09T09:00:32+00:00</updated>
<author>
<name>Raphael</name>
<email>glephunter@gmail.com</email>
</author>
<published>2023-01-09T09:00:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=3a8be82175c3bcc26640ecfe7d13c7d8bdc06632'/>
<id>3a8be82175c3bcc26640ecfe7d13c7d8bdc06632</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
