aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/option.c
Commit message (Collapse)AuthorAge
* getdigits: introduce `strict`, `def` parametersJustin M. Keyes2019-09-13
| | | | | | | | | | | | Problem: During a refactor long ago, we changed the `getdigits_*` familiy of functions to abort on overflow. But this is often wrong, because many of these codepaths are handling user input. Solution: Decide at each call-site whether to use "strict" mode. fix #5555
* Remove excess <stdint.h>Jan Edmund Lazo2019-09-11
|
* vim-patch:8.1.0515: reloading a script gives errors for existing functionserw72019-09-04
| | | | | | Problem: Reloading a script gives errors for existing functions. Solution: Allow redefining a function once when reloading a script. https://github.com/vim/vim/commit/ded5f1bed7ff2d138b3ee0f9610d17290b62692d
* [squash] Fix errors when portingerw72019-09-04
|
* vim-patch:8.1.0362: cannot get the script line number when executing a functionerw72019-09-04
| | | | | | | Problem: Cannot get the script line number when executing a function. Solution: Store the line number besides the script ID. (Ozaki Kiichi, closes vim/vim#3362) Also display the line number with ":verbose set". https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
* vim-patch:8.1.0046: loading a session file fails if 'winheight' is bigJan Edmund Lazo2019-09-02
| | | | | | | | | Problem: Loading a session file fails if 'winheight' is a big number. Solution: Set 'minwinheight' to zero at first. Don't give an error when setting 'minwinheight' while 'winheight' is a big number. Fix using vertical splits. Fix setting 'minwinwidth'. (closes vim/vim#2970) https://github.com/vim/vim/commit/1c3c10492a291270fa89b3c8df11828792f927d3
* vim-patch:8.0.1768: SET_NO_HLSEARCH() used in a wrong wayJan Edmund Lazo2019-09-02
| | | | | | | Problem: SET_NO_HLSEARCH() used in a wrong way. Solution: Make it a function. (suggested by Dominique Pelle, closes vim/vim#2850) https://github.com/vim/vim/commit/451fc7b954906069f1830a8092ad85616049a828
* vim-patch:8.0.0858: check if job terminal is running #10908Jan Edmund Lazo2019-09-01
| | | | | Problem: Can exit while a terminal is still running a job. Solution: Consider a buffer with a running job like a changed file. https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
* screen: use dedicated message gridBjörn Linse2019-09-01
| | | | | | | | add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
* findoption_len: treat viminfo/viminfofile as aliasesDaniel Hahler2019-08-26
| | | | Ref: https://github.com/neovim/neovim/pull/10672#issuecomment-524716824
* vim-patch:8.1.1913: not easy to compute the space on the command line (#10845)Daniel Hahler2019-08-25
| | | | | Problem: Not easy to compute the space on the command line. Solution: Add v:echospace. (Daniel Hahler, closes vim/vim#4732) https://github.com/vim/vim/commit/37f4cbd46f5a6f2dd3a48d5fa4324dce37e4bd6c
* styleJustin M. Keyes2019-08-13
|
* startup: handle 'guicursor' after user configJustin M. Keyes2019-08-13
| | | | | | | | If parse_shape_opt() is done before user config, the TUI may cause unwanted changes to the terminal cursor which cannot later be undone (see #4396). fix #10750
* Merge #10098 'win: fix msg_puts_printf()'Justin M. Keyes2019-08-12
|\
| * Fix problems with message catalog directoryerw72019-06-09
| | | | | | | | | | | | | | | | - In appimage, the message catalog is not used because there is no message catalog in LOCALE_INSTALL_DIR. Therefore, change to exepath/../share/locale instead of LOCALE_INSTALL_DIR. - The old vim style($runtime/lang) is no longer used. Thus all relevant code is removed.
* | clang/"dead assignments" #10620Bartosz Miera2019-07-29
| | | | | | | | Also revert possibly-wrong change in f_sign_getplaced() from 652be3cb0040.
* | refactor: use int for Columns and RowsBjörn Linse2019-07-19
| |
* | vim-patch:8.1.0495: :filter only supports some commandsJan Edmund Lazo2019-07-15
| | | | | | | | | | | | | | Problem: :filter only supports some commands. Solution: Add :filter support for more commands. (Marcin Szamotulski, closes vim/vim#2856) https://github.com/vim/vim/commit/f86db78fed78541cefdb706e4779ce5ae9ca7820
* | ui: add 'redrawdebug' option for flexible debugging of redrawingBjörn Linse2019-07-09
| |
* | Merge pull request #10090 from bfredl/floatpopupBjörn Linse2019-07-07
|\ \ | | | | | | api/window: add style="minimal" flag to disable unwanted UI features for simple floats
| * | api/window: add style="minimal" flag to nvim_open_win()Björn Linse2019-07-07
| | |
* | | vim-patch:8.1.1614: 'numberwidth' can only go up to 10Jan Edmund Lazo2019-07-05
|/ / | | | | | | | | | | Problem: 'numberwidth' can only go up to 10. Solution: Allow up to 20. (Charlie Stanton, closes vim/vim#4584) https://github.com/vim/vim/commit/f8a071265535b8cc43e50a81f4d5049883ca50e4
* | defaults: wildoptions=pum,tagfile #10384Justin M. Keyes2019-07-01
| | | | | | ref #6289
* | ui: add 'winblend' to support blending of floating windowsBjörn Linse2019-06-25
| | | | | | | | Also add `hi blend=` attribute to override transparency of indiviual attributes.
* | vim-patch:8.1.1366: using expressions in a modeline is unsafeJames McCoy2019-06-24
| | | | | | | | | | | | | | Problem: Using expressions in a modeline is unsafe. Solution: Disallow using expressions in a modeline, unless the 'modelineexpr' option is set. Update help, add more tests. https://github.com/vim/vim/commit/110289e78195b6d01e1e6ad26ad450de476d41c1
* | vim-patch:8.0.1704: 'backupskip' default doesn't work for MacDaniel Hahler2019-06-13
|/ | | | | | Problem: 'backupskip' default doesn't work for Mac. Solution: Use "/private/tmp". (Rainer Müller, closes vim/vim#2793) https://github.com/vim/vim/commit/b8e22a053b68774dfd86fd829d9dba2333f09c05
* vim-patch:8.1.1270: cannot see current match positionerw72019-06-05
| | | | | | | Problem: Cannot see current match position. Solution: Show "3/44" when using the "n" command and "S" is not in 'shortmess'. (Christian Brabandt, closes vim/vim#4317) https://github.com/vim/vim/commit/9dfa3139198b38b28673e251a3756430065914e9
* vim-patch:8.1.0205: invalid memory access with invalid modelineJan Edmund Lazo2019-05-25
| | | | | | Problem: Invalid memory access with invalid modeline. Solution: Pass pointer limit. Add a test. (closes vim/vim#3241) https://github.com/vim/vim/commit/9cf4b5005f12ce1d6692266140bdda05d0312d79
* 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
* win/defaults: Use "…/nvim-data/site" in 'runtimepath'Justin M. Keyes2019-04-28
| | | | | | | | | | On Windows we store non-config data in "$XDG_DATA_HOME/nvim-data". But the "…/site" items in 'runtimepath' did not correctly point to that location, they used "…/nvim/site". Fix the init logic to use "…/nvim-data/site". closes #9910
* vim-patch:8.0.0702: error in a timer can make Vim unusable #9826Justin M. Keyes2019-04-10
| | | | | | | | | | Problem: An error in a timer can make Vim unusable. Solution: Don't set the error flag or exception from a timer. Stop a timer if it causes an error 3 out of 3 times. Discard an exception caused inside a timer. https://github.com/vim/vim/commit/c577d813b7978345dec4310b2d8f5d5624a681f6 closes #9826
* lintJames McCoy2019-04-08
|
* Remove MSVC optimization workaround for SHM_ALLJames McCoy2019-04-08
|
* Make SHM_ALL to a variable instead of a compound literal #defineJames McCoy2019-04-07
| | | | | | | | | | | | | | | gcc-9 has [improved compliance] with the C spec for lifetime of compound literals, tying their lifetime to block scope instead of function scope. This makes the behavior comparable to all other automatic variables. Using the SHM_ALL #define instantiated a compound literal local to an if clause and assigned the address to a "char_u *". Since the pointer was then being used outside of the if clause, it was using an invalid address. [improved compliance]: https://gcc.gnu.org/gcc-9/porting_to.html#complit Closes #9855
* fixup: use vim_snprintf, ASCII_ISALNUMAbdelhakeem2019-03-29
| | | | ASCII_ISALNUM is part of vim-patch:8.1.0540
* lintAbdelhakeem2019-03-29
|
* vim-patch:8.1.0544: setting 'filetype' in a modeline causes an errorAbdelhakeem2019-03-28
| | | | | | | | Problem: Setting 'filetype' in a modeline causes an error (Hirohito Higashi). Solution: Don't add the P_INSECURE flag when setting 'filetype' from a modeline. Also for 'syntax'. https://github.com/vim/vim/commit/916a818cea5ba05a5f2117407674461b8bee6832
* vim-patch:8.1.0540: may evaluate insecure value when appending to optionAbdelhakeem2019-03-28
| | | | | | | | Problem: May evaluate insecure value when appending to option. Solution: Set the secure flag when changing an option that was previously set insecurely. Also allow numbers for the characters from 'spelllang' that are used for LANG.vim. https://github.com/vim/vim/commit/247bb7e43b47eb8407a1111bed60b61aceda52ad
* 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.
* Allow using internal popupmenu or ext_popupmenu for wildmenuBjörn Linse2019-03-16
| | | | | Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor position), and will allow further expansion (info about items).
* vim-patch:8.1.0932: remove Farsi support (#9622)Justin M. Keyes2019-02-17
| | | | | Problem: Farsi support is outdated and unused. Solution: Delete the Farsi support. https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
* ui: implement ext_messagesBjörn Linse2019-02-10
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* UI: implement 'pumblend' option for semi-transparent popupmenuBjörn Linse2019-02-07
| | | | | | | | | | | | | Why? - Because we can. - Because the TUI is just another GUI™ - Because it looks kinda nice, and provides useful context like 1 out of 100 times Complies with "don't pay for what you don't use". Some crashes for resizing were unfolded, add tests for those.
* options: set 'scrollback' to -1 by default #9563Marco Hinz2019-02-04
| | | | | | | | | Makes the 'scrollback' option more consistent (same default for all buffers) and future-proof. - Default to -1 for all buffers, but treat it as an implementation detail. - Document range of 1 - 100_000. - New terminal buffer by default sets scrollback=10_000 if the global default is -1. - Existing terminal buffer: On entering terminal-mode or on refresh, if the user explicitly did `:set[local] scbk=-1`, the local value goes to 100_000 (max). (This is undocumented on purpose. Users should work with explicit values in the range of 1-100_000.)
* Merge #9539 "options: make 'listchars' and 'fillchars' local to window"Marco Hinz2019-01-28
|\
| * vim-patch:8.1.0759: showing two characters for tab is limitedMarco Hinz2019-01-26
| | | | | | | | | | | | | | | | Problem: Showing two characters for tab is limited. Solution: Allow for a third character for "tab:" in 'listchars'. (Nathaniel Braun, Ken Takata, closes vim/vim#3810) https://github.com/vim/vim/commit/83a52171ba00b2b9fd2d1d22a07e38fc9fc69c1e
| * 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: '