fix: added global position encoding

This commit is contained in:
dlond 2025-09-06 12:55:48 +12:00 committed by Daniel Lond
parent 161310a072
commit 49581942c7
2 changed files with 13 additions and 11 deletions

View File

@ -3,24 +3,28 @@ local M = {}
function M.setup()
local lspconfig = require 'lspconfig'
-- Get capabilities from blink.cmp if available
local capabilities = {}
pcall(function()
capabilities = require('blink.cmp').get_lsp_capabilities()
end)
--
-- Set global position encoding preference
capabilities.offsetEncoding = { 'utf-8', 'utf-16' }
-- Load server configurations
local servers = require('plugins.config.lsp.servers').get_servers()
-- Setup each server with capabilities
for name, config in pairs(servers) do
config.capabilities = vim.tbl_deep_extend('force', {}, capabilities, config.capabilities or {})
lspconfig[name].setup(config)
end
-- Setup LSP keymaps
require('plugins.config.lsp.keymaps').setup()
end
return M
return M

View File

@ -6,15 +6,15 @@ local util = require 'lspconfig.util'
-- Get clang-wrapper resource-root for Nix environments
local function get_clang_resource_dir()
-- Try to find clang-wrapper's resource-root
local handle = io.popen('ls -d /nix/store/*clang-wrapper*/resource-root 2>/dev/null | head -1')
local handle = io.popen 'ls -d /nix/store/*clang-wrapper*/resource-root 2>/dev/null | head -1'
if handle then
local resource_root = handle:read('*l')
local resource_root = handle:read '*l'
handle:close()
if resource_root and resource_root ~= '' then
return resource_root
end
end
return nil -- Let clangd use its default
return nil -- Let clangd use its default
end
function M.get_servers()
@ -30,7 +30,7 @@ function M.get_servers()
'--header-insertion-decorators',
'--header-insertion=iwyu',
}
-- Add resource-dir if in Nix environment
local resource_dir = get_clang_resource_dir()
if resource_dir then
@ -72,7 +72,6 @@ function M.get_servers()
},
},
},
positionEncoding = 'utf-8',
},
-- Python Linter/Formatter
@ -106,4 +105,3 @@ function M.get_servers()
end
return M