Commit graph

116 commits

Author SHA1 Message Date
Ade Attwood
5d6546d414 ci: add luacheck 2022-08-07 16:41:51 +01:00
Ade Attwood
f2a22c2190 test: add test for ivy.prompt 2022-08-06 14:21:36 +01:00
Ade Attwood
acbf91d0dc test: add hooks to test scripts
Now you can use `before` `before_each` `after` and `after_each`. Each of
the hooks will run in the context of the test file.

`before` This will run once before all the tests
`before_each` This will run before each of the test functions
`after` Will run once after all the test functions
`after_each` Will run after each one of the test functions

Multiple functions can be defined for each hook by calling the
respective function again.
2022-08-06 14:16:12 +01:00
Ade Attwood
df80d5e837 ci: add test and build actions 2022-08-06 10:45:04 +01:00
Ade Attwood
617f6a98cc test: a test script and some tests
This adds the start of the test suite that we can add into CI to ensure
we are not pussing a broken build.
2022-08-06 10:45:04 +01:00
fabb652b8d fix: ensure results buffer cant go out of bounds 2022-07-29 21:02:40 +01:00
Ade Attwood
c9ce8ac4d1 feat: implement emacs bindings for the prompt like bash
Now the prompt will act like the default bash readline with emacs key
bindings, clear and delete word.

You can now also move left and right in the prompt to insert chars in
the middle of the prompt rather than having to delete your search term
and start again.
2022-07-24 12:50:30 +01:00
Ade Attwood
39e6878b58 feat: add highlight on matching chars in results buffer 2022-07-23 20:53:07 +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
7577706545 refactor: implement the origin api
This will allow you to get the buffer the user was on when they invoked
an ivy command. This buffer is called the `origin` and you can access it
with `vim.ivy.origin()`.
2022-07-23 20:17:31 +01:00
Ade Attwood
75d1c0d171 feat: add window title for each of the actions 2022-07-23 20:14:52 +01:00
Ade Attwood
8ac1035d8a feat: add loading text for large projects
Large projects can take a long time for the initial scan. This adds some
loading text until the initial selection has completed.

This will also now schedule the work to collect and sort the candidates
to ensure the UI is rendered before with work begins and creates a
hanging user experience.
2022-07-23 14:59:51 +01:00
Ade Attwood
4e174d65f8 fix: reverse the order of results
This makes all of the relevant results come at the bottom of the list to
keep your eyes closer to the prompt.
2022-07-23 09:00:51 +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