Updated LSP init settings; added init references; can hide languages
This commit is contained in:
@@ -38,6 +38,7 @@ class InitOptionsSourceView(GtkSource.View):
|
||||
self.set_indent_width(4)
|
||||
self.set_tab_width(4)
|
||||
self.set_insert_spaces_instead_of_tabs(True)
|
||||
self.set_show_line_numbers(True)
|
||||
|
||||
ctx.add_class("init-options-source-view")
|
||||
|
||||
@@ -57,4 +58,4 @@ class InitOptionsSourceView(GtkSource.View):
|
||||
def get_text_str(self) -> str:
|
||||
buffer = self.get_buffer()
|
||||
start, end = buffer.get_bounds()
|
||||
return buffer.get_text(start, end, True)
|
||||
return buffer.get_text(start, end, True)
|
@@ -92,6 +92,7 @@ class LspMessageSourceView(GtkSource.View):
|
||||
self.set_indent_width(4)
|
||||
self.set_tab_width(4)
|
||||
self.set_insert_spaces_instead_of_tabs(True)
|
||||
self.set_show_line_numbers(True)
|
||||
|
||||
ctx.add_class("lsp-message-source-view")
|
||||
|
||||
@@ -112,4 +113,4 @@ class LspMessageSourceView(GtkSource.View):
|
||||
def get_text_str(self) -> str:
|
||||
buffer = self.get_buffer()
|
||||
start, end = buffer.get_bounds()
|
||||
return buffer.get_text(start, end, True)
|
||||
return buffer.get_text(start, end, True)
|
60
src/core/widgets/init_options_source_view.py
Normal file
60
src/core/widgets/init_options_source_view.py
Normal file
@@ -0,0 +1,60 @@
|
||||
# Python imports
|
||||
import json
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('GtkSource', '4')
|
||||
from gi.repository import GtkSource
|
||||
|
||||
# Application imports
|
||||
|
||||
|
||||
|
||||
class InitOptionsSourceView(GtkSource.View):
|
||||
def __init__(self, init_ops_data):
|
||||
super(InitOptionsSourceView, self).__init__()
|
||||
|
||||
init_ops_txt = json.dumps( init_ops_data, separators=(',', ':'), indent=4 )
|
||||
self.init_ops_txt = init_ops_txt if not init_ops_txt in ["", "{}"] else "{\n \n}"
|
||||
|
||||
self._setup_styling()
|
||||
self._setup_signals()
|
||||
self._subscribe_to_events()
|
||||
self._load_widgets()
|
||||
|
||||
self.show_all()
|
||||
|
||||
|
||||
def _setup_styling(self):
|
||||
language_manager = GtkSource.LanguageManager()
|
||||
style_scheme_manager = GtkSource.StyleSchemeManager()
|
||||
style_scheme = style_scheme_manager.get_scheme("peacocks-in-space")
|
||||
style_scheme = style_scheme if style_scheme else style_scheme_manager.get_scheme("solarized-dark")
|
||||
buffer = self.get_buffer()
|
||||
ctx = self.get_style_context()
|
||||
|
||||
self.set_vexpand(True)
|
||||
self.set_hexpand(True)
|
||||
self.set_indent_width(4)
|
||||
self.set_tab_width(4)
|
||||
self.set_insert_spaces_instead_of_tabs(True)
|
||||
|
||||
ctx.add_class("init-options-source-view")
|
||||
|
||||
buffer.set_language( language_manager.get_language("json") )
|
||||
buffer.set_style_scheme(style_scheme)
|
||||
buffer.set_text(self.init_ops_txt)
|
||||
|
||||
def _setup_signals(self):
|
||||
...
|
||||
|
||||
def _subscribe_to_events(self):
|
||||
...
|
||||
|
||||
def _load_widgets(self):
|
||||
...
|
||||
|
||||
def get_text_str(self) -> str:
|
||||
buffer = self.get_buffer()
|
||||
start, end = buffer.get_bounds()
|
||||
return buffer.get_text(start, end, True)
|
@@ -43,9 +43,12 @@ class LSPNotebook(Gtk.Notebook):
|
||||
|
||||
def _load_widgets(self):
|
||||
for language, data in self.lsp_config_data.items():
|
||||
if "hidden" in data.keys() and data["hidden"]:
|
||||
continue
|
||||
|
||||
tab_widget = Gtk.Label(label=language)
|
||||
lsp_window = LSPWindow(language, data)
|
||||
|
||||
self.append_page(lsp_window, tab_widget)
|
||||
self.set_tab_detachable(lsp_window, False)
|
||||
self.set_tab_reorderable(lsp_window, False)
|
||||
self.set_tab_reorderable(lsp_window, False)
|
Reference in New Issue
Block a user