mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	feat: remove deprecated features
Remove following functions: - vim.lsp.util.extract_completion_items - vim.lsp.util.get_progress_messages - vim.lsp.util.parse_snippet() - vim.lsp.util.text_document_completion_list_to_complete_items - LanguageTree:for_each_child - health#report_error - health#report_info - health#report_ok - health#report_start - health#report_warn - vim.health.report_error - vim.health.report_info - vim.health.report_ok - vim.health.report_start - vim.health.report_warn
This commit is contained in:
		@@ -1,40 +0,0 @@
 | 
				
			|||||||
function! s:deprecate(type) abort
 | 
					 | 
				
			||||||
  let deprecate = v:lua.vim.deprecate('health#report_' . a:type, 'vim.health.' . a:type, '0.11')
 | 
					 | 
				
			||||||
  redraw | echo 'Running healthchecks...'
 | 
					 | 
				
			||||||
  if deprecate isnot v:null
 | 
					 | 
				
			||||||
    call v:lua.vim.health.warn(deprecate)
 | 
					 | 
				
			||||||
  endif
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function! health#report_start(name) abort
 | 
					 | 
				
			||||||
  call v:lua.vim.health.start(a:name)
 | 
					 | 
				
			||||||
  call s:deprecate('start')
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function! health#report_info(msg) abort
 | 
					 | 
				
			||||||
  call v:lua.vim.health.info(a:msg)
 | 
					 | 
				
			||||||
  call s:deprecate('info')
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function! health#report_ok(msg) abort
 | 
					 | 
				
			||||||
  call v:lua.vim.health.ok(a:msg)
 | 
					 | 
				
			||||||
  call s:deprecate('ok')
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function! health#report_warn(msg, ...) abort
 | 
					 | 
				
			||||||
  if a:0 > 0
 | 
					 | 
				
			||||||
    call v:lua.vim.health.warn(a:msg, a:1)
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    call v:lua.vim.health.warn(a:msg)
 | 
					 | 
				
			||||||
  endif
 | 
					 | 
				
			||||||
  call s:deprecate('warn')
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function! health#report_error(msg, ...) abort
 | 
					 | 
				
			||||||
  if a:0 > 0
 | 
					 | 
				
			||||||
    call v:lua.vim.health.error(a:msg, a:1)
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    call v:lua.vim.health.error(a:msg)
 | 
					 | 
				
			||||||
  endif
 | 
					 | 
				
			||||||
  call s:deprecate('error')
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
@@ -185,53 +185,6 @@ function M.error(msg, ...)
 | 
				
			|||||||
  collect_output(input)
 | 
					  collect_output(input)
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- @param type string
 | 
					 | 
				
			||||||
local function deprecate(type)
 | 
					 | 
				
			||||||
  local before = string.format('vim.health.report_%s()', type)
 | 
					 | 
				
			||||||
  local after = string.format('vim.health.%s()', type)
 | 
					 | 
				
			||||||
  local message = vim.deprecate(before, after, '0.11')
 | 
					 | 
				
			||||||
  if message then
 | 
					 | 
				
			||||||
    M.warn(message)
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
  vim.cmd.redraw()
 | 
					 | 
				
			||||||
  vim.print('Running healthchecks...')
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- @deprecated
 | 
					 | 
				
			||||||
--- @param name string
 | 
					 | 
				
			||||||
function M.report_start(name)
 | 
					 | 
				
			||||||
  deprecate('start')
 | 
					 | 
				
			||||||
  M.start(name)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- @deprecated
 | 
					 | 
				
			||||||
--- @param msg string
 | 
					 | 
				
			||||||
function M.report_info(msg)
 | 
					 | 
				
			||||||
  deprecate('info')
 | 
					 | 
				
			||||||
  M.info(msg)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- @deprecated
 | 
					 | 
				
			||||||
--- @param msg string
 | 
					 | 
				
			||||||
function M.report_ok(msg)
 | 
					 | 
				
			||||||
  deprecate('ok')
 | 
					 | 
				
			||||||
  M.ok(msg)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- @deprecated
 | 
					 | 
				
			||||||
--- @param msg string
 | 
					 | 
				
			||||||
function M.report_warn(msg, ...)
 | 
					 | 
				
			||||||
  deprecate('warn')
 | 
					 | 
				
			||||||
  M.warn(msg, ...)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- @deprecated
 | 
					 | 
				
			||||||
--- @param msg string
 | 
					 | 
				
			||||||
function M.report_error(msg, ...)
 | 
					 | 
				
			||||||
  deprecate('error')
 | 
					 | 
				
			||||||
  M.error(msg, ...)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function M.provider_disabled(provider)
 | 
					function M.provider_disabled(provider)
 | 
				
			||||||
  local loaded_var = 'loaded_' .. provider .. '_provider'
 | 
					  local loaded_var = 'loaded_' .. provider .. '_provider'
 | 
				
			||||||
  local v = vim.g[loaded_var]
 | 
					  local v = vim.g[loaded_var]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@ local protocol = require('vim.lsp.protocol')
 | 
				
			|||||||
local ms = protocol.Methods
 | 
					local ms = protocol.Methods
 | 
				
			||||||
local util = require('vim.lsp.util')
 | 
					local util = require('vim.lsp.util')
 | 
				
			||||||
local api = vim.api
 | 
					local api = vim.api
 | 
				
			||||||
 | 
					local completion = require('vim.lsp._completion')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- @type table<string,lsp.Handler>
 | 
					--- @type table<string,lsp.Handler>
 | 
				
			||||||
local M = {}
 | 
					local M = {}
 | 
				
			||||||
@@ -353,7 +354,7 @@ M[ms.textDocument_completion] = function(_, result, _, _)
 | 
				
			|||||||
  local textMatch = vim.fn.match(line_to_cursor, '\\k*$')
 | 
					  local textMatch = vim.fn.match(line_to_cursor, '\\k*$')
 | 
				
			||||||
  local prefix = line_to_cursor:sub(textMatch + 1)
 | 
					  local prefix = line_to_cursor:sub(textMatch + 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  local matches = util.text_document_completion_list_to_complete_items(result, prefix)
 | 
					  local matches = completion._lsp_to_complete_items(result, prefix)
 | 
				
			||||||
  vim.fn.complete(textMatch + 1, matches)
 | 
					  vim.fn.complete(textMatch + 1, matches)
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,4 @@
 | 
				
			|||||||
local protocol = require('vim.lsp.protocol')
 | 
					local protocol = require('vim.lsp.protocol')
 | 
				
			||||||
local snippet = require('vim.lsp._snippet_grammar')
 | 
					 | 
				
			||||||
local validate = vim.validate
 | 
					local validate = vim.validate
 | 
				
			||||||
local api = vim.api
 | 
					local api = vim.api
 | 
				
			||||||
local list_extend = vim.list_extend
 | 
					local list_extend = vim.list_extend
 | 
				
			||||||
@@ -343,68 +342,6 @@ local function get_line_byte_from_position(bufnr, position, offset_encoding)
 | 
				
			|||||||
  return col
 | 
					  return col
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- Process and return progress reports from lsp server
 | 
					 | 
				
			||||||
---@private
 | 
					 | 
				
			||||||
---@deprecated Use vim.lsp.status() or access client.progress directly
 | 
					 | 
				
			||||||
function M.get_progress_messages()
 | 
					 | 
				
			||||||
  vim.deprecate('vim.lsp.util.get_progress_messages()', 'vim.lsp.status()', '0.11')
 | 
					 | 
				
			||||||
  local new_messages = {}
 | 
					 | 
				
			||||||
  local progress_remove = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  for _, client in ipairs(vim.lsp.get_clients()) do
 | 
					 | 
				
			||||||
    local groups = {}
 | 
					 | 
				
			||||||
    for progress in client.progress do
 | 
					 | 
				
			||||||
      local value = progress.value
 | 
					 | 
				
			||||||
      if type(value) == 'table' and value.kind then
 | 
					 | 
				
			||||||
        local group = groups[progress.token]
 | 
					 | 
				
			||||||
        if not group then
 | 
					 | 
				
			||||||
          group = {
 | 
					 | 
				
			||||||
            done = false,
 | 
					 | 
				
			||||||
            progress = true,
 | 
					 | 
				
			||||||
            title = 'empty title',
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
          groups[progress.token] = group
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
        group.title = value.title or group.title
 | 
					 | 
				
			||||||
        group.cancellable = value.cancellable or group.cancellable
 | 
					 | 
				
			||||||
        if value.kind == 'end' then
 | 
					 | 
				
			||||||
          group.done = true
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
        group.message = value.message or group.message
 | 
					 | 
				
			||||||
        group.percentage = value.percentage or group.percentage
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    for _, group in pairs(groups) do
 | 
					 | 
				
			||||||
      table.insert(new_messages, group)
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    local messages = client.messages
 | 
					 | 
				
			||||||
    local data = messages
 | 
					 | 
				
			||||||
    for token, ctx in pairs(data.progress) do
 | 
					 | 
				
			||||||
      local new_report = {
 | 
					 | 
				
			||||||
        name = data.name,
 | 
					 | 
				
			||||||
        title = ctx.title or 'empty title',
 | 
					 | 
				
			||||||
        message = ctx.message,
 | 
					 | 
				
			||||||
        percentage = ctx.percentage,
 | 
					 | 
				
			||||||
        done = ctx.done,
 | 
					 | 
				
			||||||
        progress = true,
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      table.insert(new_messages, new_report)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      if ctx.done then
 | 
					 | 
				
			||||||
        table.insert(progress_remove, { client = client, token = token })
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  for _, item in ipairs(progress_remove) do
 | 
					 | 
				
			||||||
    item.client.messages.progress[item.token] = nil
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return new_messages
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- Applies a list of text edits to a buffer.
 | 
					--- Applies a list of text edits to a buffer.
 | 
				
			||||||
---@param text_edits table list of `TextEdit` objects
 | 
					---@param text_edits table list of `TextEdit` objects
 | 
				
			||||||
---@param bufnr integer Buffer id
 | 
					---@param bufnr integer Buffer id
 | 
				
			||||||
@@ -541,38 +478,6 @@ function M.apply_text_edits(text_edits, bufnr, offset_encoding)
 | 
				
			|||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- local valid_windows_path_characters = "[^<>:\"/\\|?*]"
 | 
					 | 
				
			||||||
-- local valid_unix_path_characters = "[^/]"
 | 
					 | 
				
			||||||
-- https://github.com/davidm/lua-glob-pattern
 | 
					 | 
				
			||||||
-- https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names
 | 
					 | 
				
			||||||
-- function M.glob_to_regex(glob)
 | 
					 | 
				
			||||||
-- end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- Can be used to extract the completion items from a
 | 
					 | 
				
			||||||
--- `textDocument/completion` request, which may return one of
 | 
					 | 
				
			||||||
--- `CompletionItem[]`, `CompletionList` or null.
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
--- Note that this method doesn't apply `itemDefaults` to `CompletionList`s, and hence the returned
 | 
					 | 
				
			||||||
--- results might be incorrect.
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
---@deprecated
 | 
					 | 
				
			||||||
---@param result table The result of a `textDocument/completion` request
 | 
					 | 
				
			||||||
---@return lsp.CompletionItem[] List of completion items
 | 
					 | 
				
			||||||
---@see https://microsoft.github.io/language-server-protocol/specification#textDocument_completion
 | 
					 | 
				
			||||||
function M.extract_completion_items(result)
 | 
					 | 
				
			||||||
  vim.deprecate('vim.lsp.util.extract_completion_items()', nil, '0.11')
 | 
					 | 
				
			||||||
  if type(result) == 'table' and result.items then
 | 
					 | 
				
			||||||
    -- result is a `CompletionList`
 | 
					 | 
				
			||||||
    return result.items
 | 
					 | 
				
			||||||
  elseif result ~= nil then
 | 
					 | 
				
			||||||
    -- result is `CompletionItem[]`
 | 
					 | 
				
			||||||
    return result
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    -- result is `null`
 | 
					 | 
				
			||||||
    return {}
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- Applies a `TextDocumentEdit`, which is a list of changes to a single
 | 
					--- Applies a `TextDocumentEdit`, which is a list of changes to a single
 | 
				
			||||||
--- document.
 | 
					--- document.
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
@@ -615,38 +520,6 @@ function M.apply_text_document_edit(text_document_edit, index, offset_encoding)
 | 
				
			|||||||
  M.apply_text_edits(text_document_edit.edits, bufnr, offset_encoding)
 | 
					  M.apply_text_edits(text_document_edit.edits, bufnr, offset_encoding)
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- Parses snippets in a completion entry.
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
---@deprecated
 | 
					 | 
				
			||||||
---@param input string unparsed snippet
 | 
					 | 
				
			||||||
---@return string parsed snippet
 | 
					 | 
				
			||||||
function M.parse_snippet(input)
 | 
					 | 
				
			||||||
  vim.deprecate('vim.lsp.util.parse_snippet()', nil, '0.11')
 | 
					 | 
				
			||||||
  local ok, parsed = pcall(function()
 | 
					 | 
				
			||||||
    return snippet.parse(input)
 | 
					 | 
				
			||||||
  end)
 | 
					 | 
				
			||||||
  if not ok then
 | 
					 | 
				
			||||||
    return input
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return tostring(parsed)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- Turns the result of a `textDocument/completion` request into vim-compatible
 | 
					 | 
				
			||||||
--- |complete-items|.
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
---@deprecated
 | 
					 | 
				
			||||||
---@param result table The result of a `textDocument/completion` call, e.g.
 | 
					 | 
				
			||||||
--- from |vim.lsp.buf.completion()|, which may be one of `CompletionItem[]`,
 | 
					 | 
				
			||||||
--- `CompletionList` or `null`
 | 
					 | 
				
			||||||
---@param prefix (string) the prefix to filter the completion items
 | 
					 | 
				
			||||||
---@return table[] items
 | 
					 | 
				
			||||||
---@see complete-items
 | 
					 | 
				
			||||||
function M.text_document_completion_list_to_complete_items(result, prefix)
 | 
					 | 
				
			||||||
  vim.deprecate('vim.lsp.util.text_document_completion_list_to_complete_items()', nil, '0.11')
 | 
					 | 
				
			||||||
  return vim.lsp._completion._lsp_to_complete_items(result, prefix)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local function path_components(path)
 | 
					local function path_components(path)
 | 
				
			||||||
  return vim.split(path, '/', { plain = true })
 | 
					  return vim.split(path, '/', { plain = true })
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -463,24 +463,6 @@ function LanguageTree:parse(range)
 | 
				
			|||||||
  return self._trees
 | 
					  return self._trees
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---@deprecated Misleading name. Use `LanguageTree:children()` (non-recursive) instead,
 | 
					 | 
				
			||||||
---            add recursion yourself if needed.
 | 
					 | 
				
			||||||
--- Invokes the callback for each |LanguageTree| and its children recursively
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
---@param fn fun(tree: vim.treesitter.LanguageTree, lang: string)
 | 
					 | 
				
			||||||
---@param include_self? boolean Whether to include the invoking tree in the results
 | 
					 | 
				
			||||||
function LanguageTree:for_each_child(fn, include_self)
 | 
					 | 
				
			||||||
  vim.deprecate('LanguageTree:for_each_child()', 'LanguageTree:children()', '0.11')
 | 
					 | 
				
			||||||
  if include_self then
 | 
					 | 
				
			||||||
    fn(self, self._lang)
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  for _, child in pairs(self._children) do
 | 
					 | 
				
			||||||
    --- @diagnostic disable-next-line:deprecated
 | 
					 | 
				
			||||||
    child:for_each_child(fn, true)
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- Invokes the callback for each |LanguageTree| recursively.
 | 
					--- Invokes the callback for each |LanguageTree| recursively.
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
--- Note: This includes the invoking tree's child trees as well.
 | 
					--- Note: This includes the invoking tree's child trees as well.
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user