| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Most code in keymap.h is for keycode definitions, while most code in
keymap.c is for the parsing and conversion of keycodes.
The name "keymap" may also make people think these two files are for
mappings, while in fact keycodes are used even when no mappings are
involved, so "keycodes" should be a better file name than "keymap".
|
|
|
|
|
|
|
|
|
| |
Problem: Using \{xxx} for encoding a modifier is not nice.
Solution: Use \<*xxx> instead, since it's the same as \<xxx> but producing a
different code.
https://github.com/vim/vim/commit/fccd93f0917234b962ce07d1df3adf9d7105936f
Use this notation in langmap_spec.
|
|
|
|
|
|
|
|
| |
Problem: GUI tests fail because the test doesn't use a modifier.
Solution: Add "\{xxx}" to be able to encode a modifier.
https://github.com/vim/vim/commit/ebe9d34aa07037cff2188a8dd424ee1f59cbb0bf
Change macros to enums to use them in unit tests.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Problem: Unused entry in keymap enum.
Solution: Remove the entry.
https://github.com/vim/vim/commit/4c93aff20f228d0dfca11f4793eb2c8895d4984c
|
| |
|
|
|
|
| |
CSI typed directly is now just <CSI>. The <xCSI> key is obsolete.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Behavioral changes:
1. Added support for lua function in keymaps in
--------------------------------------------
- nvim_set_keymap
Can set lua function as keymap rhs like following:
```lua
vim.api.nvim_{buf_}set_keymap('n', '<leader>lr', '', {callback = vim.lsp.buf.references})
```
Note: lua function can only be set from lua . If api function being
called from viml or over rpc this option isn't available.
- nvim_{buf_}get_keymap
When called from lua, lua function is returned is `callback` key .
But in other cases callback contains number of the function ref.
- :umap, nvim_del_keymap & nvim_buf_del_keymap clears lua keymaps correctly.
- :map commands for displaing rhs .
For lua keymaps rhs is displayed as <Lua function ref_no>
Note: lua keymap cannot be set through viml command / functions.
- mapargs()
When dict is false it returns string in `<Lua function ref_no>`
format (same format as :map commands).
When dict is true it returns ref_no number in `callback` key.
- mapcheck()
returns string in `<Lua function ref_no>` format (same format as :map commands).
2. Added support for keymap description
---------------------------------------
- nvim_{buf_}set_keymap: added `desc` option in opts table .
```lua
vim.api.nvim_set_keymap('n', '<leader>w', '<cmd>w<cr>', {desc='Save current file'})
```
- nvim_{buf_}get_keymap: contains `desc` in returned list.
- commands like `:nmap <leader>w` will show description in a new line below rhs.
- `maparg()` return dict contains `desc`.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* refactor: format all C files under nvim
* refactor: disable formatting for Vim-owned files:
* src/nvim/indent_c.c
* src/nvim/regexp.c
* src/nvim/regexp_nfa.c
* src/nvim/testdir/samples/memfile_test.c
|
| |
|
|
|
|
|
|
|
| |
Problem: Cannot use 'balloonexpr' in a terminal.
Solution: Add 'balloonevalterm' and add code to handle mouse movements in a
terminal. Initial implementation for Unix with GUI.
https://github.com/vim/vim/commit/51b0f3701ecb440aa72ab6017c1df6940c0e0f6f
|
|
|
|
|
|
| |
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
https://github.com/vim/vim/commit/9bf703d46a79fbffeb829246ea5ce385bddc4166
|
|
|
|
|
|
| |
Problem: Recording into a register has focus events. (Michael Naumann)
Solution: Don't record K_FOCUSGAINED and K_FOCUSLOST. (closes vim/vim#3143)
https://github.com/vim/vim/commit/972bfddc6b3f52ae0865ad8c0bf6089bc8a9883a
|
| |
|
|
|
|
|
|
|
|
|
| |
- input: recognize <kEqual>, <kComma>
- terminal.c: If we need to support function key, a change must be made
in libvtermkey. Currently, it emulates strictly VT220 terminal, and
returning numeric value in 'normal' mode is the expected behaviour.
closes #9810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- K_KORIGIN instead of K_KCENTER: This name is similar to what is used
by xev. Alternative could be K_KBEGIN as hinted here:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-PC-Style-Function-Keys
But I find Begin and Home too similar, and it might induced some
confusion. The naming looked related to some old keyboard
configuration.
- keymap.c: alias KPPeriod to kDel instead of kPoint.
This might seems weird, but this is actually the behaviour that should
be expected. libtermkey produces "KPPeriod" when num lock is off. To
fix this would need to change this name in termkey.
closes #9780
closes #9793
|
|\ |
|
| |
| |
| |
| | |
KE_MOUSEMOVE, KE_CANCEL are added in later patches.
|
|/
|
|
|
|
|
| |
Problem: Recorded key sequences may become invalid.
Solution: Add back KE_SNIFF removed in 7.4.1433. Use fixed numbers for the
key_extra enum.
https://github.com/vim/vim/commit/8858498516108432453526f07783f14c9196e112
|
|
|
|
|
|
| |
closes #2454
closes #8213
ref #7972
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: The buffer used to store a key name theoreticaly could be too
small. (Coverity)
Solution: Count all possible modifier characters. Add a check for the
length just in case.
https://github.com/vim/vim/commit/423977d3cebac2be1158b1d11da60fe96db4b750
|
|
|
|
|
| |
closes #4840
closes #6164
|
|
|
|
| |
Closes #6937 "nvim_get_keymap output is unreliable"
|
|
|
|
|
|
|
| |
Reasons:
- One does not have to do `s[len] = NUL` to work with these functions if they do
not need to replace the whole string: thus `s` may be const.
- One does not have to save/restore p_cpo to work with them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds support for:
- api:vim_input("<D-a>")
- ":nnoremap <C-D-S-...>" and permutations thereof
UIs must capture the modifier and send it as "<D-...>" to vim_input().
Note: Before this commit, any arbitrary ":nnoremap <{foo}-{bar}>"
mapping could already be invoked with feedkeys("\<{foo}-{bar}>"). This
commit supports "D-" as a modifier that can be combined with "C-", "A-",
"S-" in any order.
For non-GUI (terminal) support, user must:
:set <D-a>={CSI sequence}
then send the {CSI sequence} from their terminal. But this does not work
yet (regression #2204).
Closes #2190
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regarding the individual items in the header:
`Vim - Vi improved by Bram Moolenar`
Bram Moolenar is already mentioned throughout the documentation, as
well as the intro screen.
`:help uganda`
It's already shown to all users who don't use `shortmess+=I` upon
starting nvim, and is already placed prominently in help.txt, i.e.,
`:help` run with no arguments.
`:help credits`
Already mentioned near the top of help.txt.
`README.md`
Already mentioned in develop.txt.
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor input.c, normal.c and edit.c to use the K_EVENT special key to trigger
the CURSORHOLD event. In normal and edit mode, K_EVENT is treated as
K_CURSORHOLD, which enables better handling of arbitrary actions in those
states(eg: In normal mode the previous operator counts will be restored).
Also fix a test in vim_spec.lua. The test had a wrong assumption: cmdheight is
only used to determine when the press enter screen will be shown, not to limit
how many lines or control pagination.
|
|
|
|
|
|
|
| |
Add a new special key that can be used by UIs to toggle the 'paste' option and
use it in the TUI instead of the user's 'pastetoggle' value.
Close #2843 #2092
|
|
|
|
|
|
|
|
| |
This also removes the 't' flag from 'guioptions'.
Side effect: :term[inal] -> :te[rminal]
Closes #3003.
|
|
|
|
|
|
| |
Because of 3baba1e7bc6698e6bc9f1d37fce88b30d6274bc9, it's dead code.
Helped-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regarding debugger.txt (which was Spotted by @Hettomei):
The third section was empty, and the second section is very outdated.
Nvim doesn't have things like Balloon Evalutation and Sun Visual
workshop integration, so just remove the section.
Regarding everything else:
- term.[ch] and term_defs.h don't exist anymore, so remove refs to them
- Add ttybuiltin to vim_diff.txt. It should have been done before, but
vim_diff.txt didn't exist when ttybuiltin was removed (done in
3baba1e7bc6698e6bc9f1d37fce88b30d6274bc9,)
Helped-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
|
| |
The function qnx_init() (wrapped in an ifdef in main.c) doesn't even
exist.
|
|
|
|
| |
This is never built and references some obscure jsb terminal
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The 'stripdecls.py' script replaces declarations in all headers by includes to
generated headers.
`ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'`
was used for this.
- Add and integrate gendeclarations.lua into the build system to generate the
required includes.
- Add -Wno-unused-function
- Made a bunch of old-style definitions ANSI
This adds a requirement: all type and structure definitions must be present
before INCLUDE_GENERATED_DECLARATIONS-protected include.
Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is
the only exception.
|
|
|
|
|
|
| |
Change define guards from NEOVIM_XXX_H to NVIM_XXX_H:
- Change header files.
- Change clint correct guard name calculation.
|
|
Move files from src/ to src/nvim/.
- src/nvim/ becomes the new root dir for nvim executable sources.
- src/libnvim/ is planned to become root dir of the neovim library.
|