mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'synis/better-path-autocomplete' into 'master'
path-autocomplete See merge request veloren/veloren!4342
This commit is contained in:
commit
e002ed2a84
@ -49,6 +49,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Added reworked dungeon: Haniwa Catacombs
|
||||
- Added dungeon: Terracotta Ruins
|
||||
- Sand and crystal cave biome
|
||||
- In commands that reference assets you can now use `#name` and press tab to cycle through assets with that name.
|
||||
|
||||
### Changed
|
||||
|
||||
|
@ -597,15 +597,23 @@ impl TabComplete for ArgumentSpec {
|
||||
.map(|c| c.to_string())
|
||||
.collect(),
|
||||
ArgumentSpec::AssetPath(_, prefix, paths, _) => {
|
||||
let part_with_prefix = prefix.to_string() + part;
|
||||
let depth = part_with_prefix.split('.').count();
|
||||
paths
|
||||
.iter()
|
||||
.map(|path| path.as_str().split('.').take(depth).join("."))
|
||||
.dedup()
|
||||
.filter(|string| string.starts_with(&part_with_prefix))
|
||||
.filter_map(|c| Some(c.strip_prefix(prefix)?.to_string()))
|
||||
.collect()
|
||||
if let Some(part_stripped) = part.strip_prefix('#') {
|
||||
paths
|
||||
.iter()
|
||||
.filter(|string| string.contains(part_stripped))
|
||||
.filter_map(|c| Some(c.strip_prefix(prefix)?.to_string()))
|
||||
.collect()
|
||||
} else {
|
||||
let part_with_prefix = prefix.to_string() + part;
|
||||
let depth = part_with_prefix.split('.').count();
|
||||
paths
|
||||
.iter()
|
||||
.map(|path| path.as_str().split('.').take(depth).join("."))
|
||||
.dedup()
|
||||
.filter(|string| string.starts_with(&part_with_prefix))
|
||||
.filter_map(|c| Some(c.strip_prefix(prefix)?.to_string()))
|
||||
.collect()
|
||||
}
|
||||
},
|
||||
ArgumentSpec::Boolean(_, part, _) => ["true", "false"]
|
||||
.iter()
|
||||
|
Loading…
Reference in New Issue
Block a user