aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2025-04-23 06:50:22 -0700
committerGitHub <noreply@github.com>2025-04-23 06:50:22 -0700
commitaf34737b3ad94e5fcf03628db7df14cff481bf56 (patch)
tree372d18e761fd770fe282922d255ff98a20d7e88e
parentdocs: update configs.md (diff)
downloadnvim-lspconfig-af34737b3ad94e5fcf03628db7df14cff481bf56.tar
nvim-lspconfig-af34737b3ad94e5fcf03628db7df14cff481bf56.tar.gz
nvim-lspconfig-af34737b3ad94e5fcf03628db7df14cff481bf56.tar.bz2
nvim-lspconfig-af34737b3ad94e5fcf03628db7df14cff481bf56.tar.lz
nvim-lspconfig-af34737b3ad94e5fcf03628db7df14cff481bf56.tar.xz
nvim-lspconfig-af34737b3ad94e5fcf03628db7df14cff481bf56.tar.zst
nvim-lspconfig-af34737b3ad94e5fcf03628db7df14cff481bf56.zip
refactor: deprecate util.validate_bufnr()
-rw-r--r--.github/ci/lint.sh5
-rw-r--r--lsp/clangd.lua3
-rw-r--r--lsp/ds_pinyin_lsp.lua4
-rw-r--r--lsp/rust_analyzer.lua1
-rw-r--r--lua/lspconfig/util.lua30
5 files changed, 21 insertions, 22 deletions
diff --git a/.github/ci/lint.sh b/.github/ci/lint.sh
index 6a030e16..39cb0d3a 100644
--- a/.github/ci/lint.sh
+++ b/.github/ci/lint.sh
@@ -57,6 +57,11 @@ _check_deprecated_in_nvim_0_11() {
echo 'Use vim.iter(vim.fs.parents(fname)):find(…) instead of util.path.search_ancestors(fname,…)'
exit 1
fi
+ if git grep -P 'validate_bufnr' -- 'lsp/*.lua' ; then
+ echo
+ echo 'Do not use util.validate_bufnr(). Nvim stdlib already treats bufnr=0 as "current buffer".'
+ exit 1
+ fi
}
_check_deprecated_utils() {
diff --git a/lsp/clangd.lua b/lsp/clangd.lua
index c6037c26..062b4777 100644
--- a/lsp/clangd.lua
+++ b/lsp/clangd.lua
@@ -11,12 +11,9 @@
--- - clangd relies on a [JSON compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html)
--- specified as compile_commands.json, see https://clangd.llvm.org/installation#compile_commandsjson
-local util = require 'lspconfig.util'
-
-- https://clangd.llvm.org/extensions.html#switch-between-sourceheader
local function switch_source_header(bufnr)
local method_name = 'textDocument/switchSourceHeader'
- bufnr = util.validate_bufnr(bufnr)
local client = vim.lsp.get_clients({ bufnr = bufnr, name = 'clangd' })[1]
if not client then
return vim.notify(('method %s is not supported by any servers active on the current buffer'):format(method_name))
diff --git a/lsp/ds_pinyin_lsp.lua b/lsp/ds_pinyin_lsp.lua
index c1c8b022..bf12272e 100644
--- a/lsp/ds_pinyin_lsp.lua
+++ b/lsp/ds_pinyin_lsp.lua
@@ -15,15 +15,12 @@
---
--- ```
-local util = require 'lspconfig.util'
-
local bin_name = 'ds-pinyin-lsp'
if vim.fn.has 'win32' == 1 then
bin_name = bin_name .. '.exe'
end
local function ds_pinyin_lsp_off(bufnr)
- bufnr = util.validate_bufnr(bufnr)
local ds_pinyin_lsp_client = vim.lsp.get_clients({ bufnr = bufnr, name = 'ds_pinyin_lsp' })[1]
if ds_pinyin_lsp_client then
ds_pinyin_lsp_client.notify('$/turn/completion', {
@@ -35,7 +32,6 @@ local function ds_pinyin_lsp_off(bufnr)
end
local function ds_pinyin_lsp_on(bufnr)
- bufnr = util.validate_bufnr(bufnr)
local ds_pinyin_lsp_client = vim.lsp.get_clients({ bufnr = bufnr, name = 'ds_pinyin_lsp' })[1]
if ds_pinyin_lsp_client then
ds_pinyin_lsp_client.notify('$/turn/completion', {
diff --git a/lsp/rust_analyzer.lua b/lsp/rust_analyzer.lua
index aaa618c3..ba71bba4 100644
--- a/lsp/rust_analyzer.lua
+++ b/lsp/rust_analyzer.lua
@@ -24,7 +24,6 @@
local util = require 'lspconfig.util'
local function reload_workspace(bufnr)
- bufnr = util.validate_bufnr(bufnr)
local clients = vim.lsp.get_clients { bufnr = bufnr, name = 'rust_analyzer' }
for _, client in ipairs(clients) do
vim.notify 'Reloading Cargo Workspace'
diff --git a/lua/lspconfig/util.lua b/lua/lspconfig/util.lua
index f4322281..915e1b41 100644
--- a/lua/lspconfig/util.lua
+++ b/lua/lspconfig/util.lua
@@ -20,20 +20,6 @@ M.default_config = {
-- global on_setup hook
M.on_setup = nil
-function M.bufname_valid(bufname)
- if bufname:match '^/' or bufname:match '^[a-zA-Z]:' or bufname:match '^zipfile://' or bufname:match '^tarfile:' then
- return true
- end
- return false
-end
-
-function M.validate_bufnr(bufnr)
- if nvim_eleven then
- validate('bufnr', bufnr, 'number')
- end
- return bufnr == 0 and api.nvim_get_current_buf() or bufnr
-end
-
local function escape_wildcards(path)
return path:gsub('([%[%]%?%*])', '\\%1')
end
@@ -374,4 +360,20 @@ function M.get_managed_clients()
return clients
end
+--- @deprecated Will be removed. Do not use.
+function M.bufname_valid(bufname)
+ if bufname:match '^/' or bufname:match '^[a-zA-Z]:' or bufname:match '^zipfile://' or bufname:match '^tarfile:' then
+ return true
+ end
+ return false
+end
+
+--- @deprecated Will be removed. Do not use.
+function M.validate_bufnr(bufnr)
+ if nvim_eleven then
+ validate('bufnr', bufnr, 'number')
+ end
+ return bufnr == 0 and api.nvim_get_current_buf() or bufnr
+end
+
return M