Document git permalinks (GitHub, Gitlab, Bitbucket, SourceHut, Codeberg, etc) (#15113)

- Docs: Added "Copy Permalink to Line" and "Open Permalink to Line"
This commit is contained in:
Peter Tripp 2024-07-25 09:39:57 -04:00 committed by GitHub
parent 8631180e43
commit 6998c03c59
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 37 additions and 0 deletions

View file

@ -134,6 +134,7 @@ impl ExtensionFilter {
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)]
enum Feature { enum Feature {
Git, Git,
OpenIn,
Vim, Vim,
LanguageBash, LanguageBash,
LanguageC, LanguageC,
@ -150,6 +151,19 @@ fn keywords_by_feature() -> &'static BTreeMap<Feature, Vec<&'static str>> {
KEYWORDS_BY_FEATURE.get_or_init(|| { KEYWORDS_BY_FEATURE.get_or_init(|| {
BTreeMap::from_iter([ BTreeMap::from_iter([
(Feature::Git, vec!["git"]), (Feature::Git, vec!["git"]),
(
Feature::OpenIn,
vec![
"github",
"gitlab",
"bitbucket",
"codeberg",
"sourcehut",
"permalink",
"link",
"open in",
],
),
(Feature::Vim, vec!["vim"]), (Feature::Vim, vec!["vim"]),
(Feature::LanguageBash, vec!["sh", "bash"]), (Feature::LanguageBash, vec!["sh", "bash"]),
(Feature::LanguageC, vec!["c", "clang"]), (Feature::LanguageC, vec!["c", "clang"]),
@ -957,6 +971,11 @@ impl ExtensionsPage {
"Zed comes with basic Git support. More Git features are coming in the future.", "Zed comes with basic Git support. More Git features are coming in the future.",
) )
.docs_url("https://zed.dev/docs/git"), .docs_url("https://zed.dev/docs/git"),
Feature::OpenIn => FeatureUpsell::new(
telemetry,
"Zed supports linking to a source line on GitHub and others.",
)
.docs_url("https://zed.dev/docs/git#git-integrations"),
Feature::Vim => FeatureUpsell::new(telemetry, "Vim support is built-in to Zed!") Feature::Vim => FeatureUpsell::new(telemetry, "Vim support is built-in to Zed!")
.docs_url("https://zed.dev/docs/vim") .docs_url("https://zed.dev/docs/vim")
.child(CheckboxWithLabel::new( .child(CheckboxWithLabel::new(

View file

@ -8,3 +8,21 @@ Zed currently supports the following Git features:
- Git blame viewing - Git blame viewing
More advanced Git features—like staging and committing changes or viewing history within Zed—will be coming in the future. More advanced Git features—like staging and committing changes or viewing history within Zed—will be coming in the future.
## Git Integrations
Zed integrates with popular Git hosting services to ensure that git commit hashes
and references to Issues / Pull Requests / Merge Requests become clickable links.
Zed currently support links to
[GitHub.com](https://github.com),
[GitLab.com](https://gitlab.com),
[Bitbucket.org](https://bitbucket.org),
[SourceHut.org](https://sr.ht) and
[Codeberg.org](https://codeberg.org).
Zed also has a Copy Permalink feature to create a permanent link to a code snippet on your Git hosting service.
These links are useful for sharing a specific line or range of lines in a file at a specific commit.
Trigger this action via the [Command Palette](/docs/#command-palette) (search for `permalink`),
by creating a [custom key bindings](/docs/key-bindings#custom-key-bindings) to the
`editor::CopyPermalinkToLine` or `editor::OpenPermalinkToLine` actions
or by simply right clicking and selecting `Copy Permalink` with line(s) selected in your editor.