diff --git a/README.md b/README.md index de5b4c25fd..1bdf33d6bb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Neovim](https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo-600x173.png)](https://neovim.io) +[![Neovim](https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo-300x87.png)](https://neovim.io) [Wiki](https://github.com/neovim/neovim/wiki) | [Documentation](https://neovim.io/doc) | @@ -26,8 +26,6 @@ Neovim is a project that seeks to aggressively refactor Vim in order to: See the [Introduction](https://github.com/neovim/neovim/wiki/Introduction) wiki page and [Roadmap] for more information. -[![Throughput Graph](https://graphs.waffle.io/neovim/neovim/throughput.svg)](https://waffle.io/neovim/neovim/metrics) - Features -------- diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt index e52ed5ad2b..c8b9dd5fad 100644 --- a/runtime/doc/api.txt +++ b/runtime/doc/api.txt @@ -251,7 +251,7 @@ of some window, or a position relative to the current window cursor. The parameters for positioning are described in detail at |nvim_open_win()|. |nvim_open_win()| assumes an existing buffer to display in the window. To create -a scratch buffer for the float, |nvim_create_buffer()| can be used. The text in +a scratch buffer for the float, |nvim_create_buf()| can be used. The text in the buffer can be highlighted using standard functionality, such as syntax highlighting, or |api-highlights|. diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index b6db7b263d..4cc1f53cca 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -640,8 +640,9 @@ CursorHoldI Just like CursorHold, but in Insert mode. *CursorMoved* CursorMoved After the cursor was moved in Normal or Visual - mode. Also when the text of the cursor line - has been changed, e.g., with "x", "rx" or "p". + mode or to another window. Also when the text + of the cursor line has been changed, e.g. with + "x", "rx" or "p". Not triggered when there is typeahead or when an operator is pending. For an example see |match-parens|. diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index a46648119e..205db12f3b 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -740,11 +740,10 @@ You tried to set an option after startup that only allows changes during startup. *E943* > - Command table needs to be updated, run 'make cmdidxs' + Command table needs to be updated, run 'make' -This can only happen when changing the source code, when adding a command in -src/ex_cmds.h. The lookup table then needs to be updated, by running: > - make cmdidxs +This can only happen when changing the source code, after adding a command in +src/ex_cmds.lua. Update the lookup table by re-running the build. > ============================================================================== 3. Messages *messages* diff --git a/runtime/doc/provider.txt b/runtime/doc/provider.txt index 070c72a77e..364fbac351 100644 --- a/runtime/doc/provider.txt +++ b/runtime/doc/provider.txt @@ -35,13 +35,13 @@ itself). For Python 3 plugins: 1. Make sure Python 3.4+ is available in your $PATH. -2. Install the module (try "pip" if "pip3" is missing): > - pip3 install --user --upgrade pynvim +2. Install the module (try "python" if "python3" is missing): > + python3 -m pip install --user --upgrade pynvim For Python 2 plugins: 1. Make sure Python 2.7 is available in your $PATH. -2. Install the module (try "pip" if "pip2" is missing): > - pip2 install --user --upgrade pynvim +2. Install the module (try "python" if "python2" is missing): > + python2 -m pip install --user --upgrade pynvim The pip `--upgrade` flag ensures that you get the latest version even if a previous version was already installed. @@ -51,8 +51,8 @@ See also |python-virtualenv|. Note: The old "neovim" module was renamed to "pynvim". https://github.com/neovim/neovim/wiki/Following-HEAD#20181118 If you run into problems, uninstall _both_ then install "pynvim" again: > - pip uninstall neovim pynvim - pip install pynvim + python -m pip uninstall neovim pynvim + python -m pip install --user --upgrade pynvim PYTHON PROVIDER CONFIGURATION ~ diff --git a/runtime/doc/ui.txt b/runtime/doc/ui.txt index ab077397a4..98476ea8fa 100644 --- a/runtime/doc/ui.txt +++ b/runtime/doc/ui.txt @@ -325,9 +325,13 @@ numerical highlight `id`:s to the actual attributes. indicates the visible cursor position. ["grid_scroll", grid, top, bot, left, right, rows, cols] - Scroll the text in the a region of `grid`. The diagrams below illustrate - what will happen, depending on the scroll direction. "=" is used to - represent the SR(scroll region) boundaries and "-" the moved rectangles. + Scroll a region of `grid`. This is semantically unrelated to editor + |scrolling|, rather this is an optimized way to say "copy these screen + cells". + + The following diagrams show what happens per scroll direction. + "===" represents the SR (scroll region) boundaries. + "---" represents the moved rectangles. Note that dst and src share a common region. If `rows` is bigger than 0, move a rectangle in the SR up, this can diff --git a/scripts/gen_help_html.py b/scripts/gen_help_html.py index f3dd19abb6..dbdeb3c162 100644 --- a/scripts/gen_help_html.py +++ b/scripts/gen_help_html.py @@ -1,5 +1,10 @@ # Converts Vim/Nvim documentation to HTML. # +# USAGE: +# 1. python3 scripts/gen_help_html.py runtime/doc/ ~/neovim.github.io/t/ +# 3. cd ~/neovim.github.io/ && jekyll serve --host 0.0.0.0 +# 2. Visit http://localhost:4000/t/help.txt.html +# # Adapted from https://github.com/c4rlo/vimhelp/ # License: MIT # diff --git a/src/nvim/auevents.lua b/src/nvim/auevents.lua index 32a7920b6e..ef528f72b8 100644 --- a/src/nvim/auevents.lua +++ b/src/nvim/auevents.lua @@ -65,7 +65,6 @@ return { 'InsertCharPre', -- before inserting a char 'InsertEnter', -- when entering Insert mode 'InsertLeave', -- when leaving Insert mode - 'JobActivity', -- when job sent some data 'MenuPopup', -- just before popup menu is displayed 'OptionSet', -- after setting any option 'QuickFixCmdPost', -- after :make, :grep etc. @@ -89,7 +88,7 @@ return { 'TabNew', -- when creating a new tab 'TabNewEntered', -- after entering a new tab 'TermChanged', -- after changing 'term' - 'TermClose', -- after the processs exits + 'TermClose', -- after the process exits 'TermOpen', -- after opening a terminal buffer 'TermResponse', -- after setting "v:termresponse" 'TextChanged', -- text was modified diff --git a/src/nvim/log.c b/src/nvim/log.c index 8066b6e828..a2f83d4d09 100644 --- a/src/nvim/log.c +++ b/src/nvim/log.c @@ -1,6 +1,13 @@ // This is an open source non-commercial project. Dear PVS-Studio, please check // it. PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// +// Log module +// +// How Linux printk() handles recursion, buffering, etc: +// https://lwn.net/Articles/780556/ +// + #include #include #include @@ -99,9 +106,14 @@ void log_unlock(void) uv_mutex_unlock(&mutex); } -/// @param context description of a shared context or subsystem -/// @param func_name function name, or NULL -/// @param line_num source line number, or -1 +/// Logs a message to $NVIM_LOG_FILE. +/// +/// @param log_level Log level (see log.h) +/// @param context Description of a shared context or subsystem +/// @param func_name Function name, or NULL +/// @param line_num Source line number, or -1 +/// @param eol Append linefeed "\n" +/// @param fmt printf-style format string bool logmsg(int log_level, const char *context, const char *func_name, int line_num, bool eol, const char *fmt, ...) FUNC_ATTR_UNUSED FUNC_ATTR_PRINTF(6, 7) @@ -163,7 +175,8 @@ end: FILE *open_log_file(void) { static bool opening_log_file = false; - // check if it's a recursive call + // Disallow recursion. (This only matters for log_path_init; for logmsg and + // friends we use a mutex: log_lock). if (opening_log_file) { do_log_to_file(stderr, ERROR_LOG_LEVEL, NULL, __func__, __LINE__, true, "Cannot LOG() recursively."); diff --git a/src/nvim/map.c b/src/nvim/map.c index 9b6f57a56f..90da27cf9f 100644 --- a/src/nvim/map.c +++ b/src/nvim/map.c @@ -1,12 +1,12 @@ // This is an open source non-commercial project. Dear PVS-Studio, please check // it. PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com -/// -/// map.c: khash.h wrapper -/// -/// NOTE: Callers must manage memory (allocate) for keys and values. -/// khash.h does not make its own copy of the key or value. -/// +// +// map.c: khash.h wrapper +// +// NOTE: Callers must manage memory (allocate) for keys and values. +// khash.h does not make its own copy of the key or value. +// #include #include