feat(lsp, ui, core): refactor LSP initialization, improve config handling, and clean up TreeSitter
* LSP Client & Manager
Refactored initialization flow to use internal state instead of passing params
Added workspace_path and init_opts to LSPClient
Simplified send_initialize_message() (no external args)
Updated manager/client APIs to require explicit workspace_path and typed init_opts
Improved client lifecycle handling and UI button toggling
* LSP Manager UI
Added {user.home} substitution support in configs
Use live editor buffer for JSON config parsing instead of static template
Minor cleanup and formatting improvements
* Core Widgets
Prevent external modification checks for buffer-only files in SourceFile
Minor formatting cleanup in SourceView
* Plugins / Manifest
Expanded manifest schema: added description and copyright, reordered fields
* Cleanup
Removed TreeSitter compile script and TODO entry
General code formatting and small consistency fixes
chore: remove unused TreeSitter tooling and related TODO entry
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
from .libs.tree_sitter_language_pack import \
|
||||
init, download, get_language, get_parser, available_languages, process, ProcessConfig
|
||||
|
||||
# Optional: Pre-download specific languages for offline use
|
||||
#init(["python", "javascript", "rust"])
|
||||
|
||||
# Get a language (auto-downloads if not cached)
|
||||
language = get_language("python")
|
||||
|
||||
# Get a pre-configured parser (auto-downloads if needed)
|
||||
parser = get_parser("python")
|
||||
tree = parser.parse(b"def hello(): pass")
|
||||
print(tree.root_node)
|
||||
|
||||
# List all available languages
|
||||
for lang in available_languages():
|
||||
print(lang)
|
||||
|
||||
|
||||
# Extract file intelligence (auto-downloads language if needed)
|
||||
result = process(
|
||||
"def hello(): pass",
|
||||
ProcessConfig( language = "python")
|
||||
)
|
||||
print(f"Functions: {len(result['structure'])}")
|
||||
|
||||
# Pre-download languages for offline use
|
||||
download(["python", "javascript"])
|
||||
|
||||
# With chunking
|
||||
result = process(
|
||||
source,
|
||||
ProcessConfig(
|
||||
language = "python",
|
||||
chunk_max_size = 1000,
|
||||
comments = True
|
||||
)
|
||||
)
|
||||
print(f"Chunks: {len(result['chunks'])}")
|
||||
Reference in New Issue
Block a user