forked from 1b-agent/opencadstudio-upstream
feat(view): -VIEW orthographic UCS, sEttings and Window like the reference
An orthographic preset sets its orthographic UCS while UCSORTHO is on (*FRONT*, *RIGHT*, …; TOP returns to the world UCS); presets no longer flip to the opposite view when repeated. -VIEW runs as its own command: Window asks for the name and corners, sEttings loops over Background, Categorize, Layer snapshot, live Section, Ucs and Visual style with the reference prompts and messages, Save keeps the UCS with the view while UCSVIEW is on and Restore brings it back. UCSORTHO and UCSVIEW are profile variables. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
62ff1daade
commit
cfe64ae6a4
10 files changed
+945
-127
No files matched your search
@@ -642,9 +642,6 @@ pub struct KeywordCommand {
|
||||
/// Keyword a bare Enter dispatches at the verb step (`<Default>` prompts,
|
||||
/// e.g. PLAN's `<Current>`). `None` = Enter cancels, as before.
|
||||
default: Option<&'static str>,
|
||||
/// Keywords taken at the verb step without being offered in the prompt
|
||||
/// (-VIEW's view presets).
|
||||
hidden: &'static [&'static str],
|
||||
}
|
||||
|
||||
impl KeywordCommand {
|
||||
@@ -654,12 +651,6 @@ impl KeywordCommand {
|
||||
self
|
||||
}
|
||||
|
||||
/// Keywords accepted at the verb step but not listed in the prompt.
|
||||
pub fn with_hidden(mut self, keywords: &'static [&'static str]) -> Self {
|
||||
self.hidden = keywords;
|
||||
self
|
||||
}
|
||||
|
||||
pub fn new(
|
||||
name: &'static str,
|
||||
prompt: &'static str,
|
||||
@@ -671,7 +662,6 @@ impl KeywordCommand {
|
||||
options,
|
||||
pending: None,
|
||||
default: None,
|
||||
hidden: &[],
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -746,9 +736,6 @@ impl CadCommand for KeywordCommand {
|
||||
None => {
|
||||
// A leading underscore marks the English keyword, as in scripts.
|
||||
let t = t.strip_prefix('_').unwrap_or(t);
|
||||
if let Some(keyword) = self.hidden.iter().find(|keyword| keyword.eq_ignore_ascii_case(t)) {
|
||||
return Some(CmdResult::Dispatch(format!("{} {keyword}", self.name)));
|
||||
}
|
||||
let Some((_, keyword, value_prompt)) = match_cmd_option(&self.options, t) else {
|
||||
// Unknown verb — keep prompting rather than dispatch garbage.
|
||||
return Some(CmdResult::NeedPoint);
|
||||
|
||||
Reference in new issue
Block a user