c8840f0756
fix: make sure project state is freed with the correct allocator
2025-11-26 16:26:31 +01:00
20129ea773
feat: save and restore mainview state when switching projects
2025-11-26 16:26:31 +01:00
Igor Támara
6e9e00e142
feat: add symbol palette
...
The palette intentionally shows narrow to give more prevalence to file
contents and see the context.
2025-11-16 22:56:36 +01:00
Igor Támara
cc4ef5da2c
feat: store lsp symbols in mainview
2025-11-16 22:56:36 +01:00
c6da708250
refactor: add project_manager.highlight_references request
2025-11-07 11:55:26 +01:00
983e518f69
fix: add not-yet-persisted projects to recent_projecsts list
2025-11-05 16:33:42 +01:00
7744bdf6c4
fix: update Project.last_used when switching projects
2025-11-05 16:33:12 +01:00
03d07d682f
feat: always list active project first in project_manager.request_recent_projects
2025-11-05 14:43:55 +01:00
089a835160
refactor: remove active project last_used override in project_manager.load_recent_projects
...
Makes more sense to update last_used after loading as we may need to add the entry.
2025-11-05 14:42:39 +01:00
c47ce8702c
fix: don't leak project names in project_manager.request_recent_projects
2025-11-05 14:41:36 +01:00
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