As part of this I added `assert_shared_state()` to the
NeovimBackedTestContext so that it is more like a drop-in replacement
for the VimTestContext.
The remaining part of zed-industries/community#682 is adding bracket
matching to plain text. It looks like the current logic requires there
to be a tree sitter language for the language in order to support
bracket matching. I didn't fix this in this PR because I was unsure
whether to try and work around that, or to try and add a plain text tree
sitter language.
Release Notes:
- vim: support `{` and `}` for paragraph motion
([#470](https://github.com/zed-industries/community/issues/470)).
- vim: fix `%` at the end of the line
([#682](https://github.com/zed-industries/community/issues/682)).
A few small tweaks to fix some of the community issues
Release Notes:
- vim: Fix `escape` in command palette
([#1347](https://github.com/zed-industries/community/issues/1347)).
- vim: Allow `^` as a motion in actions
([#856](https://github.com/zed-industries/community/issues/856)).
- vim: Allow `ctrl-c` to exit visual mode
([#1447](https://github.com/zed-industries/community/issues/1447)).
Conrad Irwin
created
da7dce7
Prevent duplicate instances by coordinating via a socket (#2691)
Click to expand commit body
We've been getting a bunch of panics from duplicate app instances
competing over the local sqlite DB. After chatting with @mikayla-maki we
determined it was probably best to add our own mechanism to prevent
duplicates rather than just relying on the OS. My logic is that we'd
need to build a system like this eventually for Windows/Linux anyway so
it's more appealing than reworking our local DB access to be able to
cooperate with another process while likely isn't something we want to
support anyway.
I attempted to keep this mechanism conservative so in the case of
another program interfering with it we should fail somewhat gracefully
and still continue to launch, albeit without the ability to prevent
another instance from launching.
Fixes
https://linear.app/zed-industries/issue/Z-2435/thread-background-executor-1-panicked-at-could-not-send-write-action
Release Notes:
- Added a mechanism to prevent duplicate Zed instances from launching to
avoid a crash.
abf3b4a
chore: Replace lazy_static Mutex with const. (#2693)
Click to expand commit body
Mutex::new() is const-stable as of Rust 1.63.
Release Notes:
- N/A
Piotr Osiewicz
created
79ece8a
Skip key down event if preceded by its key equivalent version (#2692)
Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-2552/pressing-two-keystrokes-in-rapid-succession-ignores-the-latter
Previously, we would only track whether the previous key down event was
a key equivalent. However, this could cause issues when pressing certain
keystrokes in rapid succession, e.g.:
- Pressing `shift-right` (to select a character, dispatched as a key
equivalent)
- Pressing a character (with or without `shift` held down, dispatched as
a key down)
This would cause GPUI to ignore the second event because it was preceded
by a key equivalent event. With this commit, we track the last key
equivalent event, and skip the key down event only if it matches the
last key equivalent event.
Release Notes:
- Fixed a bug that could cause certain keystrokes performed in rapid
succession to incorrectly get ignored.
Antonio Scandurra
created
318deed
Skip key down event if preceded by its key equivalent version
Click to expand commit body
Previously, we would only track whether the previous key down event
was a key equivalent. However, this could cause issues when pressing
certain keystrokes in rapid succession, e.g.:
- Pressing `shift-right` (to select a character)
- Pressing a character (with or without `shift` held down)
This would cause GPUI to ignore the second event because it was
preceded by a key equivalent event. With this commit, we track the
last key equivalent event, and skip the key down event only if it
matches the last key equivalent event.
6f1e988
updated embedding treesitter query for python
KCaverly
created
7d634f6
updated vector_store to include extra context for semantic search modal
KCaverly
created
4ab2b8b
Restart LSP server on corresponding `initialization_options` change (#2690)
Click to expand commit body
Inlay hints depend on LSP server settings, but servers do not update the
initialization options and query hints with old settings.
Generally, we cannot know whether a certain option can be changed
without server restart, which the name of the options implies too, so be
on the safe side and restart the server.
Hints will update automatically after the server either sends a /refresh
request or reports its work progress end after startup.
Release Notes:
- Fixed LSP server not restarting after `initialization_options`
settings changes
Kirill Bulatov
created
e6ec0af
Remove redundant hint kind checks in tests
Kirill Bulatov
created
fff6596
Restart LSP server on initialization options change
Kirill Bulatov
created
e57f6f2
reindexing update to appropriately accomodate for buffer delay and persistent pending files list
KCaverly
created
3ca0170
Z 1332/show search results in scrollbar (#2687)
Click to expand commit body
This PR adds highlighting of search results to the scrollbar.
Release Notes:
- Added highlighting of search results to the scrollbar.
Piotr Osiewicz
created
a86b6c4
corrected batching order and managed for open ai embedding errors
708852a
Clip left when finding preceding (line) boundary
Click to expand commit body
This fixes an issue that was causing `alt-left` to not move the cursor
when it was located right after an inlay hint with a `Left` bias.
Antonio Scandurra
created
348c93e
Show inlay hints on startup for every language server with work events (#2686)
Click to expand commit body
Closes https://linear.app/zed-industries/issue/Z-2537/inlay-hint-issues
Language servers such as typescript-language-servers report a single
work event, ending right after server's startup.
Other servers might send more similar event, also during startup. The
rest of the events are diagnostic-related and we filter them out.
React on such events with /refresh-like hint update, that will check
only the visible part of the editor for hints and might be replaced by
other /refresh requests, if needed.
Release Notes:
- N/A
Kirill Bulatov
created
5408275
Filter out non-json files when loading conversations
Antonio Scandurra
created
3e245fe
Save a flushing line instead of discarding it
b66453e
fixup! Do not render multiple hunks for the same line
Piotr Osiewicz
created
0b0a161
Show inlay hints on startup for every language server with work events
Click to expand commit body
Language servers such as typescript-language-servers report a single
work event, ending right after server's startup.
Other servers might send more similar event, also during startup.
The rest of the events are diagnostic-related and we filter them out.
React on such events with /refresh-like hint update, that will check
only the visible part of the editor for hints and might be replaced by
other /refresh requests, if needed.
Kirill Bulatov
created
492b849
Do not render multiple hunks for the same line
Piotr Osiewicz
created
8ced7ab
Merge branch 'main' into Z-1292/show_search_results_in_scrollbar
Piotr Osiewicz
created
c298cf7
Use less padding for typescript parameter hints (#2684)
Click to expand commit body
Part of https://linear.app/zed-industries/issue/Z-2537/inlay-hint-issues
Release Notes:
- N/A
Kirill Bulatov
created
1936bde
Use less padding for typescript parameter hints