コード例 #1
0
	def __init__(self, window: sublime.Window, name: str) -> None:
		self.header_text = ""
		self.name = name
		self.window = window

		self.view = window.create_output_panel(name)
		self.show()

		# we need enough space to place our phantoms in increasing regions (1, 1), (1, 2)... etc
		# otherwise they will get reordered when one of them gets redrawn
		# we use new lines so we don't have extra space on the rhs
		self.view.run_command('insert', {
			'characters': _phantom_text
		})
		settings = self.view.settings()
		settings.set("margin", 0)
		settings.set('line_padding_top', 0)
		settings.set('gutter', False)
		settings.set('word_wrap', False)
		settings.set('line_spacing', 0)
		settings.set('context_menu', 'Widget Debug.sublime-menu')

		self.view.sel().clear()
		self.hack_to_get_view_to_not_freak_out_when_you_click_on_the_edge()

		OutputPhantomsPanel.panels[self.window.id()] = self
コード例 #2
0
ファイル: panels.py プロジェクト: saagarjha/LSP
def create_output_panel(window: sublime.Window,
                        name: str) -> Optional[sublime.View]:
    panel = window.create_output_panel(name)
    settings = panel.settings()
    for key, value in OUTPUT_PANEL_SETTINGS.items():
        settings.set(key, value)
    return panel
コード例 #3
0
	def __init__(self, window: sublime.Window, name: str) -> None:
		self.header_text = ""
		self.name = name
		self.window = window

		self.view = window.create_output_panel(name)
		self.show()

		# we need enough space to place our phantoms in increasing regions (1, 1), (1, 2)... etc
		# otherwise they will get reordered when one of them gets redrawn
		# we use new lines so we don't have extra space on the rhs
		self.view.run_command('debug_output_phantoms_panel_setup')
		settings = self.view.settings()
		# cover up the addition space we added during the insert
		# the additional space is so we can have an input bar at the top of the debugger
		# removes some additional padding on the top of the view
		settings.set("margin", 0)
		settings.set('line_padding_top', PADDING_TOP_COMMAND_HIDE)
		settings.set('line_padding_bottom', -3)
		settings.set('gutter', False)
		settings.set('word_wrap', False)
		settings.set('line_spacing', 0)
		settings.set('context_menu', 'Widget Debug.sublime-menu')
		self.view.sel().clear()
		self.hack_to_get_view_to_not_freak_out_when_you_click_on_the_edge()

		self.input_handler = None #type: Optional[PanelInputHandler]
		OutputPhantomsPanel.panels[self.view.id()] = self
		self.promptPhantom = ui.Phantom(CommandPrompComponent(""), self.view, sublime.Region(1, 1))
コード例 #4
0
ファイル: references.py プロジェクト: urschrei/LSP
def create_references_panel(window: sublime.Window):
    panel = create_output_panel(window, "references")
    panel.settings().set("result_file_regex",
                         r"^\s+\S\s+(\S.+)\s+(\d+):?(\d+)$")
    panel.assign_syntax("Packages/" + PLUGIN_NAME +
                        "/Syntaxes/References.sublime-syntax")
    # Call create_output_panel a second time after assigning the above
    # settings, so that it'll be picked up as a result buffer
    # see: Packages/Default/exec.py#L228-L230
    panel = window.create_output_panel("references")
    return panel
コード例 #5
0
ファイル: references.py プロジェクト: Kronuz/SublimeCodeIntel
def create_references_panel(window: sublime.Window):
    panel = create_output_panel(window, "references")
    panel.settings().set("result_file_regex",
                         r"^\s+\S\s+(\S.+)\s+(\d+):?(\d+)$")
    panel.assign_syntax("Packages/" + PLUGIN_NAME +
                        "/Syntaxes/References.sublime-syntax")
    # Call create_output_panel a second time after assigning the above
    # settings, so that it'll be picked up as a result buffer
    # see: Packages/Default/exec.py#L228-L230
    panel = window.create_output_panel("references")
    return panel
コード例 #6
0
ファイル: pytools.py プロジェクト: ginanjarn/pytools
def show_error_result(window: sublime.Window, message: str) -> None:
    """show error panel"""

    panel = window.create_output_panel(ERROR_RESPONSE_PANEL_NAME)
    panel.set_read_only(False)
    panel.run_command(
        "append",
        {"characters": message},
    )
    window.run_command("show_panel",
                       {"panel": f"output.{ERROR_RESPONSE_PANEL_NAME}"})
コード例 #7
0
def create_panel(window: sublime.Window, name: str, result_file_regex: str, result_line_regex: str,
                 syntax: str) -> 'Optional[sublime.View]':
    panel = create_output_panel(window, name)
    if not panel:
        return None
    panel.settings().set("result_file_regex", result_file_regex)
    panel.settings().set("result_line_regex", result_line_regex)
    panel.assign_syntax(syntax)
    # Call create_output_panel a second time after assigning the above
    # settings, so that it'll be picked up as a result buffer
    # see: Packages/Default/exec.py#L228-L230
    panel = window.create_output_panel(name)
    return panel
コード例 #8
0
    def create(
        cls,
        window: sublime.Window,
        name: str,
        *,
        force_writes: bool = False,
        follow_cursor: bool = False,
        unlisted: bool = False,
        **kwargs: Any
    ) -> 'OutputPanel':
        """Create a new output panel with the given `name` in the given `window`.

        If `kwargs` are given,
        they will be interpreted as for :func:`~sublime_lib.view_utils.new_view`.
        """
        validate_view_options(kwargs)

        window.destroy_output_panel(name)
        view = window.create_output_panel(name, unlisted)
        set_view_options(view, **kwargs)

        return cls(window, name, force_writes=force_writes, follow_cursor=follow_cursor)
コード例 #9
0
ファイル: panels.py プロジェクト: Kronuz/SublimeCodeIntel
def create_output_panel(window: sublime.Window, name: str) -> sublime.View:
    panel = window.create_output_panel(name)
    settings = panel.settings()
    for key, value in OUTPUT_PANEL_SETTINGS.items():
        settings.set(key, value)
    return panel
コード例 #10
0
	def __init__(self, window: sublime.Window):
		self.window = window
		self.panel = window.create_output_panel('Debugger: Log')
		self.panel.assign_syntax('Packages/Debugger/Commands/LogPanel.sublime-syntax')
		settings = self.panel.settings()
		settings.set('word_wrap', False)