Commit Graph

237 Commits

Author SHA1 Message Date
James Trew
1228f3b15c Revert "fix: preserve queued keys at picker launch (#2274)" (#2619)
* Revert "fix: preserve queued keys at picker launch (#2274) (#2618)"

This reverts commit f78d956901.

* [docgen] Update doc/telescope.txt
skip-checks: true

---------

Co-authored-by: Github Actions <actions@github>
2023-07-22 23:23:22 +00:00
Michael Henry
f78d956901 fix: preserve queued keys at picker launch (#2274) (#2618)
Ensure that any keystrokes that are queued at picker launch are processed only
after the picker's mode (`insert` or `normal`) has been chosen, preserving
their intended meaning.

Previously the picker's mode was set by simulating keystrokes via `feedkeys()`.
In the absence of queued keystrokes, this works fine; but if the user is able
to queue keystrokes before the call to `feedkeys()`, those queued keystrokes
are processed before the simulated keystrokes that change the picker's mode.
Because of this unexpected ordering, the user's queued keystrokes may appear to
be ignored or may cause the picker to start in the wrong mode.

For example, consider the below normal-mode mapping:
```vim
:nnoremap <space>ff :Telescope find_files<CR>
```

Upon launching the picker via `<space>ff`, Neovim is already in normal mode.
To switch to insert mode in the picker, Telescope previously used a call to
`feedkeys("A")`, simulating a keypress of `A` to enter insert mode at the end
of the current line.  This `A` will not be processed until all previously
queued user keystrokes have been processed, causing issues.

In real-world use, problems occur when the user types `<space>ff` followed
quickly by characters intended as fuzzy match text.  This can be demonstrated
using `feedkeys()` as shown below.

```vim
:call feedkeys("\<space>ff" . "apple")
```

The user intended to search for `apple`, but the `a` is mis-interpreted as a
request to enter insert mode at end of line, after which `pple` is inserted;
subsequently, Telescope's simulated `A` is then appended, resulting in a search
string of `ppleA`.

Using `:startinsert!` (to enter insert mode as if by `A`) or `:normal! $` (to
enter normal mode and move to end-of-line) avoids interfering with the user's
queued keys.

Fixes #2274.
2023-07-22 21:27:22 +00:00
Simon Hauser
991d5db624 refactor(mappings): use vim.keymap and remove __TelescopeKeymapStore (#2551) 2023-06-08 20:28:10 +02:00
Simon Hauser
eb95a31836 Revert "fix: correctly restore cursor position in original window (#2336)" (#2538)
This reverts commit 3f1b57908b.
2023-05-25 07:43:19 +02:00
Simon Hauser
ff8ed2351f fix: make sure that prompt_win is valid bevore closing it (#2533) 2023-05-24 22:15:59 +02:00
Simon Hauser
e943f93a6a fix: make sure buf is valid before updating highlighting (#2524) 2023-05-24 20:28:55 +02:00
cristiansofronie
3f1b57908b fix: correctly restore cursor position in original window (#2336) 2023-05-24 14:04:27 +02:00
Andrii Berezhynskyi
18b7479542 feat: add user autocmd TelescopeResumePost (#2433) 2023-05-24 11:41:59 +02:00
Simon Hauser
f48a7178ed Revert "fix: prefix color highlighting reset only on nvim 9.0 (#2492)" (#2510)
This reverts commit 41731e2f74.
2023-05-14 22:21:10 +02:00
Morten M. Neergaard
41731e2f74 fix: prefix color highlighting reset only on nvim 9.0 (#2492)
This fixes issue #2461
2023-05-14 22:00:59 +02:00
Andrii Berezhynskyi
10ebb30f0d fix: preview cycling and titles work after :Telescope resume (#2422) 2023-03-21 13:28:19 -04:00
Simon Hauser
a3f17d3baf fix: prefix color highlighting on nvim 0.9 (#2403) 2023-02-26 13:26:12 +01:00
Simon Hauser
3915d933dc fix: previewer = true (#2395) 2023-02-20 15:51:22 +01:00
Sultanahamer
3d8bd0a105 fix: wrap_results option breaking scrolling of results window (#2322) 2023-02-19 11:45:30 +01:00
Josa Gesell
e572c63c7d fix: execute autocmds correctly (#2375) 2023-02-19 10:27:15 +01:00
Aki
3e944f02ff fix(pickers): always redraw when screen is resized (#2140)
Due to regression from switching 
to lua autocmd api pickers
 were resized only once.
2022-08-24 09:04:15 +02:00
Fabian David Schmidt
28dc08f614 Revert "rfc: use extmarks for highlighting and carets (#2099)" (#2138)
This reverts commit 8d13f4ca8a.
2022-08-19 10:08:55 +02:00
Jeremy Saenz
8d13f4ca8a rfc: use extmarks for highlighting and carets (#2099)
* Starting to make some progress on extmarks for prefixes

* Finished up extmarks for multi-icons

* Cleaned up update_prefix calls, added display highlights

* remove highlight_one_row

* Remove TODOs

* stylua fixes

* fixes for luacheck

* Fixed whitespace to appease the stylua gods

* fixed a couple nits from pr

* Got tests passing with new highlighting functionality

* Apply suggestions from code review

Co-authored-by: Fabian David Schmidt <39233597+fdschmidt93@users.noreply.github.com>

Co-authored-by: Fabian David Schmidt <39233597+fdschmidt93@users.noreply.github.com>
2022-08-18 09:30:39 +02:00
Jonas Strittmatter
c6cd725bc0 chore: reduce log level to trace in pickers.lua (#2124) 2022-08-13 10:59:49 +02:00
Simon Hauser
4ab56d215a perf: limit scrolling size (#2059) 2022-07-12 09:46:51 +02:00
Simon Hauser
f838695459 chore: reformat with stylua 0.14.0 2022-07-07 08:27:46 +02:00
Fabian David Schmidt
ef9137d85c feat: refine with new_table 2022-07-01 18:13:25 +02:00
Simon Hauser
25b1bc8f17 feat: clear previewer if no item is selected (#2004) 2022-06-30 14:01:52 +02:00
TheMeaningfulEngineer
a6c9ae088e feat: force buffer delete for terminal and improvements for Picker:delete_selection (#1943) 2022-06-30 14:01:50 +02:00
Simon Hauser
83b6cadb2c break: deprecate utils.get_default utils.if_nil (#1545) 2022-06-30 14:01:49 +02:00
fdschmidt93
a1aec79cb1 feat: none strategy & control attachment (#1867) 2022-06-30 14:01:49 +02:00
Fabian David Schmidt
ad19bf6b8e fix: cursor move in actions.insert_symbol_i (#1979) 2022-06-01 16:52:15 +02:00
fdschmidt93
b4c45e8c61 fix: exiting picker from insert mode (#1202) 2022-05-20 09:18:27 +02:00
dagle
3cc44f8f05 fix: set tagstack when we jump with lsp in telescope (#1887)
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2022-05-18 19:59:12 +02:00
TJ DeVries
0b5f1d69d7 feat: Add ability to choose window to edit (#745) 2022-05-15 22:08:16 +02:00
Simon Hauser
4681dcdffe fix: another teardown issue (#1918) 2022-05-05 10:05:37 +02:00
fdschmidt93
c93276acd3 fix: initial mode setting issues (#1917) 2022-05-04 15:00:28 +02:00
fdschmidt93
80e4313cc8 Revert "fix(pickers): misc initial_mode setting fixes (#1895)" (#1914)
Reverts circumventing A for initial_mode insert as many more users have issues with the current (failed attempt at a) fix
2022-05-03 18:36:45 +02:00
fdschmidt93
e454a0ad37 fix(pickers): misc initial_mode setting fixes (#1895) 2022-05-03 08:53:22 +02:00
Simon Hauser
544c5ee407 fix: termopen previewer (#1901)
- buffer leaking
- still insert mode on confirm
2022-05-01 09:46:50 +02:00
fdschmidt93
4449f709c3 fix(finder): don't trigger twice w/ inital_mode="insert" (#1886) 2022-04-27 12:33:49 +02:00
Simon Hauser
2b8c7b1ec7 fix: prompt now has always buftype prompt
fix #1882
2022-04-26 08:49:16 +02:00
Dave Lage
697ee7aa70 feat: lua autocmd (#1707) 2022-04-22 16:20:59 +02:00
kylo252
cc1a3440f9 fix: fix keep insert when going from telescope window to telescope window (#1600)
Also fixes `initial_mode`

Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2022-04-22 16:13:32 +02:00
fdschmidt93
92019d5053 fix: extra finder loop on refresh w/ reset prompt (#1860) 2022-04-20 20:34:39 +02:00
Simon Hauser
66c3e2a351 fix: error if telescope is being opened from command-line window
This is impossible see `:help E11`
Close #1810
2022-04-17 16:32:47 +02:00
Simon Hauser
c8ef91a052 fix: displayer when tabs are used and ts is != 1 (#1845) 2022-04-17 15:59:46 +02:00
Joshua Cao
8af0d384d2 fix: save position into jumplist before 'edit' action (#1234)
currently enabled for some builtins. You can manually enable it by adding `push_cursor_on_edit = true` to the builtin options. But feel free to open a PR if you find a builtin that needs this option enabled.
2022-04-08 20:09:58 +02:00
Michael Benford
317371d37c feat: global configuration of results_title and prompt_title (#1817) 2022-04-08 18:17:54 +02:00
Simon Hauser
40c1e88904 chore: fix lint errors from latest ci run 2022-03-26 10:25:47 +01:00
Simon Hauser
df303e12e0 hotfix: scrolling should work correctly again 2022-03-13 20:21:14 +01:00
Simon Hauser
2532b98d67 fix: selection strategy madness if its not set to reset (#1559)
* fix: selection strategy madness when its not row

* fix: selection_strategy row
2022-03-13 20:04:32 +01:00
Simon Hauser
9f0dd2e402 fix: action mt again (#1487)
actions should be concatinable again
2022-03-13 19:22:16 +01:00
Fabio Manganiello
c5bf83dc61 fix: allow Number type should be allowed for option keys (#1782)
* Number type should be allowed for option keys

Some extension (e.g. `dap`) use integer numbers for their selector
options instead of strings. Before this commit, the interface for these
plugins breaks when using `ui-select` with a stack trace like the
following:

Error detected while processing function StartDebugger:
line   33:
E5108: Error executing lua .../telescope.nvim/lua/telescope/pickers.lua:1359: Should be string, found: number
stack traceback:
        [C]: in function 'assert'
        .../.vim/bundle/telescope.nvim/lua/telescope/pickers.lua:1359: in function 'new'
        ...e-ui-select.nvim/lua/telescope/_extensions/ui-select.lua:22: in function 'pick_one'
        .../nvim-dap/lua/dap/ui.lua:32: in function 'pick_if_many'
        .../nvim-dap/lua/dap.lua:225: in function 'select_config_and_run'
        .../nvim-dap/lua/dap.lua:551: in function 'continue'
        [string ":lua"]:1: in main chunk

* style

Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2022-03-11 12:49:55 +01:00
Tor Bratsberg
6d5634b477 fix: error on toggling selection with empty picker (#1786) 2022-03-10 21:23:27 +01:00