| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
| |
Problem: Using searchpair() with a skip expression that uses syntax
highlighting sometimes doesn't work. (David Fishburn)
Solution: Reset next_match_idx. (Christian Brabandt)
https://github.com/vim/vim/commit/6773a348da0dcf45df3c6c6649880655ec0d2042
|
|
|
|
| |
Harmless issue, but doesn't hurt to satisfy coverity here.
|
|
|
|
|
|
|
| |
- `syntax_on` is documented. Rather than introduce a new undocumented
VimL global `g:syntax_off`, use a module-local flag.
- Rename "maybe" functions to follow style guidelines (use standard
module prefix)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when using "syn keyword x c". (Dominique Pelle)
Solution: Initialize the keyword tabble. (Raymond Ko, PR 397)
https://github.com/vim/vim/commit/670acbc70f371409b46b722bd9a1166e53574f42
---
see: "fix crash due to hash table not being initialized"
https://github.com/vim/vim/pull/397
To reproduce:
```sh
nvim -u NONE -c ow -c 'sy keyword x c'
```
|
|
|
|
|
|
|
|
|
|
| |
The ported patch for 7.4.825 removed code that is needed to walk over "]" by
accident.
0: https://github.com/neovim/neovim/commit/52692d3cd3e682a4116d3cec1fcf05880f0c77a1
1: https://github.com/vim/vim/commit/1560d07045d416d0abf9731c43c28925f61515b6
Fixes #4207.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Invalid memory access for ":syn keyword x a[".
Solution: Do not skip over the NUL. (Dominique Pelle)
https://github.com/vim/vim/commit/1560d07045d416d0abf9731c43c28925f61515b6
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Illegal memory access with "sy match a fold".
Solution: Check for empty string. (Dominique Pelle)
https://github.com/vim/vim/commit/382197865ca8353a3d6681a364f95bda6aed95ec
|
|/
|
|
|
|
|
| |
Problem: Spelling mistakes are not displayed after ":syn spell".
Solution: Force a redraw after ":syn spell" command. (Christian Brabandt)
https://github.com/vim/vim/commit/5081d202475328a920c0bdcab990e8da84128c13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
The former no longer exists in this repo; see the top of
src/nvim/README.md.
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: When using ":ownsyntax" spell checking is messed up. (Issue 78)
Solution: Use the window-local option values. (Christian Brabandt)
https://github.com/vim/vim/commit/v7-4-524
See also https://code.google.com/p/vim/issues/detail?id=78
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when using syntax highlighting.
Solution: When regprog is freed and replaced, store the result.
https://github.com/vim/vim/tree/v7-4-519
Helped-by: Scott Prager <splinterofchaos@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
We already use wrappers for allocation, the new `xfree` function is the
equivalent for deallocation and provides a way to fully replace the malloc
implementation used by Neovim.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CENT macro was set condionally depending on the FEAT_GUI constant that was
removed a long time ago.
Other small refactorings:
- remove obsolete TERM= flags
- sort and indent lines in array for readability
- 'Conceal' and 'WildMenu' were moved from highlight_init_{dark,light}[]
to highlight_init_both[] since the same values were used anyway
|
|
|
|
|
|
|
| |
These highlight groups replace the old mechanism of setting:
- {g,b}:terminal_focused_cursor_highlight
- {g,b}:terminal_unfocused_cursor_highlight
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit integrates libvterm with Neovim and implements a terminal emulator
with nvim buffers as the display mechanism. Terminal buffers can be created
using any of the following methods:
- Opening a file with name following the "term://[${cwd}//[${pid}:]]${cmd}"
URI pattern where:
- cwd is the working directory of the process
- pid is the process id. This is just for use in session files where a pid
would have been assigned to the saved buffer title.
- cmd is the command to run
- Invoking the `:terminal` ex command
- Invoking the `termopen` function which returns a job id for automating the
terminal window.
Some extra changes were also implemented to adapt with terminal buffers. Here's
an overview:
- The `main` function now sets a BufReadCmd autocmd to intercept the term:// URI
and spawn the terminal buffer instead of reading the file.
- terminal buffers behave as if the following local buffer options were set:
- `nomodifiable`
- `swapfile`
- `undolevels=-1`
- `bufhidden=hide`
- All commands that delete buffers(`:bun`, `:bd` and `:bw`) behave the same for
terminal buffers, but only work when bang is passed(eg: `:bwipeout!`)
- A new "terminal" mode was added. A consequence is that a new set of mapping
commands were implemented with the "t" prefix(tmap, tunmap, tnoremap...)
- The `edit` function(which enters insert mode) will actually enter terminal
mode if the current buffer is a terminal
- The `put` operator was adapted to send data to the terminal instead of
modifying the buffer directly.
- A window being resized will also trigger a terminal resize if the window
displays the terminal.
|
| |
|
|
|
|
|
| |
in screen.c:win_line seqnr 0 represents the state: no current syntax
item
|
|
|
|
|
|
|
|
|
|
|
| |
ASan spotted a problem when using 'set background={light,dark}' with
color scheme solarized.
While loading the colors for color scheme 'g:colors_name', the pointer
on the value for this variable can become invalid, because of an 'unlet
colors_name' (part of an :highlight clear, syntax.c:6173).
To prevent the use of the freed value, decouple the value from
'g:colors_name' before calling load_colors() with it.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Removed term.c, term.h and term_defs.h
- Tests for T_* values were removed. screen.c was simplified as a
consequence(the best strategy for drawing is implemented in the UI layer)
- Redraw functions now call ui.c functions directly. Updates are flushed with
`ui_flush()`
- Removed all termcap options(they now return empty strings for compatibility)
- &term/&ttybuiltin options return a constant value(nvim)
- &t_Co is still available, but it mirrors t_colors directly
- Remove cursor tracking from screen.c and the `screen_start` function. Now the
UI is expected to maintain cursor state across any call, and reset it when
resized.
- Remove unused code
|
|
|
|
|
|
| |
Refactoring summary:
- MB_STRNICMP: Inlined.
- MB_STRNCMP: Inlined.
|
|
|
|
|
| |
Now the attrentry_T structure will store all attributes in separate fields for
cterm and rgb UIs.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove abstract_ui global, now it is always active
- Remove some terminal handling code
- Remove unused functions
- Remove HAVE_TGETENT/TERMINFO/TERMIOS/IOCTL #ifdefs
- Remove tgetent/terminfo from version.c
- Remove curses/terminfo dependencies
- Only start/stop termcap when starting/exiting the program
- msg_use_printf will return true if there are no attached UIs(
messages will be written to stdout)
- Remove `ex_winpos`(implement `:winpos` with `ex_ni`)
|
| |
|
|
|
|
|
|
|
|
| |
This makes it possible to highlight the lines starting with ~ at the end
of buffers and other elements highlighted using NonText.
As proposed by mhinz at
https://groups.google.com/forum/#!topic/vim_dev/p3de1iU1GXI/discussion
|
| |
|
|\
| |
| | |
Macro cleanup
|
| |
| |
| |
| |
| |
| | |
These were found with -Wunused-macros. There are many more macros which
triggered that warning, but they were primarily part of larger sets of
macros so leave them alone.
|
| |
| |
| |
| |
| |
| | |
Regarding dict_lookup() in eval.c: both definitions are the same, the
only difference being the spacing between the indirection operator and
the indentation level.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Set 't_Co' to 256 at startup. The value can be changed by the user for
compatibility with terminals that are less capable.
- `has('gui_running')` will return 1 if at least one rgb UI is attached.
Even though these changes are hacky, they are necessary to make the transition
to the new UI architecture smoother.
|
| | |
|
| |
| |
| |
| | |
When set to false, nvim will send cterm color numbers with `highlight_set`.
|
| | |
|
| | |
|
|/
|
|
|
| |
It is necessary to notify the UI when the default background/foreground colors
change in order to render correctly.
|
|
|
|
|
| |
The function qnx_init() (wrapped in an ifdef in main.c) doesn't even
exist.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem : getdigits() currently returns a long, but at most places,
return value is casted (unsafely) into an int. Making casts
safe would introduce a lot of fuss in the form of assertions
checking for limits.
Note : We cannot just change return type to int, because, at some
places, legitimate long values are used. For example, in
diff.c, for line numbers.
Solution : Introduce new functions:
- get_digits() : Gets an intmax_t from a string.
- get_int_digits() : Wrapper for ints.
- get_long_digits() : Wrapper for longs.
And replace getdigits() invocations by the appropiate
wrapper invocations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A similar macro is defined in the Linux kernel [1].
To refactor the code I used a slightly modified Coccinelle script I found in
[2].
```diff
// Use the macro ARRAY_SIZE when possible
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU. GPLv2.
// URL: http://www.emn.fr/x-info/coccinelle/rules/array.html
// Options: -I ... -all_includes can give more complete results
@@
type T;
T[] E;
@@
- (sizeof(E)/sizeof(*E))
+ ARRAY_SIZE(E)
@@
type T;
T[] E;
@@
- (sizeof(E)/sizeof(E[...]))
+ ARRAY_SIZE(E)
@@
type T;
T[] E;
@@
- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)
@n@
identifier AS,E;
@@
- #define AS(E) ARRAY_SIZE(E)
@@
expression E;
identifier n.AS;
@@
- AS(E)
+ ARRAY_SIZE(E)
```
`spatch --in-place --sp-file array_size.cocci -I src/ -I build/include/ -I build/src/nvim/auto/ src/nvim/*.c`
[1] http://lxr.free-electrons.com/source/include/linux/kernel.h#L54
[2] http://www.emn.fr/z-info/coccinelle/rules/#macros
|