diff --git a/book/src/commands.md b/book/src/commands.md index 8a6ba8bdb..bd7f822cf 100644 --- a/book/src/commands.md +++ b/book/src/commands.md @@ -10,13 +10,14 @@ Helix provides several variables that can be used when typing commands or creati | Variable | Description | | --- | --- | | `%{basename}` | The name and extension of the currently focused file. | +| `%{dirname}` | The absolute path of the parent directory of the currently focused file. | +| `%{cwd}` | The absolute path of the current working directory of Helix. | +| `%{git_repo}` | The absolute path of the git repository helix is opened in. Fallback to `cwd` if not inside a git repository| | `%{filename}` | The absolute path of the currently focused file. | -| `%{filename:rel}` | The relative path of the file according to the current working directory (will give absolute path if the file is not a child of the current working directory) | -| `%{filename:git_rel}` | The relative path of the file according to the git repo, or current working directory if not inside a git repo. (will give absolute path if the file is not a child of the git directory or the cwd) | +| `%{filename:rel}` | The relative path of the file according to `cwd` (will give absolute path if the file is not a child of the current working directory) | +| `%{filename:git_rel}` | The relative path of the file according to `git_repo` (will give absolute path if the file is not a child of the git directory or the cwd) | | `%{ext}` | The extension of the current file | | `%{lang}` | The language of the current file | -| `%{dirname}` | The absolute path of the parent directory of the currently focused file. | -| `%{cwd}` | The absolute path of the current working directory of Helix. | | `%{linenumber}` | The line number where the primary cursor is positioned. | | `%{cursorcolumn}` | The position of the primary cursor inside the current line. | | `%{selection}` | The text selected by the primary cursor. | diff --git a/helix-view/src/editor/variable_expansion.rs b/helix-view/src/editor/variable_expansion.rs index 8accfb064..85985a177 100644 --- a/helix-view/src/editor/variable_expansion.rs +++ b/helix-view/src/editor/variable_expansion.rs @@ -78,6 +78,11 @@ impl Editor { .and_then(std::path::Path::to_str) .unwrap_or(crate::document::SCRATCH_BUFFER_NAME) .to_owned(), + "git_repo" => helix_loader::find_workspace() + .0 + .to_str() + .unwrap_or("") + .to_owned(), "cwd" => helix_stdx::env::current_working_dir() .to_str() .unwrap()