def __init__(self, sublime_view, title, syntax_file=None):
self._view = sublime_view
self._view.set_name(title)
self._view.set_scratch(True)
self._view.set_read_only(True)
self._view.settings().set("gutter", False)
self._view.settings().set("highlight_line", False)
self._view.settings().set("auto_complete_commit_on_tab", False)
self._view.settings().set("draw_centered", False)
self._view.settings().set("word_wrap", False)
self._view.settings().set("auto_complete", False)
self._view.settings().set("draw_white_space", "none")
self._view.settings().set("draw_indent_guides", False)
self._view.settings().set("caret_style", "blink")
self._view.settings().set("scroll_past_end", False)
self._view.settings().add_on_change('color_scheme', lambda: set_color_scheme(self._view))
if syntax_file is not None:
self._view.set_syntax_file("Packages/User/" + syntax_file)
# Mark in the views private settings that this is a terminal view so we
# can use this as context in the keymap
self._view.settings().set("terminal_view", True)
settings = sublime.load_settings('TerminalView.sublime-settings')
self._show_colors = settings.get("terminal_view_show_colors", False)
self._right_margin = settings.get("terminal_view_right_margin", 3)
self._bottom_margin = settings.get("terminal_view_bottom_margin", 0)
# Use pyte as underlying terminal emulator
hist = settings.get("terminal_view_scroll_history", 1000)
ratio = settings.get("terminal_view_scroll_ratio", 0.5)
self._term_emulator = pyte_terminal_emulator.PyteTerminalEmulator(80, 24, hist, ratio)
self._keypress_callback = None
self._view_content_cache = sublime_view_cache.SublimeViewContentCache()
self._view_region_cache = sublime_view_cache.SublimeViewRegionCache()
# Register the new instance of the sublime buffer class so other
# commands can look it up when they are called in the same sublime view
SublimeBufferManager.register(sublime_view.id(), self)
评论列表
文章目录