aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer.c
Commit message (Collapse)AuthorAge
...
* lintAndrej Zieger2019-05-26
|
* Fixed ordering of signs to align vim and neovim behaviourAndrej Zieger2019-05-26
|
* vim-patch:8.1.0673: functionality for signs is spread out over several filesAndrej Zieger2019-05-26
| | | | | | | Problem: Functionality for signs is spread out over several files. Solution: Move most of the sign functionality into sign.c. (Yegappan Lakshmanan, closes vim/vim#3751) https://github.com/vim/vim/commit/bbea47075cc4e7826e9f8c203e4272ba023ed7b0
* vim-patch:8.1.0658: deleting signs and completion for :sign is insufficientAndrej Zieger2019-05-26
| | | | | | | | | | Problem: Deleting signs and completion for :sign is insufficient. Solution: Add deleting signs in a specified or any group from the current cursor location. Add group and priority to sign command completion. Add tests for different sign unplace commands. Update help text. Add tests for sign jump with group. Update help for sign jump. (Yegappan Lakshmanan, closes vim/vim#3731) https://github.com/vim/vim/commit/7d83bf4f2b785b46d87c7bc376fc9d0a862af782
* vim-patch:8.1.0644: finding next sign ID is inefficientAndrej Zieger2019-05-26
| | | | | | Problem: Finding next sign ID is inefficient. Solution: Add next_sign_id. (Yegappan Lakshmanan, closes vim/vim#3717) https://github.com/vim/vim/commit/6436cd83f90a0efc326798792e49e8ff96a43dce
* vim-patch:8.1.0632: using sign group names is inefficientAndrej Zieger2019-05-26
| | | | | | | | Problem: Using sign group names is inefficient. Solution: Store group names in a hash table and use a reference to them. Also remove unnecessary use of ":exe" from the tests. (Yegappan Lakshmanan, closes vim/vim#3715) https://github.com/vim/vim/commit/7a2d9892b7158edf8dc48e9bcaaae70a40787b37
* vim-patch:8.1.0614: placing signs can be complicatedAndrej Zieger2019-05-26
| | | | | | | | Problem: Placing signs can be complicated. Solution: Add functions for defining and placing signs. Introduce a group name to avoid different plugins using the same signs. (Yegappan Lakshmanan, closes vim/vim#3652) https://github.com/vim/vim/commit/162b71479bd4dcdb3a2ef9198a1444f6f99e6843
* vim-patch:8.0.1496: VIM_CLEAR()Justin M. Keyes2019-05-25
| | | | | | | | Problem: Clearing a pointer takes two lines. Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, closes #2629) vim-patch:8.0.1481
* vim-patch:8.0.1220: skipping empty statusline groups is not correctJan Edmund Lazo2019-05-24
| | | | | | Problem: Skipping empty statusline groups is not correct. Solution: Also set group_end_userhl. (itchyny) https://github.com/vim/vim/commit/235dddf1f4afe3a40047dbf2aca1bd177b7be18b
* vim-patch:8.0.1208: 'statusline' drops empty group with highlight changeJan Edmund Lazo2019-05-24
| | | | | | | Problem: 'statusline' drops empty group with highlight change. Solution: Do not drop an empty group if it changes highlighting. (Marius Gedminas, closes vim/vim#2228) https://github.com/vim/vim/commit/6b89dbb55f84c485310c8c9e094dbafe3ecbace6
* Merge #10049 'vim-patch:8.1.0293'Justin M. Keyes2019-05-22
|
* vim-patch:8.1.1046: the "secure" variable is used inconsistentlyJan Edmund Lazo2019-05-05
| | | | | | Problem: the "secure" variable is used inconsistently. (Justin M. Keyes) Solution: Set it to one instead of incrementing. https://github.com/vim/vim/commit/82b033eff82d3ed0da77fd5f5a1c023766acabba
* vim-patch:8.1.0613: when executing an insecure function the secure flag is stuckJan Edmund Lazo2019-05-05
| | | | | | | Problem: When executing an insecure function the secure flag is stuck. (Gabriel Barta) Solution: Restore "secure" instead of decrementing it. (closes vim/vim#3705) https://github.com/vim/vim/commit/48f377a476e4a3312aa0e3535aba170484b59483
* vim-patch:8.0.0768: terminal window status shows "[Scratch]"Jan Edmund Lazo2019-04-23
| | | | | | | | Problem: Terminal window status shows "[Scratch]". Solution: Show "[Terminal]" when no title was set. (Yasuhiro Matsumoto) Store the terminal title that vterm sends and use it. Update the special buffer name. (closes vim/vim#1869) https://github.com/vim/vim/commit/2155441460a6dc0a72125f7860507693112a1460
* vim-patch:8.0.0776: function prototypes missing without the quickfix featureJan Edmund Lazo2019-04-14
| | | | | | | Problem: Function prototypes missing without the quickfix feature. (Tony Mechelynck) Solution: Move non-quickfix functions to buffer.c. https://github.com/vim/vim/commit/f0a521f4f76904edb74e182c12732189b347ff68
* options: properly reset directories on 'autochdir' (#9894)Marco Hinz2019-04-13
| | | Fixes https://github.com/neovim/neovim/issues/9892
* PVS/V595: pointer utilized before checking NULLJustin M. Keyes2019-04-12
|
* vim-patch:8.1.1134: buffer for quickfix window is reused for another fileMarco Hinz2019-04-08
| | | | | | | Problem: Buffer for quickfix window is reused for another file. Solution: Don't reuse the quickfx buffer. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/39803d82dbb215d2eea9fcd6cf2961b71515a438
* vim-patch:8.0.1763: :argedit does not reuse an empty unnamed bufferMarco Hinz2019-04-08
| | | | | | | Problem: :argedit does not reuse an empty unnamed buffer. Solution: Add the BLN_CURBUF flag and fix all the side effects. (Christian Brabandt) https://github.com/vim/vim/commit/46a53dfc29689c6a0d80e3820e8b0a48dba6b6ec
* vim-patch:8.0.0728: the terminal structure is never freedJan Edmund Lazo2019-04-06
| | | | | | Problem: The terminal structure is never freed. Solution: Free the structure and unreference what it contains. https://github.com/vim/vim/commit/96ca27a0ee8ae738cab9fb386984c75c6821e31a
* lintAbdelhakeem2019-03-29
|
* vim-patch:8.1.0539: cannot build without the sandboxAbdelhakeem2019-03-28
| | | | | | | | Problem: Cannot build without the sandbox. Solution: Set the secure option instead of using the sandbox. Also restrict the characters from 'spelllang' that are used for LANG.vim. (suggested by Yasuhiro Matsumoto) https://github.com/vim/vim/commit/82e8c92ebef5afcac0c0fdb706ff163f9b3366f7
* signs: support multiple columns #9295Dan Aloni2019-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #990 closes #9295 - Support for multiple auto-adjusted sign columns. With this change, having more than one sign on a line, and with the 'auto' setting on 'signcolumn', extra columns will shown automatically to accomodate all the existing signs. For example, suppose we have this view: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } 5152 return 0; 5153 } 5154 We have GitGutter installed, so it tells us about modified lines that are not commmited. So let's change line 5152: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } ~ 5152 return 0; 5153 } 5154 Now we add a mark over line 5152 using 'ma' in normal mode: 5147 } 5148 5149 return sign->typenr; 5150 } 5151 } a ~ 5152 return 0; 5153 } 5154 Previously, Vim/Nvim would have picked only one of the signs, because there was no support for having multiple signs in a line. - Remove signs from deleted lines. Suppose we have highlights on a group of lines and we delete them: + 6 use std::ops::Deref; --+ 7 use std::borrow::Cow; --+ 8 use std::io::{Cursor}; 9 use proc_macro2::TokenStream; 10 use syn::export::ToTokens; --+ 11 use std::io::Write; >> 12 use std::ops::Deref; Without this change, these signs will momentarily accumulate in the sign column until the plugins wake up to refresh them. + --+ --+ --+ >> 6 Discussion: It may be better to extend the API a bit and allow this to happen for only certain types of signs. For example, VIM marks and vim-gitgutter removal signs may want to be presreved, unlike line additions and linter highlights. - 'signcolumn': support 'auto:NUM' and 'yes:NUM' settings - sort signs according to id, from lowest to highest. If you have git-gutter, vim-signature, and ALE, it would appear in this order: git-gutter - vim-signature - ALE. - recalculate size before screen update - If no space for all signs, prefer the higher ids (while keeping the rendering order from low to high). - Prevent duplicate signs. Duplicate signs were invisible to the user, before using our extended non-standard signcolumn settings. - multi signcols: fix bug related to wrapped lines. In wrapped lines, the wrapped parts of a line did not include the extra columns if they existed. The result was a misdrawing of the wrapped parts. Fix the issue by: 1. initializing the signcol counter to 0 when we are on a wrap boundary 2. allowing for the draw of spaces in that case.
* vim-patch:8.1.0538: evaluating a modeline might invoke using a shell commandJan Edmund Lazo2019-03-23
| | | | | | | Problem: Evaluating a modeline might invoke using a shell command. (Paul Huber) Solution: Set the sandbox flag when setting options from a modeline. https://github.com/vim/vim/commit/5958f95a40a4a44bd9e7f3b7ec6554a6ef3e42ca
* vim-patch:8.1.0384: sign ordering #9758Jan Edmund Lazo2019-03-19
| | | | | | Problem: Sign ordering depends on +netbeans feature. Solution: Also order signs without +netbeans. (Christian Brabandt, closes vim/vim#3224) https://github.com/vim/vim/commit/8aeb504fc68e3fea9da5567d2d9a31a132fbf90f
* vim-patch:8.1.0826: too many #ifdefsJan Edmund Lazo2019-03-08
| | | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code. https://github.com/vim/vim/commit/29ddebef4038d2d2b3bc9d8d3b0109f4046d6fbf
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* API/buffer-updates: always detach on buf-reload #9643KillTheMule2019-03-01
| | | | | | Independently of the 'undoreload' option and the length of the file. closes #9642 closes #9643
* api: add nvim_create_buf to create a new empty buffer.Björn Linse2019-02-09
| | | | | | | | | | | | Loading existing files into a buffer is non-trivial and requires a window. Creating an unnamed emtpy buffer is trivial and safe though, thus worth a special case. Change nvim_buf_set_option to use aucmd_prepbuf. This is necessary to allow some options to be set on a not yet displayed buffer, such as 'buftype' option. vim-patch:7.4.1858: Add BLN_NEW to enforce buflist_new creating new buffer
* vim-patch:8.0.1073: may get an endless loop if 'statusline' changes a highlightJan Edmund Lazo2019-02-03
| | | | | | Problem: May get an endless loop if 'statusline' changes a highlight. Solution: Do not let evaluating 'statusline' trigger a redraw. https://github.com/vim/vim/commit/ba2929b6afd2fc20479912a8dec789be26a38244
* Merge #9539 "options: make 'listchars' and 'fillchars' local to window"Marco Hinz2019-01-28
|\
| * linter: fix issuesMarco Hinz2019-01-26
| |
| * options: make 'fillchars'/'listchars' local to windowMarco Hinz2019-01-26
| | | | | | | | | | | | | | | | | | | | Using 'listchars' is a nice way to highlight tabs that were included by accident for buffers that set 'expandtab'. But maybe one does not want this for buffers that set 'noexpandtab', so now one can use: autocmd FileType go let &l:listchars .= ',tab: '
* | terminal: handle size when switching buffers in windowBjörn Linse2019-01-27
|/
* clang/"null pointer dereference": close_bufferJustin M. Keyes2019-01-13
| | | | False positive: win_valid_any_tab() already checks `win != NULL`.
* bufhl: simplify redraw logicBjörn Linse2019-01-09
| | | | | using changed_lines_buf was technically incorrect, as the buffer wasn't modififed.
* api: make nvim_buf_set_virtual_text use correct namespace counterBjörn Linse2018-12-07
|
* api: implement object namespacesBjörn Linse2018-11-24
| | | | | | | | | Namespaces is a lightweight concept that should be used to group objects for purposes of bulk operations and introspection. This is initially used for highlights and virtual text in buffers, and is planned to also be used for extended marks. There is no plan use them for privileges or isolation, neither to introduce nanespace-level options.
* api: simplify nvim_buf_get_offset functionBjörn Linse2018-11-01
|
* signs: Add "numhl" argument #9113Reto Schnyder2018-10-13
| | | | | close #9113 ref #9040
* lintJan Edmund Lazo2018-09-29
|
* globals: arg_had_last is boolJan Edmund Lazo2018-09-29
|
* vim-patch:8.1.0310: file info msg with 'F' in 'shortmess'Justin M. Keyes2018-09-21
| | | | | | | | | | Problem: File info message not always suppressed with 'F' in 'shortmess'. (Asheq Imran) Solution: Save and restore msg_silent. (Christian Brabandt, closes vim/vim#3221) https://github.com/vim/vim/commit/2f0f871159b2cba862fcd41edab65b17da75c422 ref #8840 ref #9027
* vim-patch:8.0.1215: newer gcc warns for implicit fallthroughJan Edmund Lazo2018-09-20
| | | | | | Problem: Newer gcc warns for implicit fallthrough. Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt) https://github.com/vim/vim/commit/2f40d129bf45cd35976e4120336ae6d504f5a5dd
* buffer: add support for virtual text annotationsBjörn Linse2018-09-17
|
* lintJan Edmund Lazo2018-09-06
|
* window: refactor boolean variables in win_close()Jan Edmund Lazo2018-09-06
| | | | free_buf (param) and help_window (variable) are bool.
* vim-patch:8.0.0782: using freed memory in quickfix codeJan Edmund Lazo2018-09-06
| | | | | | Problem: Using freed memory in quickfix code. (Dominique Pelle) Solution: Handle a help window differently. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/d28cc3f55d4a5a980f6ac6fa682382822a223720
* ops: refactor get_spec_reg()Jan Edmund Lazo2018-08-16
| | | | | | Return value is bool. errmsg (param) is bool in here and in getaltfname(). allocated (param) is bool.
* vim-patch:8.0.1633: a TextChanged autocmd triggers when it is definedJan Edmund Lazo2018-08-15
| | | | | | | | Problem: A TextChanged autocmd triggers when it is defined after creating a buffer. Solution: Set b_last_changedtick when opening a buffer. (Hirohito Highlight, closes vim/vim#2742) https://github.com/vim/vim/commit/8c64a36e40b8746404f7151abe6849393396af10