def ensure_lldb_is_running(cls, w=None): """Returns True if lldb is running (we don't care if we started it or not). Returns False on error""" # Ensure we reflect any changes to saved settings (including project settings) # reload_settings() if not w and window_ref(): w = window_ref() else: # We're redefining the default window. set_window_ref(w) if driver_instance() is None: sm = SettingsManager.getSM() clear_view_on_startup = sm.get_default('i/o.view.clear_on_startup', True) if clear_view_on_startup: LLDBLayoutManager.clear_view(lldb_out_view()) if not cls.start_debugging(w): return False set_ui_updater(LLDBUIUpdater()) g = cls.lldb_greeting() if lldb_out_view().size() > 0: g = '\n\n' + cls.lldb_greeting() lldb_view_write(g) lldb_view_write('cwd: ' + os.getcwd() + '\n') w.set_view_index(lldb_out_view(), 1, 0) cls.debug_prologue(driver_instance()) return True return True
def set_lldb_window_layout(cls, window=window_ref()): sm = SettingsManager.getSM() lldb_window_layout = sm.get_default('layout', _default_lldb_window_layout) if lldb_out_view() != None and window.num_groups() != len( lldb_window_layout['cells']): window.run_command('set_layout', lldb_window_layout)
def lldb_toggle_output_view(cls, window, show=False, hide=False): """ Toggles the lldb output view visibility. if show=True: force showing the view; if hide=True: force hiding the view; Otherwise: Toggle view visibility. """ # TODO: Set the input_panel syntax to 'lldb command' # Just show the window. v = lldb_out_view() if v: if show: if not cls.good_lldb_layout(window=window): cls.set_lldb_window_layout(window=window) window.set_view_index(v, 1, 0) elif hide: cls.set_regular_window_layout(window=window) elif not cls.good_lldb_layout(window=window): cls.set_lldb_window_layout(window=window) window.set_view_index(v, 1, 0) else: cls.set_regular_window_layout(window=window)
def setup(self): if lldb_out_view() is None: sm = SettingsManager.getSM() view_name = sm.get_default('i/o.view.name', default_lldb_view_name) set_lldb_out_view(get_lldb_output_view( self.window, view_name)) # for lldb output
def run(self): self.setup() LLDBLayoutManager.clear_view(lldb_out_view())
def setup(self): if lldb_out_view() is None: sm = SettingsManager.getSM() view_name = sm.get_default('i/o.view.name', default_lldb_view_name) set_lldb_out_view(get_lldb_output_view(self.window, view_name)) # for lldb output
def set_lldb_window_layout(cls, window=window_ref()): sm = SettingsManager.getSM() lldb_window_layout = sm.get_default('layout', _default_lldb_window_layout) if lldb_out_view() != None and window.num_groups() != len(lldb_window_layout['cells']): window.run_command('set_layout', lldb_window_layout)