-
Notifications
You must be signed in to change notification settings - Fork 0
/
panes_manager.py
34 lines (28 loc) · 1.26 KB
/
panes_manager.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from sublime import Window, View
from .constants import BUILD_PANE, WARNING_PANE
class PaneManager:
@staticmethod
def get_build_pane(window: Window) -> View:
return window.find_output_panel(BUILD_PANE) or window.create_output_panel(BUILD_PANE)
@staticmethod
def get_log_navigation_pane(window: Window) -> View:
return window.find_output_panel(WARNING_PANE) or window.create_output_panel(WARNING_PANE)
@staticmethod
def show_warining_pane(window: Window):
window.run_command("show_panel", {"panel": f"output.{WARNING_PANE}"})
@staticmethod
def clear_build_pane(window: Window):
build_pane = PaneManager.get_build_pane(window=window)
build_pane.set_read_only(False)
build_pane.run_command('select_all')
build_pane.run_command('right_delete')
build_pane.set_read_only(True)
def setup_with(self: View, file_regex: str):
self.settings().set("result_file_regex", file_regex)
self.settings().set("word_wrap", True)
self.settings().set("line_numbers", True)
self.settings().set("gutter", True)
self.settings().set("word_wrap", True)
self.settings().set("scroll_past_end", False)
## Oh, for fuck sake, seriously, this is a type extention in Python?
View.setup_with = setup_with