mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Better API
This commit is contained in:
parent
4bed588001
commit
17870a3e2c
8 changed files with 64 additions and 24 deletions
|
@ -49,6 +49,16 @@ impl VfsPath {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn file_name_and_extension(&self) -> Option<(&str, &str)> {
|
||||
match &self.0 {
|
||||
VfsPathRepr::PathBuf(p) => p
|
||||
.file_stem()
|
||||
.zip(p.extension())
|
||||
.and_then(|(name, extension)| Some((name.to_str()?, extension.to_str()?))),
|
||||
VfsPathRepr::VirtualPath(p) => p.file_name_and_extension(),
|
||||
}
|
||||
}
|
||||
|
||||
// Don't make this `pub`
|
||||
pub(crate) fn encode(&self, buf: &mut Vec<u8>) {
|
||||
let tag = match &self.0 {
|
||||
|
@ -268,4 +278,9 @@ impl VirtualPath {
|
|||
res.0 = format!("{}/{}", res.0, path);
|
||||
Some(res)
|
||||
}
|
||||
|
||||
pub fn file_name_and_extension(&self) -> Option<(&str, &str)> {
|
||||
// TODO kb check if is a file
|
||||
Some(("test_mod_1", "rs"))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue