feat(event-watchers): rework file state detection and migrate tree-sitter integration
Switch file state checks to trigger on FocusedViewEvent instead of TextChangedEvent Resolve file via files controller and operate directly on file object Add user prompt for externally modified files with optional reload Auto-reload unmodified buffers when external changes are detected Simplify file_is_deleted / file_is_externally_modified APIs tree-sitter Remove bundled tree_sitter_language_pack and related setup/notes scripts Introduce local lightweight tree_sitter wrapper (Parser, get_parser) Store parser per file and generate AST directly from buffer text Remove runtime language download/config logic Update manifest (drop autoload) core Simplify CLI file handling in BaseControllerMixin Send directory args directly via IPC instead of encoding in file list cleanup Remove unused libs, scripts, and legacy code paths
This commit is contained in:
@@ -1,54 +0,0 @@
|
||||
from typing import TypeAlias
|
||||
|
||||
from tree_sitter_language_pack._native import (
|
||||
DownloadError,
|
||||
LanguageNotFoundError,
|
||||
ParseError,
|
||||
ProcessConfig,
|
||||
QueryError,
|
||||
TreeHandle,
|
||||
available_languages,
|
||||
cache_dir,
|
||||
clean_cache,
|
||||
configure,
|
||||
download,
|
||||
download_all,
|
||||
downloaded_languages,
|
||||
get_binding,
|
||||
get_language,
|
||||
get_parser,
|
||||
has_language,
|
||||
init,
|
||||
language_count,
|
||||
manifest_languages,
|
||||
parse_string,
|
||||
process,
|
||||
)
|
||||
|
||||
SupportedLanguage: TypeAlias = str
|
||||
|
||||
__all__ = [
|
||||
"DownloadError",
|
||||
"LanguageNotFoundError",
|
||||
"ParseError",
|
||||
"ProcessConfig",
|
||||
"QueryError",
|
||||
"SupportedLanguage",
|
||||
"TreeHandle",
|
||||
"available_languages",
|
||||
"cache_dir",
|
||||
"clean_cache",
|
||||
"configure",
|
||||
"download",
|
||||
"download_all",
|
||||
"downloaded_languages",
|
||||
"get_binding",
|
||||
"get_language",
|
||||
"get_parser",
|
||||
"has_language",
|
||||
"init",
|
||||
"language_count",
|
||||
"manifest_languages",
|
||||
"parse_string",
|
||||
"process",
|
||||
]
|
||||
@@ -1,276 +0,0 @@
|
||||
from typing import Literal, TypeAlias
|
||||
|
||||
from tree_sitter import Language, Parser
|
||||
|
||||
class LanguageNotFoundError(ValueError): ...
|
||||
class DownloadError(RuntimeError): ...
|
||||
|
||||
SupportedLanguage: TypeAlias = Literal[
|
||||
"actionscript",
|
||||
"ada",
|
||||
"agda",
|
||||
"apex",
|
||||
"arduino",
|
||||
"asm",
|
||||
"astro",
|
||||
"bash",
|
||||
"batch",
|
||||
"bazel",
|
||||
"beancount",
|
||||
"bibtex",
|
||||
"bicep",
|
||||
"bitbake",
|
||||
"bsl",
|
||||
"c",
|
||||
"cairo",
|
||||
"capnp",
|
||||
"chatito",
|
||||
"clarity",
|
||||
"clojure",
|
||||
"cmake",
|
||||
"cobol",
|
||||
"comment",
|
||||
"commonlisp",
|
||||
"cpon",
|
||||
"cpp",
|
||||
"css",
|
||||
"csv",
|
||||
"cuda",
|
||||
"d",
|
||||
"dart",
|
||||
"diff",
|
||||
"dockerfile",
|
||||
"doxygen",
|
||||
"dtd",
|
||||
"elisp",
|
||||
"elixir",
|
||||
"elm",
|
||||
"erlang",
|
||||
"fennel",
|
||||
"firrtl",
|
||||
"fish",
|
||||
"fortran",
|
||||
"fsharp",
|
||||
"fsharp_signature",
|
||||
"func",
|
||||
"gdscript",
|
||||
"gitattributes",
|
||||
"gitcommit",
|
||||
"gitignore",
|
||||
"gleam",
|
||||
"glsl",
|
||||
"gn",
|
||||
"go",
|
||||
"gomod",
|
||||
"gosum",
|
||||
"gradle",
|
||||
"graphql",
|
||||
"groovy",
|
||||
"gstlaunch",
|
||||
"hack",
|
||||
"hare",
|
||||
"haskell",
|
||||
"haxe",
|
||||
"hcl",
|
||||
"heex",
|
||||
"hlsl",
|
||||
"html",
|
||||
"hyprlang",
|
||||
"ignorefile",
|
||||
"ini",
|
||||
"ispc",
|
||||
"janet",
|
||||
"java",
|
||||
"javascript",
|
||||
"jsdoc",
|
||||
"json",
|
||||
"jsonnet",
|
||||
"julia",
|
||||
"kconfig",
|
||||
"kdl",
|
||||
"kotlin",
|
||||
"latex",
|
||||
"linkerscript",
|
||||
"lisp",
|
||||
"llvm",
|
||||
"lua",
|
||||
"luadoc",
|
||||
"luap",
|
||||
"luau",
|
||||
"magik",
|
||||
"make",
|
||||
"makefile",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"matlab",
|
||||
"mermaid",
|
||||
"meson",
|
||||
"netlinx",
|
||||
"nim",
|
||||
"ninja",
|
||||
"nix",
|
||||
"nqc",
|
||||
"objc",
|
||||
"ocaml",
|
||||
"ocaml_interface",
|
||||
"odin",
|
||||
"org",
|
||||
"pascal",
|
||||
"pem",
|
||||
"perl",
|
||||
"pgn",
|
||||
"php",
|
||||
"pkl",
|
||||
"po",
|
||||
"pony",
|
||||
"powershell",
|
||||
"printf",
|
||||
"prisma",
|
||||
"properties",
|
||||
"proto",
|
||||
"psv",
|
||||
"puppet",
|
||||
"purescript",
|
||||
"pymanifest",
|
||||
"python",
|
||||
"qmldir",
|
||||
"qmljs",
|
||||
"query",
|
||||
"r",
|
||||
"racket",
|
||||
"re2c",
|
||||
"readline",
|
||||
"rego",
|
||||
"requirements",
|
||||
"ron",
|
||||
"rst",
|
||||
"ruby",
|
||||
"rust",
|
||||
"scala",
|
||||
"scheme",
|
||||
"scss",
|
||||
"shell",
|
||||
"smali",
|
||||
"smithy",
|
||||
"solidity",
|
||||
"sparql",
|
||||
"sql",
|
||||
"squirrel",
|
||||
"starlark",
|
||||
"svelte",
|
||||
"swift",
|
||||
"tablegen",
|
||||
"tcl",
|
||||
"terraform",
|
||||
"test",
|
||||
"thrift",
|
||||
"toml",
|
||||
"tsv",
|
||||
"tsx",
|
||||
"twig",
|
||||
"typescript",
|
||||
"typst",
|
||||
"udev",
|
||||
"ungrammar",
|
||||
"uxntal",
|
||||
"v",
|
||||
"verilog",
|
||||
"vhdl",
|
||||
"vim",
|
||||
"vue",
|
||||
"wast",
|
||||
"wat",
|
||||
"wgsl",
|
||||
"xcompose",
|
||||
"xml",
|
||||
"yuck",
|
||||
"zig",
|
||||
]
|
||||
|
||||
class ParseError(RuntimeError): ...
|
||||
class QueryError(ValueError): ...
|
||||
|
||||
class ProcessConfig:
|
||||
language: str
|
||||
structure: bool
|
||||
imports: bool
|
||||
exports: bool
|
||||
comments: bool
|
||||
docstrings: bool
|
||||
symbols: bool
|
||||
diagnostics: bool
|
||||
chunk_max_size: int | None
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
language: str,
|
||||
*,
|
||||
structure: bool = True,
|
||||
imports: bool = True,
|
||||
exports: bool = True,
|
||||
comments: bool = True,
|
||||
docstrings: bool = True,
|
||||
symbols: bool = True,
|
||||
diagnostics: bool = True,
|
||||
chunk_max_size: int | None = None,
|
||||
) -> None: ...
|
||||
@staticmethod
|
||||
def all(language: str) -> ProcessConfig: ...
|
||||
@staticmethod
|
||||
def minimal(language: str) -> ProcessConfig: ...
|
||||
|
||||
class TreeHandle:
|
||||
def root_node_type(self) -> str: ...
|
||||
def root_child_count(self) -> int: ...
|
||||
def contains_node_type(self, node_type: str) -> bool: ...
|
||||
def has_error_nodes(self) -> bool: ...
|
||||
def to_sexp(self) -> str: ...
|
||||
def error_count(self) -> int: ...
|
||||
def root_node_info(self) -> dict[str, object]: ...
|
||||
def find_nodes_by_type(self, node_type: str) -> list[dict[str, object]]: ...
|
||||
def named_children_info(self) -> list[dict[str, object]]: ...
|
||||
def extract_text(self, start_byte: int, end_byte: int) -> str: ...
|
||||
def run_query(self, language: str, query_source: str) -> list[dict[str, object]]: ...
|
||||
|
||||
__all__ = [
|
||||
"DownloadError",
|
||||
"LanguageNotFoundError",
|
||||
"ParseError",
|
||||
"ProcessConfig",
|
||||
"QueryError",
|
||||
"SupportedLanguage",
|
||||
"TreeHandle",
|
||||
"available_languages",
|
||||
"cache_dir",
|
||||
"clean_cache",
|
||||
"configure",
|
||||
"download",
|
||||
"download_all",
|
||||
"downloaded_languages",
|
||||
"get_binding",
|
||||
"get_language",
|
||||
"get_parser",
|
||||
"has_language",
|
||||
"init",
|
||||
"language_count",
|
||||
"manifest_languages",
|
||||
"parse_string",
|
||||
"process",
|
||||
]
|
||||
|
||||
def get_binding(name: SupportedLanguage) -> object: ...
|
||||
def get_language(name: SupportedLanguage) -> Language: ...
|
||||
def get_parser(name: SupportedLanguage) -> Parser: ...
|
||||
def available_languages() -> list[str]: ...
|
||||
def has_language(name: str) -> bool: ...
|
||||
def language_count() -> int: ...
|
||||
def parse_string(language: str, source: str) -> TreeHandle: ...
|
||||
def process(source: str, config: ProcessConfig) -> dict[str, object]: ...
|
||||
def init(config: dict[str, object]) -> None: ...
|
||||
def configure(*, cache_dir: str | None = None) -> None: ...
|
||||
def download(names: list[str]) -> int: ...
|
||||
def download_all() -> int: ...
|
||||
def manifest_languages() -> list[str]: ...
|
||||
def downloaded_languages() -> list[str]: ...
|
||||
def clean_cache() -> None: ...
|
||||
def cache_dir() -> str: ...
|
||||
Reference in New Issue
Block a user