Updated LSP init settings; added init references; can hide languages

This commit is contained in:
2024-09-06 22:19:49 -05:00
parent cdd09df5d7
commit fc6f018952
11 changed files with 2586 additions and 29 deletions

View File

@@ -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)

View File

@@ -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)

View 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)

View File

@@ -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)