Commit graph

24 commits

Author SHA1 Message Date
6e45d75a1e feat: allow users to configure the window keymaps
All checks were successful
CI / StyLua (pull_request) Successful in 31s
CI / Luacheck (pull_request) Successful in 52s
CI / Cargo Format (pull_request) Successful in 49s
Conventional Tools Commitlint / Commitlint (pull_request) Successful in 13s
CI / Build and test (pull_request) Successful in 2m50s
CI / StyLua (push) Successful in 44s
CI / Luacheck (push) Successful in 1m4s
CI / Cargo Format (push) Successful in 1m12s
Conventional Tools Commitlint / Commitlint (push) Successful in 17s
CI / Build and test (push) Successful in 6m4s
Summary:

Now you can use the setup configuration to overwrite and override the keymaps
in the ivy window. Each of the actions have now been givin a "key", you can use
the keys to run action on keymaps defined in the config. They will all be
registered in the buffer and run when pressed.

The readme has been updated to document how do this.

Test Plan:

We have the tests that still run. It has been tested manually and gone though
QA before getting merged.
2024-10-27 09:28:33 +00:00
Ádran Farias Carnavale
7efb98baab
docs: installation instructions with mini.deps
This commit introduces a brief guide about how to install this plugin
using the `mini.deps` package manager

ref: https://github.com/echasnovski/mini.deps
2024-07-29 08:55:54 +01:00
9af13d0031 docs: add setup config and backends to the readme
Summary:

Now we have a setup function with some config we better tell ppl about it. This
add the setup and config options into the readme.

It also replaces the "Command" with "Backends" to make it a little easier to
understand what needs to be configured. The backend concept has only just been
exposed publicly recently. It now makes since rename this section to line up
with the config.

Test Plan:

N / A
2024-06-30 15:00:56 +01:00
72f3fcac4e docs: remove 'peek' from the docs
Summary:

When we were flushing out the docs, we found some inconsistency in the naming
of checkpoint and peek. They were referring to the same thing.

This removes the word 'peek' in favor of 'checkpoint'

Test Plan:

N / A
2024-06-30 15:00:56 +01:00
Arne Van Maele
611aa54902 feat: add custom keymap section 2024-06-27 21:22:07 +01:00
Arne Van Maele
d19bdc4dfd feat: add keymaps for actions 2024-06-27 21:22:07 +01:00
Arne Van Maele
d7b368355f feat: add Lazy.nvim installation to the readme 2024-06-12 07:40:11 +01:00
2032d0748b docs: add section about post-merge compiling 2023-03-03 07:22:08 +00:00
4dd8927ea2 docs: fix the ivy.run example 2023-03-03 07:22:08 +00:00
a69d84dd25 docs: update the API section of the docs 2023-03-03 06:55:46 +00:00
3a21d8e2b0 docs: update IvyFd command description 2023-03-03 06:55:46 +00:00
04d04fc96a docs: add IvyWorkspaceSymbols to the readme 2023-03-03 06:55:46 +00:00
afbf2892af feat: add logo 2022-10-01 11:11:38 +01:00
6f58ad6d67 feat: add vsplit and split actions
Now you can open the currently selected item in a vertical split or a
horizontal split. The completion callback must support the current
actions.

There is also a bit of testing in here. The vim mock has been refactored
and split out so we can use it multiple tests.
2022-09-07 21:19:33 +01:00
39febd82e2 docs: add updated benchmark to the readme 2022-08-28 10:15:55 +01:00
Xymist
12a1a64c54 Format and clippy 2022-08-26 10:25:05 +01:00
ac01e9e9a4 docs: update the build info and benchmark status 2022-08-25 21:01:19 +01:00
Ade Attwood
d7df043eb9 perf: reduce copying when sorting
Passes values by reference when sorting to reduce memory copying. The
main saving on this is preventing copying of the large vector of files
getting passed into the `sort` function and then copying each item in
the vector in the for. This results in about a 27% performance gain
reducing the full benchmark of the kubernetes benchmark by 7.89 sec

Before

| Name                         | Total         | Average       | Min           | Max           |
| ---------------------------- | ------------- | ------------- | ------------- | ------------- |
| ivy_match(file.lua) 1000000x | 02.351614 (s) | 00.000002 (s) | 00.000002 (s) | 00.000042 (s) |
| ivy_files(kubernetes) 100x   | 32.704256 (s) | 00.327043 (s) | 00.289397 (s) | 00.344413 (s) |

After

| Name                         | Total         | Average       | Min           | Max           |
| ---------------------------- | ------------- | ------------- | ------------- | ------------- |
| ivy_match(file.lua) 1000000x | 02.353386 (s) | 00.000002 (s) | 00.000002 (s) | 00.000049 (s) |
| ivy_files(kubernetes) 100x   | 24.809576 (s) | 00.248096 (s) | 00.203167 (s) | 00.270263 (s) |
2022-08-07 21:48:24 +01:00
Ade Attwood
1ae47813d7 feat: add benchmarks 2022-08-07 16:41:51 +01:00
Ade Attwood
9b3d186701 feat: implement IvyLines to search the lines in the current buffer 2022-07-23 20:30:14 +01:00
Ade Attwood
75d1c0d171 feat: add window title for each of the actions 2022-07-23 20:14:52 +01:00
Ade Attwood
b30ecd21fe feat: add sorting and filtering of buffers via libivy 2022-07-23 08:54:26 +01:00
Ade Attwood
3f6149d3e1 feat: add initial implementation of cpp file finder
This uses lua ffi and a cpp shard library to implement a file finder in
cpp so we can use threads more effectively and get better performance.
2022-07-23 08:49:45 +01:00
Ade Attwood
b82f1af2a1 chore: initial commit 2022-07-10 21:07:33 +01:00