aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
Commit message (Collapse)AuthorAge
...
* New event: DirChangedMarco Hinz2017-01-13
|
* open_buffer(): Do `BufEnter` for directories.Justin M. Keyes2017-01-12
| | | | | | | | | | | | | | | | | | | Abuse NOTDONE to give some nuance to the return value of readfile(), so that open_buffer() can distinguish between "failed, lol" and "failed because the path is a directory". Before this change, Vim *already* creates a new buffer when a directory is edited. So there is no reason it should not raise BufEnter, that was an implementation detail of ye olde readfile(). Most of the changes in this commit merely preserve the old semantics. The "implicit" change that we actually are interested in, is this line in `open_buffer()`, where `retval` being non-FAIL allows EVENT_BUFENTER to be applied: apply_autocmds_retval(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf, &retval); References https://github.com/vim/vim/issues/1353
* inccommand: Preview :sub commands only after the delimiter is presentJames McCoy2017-01-11
| | | | Closes #5888
* Merge pull request #5893 from lonerover/vim-7.4.2127James McCoy2017-01-06
|\ | | | | vim-patch:7.4.2127
| * vim-patch:7.4.2127rover2017-01-05
| | | | | | | | | | | | | | | | Problem: The short form of ":noswapfile" is ":noswap" instead of ":now". (Kent Sibilev) Solution: Only require three characters. Add a test for the short forms. https://github.com/vim/vim/commit/3bcfca3ab4db415d0e750e00204dd25a91fcee77
* | vim-patch:7.4.2110 (#5880)lonerover2017-01-05
|/ | | | | | | Problem: When there is an CmdUndefined autocmd then the error for a missing command is E464 instead of E492. (Manuel Ortega) Solution: Don't let the pointer be NULL. https://github.com/vim/vim/commit/eac784eced501c54d2c99e18a1af96cd996f3a6c
* ex_docmd.c: Save/restore winminheight/winminwidth. #5717Rafael Bodill2016-12-10
| | | | | | | | | | | | Fix session load with winminheight/winminwidth >1. Problem: Vim temporarily sets winheight/winwidth to 1 while loading session. If user has his minimum window size set higher, this causes an error. Solution: Temporarily set winminheight/winminwidth, and restore the original values (in the right order) when finishing session read. The order of the compound 'set' command is important, if it is wrong there will be an error.
* vim-patch:7.4.1897 (#5747)Shougo2016-12-10
| | | | | | Problem: Various typos, long lines and style mistakes. Solution: Fix the typos, wrap lines, improve style. https://github.com/vim/vim/commit/fd89d7ea81b18d32363456b16258174dc9e095dc
* vim-patch:7.4.1696Shougo Matsushita2016-11-24
| | | | | | | | Problem: When using :stopinsert in a silent mapping the "INSERT" message isn't cleared. (Coacher) Solution: Always clear the message. (Christian Brabandt, closes vim/vim#718) https://github.com/vim/vim/commit/fd773e9e88add7d1ffef890fb9f3a00d613b4326
* 'inccommand': Introduce CMDPREVIEW state.Justin M. Keyes2016-11-15
| | | | | | | Command "live preview" is fundamentally a non-recursive concept ("preview of a preview" is not useful). Maintaining this as a global is less awkward and closer to what we actually want to express, vs adorning exarg_T, CommandLineState, etc.
* 'inccommand': buftype=nofile, restore cursor/viewJustin M. Keyes2016-11-10
| | | | | | | - Use a standard scratch buffer instead of a new 'buftype', functions like curbufIsChanged() already have special handling for scratch bufs. - Cleanup some stuff from the previous merge. - Add support for :smagic, :snomagic. Closes #5578
* 'inccommand': reworkJustin M. Keyes2016-11-08
| | | | | | | | | | | | | | | | | - Eliminate/isolate static/global variables - Remove special-case parameter from buflist_new() - Remove special-case ECMD_RESERVED_BUFNR - To determine when u_undo_and_forget() should be done, check b_changedtick instead of a heuristic. - use mb_string2cells() instead of strlen() to measure the :sub patterns - call ml_close() before buf_clear_file(). Avoids leaks caught by ASan. Original patch by: Robin Elrharbi-Fleury (Robinhola) Audrey Rayé (Adrey06) Philémon Hullot (DesbyP) Aymeric Collange (aym7) Clément Guyomard (Clement0)
* LintedKillTheMule2016-10-30
|
* Incsubsitution featureKillTheMule2016-10-30
| | | | | | | | | | | | | | | | | Originally implemented by * Clement0 * DesbyP * aym7 * Adrey06 * Robinhola in #4811. Major reworkings and bug fixes by * bfredl Most tests suggested by ZyX-l, suggestions for improvements by oni-link.
* Fix lint errors.Grzegorz Milka2016-10-23
|
* vim-patch:7.4.2312Grzegorz Milka2016-10-23
| | | | | | | | Problem: Crash when autocommand moves to another tab. (Dominique Pelle) Solution: When navigating to another window halfway the :edit command go back to the right window. https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
* vim-patch:7.4.2237Grzegorz Milka2016-10-23
| | | | | | | Problem: Can't use "." and "$" with ":tab". Solution: Support a range for ":tab". (Hirohito Higashi) https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
* main.c: "BufReadCmd term://": Skip existing terminal.Justin M. Keyes2016-10-12
| | | | | | | | | Check `exists('b:term_title')` to avoid the BufReadCmd for already-initialized :terminal buffers. Move the test for `:argadd`. Add a test for `:edit<CR>`. Tweak comments and code style.
* terminal: Move re-edit detection to do_ecmd(). #5445Harm te Hennepe2016-10-12
| | | | Closes #4784
* refactor: eliminate misc2.cJustin M. Keyes2016-09-13
| | | | | | | | | | move `call_shell` to misc1.c Move some fns to state.c Move some fns to option.c Move some fns to memline.c Move `vim_chdir*` fns to file_search.c Move some fns to new module, bytes.c Move some fns to fileio.c
* vim-patch:7.4.1913 (#5260)Jurica Bradarić2016-09-04
| | | | | | | Problem: When ":doautocmd" is used modelines are used even when no autocommands were executed. (Daniel Hahler) Solution: Skip processing modelines. (closes vim/vim#854) https://github.com/vim/vim/commit/1610d052413e0ed664498853a47acc2d677a22d1
* Merge #5210 'vim-patch:7.4.1898 + :Man modifiers support'.Justin M. Keyes2016-08-25
|\
| * use bool type for flag mod_entry_T membersAnmol Sethi2016-08-24
| |
| * vim-patch:7.4.1898Anmol Sethi2016-08-24
| | | | | | | | | | | | | | Problem: User commands don't support modifiers. Solution: Add the <mods> item. (Yegappan Lakshmanan, closes vim/vim#829) https://github.com/vim/vim/commit/63a60ded3fd584847a05dccf058026e682abad90
* | lintJustin M. Keyes2016-08-25
| |
* | perf: Disable clipboard in do_cmdline().Justin M. Keyes2016-08-25
| | | | | | | | | | | | | | | | | | | | | | For any script--not just `:global` commands--there is no reason to update the system clipboard until the script is finished, so disable it during do_cmdline(). Before this change, 'clipboard=unnamedplus' causes scripted editing to be extremely slow (e.g. `:normal` in a while-loop). Closes #3534
* | ops.c: Rename start_global_changes().Justin M. Keyes2016-08-25
|/
* Re-add support for the :browse command modifierJames McCoy2016-08-11
|
* [RFC] vim-patch:7.4.2011, vim-patch:7.4.2012, vim-patch:7.4.2066 #5106Shougo Matsushita2016-08-01
| | | | | | | | | | | | | | | | | | | | | | | vim-patch:7.4.2011 Problem: It is not easy to get a list of command arguments. Solution: Add getcompletion(). (Yegappan Lakshmanan) https://github.com/vim/vim/commit/aa4d73235bf4deee167aa5314b89ae3d3db334b7 vim-patch:7.4.2012 Problem: Test for getcompletion() does not pass on all systems. Solution: Only test what is supported. https://github.com/vim/vim/commit/0d3e24be5686c0710aa3c6671e4c626d6cb21a5f vim-patch:7.4.2066 Problem: getcompletion() not well tested. Solution: Add more testing. https://github.com/vim/vim/commit/c1fb763184c8ae82300357867fa2070aa94366e9
* lintJames McCoy2016-07-08
|
* vim-patch:7.4.1552James McCoy2016-07-08
| | | | | | | Problem: ":colorscheme" does not use 'packpath'. Solution: Also use in "start" and "opt" directories in 'packpath'. https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
* vim-patch:7.4.1492James McCoy2016-07-08
| | | | | | | Problem: No command line completion for ":packadd". Solution: Implement completion. (Hirohito Higashi) https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
* os/fs: Rename os_file_exists to os_path_exists (#4973)Daniel Xu2016-07-06
| | | | Because the old name did not indicate that the function would return true on directories as well.
* Merge #3745 from cacplate/ops_WconversionJustin M. Keyes2016-06-13
|\ | | | | Enable -Wconversion in ops.c
| * ops.c: enable -Wconversion warningCharles Joachim2016-05-30
| |
* | Fix style according to linterTJ DeVries2016-06-09
| |
* | vim-patch:7.4.1151Michael Ennen2016-06-07
| | | | | | | | | | | | | | Problem: Missing change to eval.c Solution: Also change feedkeys(). https://github.com/vim/vim/commit/5f8a14b9dea094b8bbab94cfc1e8da8e633fbc01
* | vim-patch:7.4.1150Michael Ennen2016-06-04
| | | | | | | | | | | | | | | | | | Problem: 'langmap' applies to the first character typed in Select mode. (David Watson) Solution: Check for SELECTMODE. (Christian Brabandt, closes #572) Add the 'x' flag to feedkeys(). https://github.com/vim/vim/commit/25281634cda03ce302aaf9f906a9520b5f81f91e
* | tcd: Determine correct scope from user inputJames McCoy2016-06-01
| | | | | | | | | | | | If a user specifies both {window} and {tab}, `getcwd()`/`haslocaldir()` are using "tab" as the scope that should be reported. However, it should be using "window" as the scope, within the specified tab page.
* | *: Rename main loop variable from loop to main_loopZyX2016-05-30
|/ | | | | | | | | | | | | | | | Current name is inappropriate for the following reasons: 1. It is often masked by local `loop` variables. 2. It cannot be searched for. There are many `loop` variables where `loop` is some local variable. There are many cases when “loop” word is used in a comment. 3. It is in any case bad idea to use a generic name as a name of the global variable. Best if global has module prefix: this is why it is in `main.h`: `main_loop` both stands for “a main loop” and “a loop defined in `main.*`”. Since I have no idea how to list every occurrence of this variable method used to rename it is “remove it from globals.h, try to compile, fix errors”. Thus if some occurrence was hidden under false `#if` branch it was not replaced.
* eval: implement timers. vim-patch: 7.4.1578, 7.4.1831Björn Linse2016-05-24
| | | | | For the moment, timers are triggered during sleep, but not in wait-for-input modes, like press-RETURN or f_getchar()
* Merge pull request #4743 from jamessan/vim-7.4.1037Justin M. Keyes2016-05-15
|\ | | | | vim-patch:7.4.1037,fa73534
| * Linting fixups for vim-patch:7.4.1037James McCoy2016-05-14
| |
| * vim-patch:7.4.1037James McCoy2016-05-14
| | | | | | | | | | | | | | | | | | Problem: Using "q!" when there is a modified hidden buffer does not unload the current buffer, resulting in the need to abandon it again. Solution: When using "q!" unload the current buffer when needed. (Yasuhiro Matsumoto, Hirohito Higashi) https://github.com/vim/vim/commit/027387f70c671f62e3e08e0bdd09ec05b0232735
* | ex_terminal(): fix double-freeJustin M. Keyes2016-05-15
|/ | | | Closes #4554
* *: Fix new linter errorsZyX2016-05-01
| | | | Originally there were 128 new errors, so I thought this is a good idea to fix all of them. Of course, this commit also fixes many suppressed errors.
* normal: convert MCHAR etc operator and register types to enum MotionTypeBjörn Linse2016-05-01
|
* Merge pull request #4625 from brcolow/vim-7.4.1075Justin M. Keyes2016-04-27
|\ | | | | vim-patch: 7.4.1075
| * vim-patch: 7.4.1075Michael Ennen2016-04-26
| | | | | | | | | | | | | | Problem: Crash when using an invalid command. Solution: Fix generating the error message. (Dominique Pelle) https://github.com/vim/vim/commit/05fe017c1ac0503b706dad695097572fde01ab0b
* | Merge pull request #4655 from brcolow/vim-7.4.1035Justin M. Keyes2016-04-27
|\ \ | |/ |/| vim-patch: 7.4.1035