docs(treesitter): improve 'no parser' error message for InspectTree

Improve error messages for `:InspectTree`, when no parsers are available
for the current buffer and filetype. We can show more informative and
helpful error message for users (e.g., which lang was searched for):

```
 ... No parser available for the given buffer:
+... no parser for 'custom_ft' language, see :help treesitter-parsers
```

Also improve the relevant docs for *treesitter-parsers*.
This commit is contained in:
Jongwook Choi
2024-01-06 07:18:13 -05:00
committed by Lewis Russell
parent 367e52cc79
commit fbe40caa7c
3 changed files with 22 additions and 6 deletions

View File

@@ -75,7 +75,8 @@ end
function TSTreeView:new(bufnr, lang)
local ok, parser = pcall(vim.treesitter.get_parser, bufnr or 0, lang)
if not ok then
return nil, 'No parser available for the given buffer'
local err = parser --[[ @as string ]]
return nil, 'No parser available for the given buffer:\n' .. err
end
-- For each child tree (injected language), find the root of the tree and locate the node within

View File

@@ -119,6 +119,10 @@ local function ensure_list(x)
end
--- Register a parser named {lang} to be used for {filetype}(s).
---
--- Note: this adds or overrides the mapping for {filetype}, any existing mappings from other
--- filetypes to {lang} will be preserved.
---
--- @param lang string Name of parser
--- @param filetype string|string[] Filetype(s) to associate with lang
function M.register(lang, filetype)