aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
Commit message (Collapse)AuthorAge
...
* Merge #3745 from cacplate/ops_WconversionJustin M. Keyes2016-06-13
|\ | | | | Enable -Wconversion in ops.c
| * ops.c: enable -Wconversion warningCharles Joachim2016-05-30
| |
* | *: 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.
* Merge pull request #4644 from KillTheMule/vim-7.4.882Justin M. Keyes2016-05-04
|\ | | | | vim-patch:7.4.882
| * vim-patch:7.4.882KillTheMule2016-04-29
| | | | | | | | | | | | | | | | | | | | Problem: When leaving the command line window with CTRL-C while a completion menu is displayed the menu isn't removed. Solution: Force a screen update. (Hirohito Higashi) https://github.com/vim/vim/commit/5f1fea28f5bc573e2430773c49e95ae1f9cc2a25 Applied manually.
* | *: 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.
* vim-patch:7.4.1296KillTheMule2016-04-27
| | | | | | | | | | | | | | | | | | Problem: Cursor changes column with up motion when the matchparen plugin saves and restores the cursor position. (Martin Kunev) Solution: Make sure curswant is updated before invoking the autocommand. https://github.com/vim/vim/commit/f068dcafcfe0c8018e5a559c50769ca1364bd9a5 Applied manually. Could reproduce the bug with vim/vim@4d8747c but not with vim/vim@2693ca2, so it must have appeared inbetween. For discussion, see https://groups.google.com/forum/#!msg/vim_dev/t2sdeFhkybs/WEtLJpCODQAJ http://vim.1045645.n5.nabble.com/Cursor-behaviour-change-td5726895.html Could not reproduce with current nvim master.
* Merge pull request #4622 from Shougo/vim-7.4.1753Justin M. Keyes2016-04-27
|\ | | | | vim-patch:7.4.1753
| * vim-patch:7.4.1753Shougo Matsushita2016-04-22
| | | | | | | | | | | | | | Problem: "noinsert" in 'completeopt' is sometimes ignored. Solution: Set the variables when the 'completeopt' was set. (Ozaki Kiichi) https://github.com/vim/vim/commit/c020042083b9c0a4e932b562c3bef97c76328e18
* | mouse: Implement horizontal scroll. #3450bambu2016-04-25
|/ | | | | | | | | | - Code from Vim source. - Removed the check for 'guioptions' - mouse_spec.lua: test <ScrollWheelLeft> and <ScrollWheelRight> - Move horizontal scroll logic to mouse.c - Remove 'gui_' from the function names - Renamed variables to be more specific (as opposed to generic p, w). - Marked some functions as `static`
* Merge pull request #3951 from cacplate/misc1_WconversionBjörn Linse2016-04-18
|\ | | | | Enable -Wconversion in misc1.c
| * misc1.c: enable -WconversionCharles Joachim2016-04-17
| |
* | *: Make set_vim_var_\* functions have proper argument typesZyX2016-04-18
|/
* complete: noinsert/noselect should not set 'modified'. #4509Shougo Matsushita2016-04-09
|
* edit.c: K_EVENT should not hide the popupmenuBjörn Linse2016-03-17
| | | | Nor should K_FOCUSGAINED and K_FOCUSLOST.
* complete: disable folding when completingAnmol Sethi2016-03-09
| | | | Fixes vim/vim#643
* edit.c: change return type to boolCharles Joachim2016-03-02
| | | | Co-authored-by: Wayne Rowcliffe (@war1025)
* Merge pull request #4315 from justinmk/compl_flickerJustin M. Keyes2016-02-22
|\ | | | | completion: Avoid flicker
| * ins_complete: Avoid semi-global state.Justin M. Keyes2016-02-22
| |
| * completion: Avoid flicker.Shougo Matsushita2016-02-21
| |
* | keymap: Support <D-...> (super/command key).Justin M. Keyes2016-02-22
|/ | | | | | | | | | | | | | | | | | | | 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
* Merge #2674Justin M. Keyes2016-02-13
|\
| * edit.c: fix incorrect redo buffersolawing2016-01-29
| |
| * edit.c: fix flicker in popup menusolawing2016-01-29
| |
* | vim-patch:7.4.688 #4159watiko2016-02-05
|/ | | | | | | | | | | Problem: When "$" is in 'cpo' the popup menu isn't undrawn correctly. (Issue 166) Solution: When using the popup menu remove the "$". https://github.com/vim/vim/commit/478c46e50fd94f270369ec1c5f76aa65af7ee671 NOTE: To reproduce in nvim: nvim -u NONE -c 'exe "norm iaaa iabbbbbb acc" | norm yyp' -c 'set cpo+=$'
* vim-patch:7.4.680Justin Gassner2016-01-22
| | | | | | | | Problem: CTRL-W in Insert mode does not work well for multi-byte characters. Solution: Use mb_get_class(). (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/310f2d59b2b20c642088feb5e6dfe323cc570923
* fileio: Replace some event checking functions with one has_eventCharles Joachim2016-01-11
|
* Fix linting errors.Johan Klokkhammer Helsing2015-12-13
|
* vim-patch:7.4.803Johan Klokkhammer Helsing2015-12-13
| | | | | | | Problem: C indent does not support C11 raw strings. (Mark Lodato) Solution: Do not change indent inside the raw string. https://github.com/vim/vim/commit/f7bb86dc593913d055e4cce16cec43f6271adda3
* Merge pull request #3838 from Shougo/vim-7.4.658Justin M. Keyes2015-12-13
|\ | | | | vim-patch:7.4.658
| * vim-patch:7.4.658Shougo Matsushita2015-12-13
| | | | | | | | | | | | | | | | Problem: 'formatexpr' is evaluated too often. Solution: Only invoke it when beyond the 'textwidth' column, as it is documented. (James McCoy) https://github.com/vim/vim/commit/0f8dd840fc6a614450db60ebe405d6201a2ecc3e
* | vim-patch:7.4.640Shougo Matsushita2015-12-13
|/ | | | | | | | Problem: After deleting characters in Insert mode such that lines are joined undo does not work properly. (issue 324) Solution: Use Insstart instead of Insstart_orig. (Christian Brabandt) https://github.com/vim/vim/commit/c3bbad085c3ec304b111dc95aed97fea4c38a177
* src/*: Remove `VIM - Vi improved ...` headerMichael Reed2015-11-27
| | | | | | | | | | | | | | | | | | | 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.
* Remove unnecessary includes for errno.hRui Abreu Ferreira2015-11-25
|
* src: README.txt -> README.mdMichael Reed2015-11-23
| | | | | The former no longer exists in this repo; see the top of src/nvim/README.md.
* Implement handling of terminal focus eventsJoe Hermaszewski2015-11-17
| | | | | | | | | | | | | | | | | | | | Two new keys have been added to key_name_entry in keymap.c: `FocusGained` and `FocusLost`. Two cases have been added to the key handing switch in edit.c each applying their respective autocmds. In normal.c two functions have been added alongside nv_cursorhold doing a similar job of applying the autocmd for the appropriate key. tui/input.c has a new function `handle_focus_event` which eats either of the control sequences for focus gained or lost. This function is checked before handle_bracketed_paste and handle_forced_escape. tui.c registers neovim as able to receive these control sequences in terminfo_start and undoes that in terminfo_stop. Closes #2302
* edit.c: Fix one clint warningThiago de Arruda2015-10-26
|
* edit: Extract some functions from `insert_execute`Thiago de Arruda2015-10-26
| | | | | | | | | - `insert_handle_key`: Contains the big insert mode switch statement. - `insert_do_complete`: Code that used to be in the `docomplete` label. - `insert_do_cindent`: Code that used to be in the `force_cindent` label. Also move some code after the switch statement into the beginning of `insert_check`.
* edit: Move most code from `edit()` to `insert_{enter,check,execute}`Thiago de Arruda2015-10-26
| | | | | | | | | | | | | Refactor insert mode to use `state_enter` as an event loop: - Move o_lnum(static variable) outside function - Move code before the insert mode loop into `insert_enter` - Move code before `safe_vgetc()` call into `insert_check` - Move code after `safe_vgetc()` call into `insert_execute` - Remove doESCkey label and handle insert mode repeating in the `insert_enter` function - Remove do_intr label(this is not the place for platform-specific interrupt charts)
* edit: Extract local variables from edit() and fix code styleThiago de Arruda2015-10-26
| | | | | | | Begin refactoring edit() into a state that can be managed by the `state_enter()`: - Move local variables into a local InsertState structure - Fix code style in the entire function.
* input: Remove CURSORHOLD keyThiago de Arruda2015-10-26
| | | | | | | | | | | 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.
* vim-patch:7.4.849Justin M. Keyes2015-10-26
| | | | | | | | | | Problem: Moving the cursor in Insert mode starts new undo sequence. Solution: Add CTRL-G U to keep the undo sequence for the following cursor movement command. (Christian Brabandt) https://github.com/vim/vim/commit/8b5f65a527c353b9942e362e719687c3a7592309 Closes #3492
* vim-patch:7.4.793Johan Klokkhammer Helsing2015-10-18
| | | | | | | Problem: Can't specify when not to ring the bell. Solution: Add the 'belloff' option. (Christian Brabandt) https://github.com/vim/vim/commit/165bc69d1b7f70ca9d5b657f35d0584ecb7b5183
* viminfo: First version of ShaDa file dumpingZyX2015-10-08
| | | | | | | | | | | | | | | | | | | | What works: 1. ShaDa file dumping: header, registers, jump list, history, search patterns, substitute strings, variables. 2. ShaDa file reading: registers, global marks, variables. Most was not tested. TODO: 1. Merging. 2. Reading history, local marks, jump and buffer lists. 3. Documentation update. 4. Converting some data from &encoding. 5. Safer variant of dumping viminfo (dump to temporary file then rename). 6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for reference).
* terminal: Don't enter terminal mode from `:normal`Thiago de Arruda2015-09-18
| | | | Ref: https://github.com/junegunn/fzf.vim/issues/8#issuecomment-139209765
* event: Refactor async event processingThiago de Arruda2015-08-13
| | | | | | | | | | - Improve the implementation of deferred/immediate events. - Use the new queue module to change how/when events are queued/processed by giving a private queue to each emitter. - Immediate events(which only exist to break uv_run recursion) are now represented in the `loop->fast_events` queue. - Events pushed to child queues are propagated to the event loop main queue and processed as K_EVENT keys.
* loop: Simplify loop.c and move some code to input.cThiago de Arruda2015-08-13
| | | | | | - Declare poll timer in Loop structure instead of a loop_poll_events local variable. - Move deferred event management to input.c
* event loop: New abstraction layer with refactored time/signal APIThiago de Arruda2015-07-17
| | | | | | | | | | - Add event loop abstraction module under src/nvim/event. The src/nvim/event/loop module replaces src/nvim/os/event - Remove direct dependency on libuv signal/timer API and use the new abstraction instead. - Replace all references to uv_default_loop() by &loop.uv, a new global variable that wraps libuv main event loop but allows the event loop functions to be reused in other contexts.
* Add complete() noinsert/noselect support #2792Shougo Matsushita2015-06-11
|
* Add noinsert and noselect features in completeopt #2564Shougo Matsushita2015-06-04
| | | | | | | | | | | | Backported from vim_dev: https://groups.google.com/forum/#!searchin/vim_dev/completeopt/vim_dev/tVsk0pdOGvs/fCzBbPkA4w0J Use case: https://github.com/Shougo/neocomplcache.vim/issues/426 Reviewed-by: Felipe Morales <hel.sheep@gmail.com> Reviewed-by: Scott Prager <splinterofchaos@gmail.com> Reviewed-by: Michael Reed <m.reed@mykolab.com>