Repository navigation
Feature pass - #219
Merged
Merged
Feature pass#219
Conversation
KotlinIsland
force-pushed
the
feature-pass
branch
from
October 29, 2026 01:30
03ae363 to
cb75d74
Compare
…es, for 32-bit arm, 32-bit x86 and 32-bit windows, which made the uv-lock hook fail in ci
…to the next, so a string built in a loop converges on str when the loop sits inside a larger cycle, as it does when an unannotated parameter's bound is read off the body that checks a call with it, instead of gaining one literal a round until salsa panics with too many cycle iterations � Conflicts: � crates/ty_python_semantic/src/types.rs
…ecorator returns, so go to implementation lands on Circle.area rather than on logged's wrapper, and a decorated method nothing overrides counts no implementations
…tion refuses a partly unknown return type rather than writing -> Unknown | ... and importing ty_extensions._internal, which fails when the program runs, and an inlay hint's insertion leaves such a type unwritten
…he caret after the parentheses and no signature help asked for, instead of leaving the caret inside an empty pair, and test that completions.completeFunctionParentheses in the initialization options turns the parentheses off
…as the multi-line string it also is
…ass, string, collection and annotation, each sent to a client that lists it in its valueSet — and the text to fold to: import ..., a region's name, a docstring's first line between its quotes and a long string's quotes, and fold every annotation, a single-line one for a client that folds within a line
…tion and a dunder name dunder, and give the name a keyword argument is passed by a parameter token marked keywordArgument, and document the whole semantic token legend
…ons of each test module and conftest pytest compiles to the lines of the .by they were transpiled from, so a failing test or fixture is reported at its .by file and line, quoting the .by, rather than at a line of the generated python past the end of the .by
…n Circle in Circle(3) to the __init__ Circle writes or inherits, and to the class when it writes none, while a rename or a reference search from the name stays about the class
…ts without its brackets, a statement's whole lines and a body without its header, as well as through the nodes around the caret
…shapes.base.Circle.area, and show a decorated def as its source writes it, its decorators over its own signature and docstring, rather than as the wrapper its decorator returns
…name at a position declares or refers to with where it is, shapes.base.Circle.area on area in circle.area(), for an editor's copy reference and the target of a usage search
…tch a dotted query's parts before the name against them, and find an attribute a method assigns on self as a field of its class, in workspace symbols and the outline both
…n annotation and a class's bases as the source writes them on one line, and outline a @Property or cached_property def as a property whose setter and deleter are the same member
…ion or caret is in from the innermost out with its type, for an editor's type info to offer the call and the expression around a name as well as the name
…e, writing override before the def in a .by file, and offer an import only for a name whose word the typed text starts, so ret no longer offers secrets. document that a plain dict's keys complete from the display it was bound to
…hich the class body reads as final, as the auto() member it is, so its value is counted out as python counts it, Level.LOW.value revealing 1 rather than int, and its enumValues hint is drawn
… its diagnostics' source and its error messages, rather than as Ruff
…ore comment at the top of the file or the rule added to the one already there, beside ignoring it for the line
…ents too, for a client that registers them dynamically, and test that a .by document's range is formatted on its own
…ere it is declared, and colour a name as a method only when the def it names is made in a class body, so field called in a dataclass's body is a function
… and line ending buff formats a document with and the configuration file they were read from, for an editor to show the project's code style and draw its right margin where buff wraps
…+ b + c over integers or strings, ask the checker whether what is evaluated before an expression could observe it moving, so radius ** 2 is extracted from scale * math.pi * radius ** 2, and offer an extraction for each expression around a caret when one is asked for explicitly, each naming its expression and carrying its range
…tion over builtin numbers and strings into every read, as it does a name, rather than refusing it for having two reads, and write a number inlined as an operand without parentheses, keeping them only before an attribute
… selected expression of literals, added last to the def's parameters or before its ** parameter, and an attribute, refactor.extract.field, assigned on the method's receiver above the statement under a name the class does not already have, refused for a class whose instances take no new attribute
…brings in a name from a module the file imports nothing from yet, writing import inspect and completing inspect.walktree for module rather than from inspect import walktree
… one at the top of a function's body: a summary line for the caret, every parameter but the receiver, and what the function returns or yields, in the format asked for or the one the file's other docstrings are written in
…an instance, class or static method, from its decorators, static def and class def, and the methods python makes so by name, for an editor to write self or cls when the parameter list is opened
…he scope that declares it, rather than every import of it and every assignment that is the first in its own scope, so references and by/references keep an import of the name, a write to it through its module or an instance, from another method or through global, as uses, and the usage counts drawn over a declaration count its imports
…ritten on for a client that indents each new line of a completion as that line, which a client is taken to do unless its completion.insertTextMode says asIs, and tell one that takes insertTextMode per item so, rather than writing the line's own indentation in as well, which the JetBrains client indented a second time
…as re would, an re pattern whose text and flags the checker reads, whatever decided its language and only while the rule is on, so an editor can leave regular expression errors to by there, with the verbose-flag reading the checker does shared with the question
…rts it from where it is implemented, as collections does deque and defaultdict from _collections, at its stub, and for one the source declares as well as imports, as OrderedDict, at the class it declares, rather than answering null because the import is not a declaration
…n unless set to false, leaving .await, which is syntax, offered either way
…uri's scheme, and by the client's `basedpython` or `by` language id when the path has no extension that says, rather than by an extension read only off a file path, which left `untitled:console-1.by` reporting its `let` as not valid in .py files
…nnection of its own that program output cannot mix with, when the session waits for an input or the next line of one, when the program reads standard input through input(), sys.stdin or sys.stdin.buffer, and when each input finished and whether it ran, so over pipes it can send an input framed and a line for the program unframed rather than framing the program's line as an input
…>, at the line of _by_runtime.py they start on and by their own names, whether the transpiler wrote them into a module or they ran from a package's copy of the runtime, so one helper is one function, two of one name stay two, and a viewer opens nothing rather than line 0 of the module a helper was written into, which PyCharm's viewer opened at the module's first line
…by run names one: it runs first as __main__ with by run's __file__, package and spec, and its source is the session's first, held as the text of the module's own file so each input is checked and transpiled as the module's continuation, its names defined, its let read-only and its relative imports resolved, for an editor's run with console
…r as it leaves python main.py, rather than the runner catching it, printing it and raising SystemExit(1) in its own frame, so that a debugger watching for uncaught exceptions stops for the program's own exception with the program's frames on top, where debugpy stopped for a SystemExit at _by_runner.py and bpd reported SystemExit: 1; and say what a debugger finds under by run's launcher
… traceback: the profile ends with python calling the profiler's disable rather than the runner's _write_profile, by's functions are folded into the functions that called them, the runner's finder and loader into python's import machinery as python's own are under python main.py, and the excepthook's traceback leaves with what it called; and a traceback drops every frame of by's files below the program's first, so a KeyboardInterrupt while the program reads standard input in by repl ends at the line that read rather than in _by_repl.py's readline
…ts by with, under experimental — repl: events, module, sessionFile; run: coverage, inBuild, launcher, profile — so an editor learns what the by it talks to takes from the language server rather than by running by repl --help, with a test that each flag named is one the command takes
… would load as the rewriter compiles them and then under the .by's path and lines, as by run compiles every other module, rather than leaving them to the rewriter, which compiled them as the staged .py at the generated python's lines, so that their top level, class bodies, comprehensions and lambdas ran at the staged .py and a debugger never stopped at a breakpoint on one of those lines of a .by test module
…line main is defined on, which is what asks for the call, so that while main runs a traceback names that line for the module's frame and quotes def main, and a debugger's stack shows the module there, where both named line 0 of the .by; and start a module's code at line 1 as python's own does, so that a profile names it main.by:1(<module>) rather than line 0 when the transpiler wrote the module's first line
…d parameter's type, the default it inherits, the type variables and ParamSpec the signature binds — from parameter_signature, a tracked query of the signature short of the return type recovered from the body, rather than from the raw signature, which fills that return type in, so that inferring a body no longer depends on the return type inferred from that same body
…names the declaration without using it, while textDocument/references and by/references go on listing it, by/references as an import; a write to it through its module or an instance, from another method or through global stays counted
…ge, ty and ty_ide gained and the one ty_ide dropped on this branch, so a build of that crate with --locked accepts it
…eter's name in an inferred return type hint, def twice(value) -> list[value] rather than list[value@twice], and offer such a return type as no annotation, since only a parameter written with some names its hole
…program, as by repl does
…hich raises across windows drives
…the pytest and --coverage e2e tests run there instead of skipping
…c* or a signal leaves no report either
… implicit concatenation, a syntax error the checker reports, and not textwrap.dedent's result
… ty_ide now calls, and expect HierarchicalSymbols::get as unnecessarily public now ty_ide uses it
…re coverage.py can use on the interpreter, rather than on ctrace and sysmon wherever it runs, since python 3.11 has no sys.monitoring and coverage.py's build for free-threaded 3.13 has no C tracer
KotlinIsland
force-pushed
the
feature-pass
branch
from
October 29, 2026 10:22
b7a9bff to
ecde896
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.