Change summary
crates/terminal/src/terminal.rs | 2 +-
crates/terminal_view/src/terminal_view.rs | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
Detailed changes
@@ -76,7 +76,7 @@ lazy_static! {
// Regex Copied from alacritty's ui_config.rs
static ref URL_REGEX: RegexSearch = RegexSearch::new(r#"(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file://|git://|ssh:|ftp://)[^\u{0000}-\u{001F}\u{007F}-\u{009F}<>"\s{-}\^⟨⟩`]+"#).unwrap();
- static ref WORD_REGEX: RegexSearch = RegexSearch::new("[\\w.:/@-]+").unwrap();
+ static ref WORD_REGEX: RegexSearch = RegexSearch::new("[\\w.:/@-~]+").unwrap();
}
///Upward flowing events, for changing the title and such
@@ -425,6 +425,16 @@ fn possible_open_targets(
let maybe_path = path_like.path_like;
let potential_abs_paths = if maybe_path.is_absolute() {
vec![maybe_path]
+ } else if maybe_path.starts_with("~") {
+ if let Some(abs_path) = maybe_path
+ .strip_prefix("~")
+ .ok()
+ .and_then(|maybe_path| Some(dirs::home_dir()?.join(maybe_path)))
+ {
+ vec![abs_path]
+ } else {
+ Vec::new()
+ }
} else if let Some(workspace) = workspace.upgrade(cx) {
workspace.update(cx, |workspace, cx| {
workspace