From af34737b3ad94e5fcf03628db7df14cff481bf56 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Wed, 23 Apr 2025 06:50:22 -0700 Subject: refactor: deprecate util.validate_bufnr() --- .github/ci/lint.sh | 5 +++++ lsp/clangd.lua | 3 --- lsp/ds_pinyin_lsp.lua | 4 ---- lsp/rust_analyzer.lua | 1 - lua/lspconfig/util.lua | 30 ++++++++++++++++-------------- 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 -- cgit v1.2.3-70-g09d2