Use actual buffer contents for buffer previewers for some pickers
(buffers, treesitter, current_buffer_fuzzy_find, for starters). Not
to be confused with reusing buffers for preview buffers.
This lets users view previews of buffers with unwritten changes. For
treesitter and current_buffer_fuzzy_find, not showing actual buffer
content is arguably a bug considering the finder operates over the
buffer (written or not). So there are instances where you can search
over unwritten content in the buffer only to see an outdated, written
only content in the preview.
* fix(help_tags): show help tags on windows (#3126)
On Windows, `builtin.help_tags` picker does not show any help tags.
To fix this, the following changes are needed:
1. `util.path_tail` checks unix separator `/` on Windows and leave the
original implementation intact on unix systems.
2. Line endings should be taken carefully on Windows. `vim.split` with
only newline `\n` character as separator may result in unexpected
crash when parsing large files. When splits on lines are needed, call
it with `\r?\n`, or even set up a wrapper function in utils is more
prefered.
Fixes#3126
* fix: handle cross platform line splits
* fix(previewer): improve binary mime type check
Problem: mime type for a ts/js file can either return `text/plain` or
`application/javascript` based on the contents of the file.
Previously, this meant `application/javascript` would be considered
"possibly binary". This, in conjunction with how `vim.filetype.match`
does not give a result for a filename that ends in `.ts`, would lead to
a typescript file taking the path of `check_mime_type` and eventually
`mime_hook`.
Solution: Include `application/javascript` as a non-binary file type
during mime type check.
* [docgen] Update doc/telescope.txt
skip-checks: true
---------
Co-authored-by: Github Actions <actions@github>
Not showing a preview with the new changes in the latest changes of
[plenary.nvim PR
#575](https://github.com/nvim-lua/plenary.nvim/pull/575).
The error occurs when changing from `nomodifiable` to `modifiable`.
Telescope itself works, but the previews don't render.
This implements a experimental interface for allowing prompts like this `file.txt:3:4`. It is already enabled on default for `find_files` and `git_files`.
Be wary of breaking changes for the interface if you plan to manually enable it.
With this change we will check if the provided buffer number is valid,
before querying its `buftype` option. This is necessary, because
currently we would fail with:
```
Error executing vim.schedule lua callback:
...scope.nvim/lua/telescope/previewers/buffer_previewer.lua:473:
Invalid buffer id: X
```
error, if we try to resume a jumplist picker after doing `:bwipeout`.
Telescope creates most floating windows with `noautocmd = true`, so
these windows do not trigger autocommands, but preview buffer is set in
window using `nvim_win_set_buf()`, which triggers buffer autocommands.
This may be unwanted, so block them using 'eventignore'.
* fix(notify): don't report request on new line
* ref(notify): update message format
* ref(msgs): always quote values + decrease duplication
* fix(ci): undefined variables
* ref(actions): temporary silent actions.__index errors
* cleanup
* revert: panic effort, we continue to use error for those
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
- introducing putils writer and use it rather than using PAGER env var
- introducing env for lua/telescope/_.lua job interface
- to respect MANPATH (and PATH just in case)
- fix for apropos output parsing might return e.g. `alacritty, Alacritty`
We need to split on first `,`