Commit Graph

376 Commits

Author SHA1 Message Date
ZyX
cf4e1fb0f4 *: Fix new linter errors
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.
2016-05-01 20:35:51 +03:00
KillTheMule
0786ebe305 vim-patch:7.4.882
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)

5f1fea28f5

Applied manually.
2016-04-29 19:46:53 +02:00
KillTheMule
61e25f995c vim-patch:7.4.1296
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.

f068dcafcf

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.
2016-04-27 21:44:13 -04:00
Justin M. Keyes
2d5520fb25 Merge pull request #4622 from Shougo/vim-7.4.1753
vim-patch:7.4.1753
2016-04-27 21:01:03 -04:00
bambu
5a5ef1c222 mouse: Implement horizontal scroll. #3450
- 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`
2016-04-25 01:31:44 -04:00
Shougo Matsushita
e57238a644 vim-patch:7.4.1753
Problem:    "noinsert" in 'completeopt' is sometimes ignored.
Solution:   Set the variables when the 'completeopt' was set. (Ozaki Kiichi)

c020042083
2016-04-22 07:19:25 +09:00
Björn Linse
ba97f73560 Merge pull request #3951 from cacplate/misc1_Wconversion
Enable -Wconversion in misc1.c
2016-04-18 20:17:56 +02:00
Charles Joachim
a3dfd1627e misc1.c: enable -Wconversion 2016-04-17 20:15:40 -04:00
ZyX
494b1c9bee *: Make set_vim_var_\* functions have proper argument types 2016-04-18 02:48:20 +03:00
Shougo Matsushita
d227c843bf complete: noinsert/noselect should not set 'modified'. #4509 2016-04-09 13:36:37 -04:00
Björn Linse
5aa0159f01 edit.c: K_EVENT should not hide the popupmenu
Nor should K_FOCUSGAINED and K_FOCUSLOST.
2016-03-17 13:26:51 +01:00
Anmol Sethi
0b468fd0cf complete: disable folding when completing
Fixes vim/vim#643
2016-03-09 10:04:15 -05:00
Charles Joachim
5ef3e40b37 edit.c: change return type to bool
Co-authored-by: Wayne Rowcliffe (@war1025)
2016-03-02 08:37:19 -05:00
Justin M. Keyes
37d6004251 Merge pull request #4315 from justinmk/compl_flicker
completion: Avoid flicker
2016-02-22 14:05:33 -05:00
Justin M. Keyes
c8b574f749 ins_complete: Avoid semi-global state. 2016-02-22 10:00:05 -05:00
Justin M. Keyes
99d4c8c29c keymap: Support <D-...> (super/command key).
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
2016-02-22 02:41:40 -05:00
Shougo Matsushita
d92db14241 completion: Avoid flicker. 2016-02-21 15:58:38 -05:00
Justin M. Keyes
364d764889 Merge #2674 2016-02-13 15:22:12 -05:00
watiko
7b955802b3 vim-patch:7.4.688 #4159
Problem:    When "$" is in 'cpo' the popup menu isn't undrawn correctly.
            (Issue 166)
Solution:   When using the popup menu remove the "$".

478c46e50f

NOTE: To reproduce in nvim:
    nvim -u NONE -c 'exe "norm iaaa iabbbbbb acc" | norm yyp' -c 'set cpo+=$'
2016-02-05 09:54:03 -05:00
solawing
edb5fb88aa edit.c: fix incorrect redo buffer 2016-01-29 22:03:23 +08:00
solawing
b55726b350 edit.c: fix flicker in popup menu 2016-01-29 22:03:11 +08:00
Justin Gassner
f1aec23c09 vim-patch:7.4.680
Problem:    CTRL-W in Insert mode does not work well for multi-byte
            characters.
Solution:   Use mb_get_class(). (Yasuhiro Matsumoto)

310f2d59b2
2016-01-22 11:55:00 +01:00
Charles Joachim
879c668d14 fileio: Replace some event checking functions with one has_event 2016-01-11 08:45:19 -05:00
Johan Klokkhammer Helsing
ad34a376eb Fix linting errors. 2015-12-13 13:06:48 +01:00
Johan Klokkhammer Helsing
3b472e55b3 vim-patch:7.4.803
Problem:    C indent does not support C11 raw strings. (Mark Lodato)
Solution:   Do not change indent inside the raw string.

f7bb86dc59
2015-12-13 13:06:48 +01:00
Justin M. Keyes
f406ae412e Merge pull request #3838 from Shougo/vim-7.4.658
vim-patch:7.4.658
2015-12-13 01:47:34 -05:00
Shougo Matsushita
815fe24604 vim-patch:7.4.658
Problem:    'formatexpr' is evaluated too often.
Solution:   Only invoke it when beyond the 'textwidth' column, as it is
            documented. (James McCoy)

0f8dd840fc
2015-12-13 13:10:31 +09:00
Shougo Matsushita
f1b9a59ed6 vim-patch:7.4.640
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)

c3bbad085c
2015-12-13 12:53:30 +09:00
Michael Reed
53ee6425c8 src/*: Remove VIM - Vi improved ... header
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.
2015-11-27 16:25:10 -05:00
Rui Abreu Ferreira
4f24b9e06f Remove unnecessary includes for errno.h 2015-11-25 16:38:33 -05:00
Michael Reed
af5483089e src: README.txt -> README.md
The former no longer exists in this repo; see the top of
src/nvim/README.md.
2015-11-23 21:38:08 -05:00
Joe Hermaszewski
33eb33bb62 Implement handling of terminal focus events
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
2015-11-17 22:36:28 +00:00
Thiago de Arruda
1726c7d999 edit.c: Fix one clint warning 2015-10-26 11:06:07 -03:00
Thiago de Arruda
8890852cb7 edit: Extract some functions from insert_execute
- `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`.
2015-10-26 10:52:02 -03:00
Thiago de Arruda
091e7d033c edit: Move most code from edit() to insert_{enter,check,execute}
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)
2015-10-26 10:52:02 -03:00
Thiago de Arruda
f5b333f532 edit: Extract local variables from edit() and fix code style
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.
2015-10-26 10:52:01 -03:00
Thiago de Arruda
e5165bae11 input: Remove CURSORHOLD key
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.
2015-10-26 10:52:01 -03:00
Justin M. Keyes
0f9dea2a0e vim-patch:7.4.849
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)

8b5f65a527

Closes #3492
2015-10-26 02:23:59 -04:00
Johan Klokkhammer Helsing
3bb2662669 vim-patch:7.4.793
Problem:    Can't specify when not to ring the bell.
Solution:   Add the 'belloff' option. (Christian Brabandt)

165bc69d1b
2015-10-18 01:58:18 +02:00
ZyX
244dbe3a77 viminfo: First version of ShaDa file dumping
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).
2015-10-08 21:59:51 +03:00
Thiago de Arruda
1b1716477c terminal: Don't enter terminal mode from :normal
Ref: https://github.com/junegunn/fzf.vim/issues/8#issuecomment-139209765
2015-09-18 14:35:26 -03:00
Thiago de Arruda
502aee690c event: Refactor async event processing
- 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.
2015-08-13 08:49:38 -03:00
Thiago de Arruda
3f5af6c1c4 loop: Simplify loop.c and move some code to input.c
- Declare poll timer in Loop structure instead of a loop_poll_events local
  variable.
- Move deferred event management to input.c
2015-08-13 07:41:04 -03:00
Thiago de Arruda
991d3ec1e6 event loop: New abstraction layer with refactored time/signal API
- 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.
2015-07-17 00:19:19 -03:00
Shougo Matsushita
be66c0b357 Add complete() noinsert/noselect support #2792 2015-06-11 09:03:00 -04:00
Shougo Matsushita
e6c62c80ef Add noinsert and noselect features in completeopt #2564
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>
2015-06-04 21:20:09 -04:00
David Bürgin
44175224cc 'cpoptions': Remove "j" flag 2015-05-25 16:29:00 -04:00
Shougo Matsushita
d9f97e3026 completion: Add v:completed_item feature #2563
Reviewed-by: Michael Reed <m.reed@mykolab.com>
Reviewed-by: Luke Andrew <luke.github@la.id.au>
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
Reviewed-by: Florian Walch <florian@fwalch.com>
2015-05-24 17:05:12 -04:00
David Bürgin
32837cc7df 'cpoptions': Remove "-" flag #2655 2015-05-21 01:31:30 -04:00
Michael Reed
5e60180a1e Remove char_u: ex_docmd:do_cmdline_cmd() 2015-05-13 15:29:49 -04:00