Skip to content

Commit 4ac7a3c

Browse files
committed
fix(lsp): fall back to default offset encoding if not set
1 parent 0362314 commit 4ac7a3c

16 files changed

+30
-31
lines changed

ftplugin/rust.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ if not vim.g.loaded_rustaceanvim then
2323
vim.lsp.commands['rust-analyzer.gotoLocation'] = function(command, ctx)
2424
local client = vim.lsp.get_client_by_id(ctx.client_id)
2525
if client then
26-
compat.show_document(command.arguments[1], client.offset_encoding)
26+
compat.show_document(command.arguments[1], client.offset_encoding or 'utf-8')
2727
end
2828
end
2929

lua/rustaceanvim/commands/code_action_group.lua

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ local M = {}
2020
---@param ctx table
2121
function M.apply_action(action, client, ctx)
2222
if action.edit then
23-
vim.lsp.util.apply_workspace_edit(action.edit, client.offset_encoding)
23+
vim.lsp.util.apply_workspace_edit(action.edit, client.offset_encoding or 'utf-8')
2424
end
2525
if action.command then
2626
local command = type(action.command) == 'table' and action.command or action
@@ -383,7 +383,7 @@ M.code_action_group = function()
383383
if #clients == 0 then
384384
return
385385
end
386-
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding)
386+
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding or 'utf-8')
387387
---@diagnostic disable-next-line: inject-field
388388
params.context = context
389389

lua/rustaceanvim/commands/expand_macro.lua

+2-7
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,6 @@ local ui = require('rustaceanvim.ui')
22

33
local M = {}
44

5-
---@return lsp_position_params
6-
---@param offset_encoding 'utf-8'|'utf-16'|'utf-32'
7-
local function get_params(offset_encoding)
8-
return vim.lsp.util.make_position_params(0, offset_encoding)
9-
end
10-
115
---@type integer | nil
126
local latest_buf_id = nil
137

@@ -78,7 +72,8 @@ function M.expand_macro()
7872
if #clients == 0 then
7973
return
8074
end
81-
ra.buf_request(0, 'rust-analyzer/expandMacro', get_params(clients[1].offset_encoding), handler)
75+
local params = vim.lsp.util.make_position_params(0, clients[1].offset_encoding or 'utf-8')
76+
ra.buf_request(0, 'rust-analyzer/expandMacro', params, handler)
8277
end
8378

8479
return M.expand_macro

lua/rustaceanvim/commands/external_docs.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ function M.open_external_docs()
99
ra.buf_request(
1010
0,
1111
'experimental/externalDocs',
12-
vim.lsp.util.make_position_params(0, clients[1].offset_encoding),
12+
vim.lsp.util.make_position_params(0, clients[1].offset_encoding or 'utf-8'),
1313
function(_, url)
1414
if url then
1515
local config = require('rustaceanvim.config.internal')

lua/rustaceanvim/commands/hover_range.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ function M.hover_range()
4848
if #clients == 0 then
4949
return
5050
end
51-
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding)
51+
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding or 'utf-8')
5252
---@diagnostic disable-next-line: inject-field
5353
params.position = get_visual_selected_range()
5454
params.range = nil

lua/rustaceanvim/commands/join_lines.lua

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ local function modify_params(params)
1212
end
1313

1414
local function handler(_, result, ctx)
15-
vim.lsp.util.apply_text_edits(result, ctx.bufnr, vim.lsp.get_client_by_id(ctx.client_id).offset_encoding)
15+
vim.lsp.util.apply_text_edits(result, ctx.bufnr, vim.lsp.get_client_by_id(ctx.client_id).offset_encoding or 'utf-8')
1616
end
1717

1818
local ra = require('rustaceanvim.rust_analyzer')
@@ -24,7 +24,7 @@ function M.join_lines_visual()
2424
if #clients == 0 then
2525
return
2626
end
27-
local params = modify_params(vim.lsp.util.make_given_range_params(nil, nil, 0, clients[1].offset_encoding))
27+
local params = modify_params(vim.lsp.util.make_given_range_params(nil, nil, 0, clients[1].offset_encoding or 'utf-8'))
2828
ra.buf_request(0, 'experimental/joinLines', params, handler)
2929
end
3030

@@ -35,7 +35,7 @@ function M.join_lines()
3535
if #clients == 0 then
3636
return
3737
end
38-
local params = modify_params(vim.lsp.util.make_range_params(0, clients[1].offset_encoding))
38+
local params = modify_params(vim.lsp.util.make_range_params(0, clients[1].offset_encoding or 'utf-8'))
3939
ra.buf_request(0, 'experimental/joinLines', params, handler)
4040
end
4141

lua/rustaceanvim/commands/move_item.lua

+6-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@ local function handler(_, text_edits, ctx)
4141
local cursor = extract_cursor_position(text_edits)
4242
local overrides = require('rustaceanvim.overrides')
4343
overrides.snippet_text_edits_to_text_edits(text_edits)
44-
vim.lsp.util.apply_text_edits(text_edits, ctx.bufnr, vim.lsp.get_client_by_id(ctx.client_id).offset_encoding)
44+
vim.lsp.util.apply_text_edits(
45+
text_edits,
46+
ctx.bufnr,
47+
vim.lsp.get_client_by_id(ctx.client_id).offset_encoding or 'utf-8'
48+
)
4549
vim.api.nvim_win_set_cursor(0, cursor)
4650
end
4751

@@ -53,7 +57,7 @@ function M.move_item(direction)
5357
if #clients == 0 then
5458
return
5559
end
56-
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding)
60+
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding or 'utf-8')
5761
---@diagnostic disable-next-line: inject-field
5862
params.direction = direction
5963
ra.buf_request(0, 'experimental/moveItem', params, handler)

lua/rustaceanvim/commands/open_cargo_toml.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ local function handler(_, result, ctx)
1515

1616
local client = vim.lsp.get_client_by_id(ctx.client_id)
1717
if client then
18-
compat.show_document(result, client.offset_encoding)
18+
compat.show_document(result, client.offset_encoding or 'utf-8')
1919
end
2020
end
2121

lua/rustaceanvim/commands/parent_module.lua

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ local function handler(_, result, ctx)
1616

1717
local client = vim.lsp.get_client_by_id(ctx.client_id)
1818
if client then
19-
compat.show_document(location, client.offset_encoding)
19+
compat.show_document(location, client.offset_encoding or 'utf-8')
2020
end
2121
end
2222

@@ -27,7 +27,7 @@ function M.parent_module()
2727
if #clients == 0 then
2828
return
2929
end
30-
local params = vim.lsp.util.make_position_params(0, clients[1].offset_encoding)
30+
local params = vim.lsp.util.make_position_params(0, clients[1].offset_encoding or 'utf-8')
3131
ra.buf_request(0, 'experimental/parentModule', params, handler)
3232
end
3333

lua/rustaceanvim/commands/ssr.lua

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ local function handler(err, result, ctx)
1919

2020
local client = vim.lsp.get_client_by_id(ctx.client_id)
2121
if client then
22-
vim.lsp.util.apply_workspace_edit(result, client.offset_encoding)
22+
vim.lsp.util.apply_workspace_edit(result, client.offset_encoding or 'utf-8')
2323
end
2424
end
2525

@@ -30,8 +30,8 @@ local function ssr(query, make_range_params)
3030
if #clients == 0 then
3131
return
3232
end
33-
local params = vim.lsp.util.make_position_params(0, clients[1].offset_encoding)
34-
local range = make_range_params(0, clients[1].offset_encoding).range
33+
local params = vim.lsp.util.make_position_params(0, clients[1].offset_encoding or 'utf-8')
34+
local range = make_range_params(0, clients[1].offset_encoding or 'utf-8').range
3535
if not query then
3636
vim.ui.input({ prompt = 'Enter query: ' }, function(input)
3737
query = input
@@ -51,7 +51,7 @@ end
5151
---@param query string | nil
5252
function M.ssr_visual(query)
5353
ssr(query, function(winnr, offset_encoding)
54-
return vim.lsp.util.make_given_range_params(nil, nil, winnr, offset_encoding)
54+
return vim.lsp.util.make_given_range_params(nil, nil, winnr, offset_encoding or 'utf-8')
5555
end)
5656
end
5757

lua/rustaceanvim/commands/syntax_tree.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function M.syntax_tree()
3030
if #clients == 0 then
3131
return
3232
end
33-
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding)
33+
local params = vim.lsp.util.make_range_params(0, clients[1].offset_encoding or 'utf-8')
3434
ra.buf_request(0, 'rust-analyzer/syntaxTree', params, handler)
3535
end
3636

lua/rustaceanvim/commands/view_ir.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ function M.viewIR(level)
4646
if #clients == 0 then
4747
return
4848
end
49-
local position_params = vim.lsp.util.make_position_params(0, clients[1].offset_encoding)
49+
local position_params = vim.lsp.util.make_position_params(0, clients[1].offset_encoding or 'utf-8')
5050
rl.buf_request(0, 'rust-analyzer/view' .. level, position_params, function(...)
5151
return handler(level, ...)
5252
end)

lua/rustaceanvim/compat.lua

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ end
2323
function compat.show_document(location, offset_encoding)
2424
local show_document = vim.lsp.show_document
2525
if not show_document then
26-
return vim.lsp.util.jump_to_location(location, offset_encoding)
26+
return vim.lsp.util.jump_to_location(location, offset_encoding or 'utf-8')
2727
end
28-
return show_document(location, offset_encoding, { focus = true })
28+
return show_document(location, offset_encoding or 'utf-8', { focus = true })
2929
end
3030

3131
--- @param client vim.lsp.Client

lua/rustaceanvim/hover_actions.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ function M.hover_actions()
143143
if #clients == 0 then
144144
return
145145
end
146-
local params = lsp_util.make_position_params(0, clients[1].offset_encoding)
146+
local params = lsp_util.make_position_params(0, clients[1].offset_encoding or 'utf-8')
147147
ra.buf_request(0, 'textDocument/hover', params, M.handler)
148148
end
149149

lua/rustaceanvim/lsp/init.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ local function override_apply_text_edits()
1515
vim.lsp.util.apply_text_edits = function(edits, bufnr, offset_encoding)
1616
local overrides = require('rustaceanvim.overrides')
1717
overrides.snippet_text_edits_to_text_edits(edits)
18-
old_func(edits, bufnr, offset_encoding)
18+
old_func(edits, bufnr, offset_encoding or 'utf-8')
1919
end
2020
end
2121

lua/rustaceanvim/runnables.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ function M.get_runnable_at_cursor_position(runnables)
191191
return
192192
end
193193
---@type lsp.Position
194-
local position = vim.lsp.util.make_position_params(0, clients[1].offset_encoding).position
194+
local position = vim.lsp.util.make_position_params(0, clients[1].offset_encoding or 'utf-8').position
195195
---@type integer|nil, integer|nil
196196
local choice, fallback
197197
for idx, runnable in ipairs(runnables) do

0 commit comments

Comments
 (0)