Commit Graph

4171 Commits

Author SHA1 Message Date
ZyX
6f6497f5e0 shada: Refactor history merging support to separate functions 2015-10-08 22:00:10 +03:00
ZyX
b905c8a942 shada: Preserve existing file permissions 2015-10-08 22:00:09 +03:00
ZyX
1d3823a5c9 shada: Populate v:oldfiles 2015-10-08 22:00:09 +03:00
ZyX
f43a5e6926 shada: Save v:hlsearch value 2015-10-08 22:00:08 +03:00
ZyX
7abe20f3d3 main: Silence -Wunused-result in main.c for shada_read_file 2015-10-08 22:00:07 +03:00
ZyX
45ad810341 shada: Add more size_t casts
As usual, GCC is overparanoid with -Wconversion.
2015-10-08 22:00:07 +03:00
ZyX
8663983cc4 Deprecate &viminfo and :[rw]v, add &shada and :[rw]sh 2015-10-08 22:00:07 +03:00
ZyX
9cf9c4a586 Replace references to viminfo in various places 2015-10-08 22:00:06 +03:00
ZyX
602efe856a shada: Use “write then rename” variant by default for writing shada 2015-10-08 22:00:05 +03:00
ZyX
55712dcdb4 shada: Test that history string does not contain zero byte
This test can safely be ignored for other kinds of strings, but history string
contains separator after the last NUL byte and string containing NUL byte inside
thus means that separator will be placed at one position, but seeked at
another.
2015-10-08 22:00:05 +03:00
ZyX
ee282cf49e shada: Add support for converting strings that are read or written 2015-10-08 21:59:57 +03:00
ZyX
98e8c1f37c shada: Refactor file reading/writing to use os_open 2015-10-08 21:59:56 +03:00
ZyX
d1ae27ceec shada,functests: Refactor shada items skipping 2015-10-08 21:59:56 +03:00
ZyX
941ec54aa1 shada: Reassign some entry types to WantInfo and WantMarks
kShaDaWantMarks now loads only local file change list and file-local marks.
kShaDaWantInfo now loads global marks and jump list.
2015-10-08 21:59:55 +03:00
ZyX
8c93877e1c shada: Add support for dumping and restoring buffer list 2015-10-08 21:59:55 +03:00
ZyX
4eeafe7f72 shada: Use pre-populated set of buffers on removable media
Should be faster then constantly running shada_removable for each buffer many
times.
2015-10-08 21:59:54 +03:00
ZyX
75c9a7e65b shada: Do not record removable buffers and marks 2015-10-08 21:59:54 +03:00
ZyX
200e62efeb shada: Add support for dumping/restoring bufs changes and win jumps 2015-10-08 21:59:53 +03:00
ZyX
0fe9679101 shada: Initial support for merging history
Currently only merges history when reading ShaDa file. No tests yet.
2015-10-08 21:59:53 +03:00
ZyX
94ed7ba03b shada: Skip reading some items if needed
Avoids unneeded malloc()s/free()s and lots of code for parsing.
2015-10-08 21:59:53 +03:00
ZyX
5e34d4873b main: Read marks at startup
I do not know why marks were not read originally, but without this change marks
are not going to be read at startup when Vim starts without arguments.
2015-10-08 21:59:52 +03:00
ZyX
38c688d7be shada: Use glibc functions to convert from big endian, add a fallback 2015-10-08 21:59:51 +03: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
ZyX
0fdaab995e mark: Fix valgrind error in mark.c
Caused by using memcpy for assigning one structure to another.
2015-10-08 21:59:51 +03:00
ZyX
c71dca0cbd os/fs: Define os_strerror as an alias to uv_strerror
It is not needed to know that os/* uses libuv.
2015-10-08 21:59:50 +03:00
Björn Linse
57d3a2a52f api: represent api type String as msgpack type STR. closes #1250 2015-10-08 20:18:46 +02:00
Daniel Hahler
8cfcf01475 tui: fix_terminfo: Handle "tmux" like "screen". #3422
Closes #3399
2015-10-04 14:20:27 -04:00
bambu
2788f7fcc8 menu: support :emenu invoked by cmenu map. 2015-10-03 03:02:05 -04:00
Thiago de Arruda
2182cd6081 ex_docmd: Fix terminal mode check condition for ex_normal
Using the `curbuf->terminal` condition alone is wrong since it does not
necessarily mean nvim is in terminal mode. It needs to be used with
`State & TERM_FOCUS` because the current buffer could have changed without
`terminal_enter` exiting.

Close #3403
2015-10-01 15:22:49 -03:00
Thiago de Arruda
0ca3f03c19 tui: Fix queueing of large chunks of input
Take the return value of input_enqueue into consideration, waiting for the main
thread to consume input. Close #1714 #3377.
2015-10-01 15:22:49 -03:00
Thiago de Arruda
394c0c4402 rbuffer: Enhance rbuffer_reset to work with filled RBuffers 2015-10-01 15:22:49 -03:00
Thiago de Arruda
0e4e69e52e os/input: Don't advance past incomplete sequences in input_enqueue
This allows callers to incrementally process buffers that are filled by
incomplete chunks more easily.
2015-10-01 15:22:49 -03:00
Thiago de Arruda
1143b416ab tui: Don't use 'pastetoggle' for automatic pasting
Add a new special key that can be used by UIs to toggle the 'paste' option and
use it in the TUI instead of the user's 'pastetoggle' value.

Close #2843 #2092
2015-10-01 15:22:48 -03:00
Thiago de Arruda
c1edd07990 shell: Ensure silent bang mappings won't cut output
Setting `msg_didout` after `call_shell` is enough as it will cause
`hit_return_msg()` to print on next line.

Close #3269
2015-10-01 15:22:48 -03:00
Justin M. Keyes
afe8a32be0 Merge pull request #3410 from oni-link/fix.spell_suggest
spell.c: Fix memory leak
2015-10-01 13:22:02 -04:00
Justin M. Keyes
bb5bf96839 Merge pull request #3407 from oni-link/fix.ga_concat
garray.c: Prevent ga_concat() using memcpy(NULL,...)
2015-10-01 13:19:49 -04:00
oni-link
2fb77ba6f9 spell.c: Fix memory leak 2015-10-01 12:34:13 +02:00
oni-link
0320d86d3b garray.c: Prevent ga_concat() using memcpy(NULL,...)
Calling ga_grow(gap, 0) does not reallocate memory for garray gap.
Because of this, gap->ga_data can be NULL after such a call, if gap does
not have memory allocated.
2015-09-30 19:11:07 +02:00
ZyX
b6fdb7bd0f eval/string(): Share code between msgpackdump() and string()+:echo 2015-09-30 10:12:35 +03:00
ZyX
6da3fadd9f eval/msgpackdump(): Use copyID for protecting against recursive input
Should be faster then O(depth) iteration, but removes const qualifiers.
2015-09-30 10:09:21 +03:00
Justin M. Keyes
622ec95c3f Merge pull request #3321 from cHoco/fix-append-api-implementation-2
Fix append() with negative line numbers.
2015-09-27 20:33:19 -04:00
Felipe Morales
b927304108 defaults: revert wildmode to 'full' 2015-09-26 21:09:47 +02:00
Pavlos Vinieratos
e073074414 ex_menu: use bool. #3389 2015-09-25 21:15:10 -04:00
Rui Abreu Ferreira
e70d6283b6 Remove VLA from path_get_absolute_path
Remove the use of Variable Length Arrays in path_get_absolute_path(), and use
xmalloc/xfree instead.
2015-09-24 16:50:33 +01:00
cztchoice
ef5ee31452 Enable -Wconversion: if_cscope.c #3068
Helped-by: Gustaf Lindstedt <gustaflindstedt@gmail.com>
Helped-by: Wander Nauta <info@wandernauta.nl>
2015-09-23 21:43:29 -04:00
Justin M. Keyes
6eb78dcaaa nv_ident: sprintf => snprintf
Also fix some other clint errors.
2015-09-23 00:06:27 -04:00
Justin M. Keyes
998d0ffc09 'keywordprg': support ex commands
- new feature: if the first character of 'keywordprg' is ":", the
  command is invoked as a Vim ex-command prefixed with [count].
- change default 'keywordprg' to :Man
2015-09-23 00:05:33 -04:00
Justin M. Keyes
481049e0c9 build: remove USEMAN_S 2015-09-23 00:05:32 -04:00
Enrico Ghirardi
8ab09087da Fix append() without line argument
We want to switch include_start/end when the index is positive or
negative.
2015-09-20 12:38:41 +02:00
ZyX
924058c00f eval/msgpackparse(): Fix crash by adding return at error 2015-09-19 01:54:43 +03:00