mirror of https://github.com/neovim/neovim.git
Compare commits
3 Commits
b72c4f1b7c
...
2f4cee172e
Author | SHA1 | Date |
---|---|---|
glepnir | 2f4cee172e | |
Maria José Solano | efb44e0cad | |
glepnir | d58f267802 |
|
@ -16,6 +16,7 @@ add_custom_command(OUTPUT ${GENERATED_SYN_VIM}
|
|||
${LUA_GEN_DEPS}
|
||||
${SYN_VIM_GENERATOR}
|
||||
${PROJECT_SOURCE_DIR}/src/nvim/ex_cmds.lua
|
||||
${PROJECT_SOURCE_DIR}/src/nvim/normal_cmds.lua
|
||||
${PROJECT_SOURCE_DIR}/src/nvim/auevents.lua
|
||||
${PROJECT_SOURCE_DIR}/src/nvim/options.lua
|
||||
${PROJECT_SOURCE_DIR}/src/nvim/eval.c
|
||||
|
|
|
@ -124,7 +124,7 @@ error('Cannot require a meta file')
|
|||
--- @field commalist boolean
|
||||
--- @field flaglist boolean
|
||||
--- @field was_set boolean
|
||||
--- @field last_set_id integer
|
||||
--- @field last_set_sid integer
|
||||
--- @field last_set_linenr integer
|
||||
--- @field last_set_chan integer
|
||||
--- @field type 'string'|'boolean'|'number'
|
||||
|
|
|
@ -127,3 +127,11 @@
|
|||
--- @field skipcol integer
|
||||
--- @field topfill integer
|
||||
--- @field topline integer
|
||||
|
||||
--- @class vim.fn.getscriptinfo.ret
|
||||
--- @field autoload false
|
||||
--- @field functions? string[]
|
||||
--- @field name string
|
||||
--- @field sid string
|
||||
--- @field variables? table<string, any>
|
||||
--- @field version 1
|
||||
|
|
|
@ -3632,7 +3632,7 @@ function vim.fn.getregtype(regname) end
|
|||
--- <
|
||||
---
|
||||
--- @param opts? table
|
||||
--- @return any
|
||||
--- @return vim.fn.getscriptinfo.ret[]
|
||||
function vim.fn.getscriptinfo(opts) end
|
||||
|
||||
--- If {tabnr} is not specified, then information about all the
|
||||
|
|
|
@ -310,6 +310,7 @@ local function is_empty_or_default(bufnr, option)
|
|||
end
|
||||
|
||||
local info = api.nvim_get_option_info2(option, { buf = bufnr })
|
||||
---@param e vim.fn.getscriptinfo.ret
|
||||
local scriptinfo = vim.tbl_filter(function(e)
|
||||
return e.sid == info.last_set_sid
|
||||
end, vim.fn.getscriptinfo())
|
||||
|
@ -515,7 +516,7 @@ local function buf_attach(bufnr)
|
|||
textDocument = {
|
||||
uri = uri,
|
||||
},
|
||||
reason = protocol.TextDocumentSaveReason.Manual,
|
||||
reason = protocol.TextDocumentSaveReason.Manual, ---@type integer
|
||||
}
|
||||
if vim.tbl_get(client.server_capabilities, 'textDocumentSync', 'willSave') then
|
||||
client.notify(ms.textDocument_willSave, params)
|
||||
|
@ -899,7 +900,7 @@ end
|
|||
--- a `client_id:result` map.
|
||||
---@return function cancel Function that cancels all requests.
|
||||
function lsp.buf_request_all(bufnr, method, params, handler)
|
||||
local results = {} --- @type table<integer,{error:string, result:any}>
|
||||
local results = {} --- @type table<integer,{error:lsp.ResponseError, result:any}>
|
||||
local result_count = 0
|
||||
local expected_result_count = 0
|
||||
|
||||
|
@ -940,7 +941,7 @@ end
|
|||
---@return table<integer, {err: lsp.ResponseError, result: any}>? result Map of client_id:request_result.
|
||||
---@return string? err On timeout, cancel, or error, `err` is a string describing the failure reason, and `result` is nil.
|
||||
function lsp.buf_request_sync(bufnr, method, params, timeout_ms)
|
||||
local request_results
|
||||
local request_results ---@type table
|
||||
|
||||
local cancel = lsp.buf_request_all(bufnr, method, params, function(it)
|
||||
request_results = it
|
||||
|
|
|
@ -327,7 +327,7 @@ function M.get_captures_at_cursor(winnr)
|
|||
end
|
||||
|
||||
--- Optional keyword arguments:
|
||||
--- @class vim.treesitter.get_node.Opts
|
||||
--- @class vim.treesitter.get_node.Opts : vim.treesitter.LanguageTree.tree_for_range.Opts
|
||||
--- @inlinedoc
|
||||
---
|
||||
--- Buffer number (nil or 0 for current buffer)
|
||||
|
|
|
@ -302,6 +302,7 @@ set(API_UI_EVENTS_GENERATOR ${GENERATOR_DIR}/gen_api_ui_events.lua)
|
|||
set(CHAR_BLOB_GENERATOR ${GENERATOR_DIR}/gen_char_blob.lua)
|
||||
set(EVENTS_GENERATOR ${GENERATOR_DIR}/gen_events.lua)
|
||||
set(EX_CMDS_GENERATOR ${GENERATOR_DIR}/gen_ex_cmds.lua)
|
||||
set(NORMAL_CMDS_GENERATOR ${GENERATOR_DIR}/gen_normal_cmds.lua)
|
||||
set(FUNCS_GENERATOR ${GENERATOR_DIR}/gen_eval.lua)
|
||||
set(GENERATOR_C_GRAMMAR ${GENERATOR_DIR}/c_grammar.lua)
|
||||
set(GENERATOR_HASHY ${GENERATOR_DIR}/hashy.lua)
|
||||
|
@ -317,6 +318,7 @@ set(GENERATED_EVENTS_ENUM ${GENERATED_INCLUDES_DIR}/auevents_enum.generated.h)
|
|||
set(GENERATED_EVENTS_NAMES_MAP ${GENERATED_DIR}/auevents_name_map.generated.h)
|
||||
set(GENERATED_EX_CMDS_DEFS ${GENERATED_DIR}/ex_cmds_defs.generated.h)
|
||||
set(GENERATED_EX_CMDS_ENUM ${GENERATED_INCLUDES_DIR}/ex_cmds_enum.generated.h)
|
||||
set(GENERATED_NORMAL_CMDS ${GENERATED_DIR}/normal_cmds.generated.h)
|
||||
set(GENERATED_FUNCS ${GENERATED_DIR}/funcs.generated.h)
|
||||
set(GENERATED_API_METADATA ${GENERATED_DIR}/api/private/api_metadata.generated.h)
|
||||
set(GENERATED_KEYSETS_DEFS ${GENERATED_DIR}/keysets_defs.generated.h)
|
||||
|
@ -647,6 +649,7 @@ list(APPEND NVIM_GENERATED_FOR_HEADERS
|
|||
list(APPEND NVIM_GENERATED_FOR_SOURCES
|
||||
"${GENERATED_API_DISPATCH}"
|
||||
"${GENERATED_EX_CMDS_DEFS}"
|
||||
"${GENERATED_NORMAL_CMDS}"
|
||||
"${GENERATED_EVENTS_NAMES_MAP}"
|
||||
"${GENERATED_OPTIONS}"
|
||||
"${GENERATED_OPTIONS_MAP}"
|
||||
|
@ -660,6 +663,10 @@ add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS}
|
|||
DEPENDS ${LUA_GEN_DEPS} ${EX_CMDS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/ex_cmds.lua
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${GENERATED_NORMAL_CMDS}
|
||||
COMMAND ${LUA_GEN} ${NORMAL_CMDS_GENERATOR} ${GENERATED_DIR}
|
||||
DEPENDS ${LUA_GEN_DEPS} ${NORMAL_CMDS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/normal_cmds.lua
|
||||
)
|
||||
add_custom_command(OUTPUT ${GENERATED_FUNCS} ${FUNCS_DATA}
|
||||
COMMAND ${LUA_GEN} ${FUNCS_GENERATOR} ${GENERATED_DIR} ${FUNCS_METADATA} ${FUNCS_DATA}
|
||||
DEPENDS ${LUA_GEN_DEPS} ${FUNCS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/eval.lua ${FUNCS_METADATA}
|
||||
|
|
|
@ -4475,6 +4475,7 @@ M.funcs = {
|
|||
]=],
|
||||
name = 'getscriptinfo',
|
||||
params = { { 'opts', 'table' } },
|
||||
returns = 'vim.fn.getscriptinfo.ret[]',
|
||||
signature = 'getscriptinfo([{opts}])',
|
||||
},
|
||||
gettabinfo = {
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
local autodir = arg[1]
|
||||
|
||||
local deffname = autodir .. '/normal_cmds.generated.h'
|
||||
local defsfile = io.open(deffname, 'w')
|
||||
|
||||
defsfile:write [[
|
||||
#include "nvim/normal_defs.h"
|
||||
|
||||
/// Function to be called for a Normal or Visual mode command.
|
||||
/// The argument is a cmdarg_T.
|
||||
typedef void (*nv_func_T)(cmdarg_T *cap);
|
||||
|
||||
/// This table contains one entry for every Normal or Visual mode command.
|
||||
/// The order doesn't matter, init_normal_cmds() will create a sorted index.
|
||||
/// It is faster when all keys from zero to '~' are present.
|
||||
static const struct nv_cmd {
|
||||
int cmd_char; ///< (first) command character
|
||||
nv_func_T cmd_func; ///< function for this command
|
||||
uint16_t cmd_flags; ///< NV_ flags
|
||||
int16_t cmd_arg; ///< value for ca.arg
|
||||
} nv_cmds[] = {
|
||||
]]
|
||||
|
||||
local normal = require('normal_cmds')
|
||||
for i, item in vim.spairs(normal.nv_cmds) do
|
||||
defsfile:write((' { %s, %s, %s, %s },\n'):format(item.char, item.func, item.flags, item.arg))
|
||||
if i == #normal.nv_cmds then
|
||||
defsfile:write('};\n\n')
|
||||
end
|
||||
end
|
||||
|
||||
defsfile:close()
|
|
@ -112,6 +112,11 @@ static int VIsual_mode_orig = NUL; // saved Visual mode
|
|||
# include "normal.c.generated.h"
|
||||
#endif
|
||||
|
||||
// Declare nv_cmds[].
|
||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||
# include "normal_cmds.generated.h"
|
||||
#endif
|
||||
|
||||
static const char e_changelist_is_empty[] = N_("E664: Changelist is empty");
|
||||
static const char e_cmdline_window_already_open[]
|
||||
= N_("E1292: Command-line window is already open");
|
||||
|
@ -129,10 +134,6 @@ static inline void normal_state_init(NormalState *s)
|
|||
|
||||
static const char *e_noident = N_("E349: No identifier under cursor");
|
||||
|
||||
/// Function to be called for a Normal or Visual mode command.
|
||||
/// The argument is a cmdarg_T.
|
||||
typedef void (*nv_func_T)(cmdarg_T *cap);
|
||||
|
||||
// Values for cmd_flags.
|
||||
#define NV_NCH 0x01 // may need to get a second char
|
||||
#define NV_NCH_NOP (0x02|NV_NCH) // get second char when no operator pending
|
||||
|
@ -154,206 +155,6 @@ typedef void (*nv_func_T)(cmdarg_T *cap);
|
|||
// line oriented motion. Then, if an operator is in effect, the operation
|
||||
// becomes character or line oriented accordingly.
|
||||
|
||||
/// This table contains one entry for every Normal or Visual mode command.
|
||||
/// The order doesn't matter, init_normal_cmds() will create a sorted index.
|
||||
/// It is faster when all keys from zero to '~' are present.
|
||||
static const struct nv_cmd {
|
||||
int cmd_char; ///< (first) command character
|
||||
nv_func_T cmd_func; ///< function for this command
|
||||
uint16_t cmd_flags; ///< NV_ flags
|
||||
int16_t cmd_arg; ///< value for ca.arg
|
||||
} nv_cmds[] = {
|
||||
{ NUL, nv_error, 0, 0 },
|
||||
{ Ctrl_A, nv_addsub, 0, 0 },
|
||||
{ Ctrl_B, nv_page, NV_STS, BACKWARD },
|
||||
{ Ctrl_C, nv_esc, 0, true },
|
||||
{ Ctrl_D, nv_halfpage, 0, 0 },
|
||||
{ Ctrl_E, nv_scroll_line, 0, true },
|
||||
{ Ctrl_F, nv_page, NV_STS, FORWARD },
|
||||
{ Ctrl_G, nv_ctrlg, 0, 0 },
|
||||
{ Ctrl_H, nv_ctrlh, 0, 0 },
|
||||
{ Ctrl_I, nv_pcmark, 0, 0 },
|
||||
{ NL, nv_down, 0, false },
|
||||
{ Ctrl_K, nv_error, 0, 0 },
|
||||
{ Ctrl_L, nv_clear, 0, 0 },
|
||||
{ CAR, nv_down, 0, true },
|
||||
{ Ctrl_N, nv_down, NV_STS, false },
|
||||
{ Ctrl_O, nv_ctrlo, 0, 0 },
|
||||
{ Ctrl_P, nv_up, NV_STS, false },
|
||||
{ Ctrl_Q, nv_visual, 0, false },
|
||||
{ Ctrl_R, nv_redo_or_register, 0, 0 },
|
||||
{ Ctrl_S, nv_ignore, 0, 0 },
|
||||
{ Ctrl_T, nv_tagpop, NV_NCW, 0 },
|
||||
{ Ctrl_U, nv_halfpage, 0, 0 },
|
||||
{ Ctrl_V, nv_visual, 0, false },
|
||||
{ 'V', nv_visual, 0, false },
|
||||
{ 'v', nv_visual, 0, false },
|
||||
{ Ctrl_W, nv_window, 0, 0 },
|
||||
{ Ctrl_X, nv_addsub, 0, 0 },
|
||||
{ Ctrl_Y, nv_scroll_line, 0, false },
|
||||
{ Ctrl_Z, nv_suspend, 0, 0 },
|
||||
{ ESC, nv_esc, 0, false },
|
||||
{ Ctrl_BSL, nv_normal, NV_NCH_ALW, 0 },
|
||||
{ Ctrl_RSB, nv_ident, NV_NCW, 0 },
|
||||
{ Ctrl_HAT, nv_hat, NV_NCW, 0 },
|
||||
{ Ctrl__, nv_error, 0, 0 },
|
||||
{ ' ', nv_right, 0, 0 },
|
||||
{ '!', nv_operator, 0, 0 },
|
||||
{ '"', nv_regname, NV_NCH_NOP|NV_KEEPREG, 0 },
|
||||
{ '#', nv_ident, 0, 0 },
|
||||
{ '$', nv_dollar, 0, 0 },
|
||||
{ '%', nv_percent, 0, 0 },
|
||||
{ '&', nv_optrans, 0, 0 },
|
||||
{ '\'', nv_gomark, NV_NCH_ALW, true },
|
||||
{ '(', nv_brace, 0, BACKWARD },
|
||||
{ ')', nv_brace, 0, FORWARD },
|
||||
{ '*', nv_ident, 0, 0 },
|
||||
{ '+', nv_down, 0, true },
|
||||
{ ',', nv_csearch, 0, true },
|
||||
{ '-', nv_up, 0, true },
|
||||
{ '.', nv_dot, NV_KEEPREG, 0 },
|
||||
{ '/', nv_search, 0, false },
|
||||
{ '0', nv_beginline, 0, 0 },
|
||||
{ '1', nv_ignore, 0, 0 },
|
||||
{ '2', nv_ignore, 0, 0 },
|
||||
{ '3', nv_ignore, 0, 0 },
|
||||
{ '4', nv_ignore, 0, 0 },
|
||||
{ '5', nv_ignore, 0, 0 },
|
||||
{ '6', nv_ignore, 0, 0 },
|
||||
{ '7', nv_ignore, 0, 0 },
|
||||
{ '8', nv_ignore, 0, 0 },
|
||||
{ '9', nv_ignore, 0, 0 },
|
||||
{ ':', nv_colon, 0, 0 },
|
||||
{ ';', nv_csearch, 0, false },
|
||||
{ '<', nv_operator, NV_RL, 0 },
|
||||
{ '=', nv_operator, 0, 0 },
|
||||
{ '>', nv_operator, NV_RL, 0 },
|
||||
{ '?', nv_search, 0, false },
|
||||
{ '@', nv_at, NV_NCH_NOP, false },
|
||||
{ 'A', nv_edit, 0, 0 },
|
||||
{ 'B', nv_bck_word, 0, 1 },
|
||||
{ 'C', nv_abbrev, NV_KEEPREG, 0 },
|
||||
{ 'D', nv_abbrev, NV_KEEPREG, 0 },
|
||||
{ 'E', nv_wordcmd, 0, true },
|
||||
{ 'F', nv_csearch, NV_NCH_ALW|NV_LANG, BACKWARD },
|
||||
{ 'G', nv_goto, 0, true },
|
||||
{ 'H', nv_scroll, 0, 0 },
|
||||
{ 'I', nv_edit, 0, 0 },
|
||||
{ 'J', nv_join, 0, 0 },
|
||||
{ 'K', nv_ident, 0, 0 },
|
||||
{ 'L', nv_scroll, 0, 0 },
|
||||
{ 'M', nv_scroll, 0, 0 },
|
||||
{ 'N', nv_next, 0, SEARCH_REV },
|
||||
{ 'O', nv_open, 0, 0 },
|
||||
{ 'P', nv_put, 0, 0 },
|
||||
{ 'Q', nv_regreplay, 0, 0 },
|
||||
{ 'R', nv_Replace, 0, false },
|
||||
{ 'S', nv_subst, NV_KEEPREG, 0 },
|
||||
{ 'T', nv_csearch, NV_NCH_ALW|NV_LANG, BACKWARD },
|
||||
{ 'U', nv_Undo, 0, 0 },
|
||||
{ 'W', nv_wordcmd, 0, true },
|
||||
{ 'X', nv_abbrev, NV_KEEPREG, 0 },
|
||||
{ 'Y', nv_abbrev, NV_KEEPREG, 0 },
|
||||
{ 'Z', nv_Zet, NV_NCH_NOP|NV_NCW, 0 },
|
||||
{ '[', nv_brackets, NV_NCH_ALW, BACKWARD },
|
||||
{ '\\', nv_error, 0, 0 },
|
||||
{ ']', nv_brackets, NV_NCH_ALW, FORWARD },
|
||||
{ '^', nv_beginline, 0, BL_WHITE | BL_FIX },
|
||||
{ '_', nv_lineop, 0, 0 },
|
||||
{ '`', nv_gomark, NV_NCH_ALW, false },
|
||||
{ 'a', nv_edit, NV_NCH, 0 },
|
||||
{ 'b', nv_bck_word, 0, 0 },
|
||||
{ 'c', nv_operator, 0, 0 },
|
||||
{ 'd', nv_operator, 0, 0 },
|
||||
{ 'e', nv_wordcmd, 0, false },
|
||||
{ 'f', nv_csearch, NV_NCH_ALW|NV_LANG, FORWARD },
|
||||
{ 'g', nv_g_cmd, NV_NCH_ALW, false },
|
||||
{ 'h', nv_left, NV_RL, 0 },
|
||||
{ 'i', nv_edit, NV_NCH, 0 },
|
||||
{ 'j', nv_down, 0, false },
|
||||
{ 'k', nv_up, 0, false },
|
||||
{ 'l', nv_right, NV_RL, 0 },
|
||||
{ 'm', nv_mark, NV_NCH_NOP, 0 },
|
||||
{ 'n', nv_next, 0, 0 },
|
||||
{ 'o', nv_open, 0, 0 },
|
||||
{ 'p', nv_put, 0, 0 },
|
||||
{ 'q', nv_record, NV_NCH, 0 },
|
||||
{ 'r', nv_replace, NV_NCH_NOP|NV_LANG, 0 },
|
||||
{ 's', nv_subst, NV_KEEPREG, 0 },
|
||||
{ 't', nv_csearch, NV_NCH_ALW|NV_LANG, FORWARD },
|
||||
{ 'u', nv_undo, 0, 0 },
|
||||
{ 'w', nv_wordcmd, 0, false },
|
||||
{ 'x', nv_abbrev, NV_KEEPREG, 0 },
|
||||
{ 'y', nv_operator, 0, 0 },
|
||||
{ 'z', nv_zet, NV_NCH_ALW, 0 },
|
||||
{ '{', nv_findpar, 0, BACKWARD },
|
||||
{ '|', nv_pipe, 0, 0 },
|
||||
{ '}', nv_findpar, 0, FORWARD },
|
||||
{ '~', nv_tilde, 0, 0 },
|
||||
|
||||
// pound sign
|
||||
{ POUND, nv_ident, 0, 0 },
|
||||
{ K_MOUSEUP, nv_mousescroll, 0, MSCR_UP },
|
||||
{ K_MOUSEDOWN, nv_mousescroll, 0, MSCR_DOWN },
|
||||
{ K_MOUSELEFT, nv_mousescroll, 0, MSCR_LEFT },
|
||||
{ K_MOUSERIGHT, nv_mousescroll, 0, MSCR_RIGHT },
|
||||
{ K_LEFTMOUSE, nv_mouse, 0, 0 },
|
||||
{ K_LEFTMOUSE_NM, nv_mouse, 0, 0 },
|
||||
{ K_LEFTDRAG, nv_mouse, 0, 0 },
|
||||
{ K_LEFTRELEASE, nv_mouse, 0, 0 },
|
||||
{ K_LEFTRELEASE_NM, nv_mouse, 0, 0 },
|
||||
{ K_MOUSEMOVE, nv_mouse, 0, 0 },
|
||||
{ K_MIDDLEMOUSE, nv_mouse, 0, 0 },
|
||||
{ K_MIDDLEDRAG, nv_mouse, 0, 0 },
|
||||
{ K_MIDDLERELEASE, nv_mouse, 0, 0 },
|
||||
{ K_RIGHTMOUSE, nv_mouse, 0, 0 },
|
||||
{ K_RIGHTDRAG, nv_mouse, 0, 0 },
|
||||
{ K_RIGHTRELEASE, nv_mouse, 0, 0 },
|
||||
{ K_X1MOUSE, nv_mouse, 0, 0 },
|
||||
{ K_X1DRAG, nv_mouse, 0, 0 },
|
||||
{ K_X1RELEASE, nv_mouse, 0, 0 },
|
||||
{ K_X2MOUSE, nv_mouse, 0, 0 },
|
||||
{ K_X2DRAG, nv_mouse, 0, 0 },
|
||||
{ K_X2RELEASE, nv_mouse, 0, 0 },
|
||||
{ K_IGNORE, nv_ignore, NV_KEEPREG, 0 },
|
||||
{ K_NOP, nv_nop, 0, 0 },
|
||||
{ K_INS, nv_edit, 0, 0 },
|
||||
{ K_KINS, nv_edit, 0, 0 },
|
||||
{ K_BS, nv_ctrlh, 0, 0 },
|
||||
{ K_UP, nv_up, NV_SSS|NV_STS, false },
|
||||
{ K_S_UP, nv_page, NV_SS, BACKWARD },
|
||||
{ K_DOWN, nv_down, NV_SSS|NV_STS, false },
|
||||
{ K_S_DOWN, nv_page, NV_SS, FORWARD },
|
||||
{ K_LEFT, nv_left, NV_SSS|NV_STS|NV_RL, 0 },
|
||||
{ K_S_LEFT, nv_bck_word, NV_SS|NV_RL, 0 },
|
||||
{ K_C_LEFT, nv_bck_word, NV_SSS|NV_RL|NV_STS, 1 },
|
||||
{ K_RIGHT, nv_right, NV_SSS|NV_STS|NV_RL, 0 },
|
||||
{ K_S_RIGHT, nv_wordcmd, NV_SS|NV_RL, false },
|
||||
{ K_C_RIGHT, nv_wordcmd, NV_SSS|NV_RL|NV_STS, true },
|
||||
{ K_PAGEUP, nv_page, NV_SSS|NV_STS, BACKWARD },
|
||||
{ K_KPAGEUP, nv_page, NV_SSS|NV_STS, BACKWARD },
|
||||
{ K_PAGEDOWN, nv_page, NV_SSS|NV_STS, FORWARD },
|
||||
{ K_KPAGEDOWN, nv_page, NV_SSS|NV_STS, FORWARD },
|
||||
{ K_END, nv_end, NV_SSS|NV_STS, false },
|
||||
{ K_KEND, nv_end, NV_SSS|NV_STS, false },
|
||||
{ K_S_END, nv_end, NV_SS, false },
|
||||
{ K_C_END, nv_end, NV_SSS|NV_STS, true },
|
||||
{ K_HOME, nv_home, NV_SSS|NV_STS, 0 },
|
||||
{ K_KHOME, nv_home, NV_SSS|NV_STS, 0 },
|
||||
{ K_S_HOME, nv_home, NV_SS, 0 },
|
||||
{ K_C_HOME, nv_goto, NV_SSS|NV_STS, false },
|
||||
{ K_DEL, nv_abbrev, 0, 0 },
|
||||
{ K_KDEL, nv_abbrev, 0, 0 },
|
||||
{ K_UNDO, nv_kundo, 0, 0 },
|
||||
{ K_HELP, nv_help, NV_NCW, 0 },
|
||||
{ K_F1, nv_help, NV_NCW, 0 },
|
||||
{ K_XF1, nv_help, NV_NCW, 0 },
|
||||
{ K_SELECT, nv_select, 0, 0 },
|
||||
{ K_EVENT, nv_event, NV_KEEPREG, 0 },
|
||||
{ K_COMMAND, nv_colon, 0, 0 },
|
||||
{ K_LUA, nv_colon, 0, 0 },
|
||||
};
|
||||
|
||||
// Number of commands in nv_cmds[].
|
||||
#define NV_CMDS_SIZE ARRAY_SIZE(nv_cmds)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue