mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #23670 from famiu/refactor/deprecate_opt_api
refactor(options): deprecate nvim[_buf|_win]_[gs]et_option
This commit is contained in:
@@ -486,7 +486,7 @@ Example: create a float with scratch buffer: >vim
|
||||
\ 'row': 1, 'anchor': 'NW', 'style': 'minimal'}
|
||||
let win = nvim_open_win(buf, 0, opts)
|
||||
" optional: change highlight, otherwise Pmenu is used
|
||||
call nvim_win_set_option(win, 'winhl', 'Normal:MyHighlight')
|
||||
call nvim_set_option_value('winhl', 'Normal:MyHighlight', {'win': win})
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
@@ -1917,25 +1917,6 @@ nvim_parse_cmd({str}, {opts}) *nvim_parse_cmd()*
|
||||
==============================================================================
|
||||
Options Functions *api-options*
|
||||
|
||||
nvim_buf_get_option({buffer}, {name}) *nvim_buf_get_option()*
|
||||
Gets a buffer option value
|
||||
|
||||
Parameters: ~
|
||||
• {buffer} Buffer handle, or 0 for current buffer
|
||||
• {name} Option name
|
||||
|
||||
Return: ~
|
||||
Option value
|
||||
|
||||
nvim_buf_set_option({buffer}, {name}, {value}) *nvim_buf_set_option()*
|
||||
Sets a buffer option value. Passing `nil` as value deletes the option
|
||||
(only works if there's a global fallback)
|
||||
|
||||
Parameters: ~
|
||||
• {buffer} Buffer handle, or 0 for current buffer
|
||||
• {name} Option name
|
||||
• {value} Option value
|
||||
|
||||
nvim_get_all_options_info() *nvim_get_all_options_info()*
|
||||
Gets the option information for all options.
|
||||
|
||||
@@ -1945,15 +1926,6 @@ nvim_get_all_options_info() *nvim_get_all_options_info()*
|
||||
Return: ~
|
||||
dictionary of all options
|
||||
|
||||
nvim_get_option({name}) *nvim_get_option()*
|
||||
Gets the global value of an option.
|
||||
|
||||
Parameters: ~
|
||||
• {name} Option name
|
||||
|
||||
Return: ~
|
||||
Option value (global)
|
||||
|
||||
nvim_get_option_info2({name}, {*opts}) *nvim_get_option_info2()*
|
||||
Gets the option information for one option from arbitrary buffer or window
|
||||
|
||||
@@ -2010,13 +1982,6 @@ nvim_get_option_value({name}, {*opts}) *nvim_get_option_value()*
|
||||
Return: ~
|
||||
Option value
|
||||
|
||||
nvim_set_option({name}, {value}) *nvim_set_option()*
|
||||
Sets the global value of an option.
|
||||
|
||||
Parameters: ~
|
||||
• {name} Option name
|
||||
• {value} New option value
|
||||
|
||||
*nvim_set_option_value()*
|
||||
nvim_set_option_value({name}, {value}, {*opts})
|
||||
Sets the value of an option. The behavior of this function matches that of
|
||||
@@ -2034,25 +1999,6 @@ nvim_set_option_value({name}, {value}, {*opts})
|
||||
• win: |window-ID|. Used for setting window local option.
|
||||
• buf: Buffer number. Used for setting buffer local option.
|
||||
|
||||
nvim_win_get_option({window}, {name}) *nvim_win_get_option()*
|
||||
Gets a window option value
|
||||
|
||||
Parameters: ~
|
||||
• {window} Window handle, or 0 for current window
|
||||
• {name} Option name
|
||||
|
||||
Return: ~
|
||||
Option value
|
||||
|
||||
nvim_win_set_option({window}, {name}, {value}) *nvim_win_set_option()*
|
||||
Sets a window option value. Passing `nil` as value deletes the option
|
||||
(only works if there's a global fallback)
|
||||
|
||||
Parameters: ~
|
||||
• {window} Window handle, or 0 for current window
|
||||
• {name} Option name
|
||||
• {value} Option value
|
||||
|
||||
|
||||
==============================================================================
|
||||
Buffer Functions *api-buffer*
|
||||
|
||||
@@ -21,6 +21,12 @@ API
|
||||
- *nvim_get_hl_by_id()* Use |nvim_get_hl()| instead.
|
||||
- *nvim_exec()* Use |nvim_exec2()| instead.
|
||||
- *nvim_get_option_info()* Use |nvim_get_option_info2()| instead.
|
||||
- *nvim_buf_get_option()* Use |nvim_get_option_value()| instead.
|
||||
- *nvim_buf_set_option()* Use |nvim_set_option_value()| instead.
|
||||
- *nvim_get_option()* Use |nvim_get_option_value()| instead.
|
||||
- *nvim_set_option()* Use |nvim_set_option_value()| instead.
|
||||
- *nvim_win_get_option()* Use |nvim_get_option_value()| instead.
|
||||
- *nvim_win_set_option()* Use |nvim_set_option_value()| instead.
|
||||
|
||||
COMMANDS
|
||||
- *:rv* *:rviminfo* Deprecated alias to |:rshada| command.
|
||||
|
||||
@@ -800,8 +800,8 @@ formatexpr({opts}) *vim.lsp.formatexpr()*
|
||||
|
||||
Currently only supports a single client. This can be set via `setlocal
|
||||
formatexpr=v:lua.vim.lsp.formatexpr()` but will typically or in
|
||||
`on_attach` via `vim.api.nvim_buf_set_option(bufnr, 'formatexpr',
|
||||
'v:lua.vim.lsp.formatexpr(#{timeout_ms:250})')`.
|
||||
`on_attach` via `vim.bo[bufnr].formatexpr =
|
||||
'v:lua.vim.lsp.formatexpr(#{timeout_ms:250})'`.
|
||||
|
||||
Parameters: ~
|
||||
• {opts} (table) options for customizing the formatting expression
|
||||
|
||||
@@ -401,7 +401,7 @@ For example consider the following Lua omnifunc handler: >lua
|
||||
return {'stuff', 'steam', 'strange things'}
|
||||
end
|
||||
end
|
||||
vim.api.nvim_buf_set_option(0, 'omnifunc', 'v:lua.mymod.omnifunc')
|
||||
vim.bo[buf].omnifunc = 'v:lua.mymod.omnifunc'
|
||||
|
||||
Note: The module ("mymod" in the above example) must either be a Lua global,
|
||||
or use require() as shown above to access it from a package.
|
||||
|
||||
@@ -84,7 +84,7 @@ The following deprecated functions or APIs were removed.
|
||||
==============================================================================
|
||||
DEPRECATIONS *news-deprecations*
|
||||
|
||||
The following functions are now deprecated and will be removed in the next
|
||||
The following functions are now deprecated and will be removed in a future
|
||||
release.
|
||||
|
||||
• Checkhealth functions:
|
||||
@@ -94,4 +94,12 @@ release.
|
||||
- |health#report_start|, |vim.health.report_start()| Use |vim.health.start()| instead.
|
||||
- |health#report_warn|, |vim.health.report_warn()| Use |vim.health.warn()| instead.
|
||||
|
||||
• |API| functions:
|
||||
- |nvim_buf_get_option()| Use |nvim_get_option_value()| instead.
|
||||
- |nvim_buf_set_option()| Use |nvim_set_option_value()| instead.
|
||||
- |nvim_get_option()| Use |nvim_get_option_value()| instead.
|
||||
- |nvim_set_option()| Use |nvim_set_option_value()| instead.
|
||||
- |nvim_win_get_option()| Use |nvim_get_option_value()| instead.
|
||||
- |nvim_win_set_option()| Use |nvim_set_option_value()| instead.
|
||||
|
||||
vim:tw=78:ts=8:sw=2:et:ft=help:norl:
|
||||
|
||||
@@ -8,12 +8,8 @@ local sync = require('vim.lsp.sync')
|
||||
local semantic_tokens = require('vim.lsp.semantic_tokens')
|
||||
|
||||
local api = vim.api
|
||||
local nvim_err_writeln, nvim_buf_get_lines, nvim_command, nvim_buf_get_option, nvim_exec_autocmds =
|
||||
api.nvim_err_writeln,
|
||||
api.nvim_buf_get_lines,
|
||||
api.nvim_command,
|
||||
api.nvim_buf_get_option,
|
||||
api.nvim_exec_autocmds
|
||||
local nvim_err_writeln, nvim_buf_get_lines, nvim_command, nvim_exec_autocmds =
|
||||
api.nvim_err_writeln, api.nvim_buf_get_lines, api.nvim_command, api.nvim_exec_autocmds
|
||||
local uv = vim.loop
|
||||
local tbl_isempty, tbl_extend = vim.tbl_isempty, vim.tbl_extend
|
||||
local validate = vim.validate
|
||||
@@ -137,7 +133,7 @@ local format_line_ending = {
|
||||
---@param bufnr (number)
|
||||
---@return string
|
||||
local function buf_get_line_ending(bufnr)
|
||||
return format_line_ending[nvim_buf_get_option(bufnr, 'fileformat')] or '\n'
|
||||
return format_line_ending[vim.bo[bufnr].fileformat] or '\n'
|
||||
end
|
||||
|
||||
local client_index = 0
|
||||
@@ -319,7 +315,7 @@ end
|
||||
local function buf_get_full_text(bufnr)
|
||||
local line_ending = buf_get_line_ending(bufnr)
|
||||
local text = table.concat(nvim_buf_get_lines(bufnr, 0, -1, true), line_ending)
|
||||
if nvim_buf_get_option(bufnr, 'eol') then
|
||||
if vim.bo[bufnr].eol then
|
||||
text = text .. line_ending
|
||||
end
|
||||
return text
|
||||
@@ -709,7 +705,7 @@ local function text_document_did_open_handler(bufnr, client)
|
||||
if not api.nvim_buf_is_loaded(bufnr) then
|
||||
return
|
||||
end
|
||||
local filetype = nvim_buf_get_option(bufnr, 'filetype')
|
||||
local filetype = vim.bo[bufnr].filetype
|
||||
|
||||
local params = {
|
||||
textDocument = {
|
||||
@@ -2177,7 +2173,7 @@ end
|
||||
---
|
||||
--- Currently only supports a single client. This can be set via
|
||||
--- `setlocal formatexpr=v:lua.vim.lsp.formatexpr()` but will typically or in `on_attach`
|
||||
--- via ``vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr(#{timeout_ms:250})')``.
|
||||
--- via ``vim.bo[bufnr].formatexpr = 'v:lua.vim.lsp.formatexpr(#{timeout_ms:250})'``.
|
||||
---
|
||||
---@param opts table options for customizing the formatting expression which takes the
|
||||
--- following optional keys:
|
||||
|
||||
@@ -454,7 +454,7 @@ function M.signature_help(_, result, ctx, config)
|
||||
local client = vim.lsp.get_client_by_id(ctx.client_id)
|
||||
local triggers =
|
||||
vim.tbl_get(client.server_capabilities, 'signatureHelpProvider', 'triggerCharacters')
|
||||
local ft = api.nvim_buf_get_option(ctx.bufnr, 'filetype')
|
||||
local ft = vim.bo[ctx.bufnr].filetype
|
||||
local lines, hl = util.convert_signature_help_to_markdown_lines(result, ft, triggers)
|
||||
lines = util.trim_empty_lines(lines)
|
||||
if vim.tbl_isempty(lines) then
|
||||
|
||||
@@ -401,7 +401,7 @@ function M.apply_text_edits(text_edits, bufnr, offset_encoding)
|
||||
if not api.nvim_buf_is_loaded(bufnr) then
|
||||
vim.fn.bufload(bufnr)
|
||||
end
|
||||
api.nvim_buf_set_option(bufnr, 'buflisted', true)
|
||||
vim.bo[bufnr].buflisted = true
|
||||
|
||||
-- Fix reversed range and indexing each text_edits
|
||||
local index = 0
|
||||
@@ -530,11 +530,7 @@ function M.apply_text_edits(text_edits, bufnr, offset_encoding)
|
||||
|
||||
-- Remove final line if needed
|
||||
local fix_eol = has_eol_text_edit
|
||||
fix_eol = fix_eol
|
||||
and (
|
||||
api.nvim_buf_get_option(bufnr, 'eol')
|
||||
or (api.nvim_buf_get_option(bufnr, 'fixeol') and not api.nvim_buf_get_option(bufnr, 'binary'))
|
||||
)
|
||||
fix_eol = fix_eol and (vim.bo[bufnr].eol or (vim.bo[bufnr].fixeol and not vim.bo[bufnr].binary))
|
||||
fix_eol = fix_eol and get_line(bufnr, max - 1) == ''
|
||||
if fix_eol then
|
||||
api.nvim_buf_set_lines(bufnr, -2, -1, false, {})
|
||||
@@ -1076,7 +1072,7 @@ function M.make_floating_popup_options(width, height, opts)
|
||||
|
||||
local wincol = opts.relative == 'mouse' and vim.fn.getmousepos().column or vim.fn.wincol()
|
||||
|
||||
if wincol + width + (opts.offset_x or 0) <= api.nvim_get_option('columns') then
|
||||
if wincol + width + (opts.offset_x or 0) <= vim.o.columns then
|
||||
anchor = anchor .. 'W'
|
||||
col = 0
|
||||
else
|
||||
@@ -1142,7 +1138,7 @@ function M.show_document(location, offset_encoding, opts)
|
||||
or focus and api.nvim_get_current_win()
|
||||
or create_window_without_focus()
|
||||
|
||||
api.nvim_buf_set_option(bufnr, 'buflisted', true)
|
||||
vim.bo[bufnr].buflisted = true
|
||||
api.nvim_win_set_buf(win, bufnr)
|
||||
if focus then
|
||||
api.nvim_set_current_win(win)
|
||||
@@ -1201,12 +1197,12 @@ function M.preview_location(location, opts)
|
||||
end
|
||||
local range = location.targetRange or location.range
|
||||
local contents = api.nvim_buf_get_lines(bufnr, range.start.line, range['end'].line + 1, false)
|
||||
local syntax = api.nvim_buf_get_option(bufnr, 'syntax')
|
||||
local syntax = vim.bo[bufnr].syntax
|
||||
if syntax == '' then
|
||||
-- When no syntax is set, we use filetype as fallback. This might not result
|
||||
-- in a valid syntax definition. See also ft detection in stylize_markdown.
|
||||
-- An empty syntax is more common now with TreeSitter, since TS disables syntax.
|
||||
syntax = api.nvim_buf_get_option(bufnr, 'filetype')
|
||||
syntax = vim.bo[bufnr].filetype
|
||||
end
|
||||
opts = opts or {}
|
||||
opts.focus_id = 'location'
|
||||
@@ -1665,7 +1661,7 @@ function M.open_floating_preview(contents, syntax, opts)
|
||||
contents = M.stylize_markdown(floating_bufnr, contents, opts)
|
||||
else
|
||||
if syntax then
|
||||
api.nvim_buf_set_option(floating_bufnr, 'syntax', syntax)
|
||||
vim.bo[floating_bufnr].syntax = syntax
|
||||
end
|
||||
api.nvim_buf_set_lines(floating_bufnr, 0, -1, true, contents)
|
||||
end
|
||||
@@ -1681,16 +1677,16 @@ function M.open_floating_preview(contents, syntax, opts)
|
||||
local float_option = M.make_floating_popup_options(width, height, opts)
|
||||
local floating_winnr = api.nvim_open_win(floating_bufnr, false, float_option)
|
||||
if do_stylize then
|
||||
api.nvim_win_set_option(floating_winnr, 'conceallevel', 2)
|
||||
api.nvim_win_set_option(floating_winnr, 'concealcursor', 'n')
|
||||
vim.wo[floating_winnr].conceallevel = 2
|
||||
vim.wo[floating_winnr].concealcursor = 'n'
|
||||
end
|
||||
-- disable folding
|
||||
api.nvim_win_set_option(floating_winnr, 'foldenable', false)
|
||||
vim.wo[floating_winnr].foldenable = false
|
||||
-- soft wrapping
|
||||
api.nvim_win_set_option(floating_winnr, 'wrap', opts.wrap)
|
||||
vim.wo[floating_winnr].wrap = opts.wrap
|
||||
|
||||
api.nvim_buf_set_option(floating_bufnr, 'modifiable', false)
|
||||
api.nvim_buf_set_option(floating_bufnr, 'bufhidden', 'wipe')
|
||||
vim.bo[floating_bufnr].modifiable = false
|
||||
vim.bo[floating_bufnr].bufhidden = 'wipe'
|
||||
api.nvim_buf_set_keymap(
|
||||
floating_bufnr,
|
||||
'n',
|
||||
|
||||
@@ -1328,11 +1328,11 @@ function! s:OpenHoverPreview(lines, filetype) abort
|
||||
\ 'style': 'minimal',
|
||||
\ })
|
||||
|
||||
if a:filetype isnot v:null
|
||||
if a:filetype isnot v:null
|
||||
call nvim_set_option_value('filetype', a:filetype, { 'win' : float_win_id })
|
||||
endif
|
||||
|
||||
call nvim_buf_set_option(buf, 'modified', v:false)
|
||||
|
||||
call nvim_set_option_value('modified', v:false, { 'buf' : buf })
|
||||
call nvim_set_option_value('modifiable', v:false, { 'buf' : buf })
|
||||
|
||||
" Unlike preview window, :pclose does not close window. Instead, close
|
||||
|
||||
Reference in New Issue
Block a user