# {py:mod}`simvx.ide.state` ```{py:module} simvx.ide.state ``` ```{autodoc2-docstring} simvx.ide.state :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`Diagnostic ` - ```{autodoc2-docstring} simvx.ide.state.Diagnostic :summary: ``` * - {py:obj}`IDEState ` - ```{autodoc2-docstring} simvx.ide.state.IDEState :summary: ``` ```` ### API `````{py:class} Diagnostic :canonical: simvx.ide.state.Diagnostic ```{autodoc2-docstring} simvx.ide.state.Diagnostic ``` ````{py:attribute} path :canonical: simvx.ide.state.Diagnostic.path :type: str :value: > None ```{autodoc2-docstring} simvx.ide.state.Diagnostic.path ``` ```` ````{py:attribute} line :canonical: simvx.ide.state.Diagnostic.line :type: int :value: > None ```{autodoc2-docstring} simvx.ide.state.Diagnostic.line ``` ```` ````{py:attribute} col_start :canonical: simvx.ide.state.Diagnostic.col_start :type: int :value: > None ```{autodoc2-docstring} simvx.ide.state.Diagnostic.col_start ``` ```` ````{py:attribute} col_end :canonical: simvx.ide.state.Diagnostic.col_end :type: int :value: > None ```{autodoc2-docstring} simvx.ide.state.Diagnostic.col_end ``` ```` ````{py:attribute} severity :canonical: simvx.ide.state.Diagnostic.severity :type: int :value: > None ```{autodoc2-docstring} simvx.ide.state.Diagnostic.severity ``` ```` ````{py:attribute} message :canonical: simvx.ide.state.Diagnostic.message :type: str :value: > None ```{autodoc2-docstring} simvx.ide.state.Diagnostic.message ``` ```` ````{py:attribute} source :canonical: simvx.ide.state.Diagnostic.source :type: str :value: ```{autodoc2-docstring} simvx.ide.state.Diagnostic.source ``` ```` ````{py:attribute} code :canonical: simvx.ide.state.Diagnostic.code :type: str :value: ```{autodoc2-docstring} simvx.ide.state.Diagnostic.code ``` ```` ````` `````{py:class} IDEState(*, file_opened: simvx.core.Signal | None = None, file_closed: simvx.core.Signal | None = None, file_saved: simvx.core.Signal | None = None, active_file_changed: simvx.core.Signal | None = None) :canonical: simvx.ide.state.IDEState Bases: {py:obj}`simvx.core.file_state.FileStateMixin` ```{autodoc2-docstring} simvx.ide.state.IDEState ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.ide.state.IDEState.__init__ ``` ````{py:property} project_root :canonical: simvx.ide.state.IDEState.project_root :type: str ```{autodoc2-docstring} simvx.ide.state.IDEState.project_root ``` ```` ````{py:property} active_file :canonical: simvx.ide.state.IDEState.active_file :type: str ```{autodoc2-docstring} simvx.ide.state.IDEState.active_file ``` ```` ````{py:property} cursor_line :canonical: simvx.ide.state.IDEState.cursor_line :type: int ```{autodoc2-docstring} simvx.ide.state.IDEState.cursor_line ``` ```` ````{py:property} cursor_col :canonical: simvx.ide.state.IDEState.cursor_col :type: int ```{autodoc2-docstring} simvx.ide.state.IDEState.cursor_col ``` ```` ````{py:method} set_cursor(line: int, col: int) :canonical: simvx.ide.state.IDEState.set_cursor ```{autodoc2-docstring} simvx.ide.state.IDEState.set_cursor ``` ```` ````{py:method} set_diagnostics(path: str, diagnostics: list[simvx.ide.state.Diagnostic]) :canonical: simvx.ide.state.IDEState.set_diagnostics ```{autodoc2-docstring} simvx.ide.state.IDEState.set_diagnostics ``` ```` ````{py:method} get_diagnostics(path: str) -> list[simvx.ide.state.Diagnostic] :canonical: simvx.ide.state.IDEState.get_diagnostics ```{autodoc2-docstring} simvx.ide.state.IDEState.get_diagnostics ``` ```` ````{py:method} get_all_diagnostics() -> dict[str, list[simvx.ide.state.Diagnostic]] :canonical: simvx.ide.state.IDEState.get_all_diagnostics ```{autodoc2-docstring} simvx.ide.state.IDEState.get_all_diagnostics ``` ```` ````{py:method} toggle_breakpoint(path: str, line: int) :canonical: simvx.ide.state.IDEState.toggle_breakpoint ```{autodoc2-docstring} simvx.ide.state.IDEState.toggle_breakpoint ``` ```` ````{py:method} get_breakpoints(path: str) -> set[int] :canonical: simvx.ide.state.IDEState.get_breakpoints ```{autodoc2-docstring} simvx.ide.state.IDEState.get_breakpoints ``` ```` ````{py:method} get_all_breakpoints() -> dict[str, set[int]] :canonical: simvx.ide.state.IDEState.get_all_breakpoints ```{autodoc2-docstring} simvx.ide.state.IDEState.get_all_breakpoints ``` ```` ````{py:method} toggle_bookmark(path: str, line: int) :canonical: simvx.ide.state.IDEState.toggle_bookmark ```{autodoc2-docstring} simvx.ide.state.IDEState.toggle_bookmark ``` ```` ````{py:method} get_bookmarks(path: str) -> set[int] :canonical: simvx.ide.state.IDEState.get_bookmarks ```{autodoc2-docstring} simvx.ide.state.IDEState.get_bookmarks ``` ```` ````{py:method} get_all_bookmarks() -> dict[str, set[int]] :canonical: simvx.ide.state.IDEState.get_all_bookmarks ```{autodoc2-docstring} simvx.ide.state.IDEState.get_all_bookmarks ``` ```` ````{py:method} push_cursor_history(path: str, line: int, col: int = 0) :canonical: simvx.ide.state.IDEState.push_cursor_history ```{autodoc2-docstring} simvx.ide.state.IDEState.push_cursor_history ``` ```` ````{py:method} history_back() -> tuple[str, int, int] | None :canonical: simvx.ide.state.IDEState.history_back ```{autodoc2-docstring} simvx.ide.state.IDEState.history_back ``` ```` ````{py:method} history_forward() -> tuple[str, int, int] | None :canonical: simvx.ide.state.IDEState.history_forward ```{autodoc2-docstring} simvx.ide.state.IDEState.history_forward ``` ```` ````{py:method} goto(path: str, line: int, col: int = 0) :canonical: simvx.ide.state.IDEState.goto ```{autodoc2-docstring} simvx.ide.state.IDEState.goto ``` ```` ````{py:method} relative_path(path: str) -> str :canonical: simvx.ide.state.IDEState.relative_path ```{autodoc2-docstring} simvx.ide.state.IDEState.relative_path ``` ```` `````