@@ -158,6 +158,83 @@ impl Env {
158158 pub fn in_appimage ( & self ) -> bool {
159159 self . get_os ( "APPIMAGE" ) . is_some ( )
160160 }
161+
162+ // Q-specific environment variable methods
163+ pub fn q_fake_is_remote ( & self ) -> bool {
164+ self . get_os ( "Q_FAKE_IS_REMOTE" ) . is_some ( )
165+ }
166+
167+ pub fn q_log_level ( & self ) -> Result < String , VarError > {
168+ self . get ( "Q_LOG_LEVEL" )
169+ }
170+
171+ pub fn q_log_stdout ( & self ) -> bool {
172+ self . get_os ( "Q_LOG_STDOUT" ) . is_some ( )
173+ }
174+
175+ pub fn amazon_q_sigv4 ( & self ) -> bool {
176+ self . get ( "AMAZON_Q_SIGV4" ) . is_ok_and ( |v| !v. is_empty ( ) )
177+ }
178+
179+ pub fn amazon_q_chat_shell ( & self ) -> String {
180+ self . get ( "AMAZON_Q_CHAT_SHELL" ) . unwrap_or_else ( |_| "bash" . to_string ( ) )
181+ }
182+
183+ pub fn q_cli_client_application ( & self ) -> Result < String , VarError > {
184+ self . get ( "Q_CLI_CLIENT_APPLICATION" )
185+ }
186+
187+ pub fn q_parent ( & self ) -> Result < String , VarError > {
188+ self . get ( "Q_PARENT" )
189+ }
190+
191+ pub fn q_term ( & self ) -> Result < String , VarError > {
192+ self . get ( "Q_TERM" )
193+ }
194+
195+ pub fn q_using_zsh_autosuggestions ( & self ) -> bool {
196+ self . get_os ( "Q_USING_ZSH_AUTOSUGGESTIONS" ) . is_some ( )
197+ }
198+
199+ pub fn q_init_snapshot_test ( & self ) -> bool {
200+ self . get_os ( "Q_INIT_SNAPSHOT_TEST" ) . is_some ( )
201+ }
202+
203+ pub fn q_desktop_release_url ( & self ) -> Result < String , VarError > {
204+ self . get ( "Q_DESKTOP_RELEASE_URL" )
205+ }
206+
207+ pub fn q_inline_shell_completion_cache_enabled ( & self ) -> bool {
208+ self . get_os ( "Q_INLINE_SHELL_COMPLETION_CACHE_DISABLE" ) . is_none ( )
209+ }
210+
211+ pub fn q_inline_shell_completion_history_count ( & self ) -> Result < String , VarError > {
212+ self . get ( "Q_INLINE_SHELL_COMPLETION_HISTORY_COUNT" )
213+ }
214+
215+ pub fn q_inline_shell_completion_debounce_ms ( & self ) -> Result < String , VarError > {
216+ self . get ( "Q_INLINE_SHELL_COMPLETION_DEBOUNCE_MS" )
217+ }
218+
219+ pub fn q_backend ( & self ) -> Result < String , VarError > {
220+ self . get ( "Q_BACKEND" )
221+ }
222+
223+ pub fn q_prompt_offset_workaround ( & self ) -> Result < String , VarError > {
224+ self . get ( "Q_PROMPT_OFFSET_WORKAROUND" )
225+ }
226+
227+ pub fn q_use_sendmessage ( & self ) -> bool {
228+ self . get ( "Q_USE_SENDMESSAGE" ) . is_ok_and ( |v| !v. is_empty ( ) )
229+ }
230+
231+ pub fn q_custom_cert ( & self ) -> Result < String , VarError > {
232+ self . get ( "Q_CUSTOM_CERT" )
233+ }
234+
235+ pub fn has_q_parent ( & self ) -> bool {
236+ self . q_parent ( ) . is_ok ( )
237+ }
161238}
162239
163240impl Default for Env {
0 commit comments