aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
Commit message (Collapse)AuthorAge
...
* refactor(api): move command related API to separate filebfredl2022-06-12
|
* refactor: change type of linenr_T from long to int32_tDundar Goc2022-06-10
| | | | | | | | | | | | | 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.
* fix(inccommand): do not try to preview an ambiguous command (#18827)zeertzjq2022-06-01
|
* feat: add preview functionality to user commandsFamiu Haque2022-05-31
| | | | Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
* vim-patch:8.2.5037: cursor position may be invalid after "0;" range (#18782)zeertzjq2022-05-29
| | | | | Problem: Cursor position may be invalid after "0;" range. Solution: Check the cursor position when it was set by ";" in the range. https://github.com/vim/vim/commit/4d97a565ae8be0d4debba04ebd2ac3e75a0c8010
* refactor: missing parenthesis may cause unexpected problems (#17443)kylo2522022-05-26
| | | related vim-8.2.{4402,4639}
* refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc2022-05-25
|
* refactor!: delete insertmode (#18547)Gregory Anders2022-05-22
| | | | | | | Neovim already removed `evim` (or any similar flags). The 'insertmode' option is a weird remnant, so get rid of it. The 'insertmode' option is replaced with a script that closely emulates the option. This script is documented at :help 'insertmode'
* fix(cid/352839): USE_AFTER_FREE in create_user_command #18669James McCoy2022-05-22
|
* fix: make `nvim_cmd` not suppress errors inside key mappingFamiu Haque2022-05-19
| | | | Closes #18632
* Merge pull request #18562 from famiu/feat/ui/winbarbfredl2022-05-18
|\ | | | | feat(ui): add `'winbar'`
| * feat(ui): add `'winbar'`Famiu Haque2022-05-18
| | | | | | | | | | | | | | 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>
* | Merge #18605 PVS fixesJustin M. Keyes2022-05-18
|\ \
| * | fix(PVS/V547): "expression is always false"Dundar Goc2022-05-17
| |/ | | | | | | | | Suppress warning in loop.c, the expression can be true if EXITFREE isn't defined.
* / vim-patch:8.2.4975: recursive command line loop may cause a crash (#18614)zeertzjq2022-05-18
|/ | | | | | | Problem: Recursive command line loop may cause a crash. Solution: Limit recursion of getcmdline(). https://github.com/vim/vim/commit/51f0bfb88a3554ca2dde777d78a59880d1ee37a8 Cherry-pick e_command_too_recursive from patch 8.2.3957.
* refactor: replace char_u variables and functions with charDundar Goc2022-05-16
| | | | Work on https://github.com/neovim/neovim/issues/459
* ci(clint): remove clint.py line length check #18574dundargoc2022-05-15
| | | | | uncrustify is the source of truth where possible. Remove any redundant checks from clint.py. See also https://github.com/neovim/neovim/pull/18563
* Merge pull request #18489 from dundargoc/refactor/remove-char_ubfredl2022-05-13
|\ | | | | refactor: replace char_u variables and functions with char
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-11
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | fix(cmd): make :-tabmove work with modifiers (#18447)Marco Hinz2022-05-12
| | | | | | | | | | | | | | | | | | `:tabmove` takes either an argument (`:tabmove -`) or an address (`:-tabmove`). The code assumed that `:tabmove` is the first command on the cmdline, but that is not the case when using additional modifiers like `:silent`. Make the addr parsing more robust by searching the command first, then going back to check for a potential address `-`.
* | refactor: rename keymap.{c,h} to keycodes.{c,h} (#18535)zeertzjq2022-05-12
| | | | | | | | | | | | | | | | 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".
* | Merge pull request #18366 from famiu/feat/api/nvim_cmdbfredl2022-05-11
|\ \ | |/ |/| feat(api): add `nvim_cmd`
| * feat(api): add `nvim_cmd`Famiu Haque2022-05-11
| | | | | | | | 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.
* | vim-patch:8.2.4911: the mode #defines are not clearly named (#18499)zeertzjq2022-05-10
|/ | | | | | | | Problem: The mode #defines are not clearly named. Solution: Prepend MODE_. Renumber them to put the mapped modes first. https://github.com/vim/vim/commit/249591057b4840785c50e41dd850efb8a8faf435 A hunk from the patch depends on patch 8.2.4861, which hasn't been ported yet, but that should be easy to notice.
* refactor: replace char_u variables and functions with charDundar Goc2022-05-09
| | | | Work on https://github.com/neovim/neovim/issues/459
* Merge pull request #18425 from dundargoc/refactor/char_u/1bfredl2022-05-07
|\ | | | | refactor: replace char_u variables and functions with char
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | Merge pull request #18450 from ↵bfredl2022-05-07
|\ \ | | | | | | | | | | | | dundargoc/build/clint/remove-function-size-warning build(clint): remove "function size is too large" warning
| * | build(clint): remove "function size is too large" warningDundar Goc2022-05-06
| |/ | | | | | | | | | | | | | | This warning is essentially only triggered for ported vim functions. It's unlikely that we'll refactor vim functions solely based on their size since it'd mean we'd greatly deviate from vim, which is a high cost when it comes to importing the vim patches. Thus, this warning only serves as an annoyance and should be removed.
* / fix(api): make `nvim_parse_cmd` work correctly with both range and countFamiu Haque2022-05-07
|/ | | | | | | | It seems range and count can be used together in commands. This PR fixes the behavior of `nvim_parse_cmd` for those cases by removing the mutual exclusivity of "range" and "count". It also removes range line number validation for `nvim_parse_cmd` as it's not its job to validate the command.
* Merge pull request #18438 from famiu/feat/api/nvim_parse_cmdbfredl2022-05-06
|\ | | | | fix(api): make `nvim_parse_cmd` propagate errors
| * fix(api): make `nvim_parse_cmd` propagate errorsFamiu Haque2022-05-05
| | | | | | | | | | Makes `nvim_parse_cmd` propagate any errors that occur while parsing to give the user a better idea of what's wrong with the command.
* | refactor: replace char_u variables and functions with charDundar Goc2022-05-05
|/ | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-04
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-04
| | | | Work on https://github.com/neovim/neovim/issues/459
* feat(nvim_parse_cmd): add range, count, reg #18383Famiu Haque2022-05-04
| | | | | Adds range, count and reg to the return values of nvim_parse_cmd. Also makes line1 and line2 be -1 if the command does not take a range. Also moves nvim_parse_cmd to vimscript.c because it fits better there.
* refactor: replace char_u variables and functions with charDundar Goc2022-05-03
| | | | Work on https://github.com/neovim/neovim/issues/459
* fix(api): preserve `cmdmod` on `nvim_parse_cmd`Famiu Haque2022-05-02
|
* refactor: replace char_u variables and functions with charDundar Goc2022-04-30
| | | | Work on https://github.com/neovim/neovim/issues/459
* feat(api): add `nvim_parse_cmdline`Famiu Haque2022-04-30
| | | | Adds an API function to parse a command line string and get command information from it.
* refactor: replace char_u variables and functions with char (#18288)dundargoc2022-04-30
| | | Work on https://github.com/neovim/neovim/issues/459
* refactor(uncrustify): change rules to better align with the style guideDundar Goc2022-04-29
| | | | | | | | | | | | | Add space around arithmetic operators '+' and '-'. Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. Remove space between '((' or '))' of control statements. Add space between ')' and '{' of control statements. Remove space between function name and '(' on function declaration. Collapse empty blocks between '{' and '}'. Remove newline at the end of the file. Remove newline between 'enum' and '{'. Remove newline between '}' and ')' in a function invocation. Remove newline between '}' and 'while' of 'do' statement.
* vim-patch:8.1.2145: cannot map <C-H> when modifyOtherKeys is enabledzeertzjq2022-04-29
| | | | | | | | | | | | | Problem: Cannot map <C-H> when modifyOtherKeys is enabled. Solution: Add the <C-H> mapping twice, both with modifier and as 0x08. Use only the first one when modifyOtherKeys has been detected. https://github.com/vim/vim/commit/459fd785e4a8d044147a3f83a5fca8748528aa84 Add REPTERM_NO_SPECIAL instead of REPTERM_SPECIAL because the meaning of "special" is different between Vim and Nvim. Omit seenModifyOtherKeys as Nvim supports attaching multiple UIs. Omit tests as they send terminal codes. Keep the behavior of API functions.
* refactor: enable -Wconversion warning for ex_docmd.c (#18277)dundargoc2022-04-27
| | | | | | * refactor: enable -Wconversion warning for ex_docmd.c Work on https://github.com/neovim/neovim/issues/567
* fix: show autocmd output when F is in shortmess (#18251)Gregory Anders2022-04-25
| | | | | | | | | | | The default value of including F in 'shortmess' has the unfortunate side effect of hiding output from autocommands. This is a common source of confusion and often leads people to think their autocommands are not working when they are. There is a small snippet in the docs for 'shortmess' indicating that the F flag suppresses autocmd output, but it's not easy to find if you don't already know to look for it. This commit removes that behavior of the F flag to make it only suppress file info when opening a new file.
* refactor: convert macros to all-caps (#17895)dundargoc2022-04-24
| | | Closes https://github.com/neovim/neovim/issues/6297
* Merge pull request #18110 from dundargoc/refactor/remove-char_uGregory Anders2022-04-24
|\ | | | | refactor: replace char_u variables and functions with char
| * refactor: replace char_u variables and functions with charDundar Göc2022-04-16
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | feat: add `undo!`Famiu Haque2022-04-20
| | | | | | | | Allows using `undo!` to undo changes and remove them from the undo-tree. Can only be used for moving backwards in the same undo branch.
* | vim-patch:8.2.0791: a second popup window with terminal causes troublezeertzjq2022-04-17
|/ | | | | | | | | Problem: A second popup window with terminal causes trouble. Solution: Disallow opening a second terminal-popup window. (closes vim/vim#6101, closes vim/vim#6103) Avoid defaulting to an invalid line number. https://github.com/vim/vim/commit/b5383b174b2436b556f76f14badb1c1f55d6d8f6 This is the only applicable hunk.