feat: improve LSP lifecycle, terminal widget, and code folding support
- LSP: - Add shutdown and exit request/notification handling - Send initialized notification after initialize response - Gracefully close clients with delayed shutdown via GLib timeout - Fix LSP WS server ↔ Godot LSP communication flow - Terminal (VteWidget): - Switch to async spawn with full environment inheritance - Add PROMPT_COMMAND OSC7 support for cwd tracking - Improve UX: scrollback, no audible bell, auto scroll - Implement clipboard shortcuts, selection copy, middle-click paste - Track cwd changes and update UI label - Add proper signal wiring and cleanup on destroy - Code folding: - Add fold support for JS, HTML, CSS, JSON, C, C++, Go - Reset fold state safely when AST or filetype is unavailable - UI (Plugins dialog): - Improve dialog behavior (non-modal, centered, transient) - Add focus-out auto-hide and Ctrl+Shift+P shortcut - Misc: - Add type hints in VTE widget - Update TODOs (remove completed items, add LSP comm fix) - Add terminal plugin scaffolding
This commit is contained in:
@@ -25,15 +25,19 @@ class Plugin(PluginCode):
|
||||
self.view = event.view
|
||||
|
||||
event = Event_Factory.create_event(
|
||||
"get_file", buffer=self.view.get_buffer()
|
||||
"get_file", buffer = self.view.get_buffer()
|
||||
)
|
||||
self.emit_to("files", event)
|
||||
|
||||
file = event.response
|
||||
|
||||
if not file: return
|
||||
if file.ftype not in FOLD_NODES: return
|
||||
if not hasattr(file, "ast"): return
|
||||
if file.ftype not in FOLD_NODES:
|
||||
self.view.fold_start_set = {}
|
||||
return
|
||||
if not hasattr(file, "ast"):
|
||||
self.view.fold_start_set = {}
|
||||
return
|
||||
|
||||
buffer = file.buffer
|
||||
if not buffer.get_tag_table().lookup("invisible"):
|
||||
|
||||
Reference in New Issue
Block a user