Commit Graph
64 Commits
Author SHA1 Message Date
Dmitriy Kovalenko 0dfe9e1edf feat: Support Line Column in file pickers
Original issue: When selecting files in telescope iti is impossible to
enter paths from compiler that includes cursor locations, you need to clear it from the path.

This commit fixes the problem by stripping out the location from path
(important: only for file pickes) and using this location to set the
cursor when openning the file and highlight the line or poisition in the
previewer.

This feature requires a new option for a picker, whichi for now is basically
enabling location stripping but it is helpful for any file picker
builtin or external one.

By default equals `false` becuase most of pickers like live grep,
current buffer fuzy are messed up with locations stripping. It is only
useful for file searches.

Added test suite that covers alghoritm of stripping the location to the
`utils_spec.lua`
2023-11-20 10:39:49 +01:00
James TrewandGitHub 83133f66c8 fix(utils): is_uri empty path (#2671) 2023-08-29 10:36:56 -04:00
James TrewandGitHub 1dfa66b845 perf(utils): linear scan is_uri (#2648) 2023-08-28 04:26:09 +00:00
James TrewandGitHub 2d92125620 test(utils): add tests for is_uri (#2645) 2023-08-10 00:34:54 +00:00
Adam TajtiandGitHub cd67e819e4 fix(tests): uses testharness in scrolling strategy (#2307) 2023-01-06 19:46:10 +01:00
Fabian David SchmidtandGitHub 28dc08f614 Revert "rfc: use extmarks for highlighting and carets (#2099)" (#2138)
This reverts commit 8d13f4ca8a.
2022-08-19 10:08:55 +02:00
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
TJ DeVriesandGitHub 4725867ec6 fix: restore testing framework to actually work (#2070)
after refactor to some new asynchronous items for finders,
the tests stopped actually doing anything.

now they do things again.
2022-08-04 16:00:30 -04:00
Simon HauserandSimon Hauser d1f3e12a35 feat: add min max boundary to width, hight resolver (#2002) 2022-06-30 14:01:52 +02:00
Simon Hauser 6e7ee38292 chore: reformat with stylua 0.13 2022-04-03 13:33:33 +02:00
Simon HauserandGitHub d38ad438f3 fix: action replace/enhance if the replaced/enhanced action as combined (#1814) 2022-03-31 18:42:38 +02:00
Simon HauserandGitHub 9f0dd2e402 fix: action mt again (#1487)
actions should be concatinable again
2022-03-13 19:22:16 +01:00
Simon HauserandGitHub f262e7d56d chore: format with stylua 0.12.0 (#1730) 2022-01-31 20:34:53 +01:00
5060f3f0ab feat: tiebreak config function (#1401)
Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2022-01-09 19:43:06 +01:00
Luke KershawandGitHub 5f37fbfa83 feat: layout anchor (#1582)
* feat: add `anchor` option to some `layout_strategies`

* tests: improve tests for `resolve_height/width`
2021-12-10 19:08:24 +00:00
Simon HauserandGitHub 61240ac75a break: bump the minimum required neovim version to 0.6 or higher (#1549)
So we can use `vim.json` and `vim.diagnostics`.

If you aren't able to update to 0.6.* yet you should pin the previous commit.
2021-12-10 16:32:28 +01:00
Simon HauserandGitHub 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 HauserandGitHub 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
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
Luke KershawandGitHub fbc983eb91 fix(command_parser): pcall for the loadstring (#1134) 2021-08-21 11:44:27 +01:00
TJ DeVriesandGitHub 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 HauserandGitHub 79644ab677 chore: use stylua for formatting (#1040)
* chore: stylua job and config

* reformat with stylua
2021-07-23 11:42:37 -04:00
Luke KershawandGitHub 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
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
712de3e182 feat: add search history picker (#769)
Co-authored-by: Volodymyr Kot <vkot@palantir.com>
2021-04-23 18:24:09 +03:00
TJ DeVriesandGitHub 64e59060b1 feat: asyncify pickers - except for live_grep (#709)
* something kind of works already

* yayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayayaya

* use async for everything besides live jobs

* fix: fixup autocmds previewer

* fix: lints for prime

* temp: Add example of how we can think about async sorters

* feat: Allow picker to decide when to cancel

* fix: simplify scoring logic and tests

* fixup: name

* fix: Move back towards more backwards compat methods

* fixup: Remove results from opts

* fixup: remove trailing quote

* fixup: Attempt to clean up some more async items. Next is status

* wip: Add todo for when bfredl implements extmarks over the EOL

* wip

* fixup: got em

* fixup: cleaning

* fixup: docs
2021-04-08 10:35:44 -04:00
11674ac021 feat: multi selection. Only integrates with send_selected_to_qflist (#551)
This will not yet work with select actions. More work is needed in that case.

Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2021-02-27 21:06:04 +01:00
elianivaandGitHub 8b3d08d7a6 fix: scroll misbehaving + fixed jump to middle (#547)
* fix: scroll misbehaving + fixed jump to middle

* add test

* fixx

* fix nil
2021-02-24 21:40:11 +07:00
Hubert PelczarskiandGitHub 67b0661537 feat: adds M mapping in normal mode (#544) 2021-02-24 03:35:52 +01:00
Simon HauserandGitHub 10627e889e feat: advanced normal mode (#463)
Add <count>j and k to normal mode and H and L to jump at top and bottom of displayed results
2021-02-24 02:41:00 +01:00
d7c02e3b52 feat: Action improvements (#472)
* feat: replace_map

* feat: Add action_set and action_state

* fix: Move all actions.get_ to action_state.get_

* fix: replace all internal references of _goto_file_selection_edit

* feat: add some docs

* fix: lint

* feat: actions.select

* remove mentions and usage of goto_file_selection APIs

* feat: special case attach_mappings to be overridable and defaultable

* Having goto_file_selection mappings will cause a error

as well as replacing deprecated goto_file_selection methodes

For config and replacing use this instead:
- actions.select_default
- actions.select_horizonal
- actions.select_vertical
- actions.select_tab

Only replacing:
- actions.set.edit -- for replacing all select functions

* adds actions.state.select_key_to_edit_key

Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2021-02-22 11:30:57 -05:00
1ca1e7ccba fix: Multi byte truncate for displayer (#464)
This is needed for calling strdisplaywidth() from Lua loop.

See https://github.com/nvim-telescope/telescope.nvim/issues/414
See https://github.com/neovim/neovim/blob/a1ed941a7881122fda2fd48e71e890ed55e4d08e/src/nvim/eval/funcs.c#L9845-L9858

Co-authored-by: Simon Hauser <Simon-Hauser@outlook.de>
2021-01-31 10:55:17 +01:00
TJ DeVriesandGitHub 8783bea06e feat: quickfix (#293)
* feat: quickfix (not implemented)

* [WIP]: Wed 09 Dec 2020 11:11:30 PM EST

* somewhat working linked list impl

* getting closer

* might be working

* might be working for real

* works and implemented basic example

* dont forget to close prompt

* fix descending and add more tests

* test fixes

* fix test

* more logging

* Fix some more tests

* Fix logging messing up tests

* fix: lint

* fix: multi select stuffs
2021-01-11 13:29:37 -05:00
TJ DeVriesandGitHub 049602a2c5 ci: more tests (#359)
* more tests

* lint
2020-12-23 13:31:05 -05:00
TJ DeVriesandGitHub 2aa8bcb878 feat: Add better highlighting and new CI abilities (#355)
* Revert "Revert "fix: Better highlights (#344)" (#350)"

This reverts commit 7950fc8ba0.

* better highlights take 2

* fixup

* install fd find for sameness

* add some debug output

* more deterministic

* better ci
2020-12-21 16:03:48 -05:00
Simon HauserandGitHub 6e6fbbc49e Fix: scroller for descending (#327) 2020-12-11 16:48:14 +01:00
TJ DeVries f3609abd7f refactor: Move scroller into own testable module 2020-12-10 23:31:28 -05:00
Simon HauserandGitHub d67eb599fb ci: Pipeline Tests (#315) 2020-12-09 15:48:55 -05:00
141dc6d55e ci: Add luacheck ci job (#317)
* Add luacheck ci job

* Fix most of the linting issues

* fixup: lint

Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
2020-12-09 15:46:41 -05:00
TJ DeVriesandGitHub 985856946e feat: Allow overriding actions from mappings (#248) 2020-11-16 10:58:30 -05:00
7eda4e80f9 feat: Add a sorter using the fzy algorithm (#184)
* Add a sorter using the fzy algorithm

* Reformat fzy.lua

Also, update author attribution.

* Remove constansts from fzy module

Replace a few of the useful ones with getter functions that make it
clear they're not modifiable.

* Change names of fzy constant getters

* fixup: some small nit picks

Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
2020-10-20 20:14:07 -04:00
TJ DeVries ad12bf03d1 feat: Add a test file 2020-10-08 23:48:29 -04:00
TJ DeVriesandGitHub 2053a2621a feat: Use metatables to use less memory (#152)
Instead of storing everything in key / value pair hashes, we store as much as possible in an array and then reference the items in the array using metatables.

This provides us with a much lower memory footprint and just one level of table lookup indirection (so I think the speed will not be noticeably different)
2020-10-07 11:35:38 -04:00
TJ DeVriesandGitHub d32d4a6e0f fix: Reduce memory leaks (#148)
It is not 100% clear that we've gotten ALL the memory leaks, but it
seems much much much better and doesn't look like it's going to die
immediately or as often anymore :)
2020-10-06 21:57:49 -04:00
TJ DeVriesandGitHub ae7fd0d27a feat: Add status, better debug, and some associated refactors
* [WIP]: Mon 28 Sep 2020 01:08:24 PM EDT

* add much much better tracking. so much less hax

* status updates, oneshot job updates, etc.

* remove temp function

* add status function

* asdfasdfasdf
2020-09-29 22:52:38 -04:00
TJ DeVries d7ee7266ab test: Working on more memory leak tracking 2020-09-22 09:58:49 -04:00
TJ DeVries d891ba4f2e feat: add some tests and improve perf 2020-09-18 00:11:22 -04:00
TJ DeVries f3fc1ca8c1 fix: Make tests pass again 2020-09-18 00:11:22 -04:00
TJ DeVries 6ffa3c24b3 feat: improve (?) performance of default sorter 2020-09-15 14:15:55 -04:00
TJ DeVries ebd090c0fe wip: some more musings on resolving height and width 2020-09-12 23:15:10 -04:00