Commit Graph

84 Commits

Author SHA1 Message Date
Simon Hauser
1b6909cfb3 docs(smart_path): add negative performance warning (#1899) 2022-04-30 12:10:41 +02:00
Antoine Bertin
6e7ed1b963 feat: add default hl group for devicons (#1849) 2022-04-18 14:05:57 +02:00
Michael Benford
317371d37c feat: global configuration of results_title and prompt_title (#1817) 2022-04-08 18:17:54 +02:00
Waldson Patrício
1a72a92b64 feat: enable individual options for mappings (#890)
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2022-03-20 21:34:07 +01:00
Suvansh Kumar
8c7ac1df9d docs: fix typo in defaults.history section (#1797) 2022-03-20 11:34:44 +01:00
Sultanahamer
df0b35c8bc feat: allow user to wrap picker results (#701, #1296) (#1735) 2022-02-15 08:51:56 +01: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
582dbd4da8 defaults: change center layout default size (#1546)
* defaults: change `center` layout default size

- now matches the description and has space for a preview above the central block
2021-12-03 17:50:44 +01:00
max397574
7cfddbfd93 feat: add preview width option for bottom_pane layout (#1505)
* feat(layout_strategies): started adding preview width for bottom pane

* fix(bottom_pane preview_width): fixed some values and added defualt

* fix(config): better default for preview cutoff

* fix(layout): removed unnecessary variable value
2021-11-28 17:32:50 +00: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
Luke Kershaw
729492406e feat: exclude option for shorten in path_display (#1429)
* feat: allow excluding positions for `shorten` in `path_display`

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

Co-authored-by: Github Actions <actions@github>
2021-11-14 09:37:15 +00:00
fdschmidt93
2097f11305 fix: deactivate binary ft detection for Win32 (#1413)
* Make `file` mime type detection for Windows users opt-in, as it caused issues when they had it
2021-11-04 07:32:02 +01:00
Julian Fricker
6652d4d555 feat: Full width select (#1403)
Can be changed back by setting 
telescope.setup {
  defaults = {
    hl_result_eol = false,
  }
}
2021-11-04 07:22:09 +01:00
Simon Hauser
587a10d149 chore: remove a lot of deprecated stuff (#1399) 2021-11-01 20:30:10 +01:00
Simon Hauser
0caec3d6e4 Revert "break: changed the results window highlight to always be full width (#1312)" (#1398)
This reverts commit 3b9ac8edba.
2021-10-31 17:02:38 +01:00
Julian Fricker
3b9ac8edba break: changed the results window highlight to always be full width (#1312)
Can be changed back by setting 
telescope.setup {
  defaults = {
    hl_result_eol = false,
  }
}
2021-10-29 18:57:41 +02:00
nickelc
a823ae8eb5 docs: fix typo in qflist_previewer's default value (#1363) 2021-10-24 08:20:08 +02:00
Luke Kershaw
be600b5421 feat: more prompt position strategies (#1280)
* feat: allow `prompt_position` for `vertical` layout strategy

* feat: allow `prompt_position` for `bottom_pane` layout strategy

* stylua

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

* refactor: switch to `string.format`

* stylua

* feat: allow `prompt_position` for `center` layout strategy

* feat: handle user defined `prompt_position` within themes

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

* fix: tweak `center` layout

- ensure `prompt` title is visible when `prompt_position="bottom"`

* fix: refactor `center` tweak

- move title to bottom of picker when `prompt_position="bottom"`

* fix: tweak `bottom_pane` layout

* stylua

Co-authored-by: Github Actions <actions@github>
2021-10-04 21:16:58 +02:00
fdschmidt93
a6c7498bdc feat: filetype_hook & improved docs; fix preview partial override (#1273) 2021-09-27 15:24:35 +02:00
tami5
60660334c7 feat(defaults): enable customization of path_display.truncate (#1264)
followup to https://github.com/nvim-telescope/telescope.nvim/pull/1254
and implementation of
https://github.com/nvim-telescope/telescope.nvim/pull/1254#issuecomment-922527270
2021-09-20 12:52:59 +03:00
Luke Kershaw
f0db7d3a59 feat: truncate option for path_display (#1254) 2021-09-19 20:38:00 +02:00
Luke Kershaw
37c9ab6688 feat: layout_strategies refactor (#1039)
* wip: 2021-07-22 15:00 BST

* wip: `horizontal` refactored

* wip: `center` refactored

* wip: `cursor` and `vertical` refactored

* wip: `current_buffer` refactor

- also changed `layout_config_defaults` as they gave errors when using `current_buffer`

* wip: `bottom_pane` refactor

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

* fix: put accidentally remove config option back

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

* wip: standardise `height` calculation for `center` and `bottom_pane`

* wip: improve comments

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

* stylua

- also fix a merge mistake

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

* fix: attempt to fix bad merge

* refactor: remove unused entry in `borderchars` table

- also fix some typos

* wip: tweak padding for `bottom_pane`

* wip: add `tabline` checks to `bottom_pane`

- also tweaked position so that `statusline` is not covered when borders are enabled

* stylua

* refactor: factor out size capping function

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

* fix: adjust tests that relied on height being number of results

* fix: forgot variable in calc_size_and_spacing

* fix: maybe this fixes these tests?

* test: try other plenary branch for ci

* test: switch back to main plenary branch for ci

* fix: actually define `max_results` in the test

* fix: final tweaks for edge cases

Co-authored-by: Github Actions <actions@github>
2021-09-19 09:30:25 +01:00
fdschmidt93
7c5b846f6f feat: skip/timeout preview if file cannot be easily previewed (#1231)
* For full configuration, see `:h telescope.defaults.preview`
* Unblocks previewer on binaries, too large files, and files that take too long to read
* Allows toggling treesitter highlighting for buffer_previewer
* Allows to globally opt out of previewer
2021-09-16 23:01:40 +02:00
Simon Hauser
5131df7df1 docs: rewrite readme and add missing config values + builtin opts 2021-09-16 11:12:12 +02:00
qualious
1d17cc4abc feat: smart path (#914)
path_display = { "smart" }

Co-authored-by: Deniz <deniz@admentum.se>
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2021-09-12 21:14:00 +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
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
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
Corentin Brunel
b13306e5cc feat: add cursor layout (#878)
* Add basic implementation of "cursor" layout strategy

* Update cursor layout strategy to properly follow cursor

* feat(cursor_layout): handle previewer

* Refactor cursor layout code

* Add cursor theme

* Update readme

* Improve cursor theme and layout documentation

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

* Remove trailing whitespace

* Fix issues related with neovim and plugin api changes

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

* Allow preview width to be configured

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

Co-authored-by: Github Actions <actions@github>
Co-authored-by: cbrunel <cbrunel@sogescom.local>
2021-07-16 19:17:21 +01:00
Luke Kershaw
1866265fea feat: Add length option for shorten_path (#886)
* feat: add `shorten_len` option for path shortening

- adds option to configure the length of shortened parts of filenames
- only affects paths when "shorten" is in `path_display`

* chore: revert rebase for `path.lua` to 876bed9

* refactor: replace `shorten_len` with the `shorten` key in `path_display`

- also deprecates `utils.path_shorten` and passes straight to `plenary`s `Path:shorten`

* feat: allow `path_display` to handle table keys, as well as strings
2021-07-16 17:41:39 +01:00
Nazeeh ElDirghami
138697980b feat: Add ability to have a user defined function to format the path display (#1000) 2021-07-16 17:20:25 +02:00
Simon Hauser
d176dd80da hotfix: just only false to disable
I knew i will break it with my last commit
2021-07-09 21:00:00 +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
caojoshua
d5a8e48aa6 Consistent filepath display and code cleanup. (#839)
BREAKING CHANGE: see :help telescope.changelog-839 for more information

Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2021-07-08 10:30:44 +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
TJ DeVries
5a53ec5c2f feat: Consistent and sensible layout_config (#922)
* feat: Consistent and sensible layout_config

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

* [WIP]: Thu 17 Jun 2021 03:36:44 PM EDT

* [WIP]: Thu 17 Jun 2021 03:38:11 PM EDT

* layout_default -> layout_defaults

* remove options from bug repot

* Conni2461 suggestions: part 1

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

* Conni2461 suggestions: part 2

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

* Linting

* Improve deprecation checks

- Move `layout_defaults` handling to `deprecated.lua`
- Check for "layout keys" outside of `layout_config` on `setup`

* fixup: Just add a few more words

Co-authored-by: Luke Kershaw <35707277+l-kershaw@users.noreply.github.com>
Co-authored-by: Github Actions <actions@github>
2021-07-01 05:41:58 -04:00
Simon Hauser
6ac5ee0854 feat: cycle previewers with commit and bcommit already using it (#528)
- new git previewers
- jump to line in bcommit previewer
- vimdiff for bcommits
- dynamic preview window titles
- more previewers documentation

Cycle previewers are not mapped yet. So you need to setup yourself:
```lua
require('telescope').setup {
  defaults = {
    mappings = {
      i = {
        ["<C-s>"] = actions.cycle_previewers_next,
        ["<C-a>"] = actions.cycle_previewers_prev,
      },
    },
  }
}
```

Co-authored-by: Thore Strassburg <thore@weilbier.net>
2021-06-14 21:50:46 +02:00
JINNOUCHI Yasushi
0c1bc129da chore: use plenary.strings and remove strings functions from utils (#690)
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2021-06-14 20:47:33 +02:00
Simon Hauser
618e0e6075 feat: set defaults for each picker in telescope setup (#883)
This allows easier picker configuration for example:

```lua
require("telescope").setup {
  pickers = {
    buffers = {
      show_all_buffers = true,
      sort_lastused = true,
      theme = "dropdown",
      previewer = false,
      mappings = {
        i = {
          ["<c-q>"] = "smart_send_to_qflist",
        }
      }
    }
  }
}
```

This configuration will be applied when running `:Telescope buffers`
2021-06-09 19:51:03 +02:00
Simon Hauser
aefc831735 fix: no longer leaking one buffer previewer in some occasions (#664)
* fix: stop leaking last preview buffer
* fix: formatting for docs
* fix: async check if file is dir or not and
  - fix for in_fast_event when overriding file_maker
* fix: filtering for space in keymaps and fzy
* fix: show correct result numbers when using file_ignore_patterns
* Handle early close. Caused because we actually cleaning up buffers now
* cleanup
* [docgen] Update doc/telescope.txt
2021-03-30 12:32:18 +02:00
fdschmidt93
db7615578b feat: lsp diagnostics and prefiltering by entry attribute (#543)
prefiltering for lsp_document_symbols and lsp_workspace_symbols.
example: type `:var:` to show all vars
2021-03-03 22:33:03 +01:00
Simon Hauser
3faca0802f docs: start documenting previewers (#574)
Co-authored-by: Muhammed Zakir <MuhammedZakir@users.noreply.github.com>
2021-03-03 18:14:46 +01:00
Simon Hauser
ca92ec1a83 fix: a lot of small things and adds more customization for caret (#554)
Attention:
prompt_prefix will no longer add a space at the end. So if you still want a space at the end make sure your configuration has one.
The default should not be changed. So if you haven't copied prompt_prefix in your config this doesn't affect you.

Feat:
- prompt prefix does no longer always end with space
- selection_caret configurable. Default: `> `
- result_prefix configurable. Default: `  `
- more actions for git_branches
  - <c-t> does track the branch
  - <c-r> does rebase branch
  - also added delete branch action but not configured. See readme on how to do that

Fixes:
- fix docgen ci
- Better error for lsp_workspace_symbols
- better formatting for CONTRIBUTING.md
- move from systemlist to plenary.job
- git branch now supports checkout on remote branches
2021-02-27 16:26:25 +01:00
TJ DeVries
55ab5c77a5 feat: Add vim docs & generators (#370)
* feat: Add vim docs & generators

* example of what we could start to do

* Docgen CI job

* wip

* incremental updates. soon good validation

* [Actions] Generate Documentation
skip-checks: true

* pretty cool now

* [Actions] Generate Documentation
skip-checks: true

* make sure telescope is loaded first

* Add updates. Maybe this will not delete now?

* Add defaults tags as well

* 😄

Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
Co-authored-by: Github Actions <actions@github>
2021-02-24 21:44:51 -05:00