mirror of
https://github.com/neovim/neovim.git
synced 2025-09-13 23:08:16 +00:00
refactor(terminal): move :terminal defaults to _defaults.lua
This commit is contained in:
@@ -140,6 +140,8 @@ TERMINAL
|
||||
|
||||
• The |terminal| now understands the OSC 52 escape sequence to write to the
|
||||
system clipboard (copy). Querying with OSC 52 (paste) is not supported.
|
||||
• |hl-StatusLineTerm| and |hl-StatusLineTermNC| define highlights for the
|
||||
status line in |terminal| windows.
|
||||
|
||||
TREESITTER
|
||||
|
||||
|
@@ -5111,7 +5111,7 @@ StatusLineNC Status lines of not-current windows.
|
||||
StatusLineTerm Status line of |terminal| window.
|
||||
*hl-StatusLineTermNC*
|
||||
StatusLineTermNC
|
||||
Status line of non-current |terminal| window.
|
||||
Status line of non-current |terminal| windows.
|
||||
*hl-TabLine*
|
||||
TabLine Tab pages line, not active tab page label.
|
||||
*hl-TabLineFill*
|
||||
|
@@ -166,6 +166,14 @@ nvim_terminal:
|
||||
when 'background' is "light". While this may not reflect the actual
|
||||
foreground/background color, it permits 'background' to be retained for a
|
||||
nested Nvim instance running in the terminal emulator.
|
||||
- TermOpen: Sets default options for |terminal| buffers:
|
||||
- 'nomodifiable'
|
||||
- 'undolevels' set to -1
|
||||
- 'textwidth' set to 0
|
||||
- 'nowrap'
|
||||
- 'nolist'
|
||||
- 'winhighlight' uses |hl-StatusLineTerm| and |hl-StatusLineTermNC| in
|
||||
place of |hl-StatusLine| and |hl-StatusLineNC|
|
||||
|
||||
nvim_cmdwin:
|
||||
- CmdwinEnter: Limits syntax sync to maxlines=1 in the |cmdwin|.
|
||||
@@ -538,6 +546,8 @@ Highlight groups:
|
||||
- Highlight groups names are allowed to contain `@` characters.
|
||||
- It is an error to define a highlight group with a name that doesn't match
|
||||
the regexp `[a-zA-Z0-9_.@-]*` (see |group-name|).
|
||||
- |hl-StatusLineTerm| |hl-StatusLineTermNC| are implemented as 'winhighlight'
|
||||
window-local highlights which are set by the default |TermOpen| handler.
|
||||
|
||||
Macro (|recording|) behavior:
|
||||
- Replay of a macro recorded during :lmap produces the same actions as when it
|
||||
@@ -665,17 +675,6 @@ Events:
|
||||
- *SafeStateAgain*
|
||||
- *SigUSR1* Use |Signal| to detect `SIGUSR1` signal instead.
|
||||
|
||||
Highlight groups:
|
||||
- *hl-StatusLineTerm* *hl-StatusLineTermNC* are unnecessary because Nvim
|
||||
supports 'winhighlight' window-local highlights. For example, to mimic Vim's
|
||||
StatusLineTerm: >vim
|
||||
hi StatusLineTerm ctermfg=black ctermbg=green
|
||||
hi StatusLineTermNC ctermfg=green
|
||||
autocmd TermOpen,WinEnter * if &buftype=='terminal'
|
||||
\|setlocal winhighlight=StatusLine:StatusLineTerm,StatusLineNC:StatusLineTermNC
|
||||
\|else|setlocal winhighlight=|endif
|
||||
<
|
||||
|
||||
Options:
|
||||
- *'aleph'* *'al'*
|
||||
- antialias
|
||||
|
@@ -282,6 +282,26 @@ do
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('TermOpen', {
|
||||
group = nvim_terminal_augroup,
|
||||
desc = 'Default settings for :terminal buffers',
|
||||
callback = function()
|
||||
vim.bo.modifiable = false
|
||||
vim.bo.undolevels = -1
|
||||
vim.bo.scrollback = vim.o.scrollback < 0 and 10000 or math.max(1, vim.o.scrollback)
|
||||
vim.bo.textwidth = 0
|
||||
vim.wo.wrap = false
|
||||
vim.wo.list = false
|
||||
|
||||
-- This is gross. Proper list options support when?
|
||||
local winhl = vim.o.winhighlight
|
||||
if winhl ~= '' then
|
||||
winhl = winhl .. ','
|
||||
end
|
||||
vim.wo.winhighlight = winhl .. 'StatusLine:StatusLineTerm,StatusLineNC:StatusLineTermNC'
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('CmdwinEnter', {
|
||||
pattern = '[:>]',
|
||||
desc = 'Limit syntax sync to maxlines=1 in the command window',
|
||||
|
Reference in New Issue
Block a user