This is broken because vim currently sets settings only on the active
editor. Fix this by correcting the range on the currently active editor.
It would be nice (at some point) to refactor how vim sets settings, but
that's for another day.
View handles are window specific but the Vim global will be doing things
in all windows, that would cause a panic when Vim attempted to update a
status bar mode indicator in a background window
Release Notes:
- N/A
View handles are window specific but this global will be doing things
in all windows, that would cause a panic when it attempted to update
a status bar mode indicator in a background window
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
This will potentially fix a number of Alacritty related panics, however
it is tricky to figure out which ones in particular will be impacted for
sure. We've said we were going to do this for a while but with the
constant trickle of panics it seemed reasonable to just go and do it
Release Notes:
- Fixed a few potential terminal related crashes.
Our dependency on `tree-sitter-cpp` got upgraded to an incompatible
version despite semver 'guarantees'. This pins the dependency onto the
commit of version 0.20.0
Release Notes:
- Restored language detection for C++ (preview-only)
This should be a purely internal change. Let me know if any visual
changes are observed from this!
### Syntax theme
- Update the theme to allow any syntax highlighting property used in any
`highlight.scm` to be styled
- Only define syntax styles that are baked into the default theme &
don't use the default text style
- Adds the `generate-syntax` command
- Removes a few unused properties that we were styling for some reason,
like `enum` and `variant`, neither of which exist in any `highlight.scm`
- Moves `@constructor` symbols to `@method.constructor` to prevent
issues with `constructor` being a reserved property in ts/js.
Syntax is now build as the theme is created rather than as part of the
styleTree. This means it no longer requires a compiled `Theme`, which
makes things a bit more straightforward if we need to access it in other
components that should be built before the styleTrees.
### Scheme
Also updates all uses of `#match` in our `highlights.scm` files, as
these break the scheme tree-sitter query. This fixes _most_ instances of
our scheme highlighting breaking.
For some reason something in here breaks the `highlights.scm` for PHP:
```scheme
((name) @constant.builtin
(.match? @constant.builtin "^__[A-Z][A-Z\d_]+__$"))
((name) @method.constructor
(.match? @method.constructor "^[A-Z]"))
((name) @variable.builtin
(.eq? @variable.builtin "this"))
```
Release Notes:
- No public facing changes
This fixes a bug that could cause the cursor to incorrectly report its
start when using `slice` or `seek_forward`, and then calling `prev`. We
didn't notice this because we were not testing those three methods
together.
I suppose this could explain some of the panics we've observed because
we do use `slice`/`seek_forward` followed by `prev` calls in production.
This fixes a bug that could cause the cursor to incorrectly report its
start when using `slice` or `seek_forward`, and then calling `prev`. We
didn't notice this because we were not testing those three methods
together.
I suppose this could explain some of the panics we've observed because
we do use `slice`/`seek_forward` followed by `prev` calls in production.
The tree sitter elm parser contains a c symbol which collides with other
linked symbols. This PR downgrades the tree sitter elm parser to a
version which doesn't have this problem.
Release Notes:
- Fixed crash when parsing elm files
In https://github.com/zed-industries/zed/pull/2790 I added an extra drag
event on mouse_up which signaled the end of a drag event, as mouse_up
event themselves wouldn't reliably fire if users moved their mouse too
quickly. This broke the assumptions of the terminal element. This PR
adds filters to all current on_drag handlers which removes this new
event.
Release Notes:
- Fixed a bug causing terminal links to never open (preview only)
- Fixed a bug in terminal link detection causing it to miss files with a
`-` in it