bfredl
0d63fafcda
refactor(api): move command related API to separate file
2022-06-12 19:45:39 +02:00
bfredl
a907d6f517
refactor(api): move extmark specific functions to api/extmark.c
2022-06-12 16:45:18 +02:00
bfredl
4a275e3291
refactor(api): move option code to own file
2022-06-12 16:09:42 +02:00
bfredl
f4121c52b9
fix(messages): add color when showing nvim_echo in :messages history
2022-06-11 22:29:51 +02:00
bfredl
e92fcdbab2
feat(api): nvim__get_runtime do_source
2022-06-11 10:25:59 +02:00
Dundar Goc
a732c253b7
refactor: change type of linenr_T from long to int32_t
...
The size of long varies depending on architecture, in contrast to the
MAXLNUM constant which sets the maximum allowable number of lines to
2^32-1. This discrepancy may lead to hard to detect bugs, for example
https://github.com/neovim/neovim/issues/18454 . Setting linenr_T to a
fix maximum size of 2^32-1 will prevent this type of errors in the
future.
Also change the variables `amount` and `amount_after` to be linenr_T
since they're referring to "the line number difference" between two
texts.
2022-06-10 16:16:41 +02:00
kylo252
3da3cfc864
feat(autocmds): retrieve lua callback ( #18642 )
...
add a new `callback` field to `nvim_get_autocmds`
2022-06-09 07:18:56 -06:00
Famiu Haque
c84bd9e21f
fix(nvim_create_user_command): make smods work with nvim_cmd
...
Closes #18876 .
2022-06-08 15:24:52 +06:00
dundargoc
ff20d40321
docs: fix typos ( #18269 )
...
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
Co-authored-by: Dan Sully <dan+github@sully.org >
Co-authored-by: saher <msaher.shair@gmail.com >
Co-authored-by: Stephan Seitz <stephan.seitz@fau.de >
Co-authored-by: Benedikt Müller <d12bb@posteo.de >
Co-authored-by: Andrey Mishchenko <mishchea@gmail.com >
Co-authored-by: Famiu Haque <famiuhaque@protonmail.com >
Co-authored-by: Oliver Marriott <hello@omarriott.com >
2022-06-04 11:56:36 +08:00
bfredl
d5f047bee0
refactor(api): use a unpacker based on libmpack instead of msgpack-c
...
Currently this is more or less a straight off reimplementation,
but this allow further optimizations down the line, especially
for avoiding memory allocations of rpc objects.
Current score for "make functionaltest; make oldtest" on a -DEXITFREE build:
is 117 055 352 xfree(ptr != NULL) calls (that's NUMBERWANG!).
2022-06-02 16:05:24 +02:00
zeertzjq
96c494dec3
refactor: correct comments and assertions about mapping rhs <Nop> ( #18821 )
...
Also avoid referring to mappings as "keymaps" in commands and docs.
*map_empty_rhs* *map-empty-rhs*
You can create an empty {rhs} by typing nothing after a single CTRL-V (you
have to type CTRL-V two times). Unfortunately, you cannot do this in a vimrc
file.
2022-06-01 21:37:01 +08:00
bfredl
7380ebfc17
Merge pull request #18194 from famiu/feat/usercmd_preview
...
feat: user command "preview" (like inccommand)
2022-05-31 17:44:13 +02:00
Famiu Haque
46536f53e8
feat: add preview functionality to user commands
...
Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
2022-05-31 20:55:05 +06:00
zeertzjq
d404d68c92
docs: clarify that nvim_strwidth counts control characters as one cell ( #18802 )
2022-05-31 07:06:34 +08:00
bfredl
1f63052b68
refactor(api): use hashy hash for looking up api method and event names
...
This avoids generating khash tables at runtime, and is consistent with
how evalfuncs lookup work.
2022-05-30 14:11:01 +02:00
Famiu Haque
9988d2f214
feat(nvim_create_user_command): pass structured modifiers to commands
...
Adds an `smods` key to `nvim_create_user_command` Lua command callbacks,
which has command modifiers but in a structured format. This removes the
need to manually parse command modifiers. It also reduces friction in
using `nvim_cmd` inside a Lua command callback.
2022-05-29 10:52:30 +06:00
kylo252
7b952793d5
refactor: missing parenthesis may cause unexpected problems ( #17443 )
...
related vim-8.2.{4402,4639}
2022-05-26 10:49:25 +08:00
dundargoc
9fec6dc9a2
refactor(uncrustify): set maximum number of consecutive newlines to 2 ( #18695 )
2022-05-25 12:31:14 -06:00
bfredl
24352cba01
Merge pull request #18528 from lewis6991/setwinopt
...
feat(api): add `win` and `buf` to `nvim_set_option_value`
2022-05-25 17:05:28 +02:00
James McCoy
47d9a393de
fix(cid/352839): USE_AFTER_FREE in create_user_command #18669
2022-05-22 10:29:15 -07:00
bfredl
7f6d2984a8
Merge pull request #18608 from ckipp01/extmarkDocs
...
docs(extmark): remove message about passing in id=0
2022-05-22 19:07:51 +02:00
devbhan singh
646e1c3a3a
feat(ui): clear message history explicitly with msg_history_clear event
2022-05-21 23:22:23 +02:00
kylo252
55246d44f9
fix(autocmds): separate command from desc ( #18617 )
2022-05-21 15:55:48 +02:00
James McCoy
b3453ea4a6
Merge pull request #18648 from jamessan/coverity-fixes
2022-05-20 14:22:15 -04:00
James McCoy
83f42e086a
perf(cid/350479): avoid copying ExtmarkInfo when calling extmark_to_array()
2022-05-20 08:17:39 -04:00
James McCoy
f15122e8a2
fix(cid/351940): free compl_arg in create_user_commands()'s error path exit
2022-05-20 08:15:07 -04:00
Famiu Haque
fb8fa004d8
fix: make nvim_cmd not suppress errors inside key mapping
...
Closes #18632
2022-05-19 22:23:14 +06:00
ckipp01
86db222469
docs(extmark): remove message about passing in id=0
...
The docs for `nvim_buf_set_extmark` mention that you can create a new
extmark when passing in `id=0`, however if you do this you'll get an
error since the code checks that id is positive.
```
id is not a positive integer
```
This change re-words the sentence to make it clearer.
2022-05-18 21:49:31 +02:00
bfredl
6f0baa0bb7
Merge pull request #18620 from bfredl/multibar
...
fix(ui): make winbar work with floats and multigrid
2022-05-18 21:18:34 +02:00
bfredl
c28192e6f9
refactor: move more grid functions to grid.c. Clean up some variables
2022-05-18 20:16:18 +02:00
Gregory Anders
8a9ab88945
feat(api): enable nvim_exec_autocmds to pass arbitrary data ( #18613 )
...
Add a "data" key to nvim_exec_autocmds that passes arbitrary data (API
objects) to autocommand callbacks.
2022-05-18 09:51:26 -06:00
bfredl
d7dd600716
Merge pull request #18562 from famiu/feat/ui/winbar
...
feat(ui): add `'winbar'`
2022-05-18 13:08:07 +02:00
bfredl
028329850e
refactor: grid->rows and grid->cols
2022-05-18 13:06:02 +02:00
Famiu Haque
e1bdb2a258
feat(ui): add 'winbar'
...
Adds support for a bar at the top of each window, enabled through the
`'winbar'` option.
Co-authored-by: Björn Linse <bjorn.linse@gmail.com >
2022-05-18 09:27:08 +06:00
Lewis Russell
6219331c4d
feat(api): add win and buf to nvim_set_option_value
...
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com >
2022-05-17 14:48:10 +01:00
Famiu Haque
54b5222fbb
docs(api): update v:errmsg behavior #18593
2022-05-17 05:27:33 -07:00
Dundar Goc
f0148de790
refactor: replace char_u variables and functions with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-05-16 13:27:06 +02:00
Oliver Marriott
5e3b16836a
docs(api): nvim_set_hl attributes #18558
2022-05-15 14:06:06 -07:00
deforde
0a3d615b1c
fix(api): nvim_eval_statusline should validate input #18347
...
Fix #18112
Make an exception for strings starting with "%!".
2022-05-15 13:06:23 -07:00
dundargoc
0a66c4a72a
docs(nvim_set_keymap): specify that optional arguments defaults to false ( #18177 )
...
Closes: https://github.com/neovim/neovim/issues/16919
2022-05-15 16:44:48 +08:00
Famiu Haque
566f8f80d6
refactor(api/nvim_cmd): use kvec_t for constructing cmdline string
...
Co-authored-by: Björn Linse <bjorn.linse@gmail.com >
2022-05-14 10:25:52 +06:00
Andrey Mishchenko
60b1e314ed
docs: nvim_buf_[get|set]_[text|lines] ( #18404 )
...
- Use consistent formatting for args docs.
- Clarify inclusivity/exclusivity in `nvim_buf_[get|set]_text`.
2022-05-11 17:05:56 -07:00
Famiu Haque
cf68f0a512
fix(api): make nvim_cmd work correctly with empty arguments list ( #18527 )
...
Closes #18526 .
2022-05-11 10:51:53 -06:00
bfredl
96a125b207
Merge pull request #18366 from famiu/feat/api/nvim_cmd
...
feat(api): add `nvim_cmd`
2022-05-11 10:39:02 +02:00
Famiu Haque
dfcc584665
feat(api): add nvim_cmd
...
Adds the API function `nvim_cmd` which allows executing an Ex-command through a Dictionary which can have the same values as the return value of `nvim_parse_cmd()`. This makes it much easier to do things like passing arguments with a space to commands that otherwise may not allow it, or to make commands interpret certain characters literally when they otherwise would not.
2022-05-11 13:12:16 +06:00
zeertzjq
9aa5647e68
vim-patch:8.2.4911: the mode #defines are not clearly named ( #18499 )
...
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
249591057b
A hunk from the patch depends on patch 8.2.4861, which hasn't been
ported yet, but that should be easy to notice.
2022-05-10 07:58:58 +08:00
Dundar Goc
e31b32a293
refactor: replace char_u variables and functions with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-05-09 10:03:29 +02:00
bfredl
03471e292d
Merge pull request #18425 from dundargoc/refactor/char_u/1
...
refactor: replace char_u variables and functions with char
2022-05-07 16:40:00 +02:00
Dundar Goc
2a378e6e82
refactor: replace char_u variables and functions with char
...
Work on https://github.com/neovim/neovim/issues/459
2022-05-07 14:54:01 +02:00
bfredl
5e2346178c
refactor(decor): use decor levels properly
2022-05-07 14:08:21 +02:00