aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/README.md
Commit message (Collapse)AuthorAge
* docs: various #25289Justin M. Keyes2024-01-18
| | | | | | Co-authored-by: Jongwook Choi <wookayin@gmail.com> Co-authored-by: Oliver Marriott <hello@omarriott.com> Co-authored-by: Benoit de Chezelles <bew@users.noreply.github.com> Co-authored-by: Jongwook Choi <wookayin@gmail.com>
* docs: add code-overview from wiki to src/nvim/README.mddundargoc2023-12-13
|
* docs: small fixesdundargoc2023-10-10
| | | | | | Co-authored-by: Wansmer <wansmer@gmail.com> Co-authored-by: Andrew Voynov <andrewvoynov.b@gmail.com> Co-authored-by: David Moberg <david.moberg@mediatek.com>
* docs: fix typos and other small fixes (#25005)dundargoc2023-09-14
| | | | | | | Co-authored-by: nuid64 <lvkuzvesov@proton.me> Co-authored-by: Mike Smith <10135646+mikesmithgh@users.noreply.github.com> Co-authored-by: XTY <xty@xty.io> Co-authored-by: Empa <emanuel@empa.xyz> Co-authored-by: kyu08 <49891479+kyu08@users.noreply.github.com>
* fix(api): nvim_cmd{cmd="win_getid"} parsed as :winsize #24181Justin M. Keyes2023-06-28
| | | | | | | | Problem: `:lua vim.cmd.win_getid(30,10)` is interpreted as `:win[size] 30 10`. User intention was to call `vim.fn.win_getid(30,10)`. Solution: Check that the `cmd` actually matches the resolved command.
* build: add ubsan default optionsii142023-05-15
| | | | Use print_stacktrace=1 for UBSAN by default.
* docs: how to debug TUI using gdb/lldb #22771Ryan Jenkins2023-03-25
| | | docs: Add info to the `Debug: TUI` docs about gdb/lldb usage
* build!: rename sanitizer options from CLANG_* to ENABLE_*ii142023-03-17
|
* refactor(log): reduce compile time LOG_LEVEL granularitybfredl2023-03-04
|
* docs: naming conventions, guidelinesJustin M. Keyes2023-02-22
| | | | close #21063
* build(ci): let ASAN print tracebacks for more errors (SIGABORT, SIGILL)bfredl2023-02-10
|
* feat(lua): execute stdin ("-") as LuaJustin M. Keyes2023-01-05
|
* docs: fix typosdundargoc2022-11-02
|
* fix(docs): correct obsolete note about 'writedelay' in dev docsbfredl2022-05-31
|
* 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.
* 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
* docs: typo fixes (#17859)dundargoc2022-04-15
| | | | | | | | | | Co-authored-by: Elias Alves Moura <eliamoura.alves@gmail.com> Co-authored-by: venkatesh <shariharanvenkatesh@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Vikas Raj <24727447+numToStr@users.noreply.github.com> Co-authored-by: Steve Vermeulen <sfvermeulen@gmail.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: rwxd <rwxd@pm.me> Co-authored-by: casswedson <58050969+casswedson@users.noreply.github.com>
* docs #15447Justin M. Keyes2021-08-21
| | | | | - update ":help 'hidden'" #15410 - update ":help K" #15398 - try to capture some of the debug steps from #12036 (bpftrace, USDT probes)
* 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: LOG_CALLSTACK: mention "-no-pie" [ci skip]Jakub Łuczyński2020-02-21
| | | | close #11898
* docJustin M. Keyes2019-09-09
|
* src/nvim/README: revisit sanitizer section [ci skip] (#10780)Daniel Hahler2019-08-20
|
* Remove TSan suppression config [skip appveyor]Daniel Hahler2019-08-15
|
* build: TSan: add src/.tsan-suppressionsDaniel Hahler2019-08-14
| | | | | | | | Uses runtime suppressions instead of a blacklist, which can only ignore whole files/functions. Ref: https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions Ref: https://github.com/neovim/neovim/pull/10591#issuecomment-521248233
* context: shada_encode_regs(): init WriteMergerState #10637Justin M. Keyes2019-07-28
| | | | | | | | | | | | | | | | | | | | | | | - Check shada_pack_xx() result, abort on failure. - Use xcalloc() to zero-initialize `wms`, fixes below ASAN failure. ASAN failure (running vim_spec.lua in a loop): ../src/nvim/shada.c:1773:13: runtime error: load of value 224, which is not a valid value for type 'bool' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/nvim/shada.c:1773:13 Adding an explicit check just before the ASAN failed line: case kSDItemRegister: { if (*((int *)(void *)&entry.data.reg.is_unnamed) != 1 && *((int *)(void *)&entry.data.reg.is_unnamed) != 0) { abort(); (gdb) p entry.data.reg +p entry.data.reg $5 = {name = 49 '1', type = kMTLineWise, contents = 0x60200000c250, is_unnamed = true, contents_size = 1, width = 0, additional_data = 0x0} (gdb) p *((uint8_t *)(void *)&entry.data.reg.is_unnamed) +p *((uint8_t *)(void *)&entry.data.reg.is_unnamed) $7 = 2049
* doc: xdg, MAINTAIN.md, channel-id, job controlJustin M. Keyes2018-10-11
| | | | - tutor: emphasize K
* UI: restore 'writedelay' feature.Justin M. Keyes2018-02-07
| | | | | | | Removed by e0e41b30c61922e099a067ac5c137e745699a1aa, probably unintentionally. Useful for ye olde redraw debugging. TODO: Also delay redraw of statusline.
* api: nvim_command_output: direct implJustin M. Keyes2018-01-10
|
* tui: dump termcap info if -V3 ('verbose' >= 3)Justin M. Keyes2017-12-05
| | | | | | | | | Get terminal debugging info by starting Nvim with 'verbose' level 3: nvim -V3log This is like Vim's `:set termcap`, which was removed in Nvim (and would be very awkward to restore because of the decoupled UI).
* log: Add log_callstack_to_file()James McCoy2017-08-09
| | | | | This makes it trivial to log the callstack to, e.g., stderr, which can simplify debug cycles.
* log: log_callstack()Justin M. Keyes2017-07-23
|
* log: all UI events, not just UI-bridgeJustin M. Keyes2017-07-22
| | | | Rename ui_bridge.c:UI_CALL to UI_BRIDGE_CALL.
* doc (#6719)Justin M. Keyes2017-05-11
| | | Closes #6712
* doc: Add whitespace before parens. #4202Diego Viola2016-02-08
|
* Start documenting codeThiago de Arruda2015-10-26