aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/ts_ls.lua
Commit message (Collapse)AuthorAgeFilesLines
* fix(vue_ls): support `vue_ls` v3 #3943Fidel Yin2025-07-101-37/+0
| | | | | | | | | | | Problem: `vue_ls` made breaking changes to its config in v3. Solution: Change the typescript language server for `vue_ls` from `ts_ls` to `vtsls`. Add a client handler to communicate between `vue_ls` and `vtsls`. Remove `typescript.tsdk` option. Remove documentation for the deprecated takeover mode.
* feat(ts_ls): implement codelens support #3938Simon Engmann2025-07-061-0/+26
| | | | | | | | | | Implement the `editor.action.showReferences` client command, which is used by the references and implementation code lenses that TypeScript Language Server provides. I've mostly based the implementation on the existing code for `vim.lsp.buf.references()`. The main visible difference is that the latter includes the item being referenced at the top of the list. Although, if desired, this could be emulated by manually inserting the position passed along in the command arguments at the top of the list.
* fix: some `on_attach` callbacks may act on the wrong buffer #3916Dmytro Meleshko2025-06-201-2/+2
| | | | | | | | | Problem: If a server is attached to a non-current buffer by `vim.lsp.buf_attach_client`, then the Language Server-related commands may be created in the current (wrong) buffer. Solution: Always use the `bufnr` arg provided to `on_attach`.
* feat(volar)!: rename to 'vue_ls'J.c2025-05-111-5/+5
| | | | | | The Vue language tooling does not use 'Volar' prominently in its documentation. The official name for the language server is '@vue/language-server'.
* docs: cleanup #3791Justin M. Keyes2025-04-261-1/+1
|
* ci: check legacy configs, drop "comment" #3781Justin M. Keyes2025-04-261-3/+5
| | | | - Disallow adding new legacy configs. - Drop the "comment" CI job. It is over-engineered, and adds redundant comments on PRs.
* feat(ts_ls): add :LspTypescriptSourceAction command #3780Thomas Dy2025-04-261-0/+17
| | | | | Source actions are code actions that apply to the whole file. They are not exposed via `vim.lsp.buf.code_action()` and must be requested explicitly.
* feat(ts_ls): add _typescript.rename handler #3779Thomas Dy2025-04-261-0/+15
| | | | | This handler is used when performing certain code actions such as extracting functions or types. The language server asks the editor to prompt for a rename for the newly created function or type.
* docs: cleanupJustin M. Keyes2025-04-181-65/+65
| | | | | - brief should live at the top of each file - fix indentation for some docs
* fix(docs): docgen.lua reads from `lua/*.lua` #3708Justin M. Keyes2025-04-121-1/+1
| | | | | | | | Problem: Since configs now live in `lsp/`, the docgen needs to be updated. Solution: Read the configs from `lsp/`. Parse the `@brief` docstring to get the docs.
* feat: migrate to vim.lsp.config #3659Lorenzo Bellina2025-04-121-0/+81
Problem: Nvim 0.11 has vim.lsp.config, which mostly replaces the legacy nvim-lspconfig "framework". Solution: Migrate all configs to `lsp/*` variants. The old configs in `lua/lspconfig/` are "frozen". The new configs include these changes: - `commands` field became raw calls to `vim.api.nvim_buf_create_user_command` inside `on_attach`. - `root_dir` became: - `root_markers` whenever the file list was simple didn't need to mach `*` - if the logic was complicated, or needed to match something like '\*.c', it was defined as a vim.lsp.Config `root_dir` callback. - `on_config_change` became `before_init`. I don't actually know if this is the correct approach, but looking around the documentation of `nvim-lspconfig` a saw that it was defined as the function that gets called as soon as the config have `root_dir`, and so I thought `before_init` might be the closest alternative. - `docs.description` became a luadoc `@brief` docstring. - `single_file_support = false`? Co-authored-by: Aliou Diallo <aliou@users.noreply.github.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>