aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer_defs.h
Commit message (Collapse)AuthorAge
* Add user-registers for arbitrary registers.Josh Rahm2021-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows users to define behaviors for arbitrary registers. These registers can be any character including multibyte characters. This means that any character may be used as a register and if that register is not a builtin register, it will defer to a user-defined vimscript function for behavior. This is done throw an option called 'userregfun' The function that 'userregfun' defines is a function that takes 3 arguments: action - Either set to "put" or "yank" register - The character representing the register. content - If the action is "yank" this string contains the content yanked. Multibyte registers are still broken for expressions. So while let @&=xyz Works as expected, let @λ=xyz will still throw a parse error.
* Move colorcolumn character option to fillchars.Josh Rahm2021-10-05
| | | | listchars is not the right place for it.
* Add a colorcolumn character option.Josh Rahm2021-10-05
| | | | | | | | | | This option allows a character to be displayed in the colorcolumn. This allows the colorcolumn ot have a traditional line if the colorcolumn character is set to a vertical line '│' or even a series of dots for a ':'. The option is a part of the 'listchars' setting under the name 'colorcol'. So 'set listchars=colorcol:│' will work.
* Add the ability to title floating windows.Josh Rahm2021-10-05
| | | | | | | | | | | | | The window title is set using the {title} key on the FloatConfig. The window title allows for 3 different positions as defined by the {title_position} key in the FloatConfig: - left - center - right The title also supports StatusLine-style highlighting using the %#<HL># keys.
* vim-patch:8.2.3424: a sequence of spaces is hard to see in list modezeertzjq2021-09-19
| | | | | | Problem: A sequence of spaces is hard to see in list mode. Solution: Add the "multispace" option to 'listchars'. (closes vim/vim#8834) https://github.com/vim/vim/commit/f14b8ba1373f569705cb80419248054100b02360
* vim-patch:8.1.2281: 'showbreak' cannot be set for one windowSean Dewar2021-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: 'showbreak' cannot be set for one window. Solution: Make 'showbreak' global-local. https://github.com/vim/vim/commit/ee85702c10495041791f728e977b86005c4496e8 Change in oneleft() is N/A as the relevant condition was removed (has_mbyte is always true for Nvim, so the condition was always false; see commit 73dc9e9). Use wp over curwin for curs_columns(). Required for v8.2.2903 (otherwise test fails as it'll leave the global option set). N/A patches for version.c: vim-patch:8.1.2283: missed on use of p_sbr Problem: Missed on use of p_sbr. Solution: Add missing p_sbr change. https://github.com/vim/vim/commit/91e22eb6e09ec384496fccde812072033fd9e616 Already ported in commit 43a874a.
* refactor(extmark): remove pointer indirection for extmark use of mapsBjörn Linse2021-08-22
|
* Merge pull request #15336 from bfredl/plinesBjörn Linse2021-08-11
|\ | | | | refactor(plines): move "plines" (size of printed lines) family of function to own file
| * refactor(plines): remove implicit curwin plines() functionBjörn Linse2021-08-10
| |
* | vim-patch:8.2.3160: 'breakindent' does not work well for bulleted listsJan Edmund Lazo2021-08-08
|/ | | | | | | Problem: 'breakindent' does not work well for bulleted and numbered lists. Solution: Add the "list" entry to 'breakindentopt'. (Christian Brabandt, closes vim/vim#8564, closes vim/vim#1661) https://github.com/vim/vim/commit/4a0b85ad0193ac162e2d8458e4b1c5ad2e2b0193
* vim-patch:8.1.2029: cannot control 'cursorline' highlighting wellzeertzjq2021-08-02
| | | | | | Problem: Cannot control 'cursorline' highlighting well. Solution: Add "screenline". (Christian Brabandt, closes vim/vim#4933) https://github.com/vim/vim/commit/017ba07fa2cdc578245618717229444fd50c470d
* vim-patch:8.1.2019: 'cursorline' always highlights the whole line (#15161)zeertzjq2021-07-30
| | | | | | Problem: 'cursorline' always highlights the whole line. Solution: Add 'cursorlineopt' to specify what is highlighted. (closes vim/vim#4693) https://github.com/vim/vim/commit/410e98a70bc00ea4bed51e55a8fe20e56a72c087
* refactor: remove all mentions to `curbuf_lock`Thomas Vigouroux2021-07-08
|
* undo: reduce reliance on curbufThomas Vigouroux2021-07-06
|
* signs: Change b_signcols_max -> b_signcols_validLewis Russell2021-07-04
| | | | | b_signcols_max isn't used to store the max value, it is use to invalidate b_signcols.
* api(nvim_open_win): add "noautocmd" optionSean Dewar2021-06-01
| | | | | | This option, when set, stops nvim_open_win() from potentially firing buffer-related autocmd events (BufEnter, BufLeave and BufWinEnter in the case of nvim_open_win()).
* floats: z-indexBjörn Linse2021-05-15
|
* vim-patch:8.1.2205: sign entry structure has confusing name (#14289)Lewis Russell2021-04-05
| | | | Problem: Sign entry structure has confusing name. Solution: Rename signlist_T to sign_entry_T and prefix se_ to the fields.
* Border: allow to enable/disable specific border edgesBjörn Linse2021-04-04
|
* vim-patch:8.2.2454: leading space can not be made visible (#14138)zeertzjq2021-03-29
| | | | | | Problem: Leading space can not be made visible. Solution: Add "lead:" to 'listchars'. (closes vim/vim#7772) https://github.com/vim/vim/commit/91478ae49a1b2dc1de63821db731a343e855dcc0
* vim-patch:8.1.0105: all tab stops are the sameVVKot2021-03-28
| | | | | | | Problem: All tab stops are the same. Solution: Add the variable tabstop feature. (Christian Brabandt, closes vim/vim#2711) https://github.com/vim/vim/commit/04958cbaf25eea27eceedaa987adfb354ad5f7fd
* floats: add borders (MS-DOS MODE)Björn Linse2021-03-22
|
* w_grid_alloc: baseline implBjörn Linse2021-03-22
|
* buffer updates: add on_reload callback and handle it in treesitter parserBjörn Linse2021-02-10
|
* vim-patch:8.1.2285: padding in structures wastes memoryJan Edmund Lazo2021-02-06
| | | | | | | | | Problem: Padding in structures wastes memory. Solution: Move fields to avoid padding. (Dominique Pelle, closes vim/vim#5202) https://github.com/vim/vim/commit/d6beab0248cdb0b7073e97d98d65de7138cb3386 Skip "ml_line_len" member of "struct memline". Patch v8.1.0579 was not ported.
* vim-patch:8.1.0470: pointer ownership around fname_expand() is unclearJan Edmund Lazo2020-12-19
| | | | | | | Problem: Pointer ownership around fname_expand() is unclear. Solution: Allow b_ffname and b_sfname to point to the same allocated memory, only free one. Update comments. https://github.com/vim/vim/commit/3d6014f0336d9a64c01a7518fe45fde0a925fa20
* feat(buffer_updates): allow ignoring when previewingThomas Vigouroux2020-12-15
| | | | | Also adds a test that we actually subscribe to buffer events when in CMDPREVIEW.
* menu: remove winbar codeJan Edmund Lazo2020-11-20
| | | | | | | | | No unmerged Vim patch, applicable to Neovim, depend on WinBar feature. It was merged only for merging Vim patches. It is currently useless in Neovim. Remove it to avoid rendering issues. Close https://github.com/neovim/neovim/issues/12689
* fix: address issues for BufModifiedSetRom Grk2020-11-09
|
* feat: implement BufModified autocmdRom Grk2020-11-07
|
* Merge pull request #13241 from bfredl/decorationBjörn Linse2020-11-07
|\ | | | | decoration: split out "decoration" from "extmark" module
| * decoration: split out "decoration" from "extmark" moduleBjörn Linse2020-11-07
| | | | | | | | | | Decorations will only grow more complex. move the to a separate file, so that extmark.c remains about extmarks.
* | my fight with the linterRom Grk2020-11-06
| |
* | Merge branch 'master' into add-scroll-eventsRom Grk2020-11-03
|\|
| * vim-patch:8.2.0864: pragmas are indented all the way to the leftJan Edmund Lazo2020-11-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Pragmas are indented all the way to the left. Solution: Add an option to indent progmas like normal code. (Max Rumpf, closes vim/vim#5468) https://github.com/vim/vim/commit/d881b516da0184052d2f9d33c3f72c5c014316bd N/A patches for version.c: vim-patch:8.1.2030: tests fail when build with normal features and terminal Problem: Tests fail when build with normal features and terminal. (Dominique Pelle) Solution: Disable tests that won't work. (closes vim/vim#4932) https://github.com/vim/vim/commit/997d42427eaab889058eb047e08d55de9e4a968a vim-patch:8.1.2063: some tests fail when +balloon_eval_term is missing Problem: Some tests fail when +balloon_eval_term is missing but _balloon_eval is present. (Dominique Pelle) Solution: Check the right feature in the test. (closes vim/vim#4962) https://github.com/vim/vim/commit/1e82a784ace6d2c4dce594dd6156bcb0028bba9e vim-patch:8.2.1938: wiping out a terminal buffer makes some tests fail Problem: Wiping out a terminal buffer makes some tests fail. Solution: Do not wipe out the terminal buffer unless wanted. https://github.com/vim/vim/commit/a46765a79745ff27b4a44659fb8389519c961977
| * vim-patch:8.2.1909: number of status line items is limited to 80Rom Grk2020-10-31
| | | | | | | | | | | | | | | | | | | | Problem: Number of status line items is limited to 80. Solution: Dynamically allocate the arrays. (Rom Grk, closes vim/vim#7181) https://github.com/vim/vim/commit/8133cc6bf454eb90bb0868f7cf806fce5c0c9fe6 The members of stl_item_T have not been prefixed with stl_ contrary to the vim patch because the amount of stl_ prefixes on single lines of code in that region was hurtful to readability.
| * vim-patch:8.1.1769: 'shellslash' is also used for completionskippi2020-10-26
| | | | | | | | | | | | Problem: 'shellslash' is also used for completion. Solution: Add the 'completeslash' option. (Yasuhiro Matsumoto, closes vim/vim#3612) https://github.com/vim/vim/commit/ac3150d385e6e3f3fe76642aac3cda954d30583f
* | feat: implement a working WinScrolled autocmdRom Grk2020-10-28
| |
* | scroll: use win->w_viewport_invalidRom Grk2020-10-24
| |
* | implement scroll autocommandRom Grk2020-10-21
|/
* vim-patch:8.1.1795: no syntax HL after splitting windows with :bufdoJan Edmund Lazo2020-10-17
| | | | | | | | Problem: No syntax HL after splitting windows with :bufdo. (Yasuhiro Matsumoto) Solution: Trigger Syntax autocommands in buffers that are active. (closes vim/vim#4761) https://github.com/vim/vim/commit/c7f1e4002184903f4e12e429dd5c6ab731932f86
* api: multiple decoration providers at onceBjörn Linse2020-10-10
|
* vim-patch:8.2.0955: build failsThomas Vigouroux2020-09-24
| | | | | | Problem: Build fails. Solution: Add missing struct change. https://github.com/vim/vim/commit/215f49c4d720367be29f56168f363a0ee9eaf86b
* luahl: global the luahlBjörn Linse2020-09-13
|
* api/buffer: add "on_bytes" callback to nvim_buf_attachBjörn Linse2020-09-09
| | | | | | This implements byte-resolution updates of buffer changes. Note: there is no promise that the buffer state is valid inside the callback!
* vim-patch:8.2.0865 syntax: Add command to control how foldlevel is computedBrad King2020-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Syntax foldlevel is taken from the start of the line. Solution: Add ":syn foldlevel" to be able to use the minimal foldlevel in the line. https://github.com/vim/vim/commit/e35a52aee718c881bdfa69a47a1068df6ab6c60a With `foldmethod=syntax` the foldlevel of a line is computed based on syntax items on the line. Previously we always used the level of the syntax item containing the start of the line. This works well in cases such as: if (...) { ... } else if (...) { ... } else { ... } which folds like this: +--- 3 lines: if (...) {--------------------------- +--- 3 lines: else if (...) {---------------------- +--- 3 lines: else {------------------------------- However, the code: if (...) { ... } else if (...) { ... } else { ... } folds like this: +--- 7 lines: if (...) {--------------------------- We can make the latter case fold like this: +--- 2 lines: if (...) {--------------------------- +--- 2 lines: } else if (...) {-------------------- +--- 3 lines: } else {----------------------------- by choosing on each line the lowest fold level that is followed by a higher fold level. Add a syntax command :syntax foldlevel [start | minimum] to choose between these two methods of computing the foldlevel of a line.
* vim-patch:8.2.0309: window-local values have confusing nameJan Edmund Lazo2020-05-11
| | | | | | Problem: Window-local values have confusing name. Solution: Rename w_p_bri* to w_briopt_*. https://github.com/vim/vim/commit/b81f56fb57c87a7490dd79908c257437d1958447
* Merge pull request #12018 from janlazo/vim-8.0.1123Matthieu Coudron2020-04-27
|\ | | | | [RFC]vim-patch:8.0.{1123,1125,1138,1139,1142,1292,1334,1375},8.1.1264
| * vim-patch:8.0.1139: using window toolbar changes stateJan Edmund Lazo2020-04-26
| | | | | | | | | | | | Problem: Using window toolbar changes state. Solution: Always execute window toolbar actions in Normal mode. https://github.com/vim/vim/commit/a21a6a9ade7bec3a07992d4d900d4ce82eeb8a29
| * vim-patch:8.0.1123: cannot define a toolbar for a windowJan Edmund Lazo2020-04-26
| | | | | | | | | | | | | | | | | | | | Problem: Cannot define a toolbar for a window. Solution: Add a window-local toolbar. https://github.com/vim/vim/commit/1b9645de3c05f37b5c30e78f999351b0cf486ade "WinBar" code in "screen.c" was not ported. Fix https://github.com/neovim/neovim/issues/11513#issuecomment-562012827