mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	feat(lsp)!: rename vim.lsp.get_active_clients to get_clients (#24113)
This commit is contained in:
		 Mathias Fußenegger
					Mathias Fußenegger
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							d0d132fbd0
						
					
				
				
					commit
					1b9ccd38a1
				
			| @@ -129,7 +129,7 @@ LSP FUNCTIONS | |||||||
| - *vim.lsp.util.diagnostics_to_items()*		Use |vim.diagnostic.toqflist()| instead. | - *vim.lsp.util.diagnostics_to_items()*		Use |vim.diagnostic.toqflist()| instead. | ||||||
| - *vim.lsp.util.set_qflist()*			Use |setqflist()| instead. | - *vim.lsp.util.set_qflist()*			Use |setqflist()| instead. | ||||||
| - *vim.lsp.util.set_loclist()*			Use |setloclist()| instead. | - *vim.lsp.util.set_loclist()*			Use |setloclist()| instead. | ||||||
| - *vim.lsp.buf_get_clients()*			Use |vim.lsp.get_active_clients()| with | - *vim.lsp.buf_get_clients()*			Use |vim.lsp.get_clients()| with | ||||||
| 						{buffer=bufnr} instead. | 						{buffer=bufnr} instead. | ||||||
| - *vim.lsp.buf.formatting()*			Use |vim.lsp.buf.format()| with | - *vim.lsp.buf.formatting()*			Use |vim.lsp.buf.format()| with | ||||||
| 						{async=true} instead. | 						{async=true} instead. | ||||||
| @@ -139,7 +139,8 @@ LSP FUNCTIONS | |||||||
| 						or |vim.lsp.buf.format()| instead. | 						or |vim.lsp.buf.format()| instead. | ||||||
| - *vim.lsp.util.get_progress_messages()*	Use |vim.lsp.status()| or access | - *vim.lsp.util.get_progress_messages()*	Use |vim.lsp.status()| or access | ||||||
| 						`progress` of |vim.lsp.client| | 						`progress` of |vim.lsp.client| | ||||||
| - *vim.lsp.for_each_buffer_client()*		Use |vim.lsp.get_active_clients()| | - *vim.lsp.get_active_clients()*		Use |vim.lsp.get_clients()| | ||||||
|  | - *vim.lsp.for_each_buffer_client()*		Use |vim.lsp.get_clients()| | ||||||
|  |  | ||||||
| TREESITTER FUNCTIONS | TREESITTER FUNCTIONS | ||||||
| - *vim.treesitter.language.require_language()*	Use |vim.treesitter.language.add()| | - *vim.treesitter.language.require_language()*	Use |vim.treesitter.language.add()| | ||||||
|   | |||||||
| @@ -38,7 +38,7 @@ Follow these steps to get LSP features: | |||||||
|     }) |     }) | ||||||
| < | < | ||||||
| 3. Check that the server attached to the buffer: > | 3. Check that the server attached to the buffer: > | ||||||
|     :lua =vim.lsp.get_active_clients() |     :lua =vim.lsp.get_clients() | ||||||
|  |  | ||||||
| 4. Configure keymaps and autocmds to use LSP features. See |lsp-config|. | 4. Configure keymaps and autocmds to use LSP features. See |lsp-config|. | ||||||
|  |  | ||||||
| @@ -105,7 +105,7 @@ calls behind capability checks: | |||||||
| To learn what capabilities are available you can run the following command in | To learn what capabilities are available you can run the following command in | ||||||
| a buffer with a started LSP client: >vim | a buffer with a started LSP client: >vim | ||||||
|  |  | ||||||
|     :lua =vim.lsp.get_active_clients()[1].server_capabilities |     :lua =vim.lsp.get_clients()[1].server_capabilities | ||||||
|  |  | ||||||
| Full list of features provided by default can be found in |lsp-buf|. | Full list of features provided by default can be found in |lsp-buf|. | ||||||
|  |  | ||||||
| @@ -114,7 +114,7 @@ FAQ                                                     *lsp-faq* | |||||||
|  |  | ||||||
| - Q: How to force-reload LSP? | - Q: How to force-reload LSP? | ||||||
| - A: Stop all clients, then reload the buffer. >vim | - A: Stop all clients, then reload the buffer. >vim | ||||||
|      :lua vim.lsp.stop_client(vim.lsp.get_active_clients()) |      :lua vim.lsp.stop_client(vim.lsp.get_clients()) | ||||||
|      :edit |      :edit | ||||||
|  |  | ||||||
| - Q: Why isn't completion working? | - Q: Why isn't completion working? | ||||||
| @@ -690,7 +690,7 @@ buf_request_sync({bufnr}, {method}, {params}, {timeout_ms}) | |||||||
|  |  | ||||||
| client()                                                      *vim.lsp.client* | client()                                                      *vim.lsp.client* | ||||||
|     LSP client object. You can get an active client object via |     LSP client object. You can get an active client object via | ||||||
|     |vim.lsp.get_client_by_id()| or |vim.lsp.get_active_clients()|. |     |vim.lsp.get_client_by_id()| or |vim.lsp.get_clients()|. | ||||||
|  |  | ||||||
|     • Methods: |     • Methods: | ||||||
|       • request(method, params, [handler], bufnr) Sends a request to the |       • request(method, params, [handler], bufnr) Sends a request to the | ||||||
| @@ -773,22 +773,6 @@ formatexpr({opts})                                      *vim.lsp.formatexpr()* | |||||||
|                 • timeout_ms (default 500ms). The timeout period for the |                 • timeout_ms (default 500ms). The timeout period for the | ||||||
|                   formatting request. |                   formatting request. | ||||||
|  |  | ||||||
| get_active_clients({filter})                    *vim.lsp.get_active_clients()* |  | ||||||
|     Get active clients. |  | ||||||
|  |  | ||||||
|     Parameters: ~ |  | ||||||
|       • {filter}  (table|nil) A table with key-value pairs used to filter the |  | ||||||
|                   returned clients. The available keys are: |  | ||||||
|                   • id (number): Only return clients with the given id |  | ||||||
|                   • bufnr (number): Only return clients attached to this |  | ||||||
|                     buffer |  | ||||||
|                   • name (string): Only return clients with the given name |  | ||||||
|                   • method (string): Only return clients supporting the given |  | ||||||
|                     method |  | ||||||
|  |  | ||||||
|     Return: ~ |  | ||||||
|         lsp.Client []: List of |vim.lsp.client| objects |  | ||||||
|  |  | ||||||
|                                           *vim.lsp.get_buffers_by_client_id()* |                                           *vim.lsp.get_buffers_by_client_id()* | ||||||
| get_buffers_by_client_id({client_id}) | get_buffers_by_client_id({client_id}) | ||||||
|     Returns list of buffers attached to client_id. |     Returns list of buffers attached to client_id. | ||||||
| @@ -809,6 +793,22 @@ get_client_by_id({client_id})                     *vim.lsp.get_client_by_id()* | |||||||
|     Return: ~ |     Return: ~ | ||||||
|         (nil|lsp.Client) client rpc object |         (nil|lsp.Client) client rpc object | ||||||
|  |  | ||||||
|  | get_clients({filter})                                  *vim.lsp.get_clients()* | ||||||
|  |     Get active clients. | ||||||
|  |  | ||||||
|  |     Parameters: ~ | ||||||
|  |       • {filter}  (table|nil) A table with key-value pairs used to filter the | ||||||
|  |                   returned clients. The available keys are: | ||||||
|  |                   • id (number): Only return clients with the given id | ||||||
|  |                   • bufnr (number): Only return clients attached to this | ||||||
|  |                     buffer | ||||||
|  |                   • name (string): Only return clients with the given name | ||||||
|  |                   • method (string): Only return clients supporting the given | ||||||
|  |                     method | ||||||
|  |  | ||||||
|  |     Return: ~ | ||||||
|  |         lsp.Client []: List of |vim.lsp.client| objects | ||||||
|  |  | ||||||
| get_log_path()                                        *vim.lsp.get_log_path()* | get_log_path()                                        *vim.lsp.get_log_path()* | ||||||
|     Gets the path of the logfile used by the LSP client. |     Gets the path of the logfile used by the LSP client. | ||||||
|  |  | ||||||
| @@ -1040,7 +1040,7 @@ stop_client({client_id}, {force})                      *vim.lsp.stop_client()* | |||||||
|  |  | ||||||
|     You can also use the `stop()` function on a |vim.lsp.client| object. To stop all clients: >lua |     You can also use the `stop()` function on a |vim.lsp.client| object. To stop all clients: >lua | ||||||
|  |  | ||||||
|      vim.lsp.stop_client(vim.lsp.get_active_clients()) |      vim.lsp.stop_client(vim.lsp.get_clients()) | ||||||
| < | < | ||||||
|  |  | ||||||
|     By default asks the server to shutdown, unless stop was requested already |     By default asks the server to shutdown, unless stop was requested already | ||||||
|   | |||||||
| @@ -204,7 +204,8 @@ release. | |||||||
|  |  | ||||||
| • vim.lsp functions: | • vim.lsp functions: | ||||||
|   - |vim.lsp.util.get_progress_messages()|	Use |vim.lsp.status()| instead. |   - |vim.lsp.util.get_progress_messages()|	Use |vim.lsp.status()| instead. | ||||||
|   - |vim.lsp.for_each_buffer_client()|	  	Use |vim.lsp.get_active_clients()| instead. |   - |vim.lsp.get_active_clients()|	  	Use |vim.lsp.get_clients()| instead. | ||||||
|  |   - |vim.lsp.for_each_buffer_client()|	  	Use |vim.lsp.get_clients()| instead. | ||||||
|  |  | ||||||
| • `vim.loop` has been renamed to `vim.uv`. | • `vim.loop` has been renamed to `vim.uv`. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -612,7 +612,7 @@ do | |||||||
|   ---@private |   ---@private | ||||||
|   function changetracking.send_changes(bufnr, firstline, lastline, new_lastline) |   function changetracking.send_changes(bufnr, firstline, lastline, new_lastline) | ||||||
|     local groups = {} ---@type table<string,CTGroup> |     local groups = {} ---@type table<string,CTGroup> | ||||||
|     for _, client in pairs(lsp.get_active_clients({ bufnr = bufnr })) do |     for _, client in pairs(lsp.get_clients({ bufnr = bufnr })) do | ||||||
|       local group = get_group(client) |       local group = get_group(client) | ||||||
|       groups[group_key(group)] = group |       groups[group_key(group)] = group | ||||||
|     end |     end | ||||||
| @@ -734,7 +734,7 @@ end | |||||||
| -- FIXME: DOC: Shouldn't need to use a dummy function | -- FIXME: DOC: Shouldn't need to use a dummy function | ||||||
| -- | -- | ||||||
| --- LSP client object. You can get an active client object via | --- LSP client object. You can get an active client object via | ||||||
| --- |vim.lsp.get_client_by_id()| or |vim.lsp.get_active_clients()|. | --- |vim.lsp.get_client_by_id()| or |vim.lsp.get_clients()|. | ||||||
| --- | --- | ||||||
| --- - Methods: | --- - Methods: | ||||||
| --- | --- | ||||||
| @@ -880,7 +880,7 @@ function lsp.start(config, opts) | |||||||
|   if bufnr == nil or bufnr == 0 then |   if bufnr == nil or bufnr == 0 then | ||||||
|     bufnr = api.nvim_get_current_buf() |     bufnr = api.nvim_get_current_buf() | ||||||
|   end |   end | ||||||
|   for _, clients in ipairs({ uninitialized_clients, lsp.get_active_clients() }) do |   for _, clients in ipairs({ uninitialized_clients, lsp.get_clients() }) do | ||||||
|     for _, client in pairs(clients) do |     for _, client in pairs(clients) do | ||||||
|       if reuse_client(client, config) then |       if reuse_client(client, config) then | ||||||
|         lsp.buf_attach_client(bufnr, client.id) |         lsp.buf_attach_client(bufnr, client.id) | ||||||
| @@ -903,7 +903,7 @@ end | |||||||
| function lsp.status() | function lsp.status() | ||||||
|   local percentage = nil |   local percentage = nil | ||||||
|   local messages = {} |   local messages = {} | ||||||
|   for _, client in ipairs(vim.lsp.get_active_clients()) do |   for _, client in ipairs(vim.lsp.get_clients()) do | ||||||
|     for progress in client.progress do |     for progress in client.progress do | ||||||
|       local value = progress.value |       local value = progress.value | ||||||
|       if type(value) == 'table' and value.kind then |       if type(value) == 'table' and value.kind then | ||||||
| @@ -1755,7 +1755,7 @@ local function text_document_did_save_handler(bufnr) | |||||||
|   bufnr = resolve_bufnr(bufnr) |   bufnr = resolve_bufnr(bufnr) | ||||||
|   local uri = vim.uri_from_bufnr(bufnr) |   local uri = vim.uri_from_bufnr(bufnr) | ||||||
|   local text = once(buf_get_full_text) |   local text = once(buf_get_full_text) | ||||||
|   for _, client in ipairs(lsp.get_active_clients({ bufnr = bufnr })) do |   for _, client in ipairs(lsp.get_clients({ bufnr = bufnr })) do | ||||||
|     local name = api.nvim_buf_get_name(bufnr) |     local name = api.nvim_buf_get_name(bufnr) | ||||||
|     local old_name = changetracking._get_and_set_name(client, bufnr, name) |     local old_name = changetracking._get_and_set_name(client, bufnr, name) | ||||||
|     if old_name and name ~= old_name then |     if old_name and name ~= old_name then | ||||||
| @@ -1823,7 +1823,7 @@ function lsp.buf_attach_client(bufnr, client_id) | |||||||
|       buffer = bufnr, |       buffer = bufnr, | ||||||
|       desc = 'vim.lsp: textDocument/willSave', |       desc = 'vim.lsp: textDocument/willSave', | ||||||
|       callback = function(ctx) |       callback = function(ctx) | ||||||
|         for _, client in ipairs(lsp.get_active_clients({ bufnr = ctx.buf })) do |         for _, client in ipairs(lsp.get_clients({ bufnr = ctx.buf })) do | ||||||
|           local params = { |           local params = { | ||||||
|             textDocument = { |             textDocument = { | ||||||
|               uri = uri, |               uri = uri, | ||||||
| @@ -1858,7 +1858,7 @@ function lsp.buf_attach_client(bufnr, client_id) | |||||||
|       on_lines = text_document_did_change_handler, |       on_lines = text_document_did_change_handler, | ||||||
|       on_reload = function() |       on_reload = function() | ||||||
|         local params = { textDocument = { uri = uri } } |         local params = { textDocument = { uri = uri } } | ||||||
|         for _, client in ipairs(lsp.get_active_clients({ bufnr = bufnr })) do |         for _, client in ipairs(lsp.get_clients({ bufnr = bufnr })) do | ||||||
|           changetracking.reset_buf(client, bufnr) |           changetracking.reset_buf(client, bufnr) | ||||||
|           if vim.tbl_get(client.server_capabilities, 'textDocumentSync', 'openClose') then |           if vim.tbl_get(client.server_capabilities, 'textDocumentSync', 'openClose') then | ||||||
|             client.notify('textDocument/didClose', params) |             client.notify('textDocument/didClose', params) | ||||||
| @@ -1868,7 +1868,7 @@ function lsp.buf_attach_client(bufnr, client_id) | |||||||
|       end, |       end, | ||||||
|       on_detach = function() |       on_detach = function() | ||||||
|         local params = { textDocument = { uri = uri } } |         local params = { textDocument = { uri = uri } } | ||||||
|         for _, client in ipairs(lsp.get_active_clients({ bufnr = bufnr })) do |         for _, client in ipairs(lsp.get_clients({ bufnr = bufnr })) do | ||||||
|           changetracking.reset_buf(client, bufnr) |           changetracking.reset_buf(client, bufnr) | ||||||
|           if vim.tbl_get(client.server_capabilities, 'textDocumentSync', 'openClose') then |           if vim.tbl_get(client.server_capabilities, 'textDocumentSync', 'openClose') then | ||||||
|             client.notify('textDocument/didClose', params) |             client.notify('textDocument/didClose', params) | ||||||
| @@ -1985,7 +1985,7 @@ end | |||||||
| --- You can also use the `stop()` function on a |vim.lsp.client| object. | --- You can also use the `stop()` function on a |vim.lsp.client| object. | ||||||
| --- To stop all clients: | --- To stop all clients: | ||||||
| --- <pre>lua | --- <pre>lua | ||||||
| --- vim.lsp.stop_client(vim.lsp.get_active_clients()) | --- vim.lsp.stop_client(vim.lsp.get_clients()) | ||||||
| --- </pre> | --- </pre> | ||||||
| --- | --- | ||||||
| --- By default asks the server to shutdown, unless stop was requested | --- By default asks the server to shutdown, unless stop was requested | ||||||
| @@ -2006,7 +2006,7 @@ function lsp.stop_client(client_id, force) | |||||||
|   end |   end | ||||||
| end | end | ||||||
|  |  | ||||||
| ---@class vim.lsp.get_active_clients.filter | ---@class vim.lsp.get_clients.filter | ||||||
| ---@field id integer|nil Match clients by id | ---@field id integer|nil Match clients by id | ||||||
| ---@field bufnr integer|nil match clients attached to the given buffer | ---@field bufnr integer|nil match clients attached to the given buffer | ||||||
| ---@field name string|nil match clients by name | ---@field name string|nil match clients by name | ||||||
| @@ -2014,7 +2014,7 @@ end | |||||||
|  |  | ||||||
| --- Get active clients. | --- Get active clients. | ||||||
| --- | --- | ||||||
| ---@param filter vim.lsp.get_active_clients.filter|nil (table|nil) A table with | ---@param filter vim.lsp.get_clients.filter|nil (table|nil) A table with | ||||||
| ---              key-value pairs used to filter the returned clients. | ---              key-value pairs used to filter the returned clients. | ||||||
| ---              The available keys are: | ---              The available keys are: | ||||||
| ---               - id (number): Only return clients with the given id | ---               - id (number): Only return clients with the given id | ||||||
| @@ -2022,7 +2022,7 @@ end | |||||||
| ---               - name (string): Only return clients with the given name | ---               - name (string): Only return clients with the given name | ||||||
| ---               - method (string): Only return clients supporting the given method | ---               - method (string): Only return clients supporting the given method | ||||||
| ---@return lsp.Client[]: List of |vim.lsp.client| objects | ---@return lsp.Client[]: List of |vim.lsp.client| objects | ||||||
| function lsp.get_active_clients(filter) | function lsp.get_clients(filter) | ||||||
|   validate({ filter = { filter, 't', true } }) |   validate({ filter = { filter, 't', true } }) | ||||||
|  |  | ||||||
|   filter = filter or {} |   filter = filter or {} | ||||||
| @@ -2045,6 +2045,13 @@ function lsp.get_active_clients(filter) | |||||||
|   return clients |   return clients | ||||||
| end | end | ||||||
|  |  | ||||||
|  | ---@private | ||||||
|  | ---@deprecated | ||||||
|  | function lsp.get_active_clients(filter) | ||||||
|  |   -- TODO: add vim.deprecate call after 0.10 is out for removal in 0.12 | ||||||
|  |   return lsp.get_clients(filter) | ||||||
|  | end | ||||||
|  |  | ||||||
| api.nvim_create_autocmd('VimLeavePre', { | api.nvim_create_autocmd('VimLeavePre', { | ||||||
|   desc = 'vim.lsp: exit handler', |   desc = 'vim.lsp: exit handler', | ||||||
|   callback = function() |   callback = function() | ||||||
| @@ -2125,7 +2132,7 @@ function lsp.buf_request(bufnr, method, params, handler) | |||||||
|  |  | ||||||
|   bufnr = resolve_bufnr(bufnr) |   bufnr = resolve_bufnr(bufnr) | ||||||
|   local method_supported = false |   local method_supported = false | ||||||
|   local clients = lsp.get_active_clients({ bufnr = bufnr }) |   local clients = lsp.get_clients({ bufnr = bufnr }) | ||||||
|   local client_request_ids = {} |   local client_request_ids = {} | ||||||
|   for _, client in ipairs(clients) do |   for _, client in ipairs(clients) do | ||||||
|     if client.supports_method(method, { bufnr = bufnr }) then |     if client.supports_method(method, { bufnr = bufnr }) then | ||||||
| @@ -2173,7 +2180,7 @@ function lsp.buf_request_all(bufnr, method, params, handler) | |||||||
|   local expected_result_count = 0 |   local expected_result_count = 0 | ||||||
|  |  | ||||||
|   local set_expected_result_count = once(function() |   local set_expected_result_count = once(function() | ||||||
|     for _, client in ipairs(lsp.get_active_clients({ bufnr = bufnr })) do |     for _, client in ipairs(lsp.get_clients({ bufnr = bufnr })) do | ||||||
|       if client.supports_method(method, { bufnr = bufnr }) then |       if client.supports_method(method, { bufnr = bufnr }) then | ||||||
|         expected_result_count = expected_result_count + 1 |         expected_result_count = expected_result_count + 1 | ||||||
|       end |       end | ||||||
| @@ -2240,7 +2247,7 @@ function lsp.buf_notify(bufnr, method, params) | |||||||
|     method = { method, 's' }, |     method = { method, 's' }, | ||||||
|   }) |   }) | ||||||
|   local resp = false |   local resp = false | ||||||
|   for _, client in ipairs(lsp.get_active_clients({ bufnr = bufnr })) do |   for _, client in ipairs(lsp.get_clients({ bufnr = bufnr })) do | ||||||
|     if client.rpc.notify(method, params) then |     if client.rpc.notify(method, params) then | ||||||
|       resp = true |       resp = true | ||||||
|     end |     end | ||||||
| @@ -2367,7 +2374,7 @@ function lsp.formatexpr(opts) | |||||||
|     return 0 |     return 0 | ||||||
|   end |   end | ||||||
|   local bufnr = api.nvim_get_current_buf() |   local bufnr = api.nvim_get_current_buf() | ||||||
|   for _, client in pairs(lsp.get_active_clients({ bufnr = bufnr })) do |   for _, client in pairs(lsp.get_clients({ bufnr = bufnr })) do | ||||||
|     if client.supports_method('textDocument/rangeFormatting') then |     if client.supports_method('textDocument/rangeFormatting') then | ||||||
|       local params = util.make_formatting_params() |       local params = util.make_formatting_params() | ||||||
|       local end_line = vim.fn.getline(end_lnum) --[[@as string]] |       local end_line = vim.fn.getline(end_lnum) --[[@as string]] | ||||||
| @@ -2424,10 +2431,10 @@ end | |||||||
| --- | --- | ||||||
| ---@param bufnr (integer|nil): Buffer handle, or 0 for current | ---@param bufnr (integer|nil): Buffer handle, or 0 for current | ||||||
| ---@return table result is table of (client_id, client) pairs | ---@return table result is table of (client_id, client) pairs | ||||||
| ---@deprecated Use |vim.lsp.get_active_clients()| instead. | ---@deprecated Use |vim.lsp.get_clients()| instead. | ||||||
| function lsp.buf_get_clients(bufnr) | function lsp.buf_get_clients(bufnr) | ||||||
|   local result = {} |   local result = {} | ||||||
|   for _, client in ipairs(lsp.get_active_clients({ bufnr = resolve_bufnr(bufnr) })) do |   for _, client in ipairs(lsp.get_clients({ bufnr = resolve_bufnr(bufnr) })) do | ||||||
|     result[client.id] = client |     result[client.id] = client | ||||||
|   end |   end | ||||||
|   return result |   return result | ||||||
| @@ -2478,7 +2485,7 @@ end | |||||||
| ---                 vim.print(client) | ---                 vim.print(client) | ||||||
| ---               end) | ---               end) | ||||||
| ---             </pre> | ---             </pre> | ||||||
| ---@deprecated use lsp.get_active_clients({ bufnr = bufnr }) with regular loop | ---@deprecated use lsp.get_clients({ bufnr = bufnr }) with regular loop | ||||||
| function lsp.for_each_buffer_client(bufnr, fn) | function lsp.for_each_buffer_client(bufnr, fn) | ||||||
|   return for_each_buffer_client(bufnr, fn) |   return for_each_buffer_client(bufnr, fn) | ||||||
| end | end | ||||||
|   | |||||||
| @@ -197,7 +197,6 @@ end | |||||||
| function M.format(options) | function M.format(options) | ||||||
|   options = options or {} |   options = options or {} | ||||||
|   local bufnr = options.bufnr or api.nvim_get_current_buf() |   local bufnr = options.bufnr or api.nvim_get_current_buf() | ||||||
|  |  | ||||||
|   local mode = api.nvim_get_mode().mode |   local mode = api.nvim_get_mode().mode | ||||||
|   local range = options.range |   local range = options.range | ||||||
|   if not range and mode == 'v' or mode == 'V' then |   if not range and mode == 'v' or mode == 'V' then | ||||||
| @@ -205,7 +204,7 @@ function M.format(options) | |||||||
|   end |   end | ||||||
|   local method = range and 'textDocument/rangeFormatting' or 'textDocument/formatting' |   local method = range and 'textDocument/rangeFormatting' or 'textDocument/formatting' | ||||||
|  |  | ||||||
|   local clients = vim.lsp.get_active_clients({ |   local clients = vim.lsp.get_clients({ | ||||||
|     id = options.id, |     id = options.id, | ||||||
|     bufnr = bufnr, |     bufnr = bufnr, | ||||||
|     name = options.name, |     name = options.name, | ||||||
| @@ -271,7 +270,7 @@ end | |||||||
| function M.rename(new_name, options) | function M.rename(new_name, options) | ||||||
|   options = options or {} |   options = options or {} | ||||||
|   local bufnr = options.bufnr or api.nvim_get_current_buf() |   local bufnr = options.bufnr or api.nvim_get_current_buf() | ||||||
|   local clients = vim.lsp.get_active_clients({ |   local clients = vim.lsp.get_clients({ | ||||||
|     bufnr = bufnr, |     bufnr = bufnr, | ||||||
|     name = options.name, |     name = options.name, | ||||||
|     -- Clients must at least support rename, prepareRename is optional |     -- Clients must at least support rename, prepareRename is optional | ||||||
| @@ -468,7 +467,7 @@ end | |||||||
| --- | --- | ||||||
| function M.list_workspace_folders() | function M.list_workspace_folders() | ||||||
|   local workspace_folders = {} |   local workspace_folders = {} | ||||||
|   for _, client in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do |   for _, client in pairs(vim.lsp.get_clients({ bufnr = 0 })) do | ||||||
|     for _, folder in pairs(client.workspace_folders or {}) do |     for _, folder in pairs(client.workspace_folders or {}) do | ||||||
|       table.insert(workspace_folders, folder.name) |       table.insert(workspace_folders, folder.name) | ||||||
|     end |     end | ||||||
| @@ -493,7 +492,7 @@ function M.add_workspace_folder(workspace_folder) | |||||||
|     { { uri = vim.uri_from_fname(workspace_folder), name = workspace_folder } }, |     { { uri = vim.uri_from_fname(workspace_folder), name = workspace_folder } }, | ||||||
|     {} |     {} | ||||||
|   ) |   ) | ||||||
|   for _, client in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do |   for _, client in pairs(vim.lsp.get_clients({ bufnr = 0 })) do | ||||||
|     local found = false |     local found = false | ||||||
|     for _, folder in pairs(client.workspace_folders or {}) do |     for _, folder in pairs(client.workspace_folders or {}) do | ||||||
|       if folder.name == workspace_folder then |       if folder.name == workspace_folder then | ||||||
| @@ -526,7 +525,7 @@ function M.remove_workspace_folder(workspace_folder) | |||||||
|     { {} }, |     { {} }, | ||||||
|     { { uri = vim.uri_from_fname(workspace_folder), name = workspace_folder } } |     { { uri = vim.uri_from_fname(workspace_folder), name = workspace_folder } } | ||||||
|   ) |   ) | ||||||
|   for _, client in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do |   for _, client in pairs(vim.lsp.get_clients({ bufnr = 0 })) do | ||||||
|     for idx, folder in pairs(client.workspace_folders or {}) do |     for idx, folder in pairs(client.workspace_folders or {}) do | ||||||
|       if folder.name == workspace_folder then |       if folder.name == workspace_folder then | ||||||
|         vim.lsp.buf_notify(0, 'workspace/didChangeWorkspaceFolders', params) |         vim.lsp.buf_notify(0, 'workspace/didChangeWorkspaceFolders', params) | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ function M.check() | |||||||
|   local report_fn = (log_size / 1000000 > 100 and report_warn or report_info) |   local report_fn = (log_size / 1000000 > 100 and report_warn or report_info) | ||||||
|   report_fn(string.format('Log size: %d KB', log_size / 1000)) |   report_fn(string.format('Log size: %d KB', log_size / 1000)) | ||||||
|  |  | ||||||
|   local clients = vim.lsp.get_active_clients() |   local clients = vim.lsp.get_clients() | ||||||
|   vim.health.start('vim.lsp: Active Clients') |   vim.health.start('vim.lsp: Active Clients') | ||||||
|   if next(clients) then |   if next(clients) then | ||||||
|     for _, client in pairs(clients) do |     for _, client in pairs(clients) do | ||||||
|   | |||||||
| @@ -360,7 +360,7 @@ function M.get_progress_messages() | |||||||
|   local new_messages = {} |   local new_messages = {} | ||||||
|   local progress_remove = {} |   local progress_remove = {} | ||||||
|  |  | ||||||
|   for _, client in ipairs(vim.lsp.get_active_clients()) do |   for _, client in ipairs(vim.lsp.get_clients()) do | ||||||
|     local groups = {} |     local groups = {} | ||||||
|     for progress in client.progress do |     for progress in client.progress do | ||||||
|       local value = progress.value |       local value = progress.value | ||||||
| @@ -1841,7 +1841,7 @@ function M.locations_to_items(locations, offset_encoding) | |||||||
|       'locations_to_items must be called with valid offset encoding', |       'locations_to_items must be called with valid offset encoding', | ||||||
|       vim.log.levels.WARN |       vim.log.levels.WARN | ||||||
|     ) |     ) | ||||||
|     offset_encoding = vim.lsp.get_active_clients({ bufnr = 0 })[1].offset_encoding |     offset_encoding = vim.lsp.get_clients({ bufnr = 0 })[1].offset_encoding | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   local items = {} |   local items = {} | ||||||
| @@ -2036,7 +2036,7 @@ function M._get_offset_encoding(bufnr) | |||||||
|  |  | ||||||
|   local offset_encoding |   local offset_encoding | ||||||
|  |  | ||||||
|   for _, client in pairs(vim.lsp.get_active_clients({ bufnr = bufnr })) do |   for _, client in pairs(vim.lsp.get_clients({ bufnr = bufnr })) do | ||||||
|     if client.offset_encoding == nil then |     if client.offset_encoding == nil then | ||||||
|       vim.notify_once( |       vim.notify_once( | ||||||
|         string.format( |         string.format( | ||||||
| @@ -2183,7 +2183,7 @@ function M.character_offset(buf, row, col, offset_encoding) | |||||||
|       'character_offset must be called with valid offset encoding', |       'character_offset must be called with valid offset encoding', | ||||||
|       vim.log.levels.WARN |       vim.log.levels.WARN | ||||||
|     ) |     ) | ||||||
|     offset_encoding = vim.lsp.get_active_clients({ bufnr = buf })[1].offset_encoding |     offset_encoding = vim.lsp.get_clients({ bufnr = buf })[1].offset_encoding | ||||||
|   end |   end | ||||||
|   -- If the col is past the EOL, use the line length. |   -- If the col is past the EOL, use the line length. | ||||||
|   if col > #line then |   if col > #line then | ||||||
|   | |||||||
| @@ -82,7 +82,7 @@ describe('LSP', function() | |||||||
|   describe('server_name specified', function() |   describe('server_name specified', function() | ||||||
|     it('start_client(), stop_client()', function() |     it('start_client(), stop_client()', function() | ||||||
|       retry(nil, 4000, function() |       retry(nil, 4000, function() | ||||||
|         eq(1, exec_lua('return #lsp.get_active_clients()')) |         eq(1, exec_lua('return #lsp.get_clients()')) | ||||||
|       end) |       end) | ||||||
|       eq(2, exec_lua([[ |       eq(2, exec_lua([[ | ||||||
|         TEST_CLIENT2 = test__start_client() |         TEST_CLIENT2 = test__start_client() | ||||||
| @@ -93,20 +93,20 @@ describe('LSP', function() | |||||||
|         return TEST_CLIENT3 |         return TEST_CLIENT3 | ||||||
|       ]])) |       ]])) | ||||||
|       retry(nil, 4000, function() |       retry(nil, 4000, function() | ||||||
|         eq(3, exec_lua('return #lsp.get_active_clients()')) |         eq(3, exec_lua('return #lsp.get_clients()')) | ||||||
|       end) |       end) | ||||||
|  |  | ||||||
|       eq(false, exec_lua('return lsp.get_client_by_id(TEST_CLIENT1) == nil')) |       eq(false, exec_lua('return lsp.get_client_by_id(TEST_CLIENT1) == nil')) | ||||||
|       eq(false, exec_lua('return lsp.get_client_by_id(TEST_CLIENT1).is_stopped()')) |       eq(false, exec_lua('return lsp.get_client_by_id(TEST_CLIENT1).is_stopped()')) | ||||||
|       exec_lua('return lsp.get_client_by_id(TEST_CLIENT1).stop()') |       exec_lua('return lsp.get_client_by_id(TEST_CLIENT1).stop()') | ||||||
|       retry(nil, 4000, function() |       retry(nil, 4000, function() | ||||||
|         eq(2, exec_lua('return #lsp.get_active_clients()')) |         eq(2, exec_lua('return #lsp.get_clients()')) | ||||||
|       end) |       end) | ||||||
|       eq(true, exec_lua('return lsp.get_client_by_id(TEST_CLIENT1) == nil')) |       eq(true, exec_lua('return lsp.get_client_by_id(TEST_CLIENT1) == nil')) | ||||||
|  |  | ||||||
|       exec_lua('lsp.stop_client({TEST_CLIENT2, TEST_CLIENT3})') |       exec_lua('lsp.stop_client({TEST_CLIENT2, TEST_CLIENT3})') | ||||||
|       retry(nil, 4000, function() |       retry(nil, 4000, function() | ||||||
|         eq(0, exec_lua('return #lsp.get_active_clients()')) |         eq(0, exec_lua('return #lsp.get_clients()')) | ||||||
|       end) |       end) | ||||||
|     end) |     end) | ||||||
|  |  | ||||||
| @@ -116,12 +116,12 @@ describe('LSP', function() | |||||||
|         TEST_CLIENT3 = test__start_client() |         TEST_CLIENT3 = test__start_client() | ||||||
|       ]]) |       ]]) | ||||||
|       retry(nil, 4000, function() |       retry(nil, 4000, function() | ||||||
|         eq(3, exec_lua('return #lsp.get_active_clients()')) |         eq(3, exec_lua('return #lsp.get_clients()')) | ||||||
|       end) |       end) | ||||||
|       -- Stop all clients. |       -- Stop all clients. | ||||||
|       exec_lua('lsp.stop_client(lsp.get_active_clients())') |       exec_lua('lsp.stop_client(lsp.get_clients())') | ||||||
|       retry(nil, 4000, function() |       retry(nil, 4000, function() | ||||||
|         eq(0, exec_lua('return #lsp.get_active_clients()')) |         eq(0, exec_lua('return #lsp.get_clients()')) | ||||||
|       end) |       end) | ||||||
|     end) |     end) | ||||||
|   end) |   end) | ||||||
| @@ -151,7 +151,7 @@ describe('LSP', function() | |||||||
|   describe('basic_init test', function() |   describe('basic_init test', function() | ||||||
|     after_each(function() |     after_each(function() | ||||||
|       stop() |       stop() | ||||||
|       exec_lua("lsp.stop_client(lsp.get_active_clients(), true)") |       exec_lua("lsp.stop_client(lsp.get_clients(), true)") | ||||||
|       exec_lua("vim.api.nvim_exec_autocmds('VimLeavePre', { modeline = false })") |       exec_lua("vim.api.nvim_exec_autocmds('VimLeavePre', { modeline = false })") | ||||||
|     end) |     end) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user