| Commit message (Collapse) | Author | Age |
| ... | |
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
kShaDaWantMarks now loads only local file change list and file-local marks.
kShaDaWantInfo now loads global marks and jump list.
|
| | | |
|
| | |
| |
| |
| |
| | |
Should be faster then constantly running shada_removable for each buffer many
times.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Currently only merges history when reading ShaDa file. No tests yet.
|
| | |
| |
| |
| | |
Avoids unneeded malloc()s/free()s and lots of code for parsing.
|
| | |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
| | |
| |
| |
| | |
Caused by using memcpy for assigning one structure to another.
|
| | |
| |
| |
| | |
It is not needed to know that os/* uses libuv.
|
| |/
|
|
|
|
| |
This is required to have <esc> working correctly when the
`ttimeout`/`ttimeoutlen` options are set. Ref:
https://github.com/neovim/neovim/issues/2093#issuecomment-146506480
|
| | |
|
| |
|
|
| |
Closes #3399
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Take the return value of input_enqueue into consideration, waiting for the main
thread to consume input. Close #1714 #3377.
|
| | |
|
| |
|
|
|
| |
This allows callers to incrementally process buffers that are filled by
incomplete chunks more easily.
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Setting `msg_didout` after `call_shell` is enough as it will cause
`hit_return_msg()` to print on next line.
Close #3269
|
| |\
| |
| | |
spell.c: Fix memory leak
|
| | | |
|
| |\ \
| |/
|/| |
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.
|
| | | |
|
| |/
|
| |
Should be faster then O(depth) iteration, but removes const qualifiers.
|
| |\
| |
| | |
Fix append() with negative line numbers.
|
| | |
| |
| |
| |
| | |
We want to switch include_start/end when the index is positive or
negative.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
Remove the use of Variable Length Arrays in path_get_absolute_path(), and use
xmalloc/xfree instead.
|
| | |
| |
| |
| |
| | |
Helped-by: Gustaf Lindstedt <gustaflindstedt@gmail.com>
Helped-by: Wander Nauta <info@wandernauta.nl>
|
| | |
| |
| |
| | |
Also fix some other clint errors.
|
| | |
| |
| |
| |
| |
| | |
- 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
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
| |
Since vimscript can close buffers at any time, it is possible that a
refresh_timer_cb will be called with an invalid buffer, but there's no way to
detect this if only a reference is stored because the memory can be reused by
the allocator. Use buf_T->handle which is guaranteed to be unique.
|
| |
|
|
| |
Close #3332
|
| |
|
|
| |
Close #3323
|
| |
|
|
| |
Ref: https://github.com/junegunn/fzf.vim/issues/8#issuecomment-139209765
|
| |
|
|
|
|
| |
@4b98ea1e80bf changed how refcounts are handled internally to fit into job
control semantics. Change the refcount check in `ex_delfunction` to consider
this. Close #3000
|
| |
|
|
| |
Close #3150
|