aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/log.lua
Commit message (Collapse)AuthorAge
* fix(lua): enable param-type-mismatch diagnosticLewis Russell2026-09-28
| | | | | | | | | Problem: Argument type mismatches are excluded from EmmyLua checks. Solution: Correct runtime annotations and calls, document local checker workarounds, and enable the diagnostic. AI-assisted
* fix(lua): enable assignment type checking in runtime codeLewis Russell2026-09-25
| | | | | | | | | | | Enable EmmyLua's assign-type-mismatch diagnostic after correcting the runtime annotations and assignments it flags. Correct option, tuple, and return types, and use separate locals when a value changes representation. Add guards and narrow casts where needed so the runtime passes the stricter check. Regenerate the affected docs. AI-assisted
* build: replace LuaLS with EmmyLuaLewis Russell2026-09-07
| | | | | | | | | | | | | | | Problem: LuaLS struggles with the generics used in Nvim's runtime, requiring broad diagnostic suppressions. Indexing is also slow. Solution: Use EmmyLua for type checks in the build and CI. It offers more sophisticated type checking, substantially better support for generics, and much better flow analysis. Correct the affected annotations. Use `@internal`, supported directly by EmmyLua, instead of `@nodoc` for shared internal declarations, and support it in the help parser. AI-assisted
* refactor(net): parameterize transport logging #40022Yi Ming2026-06-02
|
* feat(logging): vim.log #38906Yi Ming2026-05-10
|
* docs: Update instructions for debugging LSP (#39527)Matthew Hughes2026-04-30
| | | | | | | | | | | | | | | | | | | | | docs: update instructions for debugging LSP Previously, it was suggested to set: vim.lsp.log.set_format_func(vim.inspect) This made sense before f72c13341afb3e2459202d3f6e57cd00614c2ab5, when `format_func` was called once per argument being logged, but since that commit it's called with the log level followed by the other args, so the suggested setting would call `vim.inspect(log_level, ....)` which would just print the human readable name of the current log level and no other details, for example with this set I saw in my logs: "DEBUG""DEBUG""DEBUG""DEBUG" Instead just rely on the default formatter, which will: > ... log the level, date, source and line number of the caller, followed by the arguments.
* feat(ex): add `:log` commandOlivia Kinnear2026-04-10
|
* docs: misc #38532Justin M. Keyes2026-03-29
| | | | | | | | | Close #38431 Close #38521 Close #38530 Co-authored-by: tayheau <thopsore@pasteur.fr> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Olivia Kinnear <git@superatomic.dev>
* refactor(lua): consistent use of local aliasesChristian Clason2025-08-28
|
* fix(lsp): deprecate vim.lsp.set_log_level, vim.lsp.get_log_path #35274Maria José Solano2025-08-11
|
* fix(lsp): use vim.notify for all message types #34489someoneinjd2025-06-16
| | | | | | Problem: Currently, vim.notify is only used to display messages when the message type is Error. Solution: Use vim.notify to display messages for all message types.
* feat(lsp)!: pass entire entry to format function (#34166)Maria José Solano2025-05-31
| | | | | * feat(lsp)!: pass entire entry to format function * refactor(lsp): deprecate `vim.lsp.log.should_log()`
* refactor(lsp): use `vim.validate` in `vim.lsp.log` (#34165)Maria José Solano2025-05-25
|
* feat(logs): show full paths in lsp logs (#33886)Anakin Childerhose2025-05-17
| | | | | | | | | | feat(logs): show full path of short_src in lsp logs Problem: - Cannot gf to info.short_src printed in the logs since only the last 16 characters are printed Solution: - Print full info.short_src and remove ...
* docs: lsp, emoji, startup #33446Justin M. Keyes2025-04-27
| | | Co-authored-by: Maria José Solano <majosolano99@gmail.com>
* docs: misc (#32928)dundargoc2025-03-21
| | | | Co-authored-by: James Trew <j.trew10@gmail.com> Co-authored-by: przepompownia <przepompownia@users.noreply.github.com>
* fix(lsp): handle non-existent configs in lsp.config/enableLewis Russell2025-03-12
|
* fix(lsp): type-errors, other nits in vim.lsp.log #31235Maria José Solano2024-11-16
|
* fix(lsp): redundant spaces in lsp log (#29970)Jaehwang Jung2024-08-03
|
* refactor(lua): improve type annotationsLewis Russell2024-06-11
|
* feat(lua): deprecate vim.tbl_add_reverse_lookupMaria José Solano2024-03-07
|
* feat(docs): replace lua2dox.luaLewis Russell2024-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The documentation flow (`gen_vimdoc.py`) has several issues: - it's not very versatile - depends on doxygen - doesn't work well with Lua code as it requires an awkward filter script to convert it into pseudo-C. - The intermediate XML files and filters makes it too much like a rube goldberg machine. Solution: Re-implement the flow using Lua, LPEG and treesitter. - `gen_vimdoc.py` is now replaced with `gen_vimdoc.lua` and replicates a portion of the logic. - `lua2dox.lua` is gone! - No more XML files. - Doxygen is now longer used and instead we now use: - LPEG for comment parsing (see `scripts/luacats_grammar.lua` and `scripts/cdoc_grammar.lua`). - LPEG for C parsing (see `scripts/cdoc_parser.lua`) - Lua patterns for Lua parsing (see `scripts/luacats_parser.lua`). - Treesitter for Markdown parsing (see `scripts/text_utils.lua`). - The generated `runtime/doc/*.mpack` files have been removed. - `scripts/gen_eval_files.lua` now instead uses `scripts/cdoc_parser.lua` directly. - Text wrapping is implemented in `scripts/text_utils.lua` and appears to produce more consistent results (the main contributer to the diff of this change).
* refactor(lsp): tidy up loggingLewis Russell2024-02-08
|
* feat(lsp): more annotationsLewis Russell2023-12-14
|
* docs(lua): more improvements (#24387)Lewis Russell2023-07-18
| | | | | | | | | | | | | | | | | * docs(lua): teach lua2dox how to table * docs(lua): teach gen_vimdoc.py about local functions No more need to mark local functions with @private * docs(lua): mention @nodoc and @meta in dev-lua-doc * fixup! Co-authored-by: Justin M. Keyes <justinkz@gmail.com> --------- Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* fix(lint): lint warnings #24226Raphael2023-07-10
|
* fix(lsp): lint warnings, default offset_encoding #24046Raphael2023-07-01
| | | | | - fix lint / analysis warnings - locations_to_items(): get default offset_encoding from active client - character_offset(): get default offset_encoding from active client
* feat(lua): rename vim.loop -> vim.uv (#22846)Lewis Russell2023-06-03
|
* refactor: remove modelines from Lua filesGregory Anders2023-04-13
| | | | Now that we have builtin EditorConfig support and a formatting check in CI, these are not necessary.
* docs(lsp): change type annotations from number → integer (#22510)Jaehwang Jung2023-03-07
|
* fix(lsp): correct some type annotations (#21365)Mathias Fußenegger2022-12-09
|
* fix(lsp): ensure open_logfile is safe for fast events (#21288)Mathias Fußenegger2022-12-04
| | | Closes https://github.com/neovim/neovim/issues/21052
* refactor(lua): reformat with stylua 0.14.0 (#19264)Christian Clason2022-07-07
| | | | * reformat Lua runtime to make lint CI pass * reduce max line length to 100
* 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
* chore: format runtime with styluaChristian Clason2022-05-09
|
* feat(lsp): add logging level "OFF" (#18379)ii142022-05-03
|
* chore: fix typos (#16506)dundargoc2021-12-28
| | | | | | | | | Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com> Co-authored-by: Alef Pereira <ealefpereira@gmail.com> Co-authored-by: AusCyber <willp@outlook.com.au> Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com>
* docs(lsp): add annotations for private functionsGregory Anders2021-11-30
|
* feat(lsp): improve logging (#15636)Michael Lingelbach2021-09-15
| | | | | | | * Simplify rpc encode/decode messages to rpc.send/rcp.receive * Make missing handlers message throw a warning * Clean up formatting style in log * Move all non-RPC loop messages to trace instead of debug * Add format func option to log to allow newlines in per log entry
* chore(lsp): fix formatting in vim.lsp.log (#15596)Michael Lingelbach2021-09-07
|
* feat(lsp): add warning message for large log sizeMichael Lingelbach2021-09-07
|
* feat(lsp): add lsp healthcheckMichael Lingelbach2021-09-07
| | | | | Add healthcheck for language server client, currently only checks logging status.
* docs: make Lua docstrings consistent #15255Gregory Anders2021-08-22
| | | | | | | | | | | | The official developer documentation in in :h dev-lua-doc specifies to use "--@" for special/magic tokens. However, this format is not consistent with EmmyLua notation (used by some Lua language servers) nor with the C version of the magic docstring tokens which use three comment characters. Further, the code base is currently split between usage of "--@", "---@", and "--- @". In an effort to remain consistent, change all Lua magic tokens to use "---@" and update the developer documentation accordingly.
* fix(lsp): correctly check for windows in lsp logger (#14954)Oliver Marriott2021-07-10
|
* lsp: deep copy vim.lsp.log when reloadingDingcheng Yue2021-04-16
| | | | | | | | If vim.lsp.log is loaded the second time, the vim.log.levels will be modified with additional entries from 0-5. This will cause the require to fail as level:lower does not exists on numbered value.
* lsp: add explicit entry on lsp log startPiyush Jaipuriyar2021-03-06
| | | | fix: address typo and review comments
* feat: adds vim.notifyMatthieu Coudron2021-01-31
| | | | | | | | | | | | | Adds function to notify the user like this: `:lua vim.notify("hello user")` embeds log levels vim.log.levels. you can then reassign vim.notify to for instance ``` function notify_external(msg, log_level, opts) vim.fn.jobstart({"notify-send", msg }) end ```
* 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`.
* Add FIXMEsPatrice Peterson2020-08-23
|
* Add docs for most vim.lsp methodsPatrice Peterson2020-08-23
| | | | Most of the lsp.log will be addressed in a separate PR.