Commit Graph

239 Commits

Author SHA1 Message Date
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
Sultanahamer
df0b35c8bc feat: allow user to wrap picker results (#701, #1296) (#1735) 2022-02-15 08:51:56 +01:00
Luke Kershaw
1ec682b29d fix: always update preview when _selection_entry changes (#1693) 2022-01-18 07:45:03 +01:00
Luke Kershaw
2bfc0eb2cf fix: update multi_icon with select/drop/toggle_all actions (#1682)
* fix: `multi_icon` with `select/drop/toggle_all`

* typos

* fix: add check for no caret found

* fix: add check for no line found

* fix: check `max_results` in `Picker:can_select_row`

- also switch order of highlighting in `select/drop/toggle_all` actions

* fix: make `max_results` check a strict inequality

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

* fix: update `prompt_status` on `select/drop/toggle_all` actions

Co-authored-by: Github Actions <actions@github>
2022-01-15 22:27:03 +00:00
Luke Kershaw
e8ccd47c4f feat: adds multiselect counter in prompt status_text (#1614) 2022-01-14 18:02:24 +01:00
Julian Fricker
5060f3f0ab feat: tiebreak config function (#1401)
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2022-01-09 19:43:06 +01:00
Luke Kershaw
f285599440 feat: multiselect icon (#1572)
* feat: add `multi_icon` option to pickers and corresponding highlight

* feat: allow `multi_icon` to be any length

* fix: adjust `selection_caret` highlighting
2022-01-05 22:42:29 +00:00
Luke Kershaw
c5aad43558 fix: check if status.preview_bufnr is nil before checking if valid (#1657) 2022-01-05 21:06:14 +00:00
Luke Kershaw
e9759b0405 docs: functions in pickers.lua (#1554) 2021-12-05 08:45:50 +00:00
Simon Hauser
4e075bf924 feat: highlight group for counter: TelescopePromptCounter
fix #1540
2021-12-03 14:36:32 +01:00
Martin Roa Villescas
ef245548a8 docs: fix Picker:get_row(index) doc string (#1515) 2021-11-30 21:27:20 +01:00
Luke Kershaw
c9439871ef fix: keep previewer winid state updated on layout changes (#1522) 2021-11-30 21:15:43 +01:00
max397574
c1951b3722 add Normal highlights for prompt and results (#1514)
* feat(highlight): add Normal highlights for prompt and results

* fix(highlight): link to TelescopeNormal by default
2021-11-29 21:47:19 +00:00
akiyosi
ed4adba6d0 fix: Border window also need to be winblend due to window overlap in multigrid UI (#1421) 2021-11-28 09:57:08 +00:00
Simon Hauser
1c57cc6140 Revert "fix: action mt so we can again concat actions from two different tables (#1143)" (#1486)
This reverts commit 6daf35c88c.
2021-11-23 23:51:25 +01:00
Simon Hauser
7695d224c8 fix: telescope close process and cleanup layout actions (#1480) 2021-11-23 21:11:05 +01:00
Simon Hauser
6daf35c88c fix: action mt so we can again concat actions from two different tables (#1143)
* fix: action mt so we can again concat actions from two different tables

- without actually changing the public interface
- without having a local table that keeps track of all actions

* this should clear actions now

we never actually called this function which is kinda a problem because
we never cleaned up previous mapping stores.
We can also make a better mappings store which has access to the keys
sequences which would help the showing actions part

* bugfix

* that should now clear everything

only tests left i think

* more tests

* cleanup

* hack: make sure all actions get cleared
2021-11-22 20:48:37 +01:00
Salomon Popp
6f82c6630c fix: error when opts is nil in pickers.new (#1471) 2021-11-20 16:07:52 +01:00
Luke Kershaw
d686fb2799 fix: cleanup of layout actions
* fix: finish docs and remove mistakes from merge

* fix: change order of `popup` changes based on type of change
  - removes "flash" issue where popups don't update in sync
2021-11-18 19:44:12 +00:00
Luke Kershaw
edcf07cf88 feat: layout actions (#1383)
Co-authored-by: johnybx <johnybx@users.noreply.github.com>
2021-11-18 19:44:12 +00:00
johnybx
b952c2f852 feat: add hide / unhide preview (#1305)
* feat: add hide / unhide preview or results and prompt

* fix edit actions while only preview window is active

* add option to start telescope without previewer -> "disable_previewer_at_startup"

* remove hide / unhide prompt and resutls, improve hide / unhide preview

* fix tests - check if popup window should be created with borders - popup.create does not support setting borderhighlight and border=false

* allow toggle preview even if preview is set to false

* reuse recalculate_layout in hide / unhide preview

* add docs to toggle preview

* check if preview window is valid window

* remove unnecessary changes

* cleanup, remove unnecessary changes

* close all previewers, refactor toggle preview code

[docgen] Update doc/telescope.txt
skip-checks: true
2021-11-18 19:44:12 +00:00
TJ DeVries
9ac89ebf67 Fixes #1371
Force clearing the highlights while the picker is still open
2021-11-15 15:50:23 -05:00
fdschmidt93
404d2b5f10 feat: allow changing results/prompt title & persisting multi on picker:refresh (#1451) 2021-11-15 17:58:43 +01:00
Simon Hauser
587a10d149 chore: remove a lot of deprecated stuff (#1399) 2021-11-01 20:30:10 +01:00
Luke Kershaw
c08f95823d fix: check if caret is present before removal (#1390) 2021-10-31 15:52:09 +00:00
Luke Kershaw
02a02f7bcd fix: set preview titlehighlight when re-enabling preview (#1384) 2021-10-28 14:21:09 +01:00
Luke Kershaw
5809321290 feat: separate higlight for titles in picker windows (#1362)
- requires nvim-lua/plenary.nvim#260
2021-10-26 15:14:33 +01:00
Luke Kershaw
f56222738b fix: always remove previous caret when change selection (#1364) 2021-10-21 10:46:32 +01:00
Simon Hauser
a0835edd86 fix: preview title key and a bug with dynamic_title (#1350) 2021-10-20 16:23:26 +02:00
Luke Kershaw
adfbd616c6 feat: recalculate picker layout on VimResized (#959)
* WIP: recalculate picker layout on `VimResized`

* refactor: `popup.resize` -> `popup.move`

* fix: scroll to the correct place after resize

* fix: update positioning in results buffer

* fix: completely redraw results buffer on resize

* fix: handle preview enable/disable

* fix: work with scrolling

* docs: add plan for `toggle_padding`

* refactor: factor out creation of picker windows

* refactor: pass highlights directly to popup_create

* refactor: remove lines update and factor out scroll repositioning

Co-authored-by: Github Actions <actions@github>
2021-10-20 11:06:10 +01:00
Jean-Luc Bastarache
59f5873199 fix: highlighting when color_devicons=false (#1328) 2021-10-11 18:00:28 +02:00
Simon Hauser
603f55dedf fix: processed count to exclude entries that got ignored in make_entry (#1323)
It doesnt make sense to count these. Most likely they were never shown.
Example: `man_pages` excludes pages from different sections. So you
filter for man pages and end up with like 5 entries and the counter
still says 1000. Not a good experience.
2021-10-09 15:34:22 +02:00
TJ DeVries
dea927d0eb feat: Add scrolling through results (#1232)
* some scrollin

* [WIP]: Fri 10 Sep 2021 02:24:20 PM EDT

* ok, I think scrolling works

* change to 1000 for now, dont need to scroll that far :)
2021-10-08 10:56:01 -04:00
TheLeoP
02bc88e6d6 fix: pickers use entry.filename as default and fallback to entry.value for file_ignore_patterns (#1243) 2021-09-19 17:38:44 +02:00
Simon Hauser
5131df7df1 docs: rewrite readme and add missing config values + builtin opts 2021-09-16 11:12:12 +02:00
fdschmidt93
55ec6c5c9c fix: restoring picker table/function opts (#1205)
* fix: missing opts for cached picker creation

* fix: make properly overridable
2021-09-09 22:13:16 +02:00
fdschmidt93
5d37c3ea08 feat: allow caching and resuming picker (#1051)
* expose `cache_picker` in telescope.setup to configure caching, see `:h telescope.defaults.cache_picker`
* add builtin.resume and builtin.pickers picker
2021-09-01 18:17:18 +02:00
fdschmidt93
8710baa6fb fix(pickers): initial normal mode (#1165)
fix(pickers): opts.default_text and cursor are now correctly set for opts.initial_mode="normal"
2021-09-01 17:09:26 +02:00
TJ DeVries
4f91ffcbab fix: Close async oneshot jobs on finder:close (#1140) 2021-08-20 14:41:52 -04:00
TJ DeVries
ea5ab8f7c4 feat: Use nvim_buf_set_extmark right_align to do the magic for us (#1138) 2021-08-20 13:35:21 -04:00
TJ DeVries
a97af306c4 feat(performance): Major performance improvements using async v2 from @oberblastmeister (#987)
* start: Working w/ async jobs

* short circuit to using bad finder if you pass writer.
2021-08-20 11:11:24 -04:00
fdschmidt93
cda284986f feat: api for clearing completion cb in userspace (#1097) 2021-08-11 09:00:23 -04:00
TJ DeVries
a056a9c7e0 feat: Move to plenary.popup (#1102) 2021-08-11 08:54:28 -04:00
Simon Hauser
79644ab677 chore: use stylua for formatting (#1040)
* chore: stylua job and config

* reformat with stylua
2021-07-23 11:42:37 -04:00
Rasmus Bergström
1bb73aed5f Set a filetype for the results buffer (#1019)
**Why** is the change needed?

So that it can be targeted with specific settings. These could include disabling
plugins for the buffer (as in #840) or disabling folding (as per #991).

**How** is the need addressed?

- Add a filetype to the buffer after it has been created.

Closes #991
2021-07-18 10:12:04 +02:00
Simon Hauser
3699605627 feat: cycle prompt history (#521)
history is enabled on default but cycle_history_next and cycle_history_prev is not mapped yet

Example:
require('telescope').setup {
  defaults = {
    mappings = {
      i = {
        ["<C-Down>"] = require('telescope.actions').cycle_history_next,
        ["<C-Up>"] = require('telescope.actions').cycle_history_prev,
      }
    }
  }
}

For more information :help telescope.defaults.history

big thanks to clason and all other testers :)
2021-07-09 20:45:29 +02:00
fdschmidt93
bdd0df73a6 feat: select_all, toggle_all and drop_all actions (#931) 2021-07-03 10:54:06 +02:00
Tom
c5a6ed16e2 feat: selection_strategy closest (#885)
* Added closest selection_strategy to use default_selection_index initially but prefer highest ranked match when prompt not empty

* Updated supporting documentation to include selection_strategy
2021-07-02 12:42:25 +02:00
Luke Kershaw
50001d4965 fix: table number option extend (#947)
* fix: prevent error when overriding tables with numbers

Fixes #944

- refactor `config.smarter_depth_2_extend`

- use `config.smarter_depth_2_extend` for setting `layout_config` in `Picker:new`

* test: check that can override a table with a number for layout configuration
2021-07-02 08:50:55 +02:00