aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_session.c
Commit message (Collapse)AuthorAge
* vim-patch:8.2.4645: 'shortmess' changed when session does not store options ↵zeertzjq2022-03-31
| | | | | | | | (#17908) Problem: 'shortmess' changed when session does not store options. Solution: Save and restore 'shortmess' if needed. (James Charti, closes vim/vim#10037) https://github.com/vim/vim/commit/fd01280d01c2270a320d8c962d24140a8176a400
* refactor: convert function comments to doxygen format (#17710)dundargoc2022-03-24
|
* Merge pull request #17266 from famiu/feat/ui/global-statuslinebfredl2022-03-17
|\ | | | | feat(statusline): add global statusline
| * feat: add support for global statuslineFamiu Haque2022-03-18
| | | | | | | | | | | | | | | | | | | | Ref: #9342 Adds the option to have a single global statusline for the current window at the bottom of the screen instead of a statusline at the bottom of every window. Enabled by setting `laststatus = 3`. Due to the fact that statuslines at the bottom of windows are removed when global statusline is enabled, horizontal separators are used instead to separate horizontal splits. The horizontal separator character is configurable through the`horiz` item in `'fillchars'`. Separator connector characters are also used to connect the horizontal and vertical separators together, which are also configurable through the `horizup`, `horizdown`, `vertleft`, `vertright` and `verthoriz` items in `fillchars`. The window separators are highlighted using the `WinSeparator` highlight group, which supersedes `VertSplit` and is linked to `VertSplit` by default in order to maintain backwards compatibility.
* | vim-patch:8.2.4566: check for existing buffer in session file may not workzeertzjq2022-03-15
|/ | | | | | | Problem: Check for existing buffer in session file does not work for files in the home directory. Solution: Use fnamemodify(). (James Cherti, closes vim/vim#9945) Add a test. https://github.com/vim/vim/commit/7d42840033aedf36389208b62e28b4e0b251c199
* vim-patch:8.2.4090: after restoring a session buffer order can be quite ↵Evgeni Chasnovski2022-01-29
| | | | | | | | | | | | | | | | different (#17112) Problem: After restoring a session buffer order can be quite different. Solution: Create buffers first. (Evgeni Chasnovski, closes vim/vim#9520) https://github.com/vim/vim/commit/26ebf1f036517ebeacf571c333a83cca7e13bbe2 --------------- As in Vim, this basically reverts 8.1.0829 providing different solution (see vim/vim#9520). Regarding Neovim, this basically reverts changes from #15062. Test about restoring same terminals was a bit too restrictive with using actual buffer ids, which changed with this patch (now they should be in the same order as at `mksession` call), so I tweaked it.
* vim-patch:8.2.4007: session does not restore help buffer properlyzeertzjq2022-01-07
| | | | | | | | Problem: Session does not restore help buffer properly when "options' is missing from 'sessionoptions'. Solution: Use a ":help" command to create the help window. (closes vim/vim#9475, closes vim/vim#9458, closes vim/vim#9472) https://github.com/vim/vim/commit/8e7d9db32b53ca2b1cb7570d2042860bcd1e943f
* refactor(misc1): move out high-level input functions to a new file: input.cBjörn Linse2021-12-10
| | | | | Possibly dialog code is messages.c could be moved here as well. misc1.c is now empty, so delete it.
* refactor: saner options for uncrustify (#16204)dundargoc2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | * sp_enum_after_assign = force * sp_brace_typedef = force * nl_do_brace = remove * sp_do_brace_open = force * sp_brace_close_while = force * sp_before_semi = remove * sp_before_semi_for = remove * sp_before_semi_for_empty = remove * sp_between_semi_for_empty = remove * sp_after_semi_for_empty = remove * sp_before_square = remove * sp_before_squares = remove * sp_inside_square = remove * sp_inside_fparens = remove * sp_inside_fparen = remove * sp_inside_tparen = remove * sp_after_tparen_close = remove * sp_return_paren = force * pos_bool = lead * sp_pp_concat = remove * sp_pp_stringify = remove * fixup: disable formatting for the INIT section
* vim-patch:8.1.0743: giving error messages is not flexibleJames McCoy2021-11-01
| | | | | | | | | Problem: Giving error messages is not flexible. Solution: Add semsg(). Change argument from "char_u *" to "char *", also for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of an enormous number of type casts. https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
* vim-patch:8.0.1459: cannot handle change of directoryzeertzjq2021-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot handle change of directory. Solution: Add the DirChanged autocommand event. (Andy Massimino, closes vim/vim#888) Avoid changing directory for 'autochdir' too often. https://github.com/vim/vim/commit/b7407d3fc9496f9048fb65ab17b5ba3444965c0e Only add "auto" pattern. "window" and "global" are already implemented. Skip `Test_dirchanged_auto` using `CheckFunction test_autochdir`. Part of PR #15952. More information can be found there. N/A patches for version.c: vim-patch:8.0.1460: missing file in patch Problem: Missing file in patch. Solution: Add changes to missing file. https://github.com/vim/vim/commit/b5cb65ba2bcc6bbc6d2798a2dea18b95f0b38f5e vim-patch:8.0.1461: missing another file in patch Problem: Missing another file in patch. Solution: Add changes to missing file. https://github.com/vim/vim/commit/15833239a4131279935a4bd574b74fe3a2b0f49f
* refactor: reduce number of unique char castsDundar Göc2021-10-13
|
* fix(PVS V576): wrong fprintf() formatJustin M. Keyes2021-09-24
| | | | | | | | https://pvs-studio.com/en/docs/warnings/v576/ Before 1bffe66508ff986a61c0e08caddc92b7f3ace81e this was originally "%ld" but that looks like a mistake. At least now, w_height_inner and w_width_inner are just `int`.
* refactor: format with uncrustify #15726dundargoc2021-09-20
|
* vim-patch:8.1.0829: when 'hidden' is set session creates extra buffersSean Dewar2021-07-17
| | | | | | | | | | | | | | Problem: When 'hidden' is set session creates extra buffers. Solution: Move :badd commands to the end. (Jason Franklin) https://github.com/vim/vim/commit/d39e275b57493f9e25e1b62f84810571eee30cf4 Adjust some tests in ex_cmds/mksession_spec.lua: - 'restores same :terminal buf in splits': Buffers aren't always :badded in the same order as they're :edited, :balted, etc, so the order of buffers in the buffer list may change slightly now that :badd happens afterwards. - 'restores buffers with tab-local CWD': This is explained in a comment.
* fixup! fixup! vim-patch:8.2.2776: :mksession uses current value of ↵Jan Edmund Lazo2021-06-05
| | | | 'splitbelow' and 'splitright' (#14398)
* fixup! vim-patch:8.2.2776: :mksession uses current value of 'splitbelow' and ↵Jan Edmund Lazo2021-06-02
| | | | | | 'splitright' (#14398) tab_firstwin can be NULL.
* vim-patch:8.2.2772: problems when restoring 'runtimepath' from a session fileJan Edmund Lazo2021-05-22
| | | | | | | | | | | Problem: Problems when restoring 'runtimepath' from a session file. Solution: Add the "skiprtp" item in 'sessionoptions'. https://github.com/vim/vim/commit/635bd60804966803490287e97460ecdc91d5fe0a Allow "terminal" value for sessionoptions even if it's no-opt because patch v8.0.1592 is not ported yet. Omit vim9 test, Test_mksession_skiprtp().
* fixup! vim-patch:8.1.0734: the hlsearch state is not stored in a session ↵Jan Edmund Lazo2021-05-22
| | | | file (#13547)
* vim-patch:8.2.2820: session file may divide by zeroJan Edmund Lazo2021-05-05
| | | | | | | | | Problem: Session file may divide by zero. Solution: Avoid writing difide by zero. (closes vim/vim#8162) https://github.com/vim/vim/commit/b6c2e9a010ebd7db586081957e634903d4972fa1 Avoid typecasts if possible. Use PRIdLINENR, PRId64, to format line numbers.
* vim-patch:8.2.2776: :mksession uses current value of 'splitbelow' and ↵Jan Edmund Lazo2021-04-22
| | | | | | | | | | | | 'splitright' (#14398) Problem: :mksession uses current value of 'splitbelow' and 'splitright' even though "options" is not in 'sessionoptions'. (Maxim Kim) Solution: Save and restore the values, instead of setting to the current value. (closes vim/vim#8119) https://github.com/vim/vim/commit/0995c81f2ffe276669daa004f7778ecc6f5ee09d Patch v8.2.1682 is not ported. Replace "goto fail;" with "return FAIL;".
* vim-patch:8.2.2594: alternate buffer added to session file even when it's hiddenJan Edmund Lazo2021-03-13
| | | | | | | | | | | | | | Problem: Alternate buffer added to session file even when it's hidden. Solution: Check the 'buflisted' option. (closes vim/vim#7951) https://github.com/vim/vim/commit/0756f757edba755b75e0c9c612ab2f7e673def84 N/A patches for version.c: vim-patch:8.2.2593: list of distributed files is incomplete Problem: List of distributed files is incomplete. Solution: Add a file and rename another. https://github.com/vim/vim/commit/0de8e2d6a3fae61c4d9dfdd6f16fc5040d994f6c
* vim-patch:8.2.2467: script generated by :mkview changes alternate fileSean Dewar2021-02-11
| | | | | | | Problem: Script generated by :mkview changes alternate file. Solution: Only write :balt in the session file. (Harish Rajagopal, closes vim/vim#7779) https://github.com/vim/vim/commit/139348f3e8370826a1ceb10c73f7c7bb586f8125
* vim-patch:8.2.2058: using mkview/loadview changes the jumplistSean Dewar2021-02-11
| | | | | | | | | | | Problem: Using mkview/loadview changes the jumplist. Solution: Use ":keepjumps". Don't let ":badd" or ":balt" change the jumplist. (closes vim/vim#7371) https://github.com/vim/vim/commit/3482be6a33c3a00fe1e8e604310ad3034f593045 Definition for BufWinEnter autocmd in Test_mkview_loadview_jumplist() was moved down a few lines until after the views are written, as in Nvim, :loadview throws if the view file can't be opened.
* vim-patch:8.2.1967: the session file does not restore the alternate fileSean Dewar2021-02-11
| | | | | | | | | | | Problem: The session file does not restore the alternate file. Solution: Add ":balt". Works like ":badd" and also sets the buffer as the alternate file. Use it in the session file. (closes vim/vim#7269, closes vim/vim#6714) https://github.com/vim/vim/commit/59d8e56e048eb5d384649284fb35363931fc3697 Include minimal test_buffer.vim from patch 8.2.0243 for Test_balt(). Add entry for :balt to runtime/doc/index.txt from vim/vim#7819.
* vim-patch:8.1.0790: code for creating tabpages in session is too complexJan Edmund Lazo2020-12-29
| | | | | | Problem: Code for creating tabpages in session is too complex. Solution: Simplify the code. (Jason Franklin) https://github.com/vim/vim/commit/57a6bf056715bd5c94d8047247615e39862424e7
* vim-patch:8.1.0149: session is wrong with multiple tabs when :lcd was usedJan Edmund Lazo2020-12-29
| | | | | | | | Problem: The generated sessions file does not restore tabs properly if :lcd was used in one of them. Solution: Create the tab pages before setting the directory. (Yee Cheng Chin, closes vim/vim#3152) https://github.com/vim/vim/commit/26d4b896a789e65df7ee0cf3e25056eabc523fda
* vim-patch:8.1.0734: the hlsearch state is not stored in a session file (#13547)Jan Edmund Lazo2020-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The hlsearch state is not stored in a session file. Solution: Add "nohlsearch" if appropriate. (Jason Franklin) https://github.com/vim/vim/commit/e3c74d249ac36404d8af25f74baf335d143b30e3 Vi default for 'sessionoptions' includes 'options'. Use 'set sessionoptions&vi' to use Vim's default 'sessionoptions'. If a test sets 'sessionoptions', reset 'sessionoptions' at the end of the test. N/A patches for version.c: vim-patch:8.2.0119: message test fails on some platforms Problem: Message test fails on some platforms. (Elimar Riesebieter) Solution: Add type cast to vim_snprintf() argument. (Dominique Pelle) https://github.com/vim/vim/commit/1470dc35c4b14bda1995b7566c9a41a33eb06517 vim-patch:8.2.0234: message test fails on SunOS Problem: Message test fails on SunOS. Solution: Adjust expectation for printf "%p". (Ozaki Kiichi, closes vim/vim#5595) https://github.com/vim/vim/commit/d5b991493816a2edba7cacdd06820cf3c0abc4dc vim-patch:8.2.2149: popupwin test for latin1 sometimes fails Problem: Popupwin test for latin1 sometimes fails. Solution: Wait for the script to finish. https://github.com/vim/vim/commit/4c5bdb99ad632d703e94fffafba11b91861fea48 vim-patch:8.2.2150: Github actions CI isn't used for all available platforms Problem: Github actions CI isn't used for all available platforms. Solution: Update the github workflows. (Ozaki Kiichi, closes vim/vim#7433) https://github.com/vim/vim/commit/8ea05de6aa1d133cba3381bcc36adf1736b08e00 vim-patch:8.2.2151: $dir not expanded when configure checks for moonjit Problem: $dir not expanded when configure checks for moonjit. Solution: Use double quotes instead of single quotes. (closes vim/vim#7478) https://github.com/vim/vim/commit/a79a8944dade9115ccaa5a06a076dfb257e56c62 vim-patch:8.2.2153: popupwin test for latin1 still fails sometimes Problem: Popupwin test for latin1 still fails sometimes. Solution: Wait for the "cat" command to finish. https://github.com/vim/vim/commit/b125b535bb0456ab43c10683307a4bc359442d44 vim-patch:8.2.2154: popupwin test for terminal buffer fails sometimes Problem: Popupwin test for terminal buffer fails sometimes. Solution: Wait for the prompt to appear. https://github.com/vim/vim/commit/0353f56ddb379e7f1a68172fa4743355e04df21e
* vim-patch:8.2.1936: session sets the local 'scrolloff' value to the global valueJan Edmund Lazo2020-11-01
| | | | | | | Problem: Session sets the local 'scrolloff' value to the global value. Solution: Do not let restoring the global option value change the local value. https://github.com/vim/vim/commit/388908352f88e7391accb3545b082db0fc89d9f7
* defaults: sessionoptions+=unix,slash #12760Jan Edmund Lazo2020-08-15
| | | | | | | Since 1c3ca4f18fdc, 2c1d12d0beda, #7836, the "unix" and "slash" behavior of 'sessionoptions'/'viewoptions' is always enabled, and the flags are just ignored. There is no reason for that behavior to be configurable. Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* vim-patch:8.2.0584: viminfo file uses obsolete function file_readable()Jan Edmund Lazo2020-04-17
| | | | | | Problem: Viminfo file uses obsolete function file_readable(). Solution: Use filereadable(). (closes vim/vim#5934) https://github.com/vim/vim/commit/c5f33db888d14225e5a3851563c9a7fc0b5a5564
* lintJustin M. Keyes2020-01-28
|
* refactor: move session functions to ex_session.cJustin M. Keyes2020-01-28