Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Find a file
Vishal Bhavsar 31e9526544
vim: Add support for moving to first, middle and last visible lines (H, L, M) (#6919)
This change implements the vim
[motion](https://github.com/vim/vim/blob/master/runtime/doc/motion.txt)
commands to move the cursor to the top, middle and bottom of the visible
view. This feature is requested in
https://github.com/zed-industries/zed/issues/4941.

This change takes inspiration from
[crates/vim/src/normal/scroll.rs](https://github.com/zed-industries/zed/blob/main/crates/vim/src/normal/scroll.rs).

A note on the behavior of these commands: Because
`NeovimBackedTestContext` requires compatibility with nvim, the current
implementation causes slightly non-standard behavior: it causes the
editor to scroll a few lines. The standard behavior causes no scrolling.
It is easy enough to account for the margin by adding
`VERTICAL_SCROLL_MARGIN`. However, doing so will cause test failures due
to the disparity between nvim and zed states. Perhaps
`NeovimBackedTestContext` should have a switch to be more tolerant for
such cases.

Release Notes:

- Added support for moving to top, middle and bottom of the screen in
vim mode (`H`, `M`, and `L`)
([#4941](https://github.com/zed-industries/zed/issues/4941)).
2024-01-29 20:58:24 -07:00
.cargo Remove 2 suffix from gpui_macros, fix compile errors in tests 2024-01-03 13:12:21 -08:00
.config
.github Setup Danger (#6994) 2024-01-29 11:58:24 -05:00
.zed Use auto formatter settings for Zed repo. 2024-01-12 12:00:18 +02:00
assets vim: Add support for moving to first, middle and last visible lines (H, L, M) (#6919) 2024-01-29 20:58:24 -07:00
crates vim: Add support for moving to first, middle and last visible lines (H, L, M) (#6919) 2024-01-29 20:58:24 -07:00
docs docs: Update configuring_zed__key_bindings.md (#6974) 2024-01-29 14:08:12 +02:00
plugins
script Build media and live-kit in test-mode on non-MacOS (#6859) 2024-01-29 18:04:15 -08:00
.dockerignore Add serialized versions of themes (#6885) 2024-01-27 13:35:43 -05:00
.gitignore Add serialized versions of themes (#6885) 2024-01-27 13:35:43 -05:00
.gitmodules
.mailmap Sort .mailmap alphabetically (#6711) 2024-01-25 09:51:47 -05:00
Cargo.lock Add support for loading user themes (#7027) 2024-01-29 21:32:45 -05:00
Cargo.toml Add PureScript LSP/Highlighting support (#6911) 2024-01-28 17:44:50 -05:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md (#4239) 2024-01-23 22:31:39 -05:00
CONTRIBUTING.md Style crate names in CONTRIBUTING.md (#6939) 2024-01-28 11:07:37 -05:00
debug.plist
docker-compose.sql
docker-compose.yml
Dockerfile
LICENSE-AGPL chore: Add crate licenses. (#4158) 2024-01-23 16:56:22 +01:00
LICENSE-APACHE chore: Add crate licenses. (#4158) 2024-01-23 16:56:22 +01:00
LICENSE-GPL Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535) 2024-01-27 13:51:16 +01:00
Procfile Update procfile and local development docs, zed.dev is no longer needed 2024-01-17 13:28:58 -08:00
README.md Add installation instructions to README (#6870) 2024-01-27 09:54:13 -05:00
rust-toolchain.toml Remove redundant install Rust steps 2024-01-11 14:11:13 +02:00
typos.toml Fix typos configuration (#6877) 2024-01-27 11:03:25 -05:00

Zed

CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Installation

You can download Zed today for macOS (v10.15+).

Support for additional platforms is on our roadmap:

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Licensing

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.