|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
From 19996e8fdf180260ff618479ff163cbc4ecfc23c Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
From: Igor Raits <i.gnatenko.brain@gmail.com>
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
Date: Sun, 21 Jun 2020 10:16:03 +0200
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
Subject: [PATCH] Siwtch to path-absolutize
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
This reverts commit bd17fd571f99d52b4d76a24aee719dcd89a0244d.
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
---
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
Cargo.toml | 2 +-
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
src/assets.rs | 8 +++-----
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
2 files changed, 4 insertions(+), 6 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
diff --git a/Cargo.toml b/Cargo.toml
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
index 949375b..53804d2 100644
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
--- a/Cargo.toml
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
+++ b/Cargo.toml
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
@@ -51,7 +51,7 @@ globset = "0.4"
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
serde = { version = "1.0", features = ["derive"] }
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
serde_yaml = "0.8"
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
semver = "0.10"
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
-path_abs = { version = "0.5", default-features = false }
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
+path-absolutize = { version = "3", features = ["lazy_static_cache"] }
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
[dependencies.git2]
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
version = "0.13"
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
diff --git a/src/assets.rs b/src/assets.rs
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
index 86c3fe0..3899d7c 100644
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
--- a/src/assets.rs
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
+++ b/src/assets.rs
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
@@ -1,3 +1,4 @@
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
+use std::borrow::Cow;
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
use std::collections::BTreeMap;
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
use std::ffi::OsStr;
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
use std::fs::{self, File};
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
@@ -8,7 +9,7 @@ use syntect::dumps::{dump_to_file, from_binary, from_reader};
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
use syntect::highlighting::{Theme, ThemeSet};
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
use syntect::parsing::{SyntaxReference, SyntaxSet, SyntaxSetBuilder};
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
-use path_abs::PathAbs;
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
+use path_absolutize::Absolutize;
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
use crate::assets_metadata::AssetsMetadata;
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
use crate::error::*;
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
@@ -216,10 +217,7 @@ impl HighlightingAssets {
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
if let Some(path_str) = path_str {
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
// If a path was provided, we try and detect the syntax based on extension mappings.
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
let path = Path::new(path_str);
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
- let absolute_path = PathAbs::new(path)
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
- .ok()
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
- .map(|p| p.as_path().to_path_buf())
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
- .unwrap_or_else(|| path.to_owned());
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
+ let absolute_path = path.absolutize().unwrap_or(Cow::Borrowed(path));
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
match mapping.get_syntax_for(absolute_path) {
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
Some(MappingTarget::MapToUnknown) => line_syntax.ok_or_else(|| {
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
--
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
2.27.0
|
|
![](https://seccdn.libravatar.org/avatar/522f0859d72d8d86c8d610f3d46a8d3efe6fd2fe35ddd2512e51a8506ba62906?s=16&d=retro) |
ddcc744 |
|