Home Explore Blog CI



neovim

11th chunk of `runtime/doc/autocmd.txt`
ba5ce6726977f1271ff0525317c82a2b91bc7efdd760f4c90000000100000fa6
 |LspAttach|
LspDetach			See |LspDetach|
LspNotify			See |LspNotify|
LspProgress			See |LspProgress|
LspRequest			See |LspRequest|
LspTokenUpdate			See |LspTokenUpdate|
							*MenuPopup*
MenuPopup			Just before showing the popup menu (under the
				right mouse button).  Useful for adjusting the
				menu for what is under the cursor or mouse
				pointer.
				The pattern is matched against one or two
				characters representing the mode:
					n	Normal
					v	Visual
					o	Operator-pending
					i	Insert
					c	Command line
					tl	Terminal
							*ModeChanged*
ModeChanged			After changing the mode. The pattern is
				matched against `'old_mode:new_mode'`, for
				example match against `*:c` to simulate
				|CmdlineEnter|.
				The following values of |v:event| are set:
					old_mode The mode before it changed.
					new_mode The new mode as also returned
						by |mode()| called with a
						non-zero argument.
				When ModeChanged is triggered, old_mode will
				have the value of new_mode when the event was
				last triggered.
				This will be triggered on every minor mode
				change.
				Usage example to use relative line numbers
				when entering visual mode: >
		:au ModeChanged [vV\x16]*:* let &l:rnu = mode() =~# '^[vV\x16]'
		:au ModeChanged *:[vV\x16]* let &l:rnu = mode() =~# '^[vV\x16]'
		:au WinEnter,WinLeave * let &l:rnu = mode() =~# '^[vV\x16]'
<							*OptionSet*
OptionSet			After setting an option (except during
				|startup|).  The |autocmd-pattern| is matched
				against the long option name.  |<amatch>|
				indicates what option has been set.

				|v:option_type| indicates whether it's global
				or local scoped.
				|v:option_command| indicates what type of
				set/let command was used (follow the tag to
				see the table).
				|v:option_new| indicates the newly set value.
				|v:option_oldlocal| has the old local value.
				|v:option_oldglobal| has the old global value.
				|v:option_old| indicates the old option value.

				|v:option_oldlocal| is only set when |:set|
				or |:setlocal| or a |modeline| was used to set
				the option. Similarly |v:option_oldglobal| is
				only set when |:set| or |:setglobal| was used.

				This does not set |<abuf>|, you could use
				|bufnr()|.

				Note that when setting a |global-local| option
				with |:set|, then |v:option_old| is the old
				global value. However, for all options that
				are not global-local it is the old local
				value.

				Usage example: Check for the existence of the
				directory in the 'backupdir' and 'undodir'
				options, create the directory if it doesn't
				exist yet.

				Note: Do not reset the same option during this
				autocommand, that may break plugins. You can
				always use |:noautocmd| to prevent triggering
				OptionSet.

				Non-recursive: |:set| in the autocommand does
				not trigger OptionSet again.

				Not triggered on startup.

							*QuickFixCmdPre*
QuickFixCmdPre			Before a quickfix command is run (|:make|,
				|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
				|:lgrepadd|, |:vimgrep|, |:lvimgrep|,
				|:vimgrepadd|, |:lvimgrepadd|,
				|:cfile|, |:cgetfile|, |:caddfile|, |:lfile|,
				|:lgetfile|, |:laddfile|, |:helpgrep|,
				|:lhelpgrep|, |:cexpr|, |:cgetexpr|,
				|:caddexpr|, |:cbuffer|, |:cgetbuffer|,
				|:caddbuffer|).
				The pattern is matched against the command
				being run.  When |:grep| is used but 'grepprg'
				is set to "internal" it still matches "grep".
				This command cannot be used to set the
				'makeprg' and 'grepprg' variables.
				If this command causes an error, the quickfix
				command is not executed.
							*QuickFixCmdPost*
QuickFixCmdPost			Like QuickFixCmdPre, but after a quickfix
				command is run, before jumping to the first
				location. For |:cfile| and |:lfile| commands
				it is run after the error file is read and
				before moving to the first error.
				See |QuickFixCmdPost-example|.
							*QuitPre*
QuitPre				When using `:quit`, `:wq` or `:qall`, before
				deciding whether it closes the current

Title: Nvim Autocommand Events: MenuPopup, ModeChanged, OptionSet, and QuickFix Commands
Summary
This section describes the MenuPopup event (triggered before showing the popup menu), the ModeChanged event (triggered after changing modes with examples), the OptionSet event (triggered after setting an option, providing details about option scopes and values), and events related to quickfix commands (QuickFixCmdPre, QuickFixCmdPost), along with the QuitPre event (triggered before a quit command).