Commit graph

101 commits

Author SHA1 Message Date
Igor Támara
fdf2b6d376 feat: allow to update vcs changed files info for current project 2025-10-28 22:20:36 +01:00
Igor Támara
81a6fef3b5 feat: Project manager exposes new and modified files for the current project 2025-10-28 22:20:36 +01:00
3e4a604739
refactor: move git status request to project_manager 2025-10-28 21:31:32 +01:00
e053a0dcf4
fix: normalize away './' path prefixes 2025-10-23 23:24:58 +02:00
3c55ed876b
refactor: allow mocking of root module functions for easier unittesting 2025-10-08 14:18:03 +02:00
6301c078c8
fix: move file type guessing out of project_manager thread
Performing hundreds of thousands of file type guessing operations can
block the project manager for seconds leading to slow exits. With this
change we move the file type guessing into the tree walker thread leaving
the project manager to respond to other requests including shutdown messages.
2025-10-02 17:43:12 +02:00
e6b39c274c
refactor: lots and lots of writergate changes 2025-09-24 22:30:18 +02:00
21bd1e58a8
refactor: output LSP client messages to log
Regular message only if lsp_output "verbose".
2025-08-20 21:15:38 +02:00
69ea495495
feat: add config option lsp_output "quiet" to reduce LSP log verbosity
Set the option to "verbose" to re-enable logging of LSP show/logMessage requests.
2025-08-20 21:00:24 +02:00
7d7a45f539
refactor: make project_manager.request_recent_projects fully async 2025-08-18 14:46:13 +02:00
5b852fdb3d
fix: prevent crash on invalid project directory 2025-08-13 12:09:06 +02:00
ab0a8f3c2c
feat: show file type icon in open_file completion 2025-08-09 22:20:17 +02:00
67fc1581d3
feat: refresh open_recent palette when the project is done loading the file list 2025-08-05 10:23:53 +02:00
aeb734ba64
fix: respond correctly to unsupported requests from language-servers
closes #276
2025-07-20 18:43:02 +02:00
efdad96054
refactor: improve create pattern to avoid leaks 2025-07-19 00:03:30 +02:00
6df9391b50
feat: make project_manager use configurable file types 2025-07-14 18:02:23 +02:00
a33f6c8c2b
feat: add support for ~ expansion to open_file command and file_browser 2025-06-19 16:08:34 +02:00
9a580ac0e7
fix: prevent unexpected message errors on missing LSP binary 2025-06-19 15:27:32 +02:00
006e1ddb45
fix: remove multithreaded buffer access in project_manager
Until we have proper multithreaded buffer lifetime management we should avoid
accessing buffers that may have been deleted already.
2025-06-03 18:14:00 +02:00
ba5dc35913
feat: load project file list from git if available
If the loading project has a git repository we now load the file list from git
instead of scanning the directory tree. This gives us automatic .gitignore
support.
2025-04-22 21:21:09 +02:00
1a0d4ca7b2
refactor: move walk_tree to separate module 2025-04-22 20:44:14 +02:00
f76085325a
feat: query project files via git (part 1) 2025-04-21 21:43:29 +02:00
fc3224137d
fix: remove blocking project manager call on startup
closes #214

The blocking call get_mru_postion to the project mananger may cause
a deadlock if the project manager has not started running yet.
2025-03-25 15:04:23 +01:00
a959563bc7
Merge branch 'master' into zig-0.14 2025-03-04 21:15:14 +01:00
d53a70736b
refactor: trigger project_manager startup on tui init 2025-03-04 19:01:44 +01:00
3ef51454cd
Merge branch 'master' into zig-0.14 2025-02-22 23:53:43 +01:00
2a76da6cf6
feat: make mru file position lookup synchronous 2025-02-22 22:12:21 +01:00
a0514a6f7e
build: update to zig-0.14.0-dev.3280 2025-02-21 22:17:28 +01:00
910331868e
feat(project): add --no-persist to prevent new project persisting 2025-02-09 21:46:51 +01:00
88ca1cd343
feat(project): add close_project command bound to del in recent projects list 2025-02-09 20:39:32 +01:00
90192ddf3c
feat(project): indicate that a project is open in the recent projects list 2025-02-09 19:53:37 +01:00
939537ed84
feat(buffers): add support for ephemeral buffers
Ephemeral buffers are not hidden and kept when closed. Ephemeral buffers
can be turned into regular buffers by saving them with save_as.
2025-01-27 18:59:13 +01:00
0f6be55dbd
refactor: improve usefullness of trace-level 1 2025-01-26 17:01:33 +01:00
a1df51a16c
fix(project): don't abort early on project restore_state
And add traces for project write_state/restore_state.
2025-01-26 15:32:01 +01:00
2f7bee1bef
feat(task): add project tasks 2025-01-25 20:32:01 +01:00
155c1f663d
feat(lsp): rename_symbol: treat out-of-file edits as references 2025-01-16 23:02:52 +01:00
Travis Staloch
1fd4455adb
feat(lsp): initial support for textDocument/rename
flow keybinds: changes f2 from toggle_input_mode to rename_symbol and
moves toggle_input_mode command to ctrl+shift+f2 (since ctrl+f2 is
already bound to insert_command_name)

the replacement text is hard coded for now. i've checked that replace
works with zls and pylsp which send WorkspaceEdit response messages in
different shapes - zls sends shape `{"changes": {}}` while pylsp sends
`{"documentChanges": []}`.

currently the 'rename_symbol_item' commands are sent one at a time.
however they should be buffered and be performed between one
buf_for_update, update_buf pair.  this will be addressed in a follow up.
2025-01-16 22:04:35 +01:00
286316b494
feat: process completion response messages and send results to editor 2024-12-18 21:57:04 +01:00
047c9bbb99
feat: improve language server not found errors 2024-12-16 23:14:24 +01:00
271516f07f
fix: don't initialize lsp if we do not have an lsp command 2024-12-12 16:56:02 +01:00
d83d3a62bb
refactor: improve error codes return from LSP client 2024-12-12 16:55:23 +01:00
26694e9b08
feat: support LSPs that use string IDs 2024-11-14 15:38:43 +01:00
3b4c81c706
feat: add open_previous_file command
closes #56
2024-10-24 18:27:30 +02:00
b1362814db
fix: catch more errors in file browser 2024-10-14 19:27:38 +02:00
e752e8a405
fix: avoid spurious "switched to project" messages 2024-10-14 17:59:01 +02:00
dc25a0ea14
refactor: improve handling and reporting of project manager and lsp errors 2024-10-14 17:56:39 +02:00
0d198a1440
refactor: sort filtered_dirs entries 2024-10-14 12:36:43 +02:00
a2aca96f04
feat: add build directory to filtered_dirs 2024-10-14 12:36:12 +02:00
xdBronch
e9a2ae79c4
minor tweaks to walker
its generally preferred to use *Unmanaged data structures if youre
storing multiple so you dont have redundant allocators
2024-10-13 15:59:27 +02:00
xdBronch
64056ad045
add jujutsu to ignored files
[jujutsu](https://github.com/martinvonz/jj) is an alternative to git
2024-10-13 15:59:21 +02:00