aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/starting.txt
Commit message (Collapse)AuthorAge
* feat(defaults): mouse=nvi #19290matveyt2022-07-17
| | | | | | | | | | Problem: Since right-click can now show a popup menu, we can provide messaging to guide users who expect 'mouse' to be disabled by default. So 'mouse' can now be enabled by default. Solution: Do it. Closes #15521
* feat: stdpath('run'), /tmp/nvim.user/ #18993Justin M. Keyes2022-06-30
| | | | | | | | | | | | | | | | Problem: - Since c57f6b28d71d #8519, sockets are created in ~/.local/… but XDG spec says: "XDG_RUNTIME_DIR: Must be on the local filesystem", which implies that XDG_STATE_DIR is potentially non-local. - Not easy to inspect Nvim-created temp files (for debugging etc). Solution: - Store sockets in stdpath('run') ($XDG_RUNTIME_DIR). - Establish "/tmp/nvim.user/" as the tempdir root shared by all Nvims. - Make ok() actually useful. - Introduce assert_nolog(). closes #3517 closes #17093
* fix(logging): skip recursion, fix crash #18764Justin M. Keyes2022-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 1. The main log routine does not protect itself against recursion. log_lock() doesn't guard against recursion, it would deadlock... 2. 22b52dd462e5 (#11501) regressed 6f27f5ef91b3 (#10172), because set_init_1..process_spawn tries to log (see backtrace below), but the mutex isn't initialized yet. Even if the mutex were valid, we don't want early logging to fallback to stderr because that can break embedders when stdio is used for RPC. frame 1: 0x00000001001d54f4 nvim`open_log_file at log.c:205:7 frame 2: 0x00000001001d5390 nvim`logmsg(log_level=1, context="UI: ", func_name=0x0000000000000000, line_num=-1, eol=true, fmt="win_viewport") at log.c:150:20 frame : 0x000000010039aea2 nvim`ui_call_win_viewport(grid=2, win=1000, topline=0, botline=1, curline=0, curcol=0, line_count=1) at ui_events_call.generated.h:321:3 frame 4: 0x00000001003dfefc nvim`ui_ext_win_viewport(wp=0x0000000101816400) at window.c:939:5 frame 5: 0x00000001003ec5b4 nvim`win_ui_flush at window.c:7303:7 frame 6: 0x00000001003a04c0 nvim`ui_flush at ui.c:508:3 frame 7: 0x00000001002966ba nvim`do_os_system(argv=0x0000600000c0c000, input=0x0000000000000000, len=0, output=0x0000000000000000, nread=0x00007ff7bfefe830, silent=false, forward_output=false) at shell.c:894:3 frame 8: 0x0000000100295f68 nvim`os_call_shell(cmd="unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/var/folders/gk/3tttv_md06987tlwpyp62jrw0000gn/T/nvimwwvwfD/0 ~foo", opts=kShellOptExpand | kShellOptSilent | kShellOptHideMess, extra_args=0x0000000000000000) at shell.c:663:18 frame 9: 0x0000000100295845 nvim`call_shell(cmd="unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/var/folders/gk/3tttv_md06987tlwpyp62jrw0000gn/T/nvimwwvwfD/0 ~foo", opts=kShellOptExpand | kShellOptSilent | kShellOptHideMess, extra_shell_arg=0x0000000000000000) at shell.c:712:14 frame 10: 0x0000000100294c6f nvim`os_expand_wildcards(num_pat=1, pat=0x00007ff7bfefeb20, num_file=0x00007ff7bfefee58, file=0x00007ff7bfefee60, flags=43) at shell.c:328:7 ... frame 23: 0x000000010028ccef nvim`expand_env_esc(srcp=",~foo", dst="~foo", dstlen=4094, esc=false, one=false, prefix=0x0000000000000000) at env.c:673:17 frame 24: 0x000000010026fdd5 nvim`option_expand(opt_idx=29, val=",~foo") at option.c:1950:3 frame 25: 0x000000010026f129 nvim`set_init_1(clean_arg=false) at option.c:558:19 frame 26: 0x00000001001ea25e nvim`early_init(paramp=0x00007ff7bfeff5f0) at main.c:198:3 frame 27: 0x00000001001ea6bf nvim`main(argc=1, argv=0x00007ff7bfeff848) at main.c:255:3 Solution: 1. Check for recursion, show "internal error" message. - FUTURE: when "remote TUI" is merged, can we remove log_lock()? 2. Skip logging if log_init wasn't called yet.
* refactor!: delete insertmode (#18547)Gregory Anders2022-05-22
| | | | | | | Neovim already removed `evim` (or any similar flags). The 'insertmode' option is a weird remnant, so get rid of it. The 'insertmode' option is replaced with a script that closely emulates the option. This script is documented at :help 'insertmode'
* feat(defaults): session data in $XDG_STATE_HOME #15583Ivan2022-05-12
| | | | | | | | | | | | See: https://gitlab.freedesktop.org/xdg/xdg-specs/-/commit/4f2884e16db35f2962d9b64312917c81be5cb54b - Move session persistent data to $XDG_STATE_HOME Change 'directory', 'backupdir', 'undodir', 'viewdir' and 'shadafile' default location to $XDG_STATE_HOME/nvim. - Move logs to $XDG_STATE_HOME, too. - Add stdpath('log') support. Fixes: #14805
* vim-patch:c51cf0329809 (#17530)Christian Clason2022-02-27
| | | | Update runtime files. https://github.com/vim/vim/commit/c51cf0329809c7ae946c59d6f56699227efc9d1b
* vim-patch:6f4754b9f725 (#17179)Christian Clason2022-01-23
| | | | Update runtime files https://github.com/vim/vim/commit/6f4754b9f7253d7e4ba527064a24aff1acdb1e8f
* refactor: source ftplugin.vim separately from filetype.vim (#17129)Gregory Anders2022-01-18
| | | | | | | | | | | | | | This is a follow-on to #17040. The real benefit of #17040 was ensuring that the ftplugin FileType autocommand was defined first and thus always fired first. A side effect of the implementation in #17040 was that setting variables that modified the state of filetype detection (such as g:did_load_filetypes or g:do_filetype_lua) could no longer be set in the user's init file. Filetype detection can also no longer be prevented from loading by using `:filetype off`. This PR addresses both of those side effects by unconditionally sourcing ftplugin.vim and indent.vim before the user's init file (which ensures that these autocommands run first) and sourcing filetype.vim *after* the user's init file (thus allowing it to be blocked or modified).
* refactor: enable filetype detection before user startup scripts (#17040)Gregory Anders2022-01-17
|
* feat(startup): load builtin plugins with --clean #15893Gregory Anders2021-10-04
| | | Closes #15605
* feat(lua)!: register_keystroke_callback => on_keyJustin M. Keyes2021-09-09
| | | | | | | | | Analogous to nodejs's `on('data', …)` interface, here on_key is the "add listener" interface. ref 3ccdbc570d85 #12536 BREAKING_CHANGE: vim.register_keystroke_callback() is now an error.
* fix(defaults): "syntax sync maxlines=1" on CmdwinEnter #15552Justin M. Keyes2021-09-02
| | | | | | | I mistakenly suggested maxlines=&cmdwinheight, forgetting that it is calculated from topline, not cursor. maxlines=1 makes the most sense in cmdwin. ref #15401 622a36b1f1c652a8de433028bc4a03a1216db23f
* feat(defaults): limit syntax cost on CmdwinEnter #15401Gregory Anders2021-09-02
| | | | | | | | | Add a new default autocommand to limit syntax highlighting synchronization in the command window. This refactors the nvim_terminal autocommand out of main() and into a new init_default_autocmds() function, which is now part of the startup process and can be further extended with more default autocommands down the road. ref #6289 #6399
* doc: remove mentions of compile-time flags #14935cbarrete2021-07-07
| | | | Nvim always compiles everything in so those are useless at best and confusing at worst.
* doc/startup: cleanup; assign ENN to "conflicing configs" msg (#14971)Justin M. Keyes2021-07-03
|
* docs(starting): mention init.lua in paths and remove repetition (#14883)smolck2021-06-23
|
* refactor(source): Move lua file detection to do_sourceshadmansaleh2021-06-11
| | | | | | So now :source can run lua files too :) * feat: Add support for :[ranged]source for lua files
* feat(startup): Source runtime/plugin/**/*.lua at startupshadmansaleh2021-06-11
| | | | | | For opt plugins these files are sourced on `:packadd` * `:runtime` Now can exexute lua files
* vim-patch:942db23c9cb7Jan Edmund Lazo2021-05-01
| | | | | | | Update runtime files https://github.com/vim/vim/commit/942db23c9cb7532d68048530d749eb84ca94d0cd Omit po files.
* vim-patch:ebdf3c964a90Jan Edmund Lazo2021-04-27
| | | | | | | Update runtime files. https://github.com/vim/vim/commit/ebdf3c964a901fc00c9009689f7cfda478342c51 Omit vim9.
* vim-patch:8024f9363683Jan Edmund Lazo2021-04-27
| | | | | | | Update runtime files. https://github.com/vim/vim/commit/8024f936368336241406137a2fa78ed5ee9000a6 Omit "modifyOtherKeys" changes.
* vim-patch:5666fcd0bd79Jan Edmund Lazo2021-04-27
| | | | | | | | Update runtime files. https://github.com/vim/vim/commit/5666fcd0bd794dd46813824cce63a38bcae63794 Do not manually port E290 error message. Neovim has E5030,E5031 error messages to replace E290.
* vim-patch:469bdbde1e8eJan Edmund Lazo2021-04-27
| | | | | Minor runtime file updates. https://github.com/vim/vim/commit/469bdbde1e8ea8110705327ab193acca79296742
* vim-patch:30e9b3c42567 (#13936)Volodymyr Kot2021-03-03
| | | | Update runtime files https://github.com/vim/vim/commit/30e9b3c4256710781c3bd64efb33f138e4e074b3
* log.c: warn instead of error on failed stdpath('cache') creationMichael Lingelbach2021-01-16
|
* logs: make kXDGCacheHome if it doesn't exist (#13758)Michael Lingelbach2021-01-16
|
* logging: move to XDG_CACHE_HOME (#13739)Michael Lingelbach2021-01-13
| | | | | while there is some controversy, stdpath('cache') looks like a better fit for logs than stdpath('data'): you can remove logs without preventing nvim to work which fits the XDG_CACHE_HOME definition of `user specific non-essential data files`.
* doc: mention init.luadm1try2020-12-01
| | | | use a generic name instead of "init.vim" in starting.txt
* Removed restricted mode - Fix #11972georg3tom2020-11-11
|
* docs, remove 'guifontset' #11708Justin M. Keyes2020-08-31
| | | | | | | | | | | | | - remove redundant autocmd list This "grouped" list is useless, it only gets in the way when searching for event names. - intro.txt: cleanup - starting.txt: update, revisit - doc: `:help bisect` - mbyte.txt: update aliases 1656367b90bd. closes #11960 - options: remove 'guifontset'. Why: - It is complicated and is used by almost no one. - It is unlikely to be implemented by Nvim GUIs (complicated to parse, specific to Xorg...).
* vim-patch:8.0.1554: custom plugins loaded with --cleanJan Edmund Lazo2020-06-18
| | | | | | Problem: Custom plugins loaded with --clean. Solution: Do not include the home directory in 'runtimepath'. https://github.com/vim/vim/commit/072687032683b1994d25a114893d9a6f8bc36612
* vim-patch:8.1.0881: can execute shell commands in rvim through interfacesJan Edmund Lazo2020-03-01
| | | | | | | Problem: Can execute shell commands in rvim through interfaces. Solution: Disable using interfaces in restricted mode. Allow for writing file with writefile(), histadd() and a few others. https://github.com/vim/vim/commit/8c62a08faf89663e5633dc5036cd8695c80f1075
* doc + extmarks tweaks #11421Justin M. Keyes2019-11-25
| | | | - nvim_buf_get_extmarks: rename "amount" => "limit" - rename `set_extmark_index_from_obj`
* doc: eliminate msgpack_rpc.txt [ci skip]Justin M. Keyes2019-09-09
| | | | | - Migrate msgpack_rpc.txt into api.txt, develop.txt. - fix #10740: Remove warning about "avoid hardcoding the type codes".
* docJustin M. Keyes2019-09-09
|
* doc: remove "{not available ...}" noiseJustin M. Keyes2019-08-02
|
* vim-patch:5477506a9f01Justin M. Keyes2019-08-02
| | | | | | | | | Update runtime files. https://github.com/vim/vim/commit/5477506a9f01d40fad2e8f0555bc37adee30478f NA: vim-patch:2a9c9f6d89f1 "undo extra changes in src/Makefile" https://github.com/vim/vim/commit/2a9c9f6d89f19f8fa8d926e80c7f988729f6f1bd
* vim-patch:61da1bfa6c6bJustin M. Keyes2019-08-02
| | | | | Update runtime files. https://github.com/vim/vim/commit/61da1bfa6c6b19dd670671a318ce9f9e2acc784c
* doc [ci skip] #10177Justin M. Keyes2019-06-30
| | | ref #10278 #10279 #10353
* test: 'shadafile' defaultJustin M. Keyes2019-04-27
| | | | ref 773bdd41ec19
* doc: clarify -EsJustin M. Keyes2019-04-22
|
* doc: UIJustin M. Keyes2019-04-22
|
* vim-patch:8.0.0716: "--clean", 'shadafile' #9907Justin M. Keyes2019-04-15
| | | | | | | | | | | | Nvim notes: - Nvim does not support "-u DEFAULTS", that change is omitted. - Also add 'shadafile' as an alias to 'viminfofile'. - Deprecate 'viminfofile'. Problem: Not easy to start Vim cleanly without changing the viminfo file. Not possible to know whether the -i command line flag was used. Solution: Add the --clean command line argument. Add the 'viminfofile' option. Add "-u DEFAULTS". https://github.com/vim/vim/commit/c4da113ef98dcfd6f2a088b1693c0317dcb5bf42
* startup: -es/-Es (silent/batch mode): skip swapfile #8540Justin M. Keyes2019-04-10
| | | | To use Nvim as a scripting engine the side-effects of swapfiles and user config should be avoided by default.
* 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
* doc [ci skip] #9478Justin M. Keyes2019-01-26
| | | | | | | | | | | | - Lua - developer guidelines - MAINTAIN.md - TUI: cleanup - TUI: mention Windows terminfo builtins - cleanup if_pyth, redirect python-bindeval tag Helped-by: Björn Linse <bjorn.linse@gmail.com> Helped-by: erw7 <erw7.github@gmail.com>
* doc: Remove {Nvim} tagJustin M. Keyes2018-12-30
| | | | | | | | | | | | The purpose of the {Nvim} hint was not well-defined, and its usage inconsistent. It's also unnecessary. Nvim-Vim differences are centralized at: :help vim-differences Removed things are centralized at: :help deprecated Developer guidelines for documentation are listed at: :help dev-doc
* startup: Use $XDG_CONFIG_DIRS/nvim/sysinit.vim if it existsJames McCoy2018-12-16
| | | | Closes #8994
* doc (#9288)Justin M. Keyes2018-12-09
| | | | | - misc - doc: `:help config`. closes #9329 - cleanup test/README.md
* vim-patch:b477af2260d9Justin M. Keyes2018-10-29
| | | | | Update runtime files. https://github.com/vim/vim/commit/b477af2260d9bc7ae7f743f0a14265d7ee12ee09