Commit Graph

1076 Commits

Author SHA1 Message Date
Dmitry Torokhov
5e50db3e05 refactor(file_selector): optimize handling of selected files
Sorting function in FileSelector:get_filepaths() is not very efficient
since it has to hit the filesystem each time it is called to determine
if it is dealing with a directory or not.

Optimize performance by figuring this data in get_project_filepaths()
and returning a list of structures containing paths and directory flags,
and use this data in get_filepaths(). Do the absolute->relative
conversion once.

Also use vim.fn.isdirectory() instead of vim.loop.fs_stat() everywhere
in the file.
2025-07-15 16:41:22 +08:00
Dmitry Torokhov
a5a2c22cf7 refactor(file_selector): remove unused argument from process_directory()
FileSelector:process_directory() does not make use of project_root
argument. Remove it and adjust all callers.
2025-07-15 16:41:22 +08:00
Dmitry Torokhov
318a45ae08 fix(file_selector): Correct path comparison for selected files
The FileSelector:get_filepaths() function incorrectly filters selected
files due to a mismatch in path formats (relative vs. absolute).

Fix the issue by converting relative file paths to absolute paths before
doing the comparison. Use a set instead of re-scanning the table when
filtering out duplicates.
2025-07-15 16:41:22 +08:00
Dmitry Torokhov
61e38024dc fix(file_selector): avoid converting to relative path twice
get_project_filepath() converts candidate file paths to relative form
twice, once in the first iterator, and then in vim.tbl_map() call while.
It also iterates the same list twice for no apparent reason.

Combine both scans into one and use dedicated vim.fn.isdirectory().
2025-07-15 16:41:22 +08:00
yetone
b8bb0fd969 refactor: llm tool parameters (#2449) 2025-07-15 16:40:25 +08:00
Dmitry Torokhov
0c6a8f5688 refactor(llm): remove dead code summarizing threads and generating todos (#2439) 2025-07-14 10:14:40 +08:00
Raul Luzetti
e06f55d353 fix(replace_in_file): added a replace substring logic (#2438) 2025-07-14 10:14:16 +08:00
Arnon Keereena
a78af4ce99 Fix bugs where the file picker windows disappear on @file mentions (#2442)
Co-authored-by: Arnon Keereena <arnon.keereena@accenture.com>
2025-07-14 10:08:55 +08:00
Dmitry Torokhov
80f50af6fb Some refactors in suggestion.lua (#2443) 2025-07-14 10:05:03 +08:00
soulfy
c4ce24e3c0 fix: result_container takes the actual height of the editor (#2405) 2025-07-12 00:36:42 +08:00
yetone
c20e4e8f05 fix: finetune beast mode (#2433) 2025-07-10 12:47:03 +08:00
yetone
d7fa5fec6d fix: incorrect tool names (#2432) 2025-07-10 12:42:02 +08:00
yetone
8942e12798 feat: beast mode for gpt4.1 (#2431) 2025-07-10 12:30:06 +08:00
yetone
14cfccdba9 fix: do not use str_replace_editor (#2428) 2025-07-10 10:17:48 +08:00
skt041959
6a9424a63b set keymap with nowait (#2422) 2025-07-09 22:32:05 +08:00
Kyle
9f4da7ea09 fix(openai): handle nil function arguments in tool calls (#2425) 2025-07-09 14:19:29 +08:00
Dmitry Torokhov
30eb77af04 feat: optimize showing hints in visual mode (#2416) 2025-07-08 19:56:54 +08:00
yetone
c0249db33d fix: call a slow function in a fast event context (#2424) 2025-07-08 19:54:21 +08:00
yetone
6227d5c340 fix: close input hint when closing the sidebar (#2420) 2025-07-07 16:51:30 +08:00
Dmitry Torokhov
b051ce449a fix: slow typing in input window and other input hint optimizations (#2418) 2025-07-07 16:45:35 +08:00
Han Pham
39ac64aca6 feat(file_selector): handle parsing oil directory (#2409) 2025-07-04 21:29:02 +08:00
yetone
935234981b fix: missing new_str (#2407) 2025-07-04 00:38:17 +08:00
Dmitry Torokhov
8346d9b005 fix: don't throw errors when closing code window (#2401) 2025-07-03 14:45:35 +08:00
yetone
9bc5bf8053 fix: breaklines (#2403) 2025-07-03 14:43:44 +08:00
yetone
17a1f83950 fix: trim slashes (#2399) 2025-07-03 00:30:58 +08:00
yetone
46f3e77543 fix: refine init project prompts (#2398) 2025-07-02 18:56:56 +08:00
guanghechen
7aec52ff3e improve: support to customize the spinners (#2397) 2025-07-02 18:54:41 +08:00
yetone
8fde103734 fix: do not ignore failed edit tool calling (#2396) 2025-07-02 18:53:53 +08:00
yetone
203861bb71 feat: init project (#2395) 2025-07-02 18:44:30 +08:00
yetone
1a6d1d6af4 fix: the content is table (#2394) 2025-07-02 17:09:46 +08:00
yetone
66c3b6665c fix: add missing session-ctx (#2393) 2025-07-02 16:58:15 +08:00
doodleEsc
4329ed79f4 feat: enable override prompt templates directory (#2387) 2025-07-02 14:43:17 +08:00
Peter Cardenas
6bfd792a64 fix: handle invalid code window id (#2390) 2025-07-02 12:17:30 +08:00
guanghechen
30604304ba improve: support to customize the avanterules directories for project/global (#2392) 2025-07-02 12:17:13 +08:00
James Trew
d4f3224bf6 fix(sidebar): respect input height from config (#2391) 2025-07-02 12:15:40 +08:00
Peter Cardenas
2ecfe587a0 feat: parse and conditionally add cursor rules to system prompt (#2385) 2025-07-02 00:59:01 +08:00
guanghechen
f523710e95 fix(#1939): fix the logic of ignore-checking, prefer to call the git check-ignore for git repos (#2383) 2025-07-01 17:19:17 +08:00
Peter Cardenas
bc96007c76 fix: get_bufnr errors on edited file (#2374) 2025-06-30 18:53:22 +08:00
yetone
68ead5d2f0 feat: respect agents.md (#2376) 2025-06-30 18:44:06 +08:00
yetone
d98f676e32 fix: ReAct parsing (#2375) 2025-06-30 16:40:52 +08:00
Peter Cardenas
508cc4c22c fix: get_history_messages is nil (#2368) 2025-06-30 10:25:49 +08:00
Fredrik Averpil
2d9247e536 feat(providers): Defer execution of cmd: API keys (#2372) 2025-06-30 10:25:14 +08:00
yetone
9669e22ea9 fix: ReAct for gemini (#2367) 2025-06-29 15:47:33 +08:00
Noah Chalifour
f04cee670d fix: error on calling transform_anthropic_usage on a nil with bedrock (#2360)
Co-authored-by: Noah Chalifour <nchalifo@amazon.com>
2025-06-28 21:39:39 +08:00
Peter Cardenas
87f3aee073 fix: gracefully handle failed curl (#2356) 2025-06-28 20:10:27 +08:00
Peter Cardenas
7f25a33dbb feat(sidebar): add keymap to navigate between prompts (#2355) 2025-06-28 20:10:07 +08:00
Peter Cardenas
fb71d5d5c6 fix: get diagnostics tool (#2357) 2025-06-28 20:08:47 +08:00
yetone
e64b5f054c fix: selector preview (#2362) 2025-06-28 20:07:25 +08:00
yetone
04aeb3caf4 fix: the edge case in replace_in_file (#2351) 2025-06-27 15:46:45 +08:00
yetone
6d9e0cf119 fix: reduce the context window of copilot (#2350) 2025-06-27 15:39:32 +08:00