| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
closes #7383
closes #7715
This implements the compromise described in #7383:
* low-priority CursorLine if foreground is not set
* high-priority ("same as Vim" priority) CursorLine if foreground is set
ref d1874ab2821d076397290cc154d87ec2dc352c79
ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
|
| |
|
|
|
|
|
| |
Compare `$VIRTUAL_ENV` to `python_bin`.
This is necessary when `g:python_host_prog` is set to an absolute path,
and looking up `pyname` in `$PATH` yields another result.
|
|
|
|
|
|
| |
Because we default to laststatus=2 (statusline is always visible), the
:edit message is not useful.
ref #6289
|
|
|
|
|
| |
Problem: getpos() can return a negative line number. (haya14busa)
Solution: Handle a zero topline and botline. (closes vim/vim#1613)
https://github.com/vim/vim/commit/a1d5fa65bc7e8a548858e9c295a192b63dcd011b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode"
(gQ, -E). That brings some small behavior differences, but should not
impact most Ex scripts (unless, for example, they depend on mappings
being disabled--but that can be solved for -e by skipping user config).
Before this change:
* the screen test hangs.
After this change:
* Q acts like gQ.
* -e/-es differs from -E/-Es only in its treatment of stdin.
This moves towards potentially removing getexmodeline().
(HINT: That does NOT mean "removing Ex mode", it means removing the
Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only
in some minor details (e.g. mappings are disabled).)
ref #1089 :-)~
|
|
|
|
|
| |
- "neovim" package may be installed with yarn. Check yarn if npm fails.
- Use filereadable() instead of glob(). closes #8552
|
| |
|
|
|
|
|
| |
This option allows configuring what character is shown on the empty
lines at the end of a buffer, previously hardcoded to ‘~’
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
doc: termios defaults. ref #6992
doc: :help shell-powershell
doc: provider: Python minimum version is 2.7, 3.4
doc: remove :!start special-case. #5844
doc: mention #7917 change which accepts empty Array for Dictionary parameter
doc: <Cmd> pseudokey
doc: lmap change #5658
doc: -s, -es
|
|
|
| |
closes #8515
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes 2 failing tests in startup_spec.lua.
The Windows-only `--literal` option complicates support of "stdin-as-text
+ file-args" (#7679). Could work around it, but it's not worth
the trouble:
- users have a reasonable (and englightening) alternative: nvim +"n *"
- "always literal" is more consistent/predictable
- avoids platform-specific special-case
Unrelated changes:
- Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated
by any observed technical reason).
|
| |
| |
| |
| |
| | |
- move to api.txt
- rewrite
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | | |
Also rename changedtick -> changedtick_event
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
In analogy to `nvim_buf_set_lines`.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Originally written by @phodge in
https://github.com/neovim/neovim/pull/5269.
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
Problem: When calling setpos() with a buffer argument it often is ignored.
(Matthew Malcomson)
Solution: Make the buffer argument work for all marks local to a buffer.
(neovim vim/vim#5713) Add more tests.
https://github.com/vim/vim/commit/f13e00b2cf381e13fd327b5387a5bd6f004ac2a3
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Character classes are not well tested. They can differ between
platforms.
Solution: Add tests. In the documentation make clear which classes depend
on what library function. Only use :cntrl: and :graph: for ASCII.
(Kazunobu Kuriyama, Dominique Pelle, closes vim/vim#1560)
Update the documentation.
https://github.com/vim/vim/commit/0c078fc7db2902d4ccba04506db082ddbef45a8c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: MS-Windows users are confused about default mappings.
Solution: Don't map keys in the console where they don't work. Add a choice
in the installer to use MS-Windows key bindings or not. (Christian
Brabandt, Ken Takata, closes vim/vim#2093)
https://github.com/vim/vim/commit/c3fdf7f80b2febdd8a8f7a1310631567d257d66a
|
|/
|
|
|
|
|
| |
Problem: When using the tiny version trying to load the matchit plugin
gives an error. On MS-Windows some default mappings fail.
Solution: Add a check if the command used is available. (Christian Brabandt)
https://github.com/vim/vim/commit/8cc2a9c062fa38e133a62778518f769a423a2526
|
|
|
|
|
| |
Fire autocmd when channel opens or its info changes.
Add a way for API clients can describe themselves.
|
|
|
|
| |
closes #8426
|
|
|
|
|
| |
Close #7517
gui shim is for nvim-qt only.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: No autocmd triggered in Insert mode with visible popup menu.
Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
closes vim/vim#2372, closes vim/vim#1691)
Fix that the TextChanged autocommands are not always triggered
when sourcing a script.
https://github.com/vim/vim/commit/5a093437199001a0d60d8e18e2b9539b99a7757c
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Update vim_diff.txt with :lmap differences, update documentation on
'keymap', and add tests.
The tests added are to demonstrate the behaviour specified in the
documentation of :loadkeymap.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
timestamp.strftime('%s') workaround only works on unix.
ref: https://github.com/neovim/neovim/pull/8371#discussion_r186311766
|
| | | |
|
| | |
| | |
| | |
| | | |
ref #8372
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
OpenBSD's man returns all candidates when searching with -w instead of
the first one it finds. So this patch takes the first one if multiple
entries are found.
closes #8372
closes #8341
|
| |
| |
| | |
ref #6796
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After this change we never release blocks from memory (in practice it
never happened because the memory limits are never reached). Let the OS
take care of that.
---
On today's systems the 'maxmem' and 'maxmemtot' values are huge (4+ GB)
so the limits are never reached in practice, but Vim wastes a lot of
time checking if the limit was reached.
If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own
memory-paging mechanism. This is unnecessary and inefficient since the
operating system already has virtual memory and will swap to the disk if
programs start using too much memory.
This change does...
1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory
usage nor check if the memory limits were reached to start swapping
to disk every time we need memory for buffers.
3. Simplify the code. Once memfile.c is simple enough it could be
replaced by actual operating system memory mapping (mmap,
MemoryViewOfFile...). This change does not prevent Vim to recover
changes from swap files since the swapping code is never triggered
with the huge limits set by default.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
> The option 'maxmem' ('mm') is used to set the maximum memory used for one
> buffer (in kilobytes). 'maxmemtot' is used to set the maximum memory used for
> all buffers (in kilobytes). The defaults depend on the system used. These
> are not hard limits, but tell Vim when to move text into a swap file. If you
> don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large
> value. The swap file will then only be used for recovery. If you don't want
> a swap file at all, set 'updatecount' to 0, or use the "-n" argument when
> starting Vim.
On today's systems these values are huge (4GB in my machine with 8GB of RAM
since it's set as half the available memory by default) so the limits are
never reached in practice, but Vim wastes a lot of time checking if the limit
was reached.
If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own memory
swapping mechanism. This is unnecessary and inefficient since the operating
system already virtualized the memory and will swap to the disk if programs
start using too much memory.
This change does...
1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory usage
nor check if the memory limits were reached to start swapping to disk every
time we need memory for buffers.
3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by
actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...).
This change does not prevent Vim to recover changes from swap files since the
swapping code is never triggered with the huge limits set by default.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove "" from sys.path (typically the first entry), which could cause
e.g. "logging" to be added from the current directory.
This gets done already for loading the host in
runtime/autoload/provider/pythonx.vim.
|
| | |
| | |
| | |
| | |
| | | |
- quote command, so that e.g. markdown handling is not applied to `__init__.py`
- include cwd
|
| | |
| | |
| | |
| | |
| | | |
It should be quoted if there is any character that needs escaping, but
not if there is a character that does not need escaping.
|