Skip to content

Feature pass - #220

Closed
KotlinIsland wants to merge 15 commits into
mainfrom
feature-pass
Closed

KotlinIsland wants to merge 15 commits into
mainfrom
feature-pass

Conversation

@KotlinIsland

Copy link
Copy Markdown
Owner

No description provided.

…tes it from the project as the editor has it, unsaved edits included and incrementally, for the python the #python: header of the project's api.lock names, with where the project keeps it and the line from which that api.lock is stale, where by generate-api-file and the server now share one generator and the command writes api.lock in the root of the project it is given rather than the current directory
…tics, with a stale-api-lock warning on the first line at which it differs from the lockfile the language server generates, and answer that warning with the quick fix Regenerate api.lock, an edit rewriting the file as the server generates it, so that any language server client keeps the lockfile in step with the source
…import a clean line merge dropped that the merged code still reads where the versions import the name from one place, dropping one a side removed that nothing mentions, sorting the imports the file starts with as buff's isort configuration does and refusing with the choice where the versions import a name from different places, and answer by/reconcileMergeImports with it
…ython file both sides of a merge changed, which merges lines as git merge does, resolves the conflicts by/resolveMergeConflicts resolves and reconciles the imports of a clean result, a name imported from two places becoming a conflict over the merged file's imports of it, and which leaves an api.lock both sides changed conflicted with the by generate-api-file to run, since a driver runs while there is no source to generate it from
…hich asks on a terminal, takes --git-merge and --no-git-merge, and with --git-merge sets up a project already there without writing anything else, adding the .gitattributes lines git lacks after those it has and merge.by.driver naming the by that set it up by the absolute path it was run as, since an editor's git runs a driver without the project's environment on PATH, and answer by/gitMergeIntegration, which reports the integration's state and with enable sets it up the same way
… document edits or closes

a client may not act on interFileDependencies, as intellij's does not, and an edit to one module
can change what another module or the project's api.lock is reported as. the server sends
workspace/diagnostic/refresh once for each run, to a client that supports it, while a document
other than the edited one is open. closing a document counts too, since the closed document is
read from disk again. a client that does not pull diagnostics has every open document published
again instead
…ver by merge-driver does not merge the file, its by gone or too old to have the subcommand, rather than leave git a failed driver's conflict holding ours alone, and set up again a driver whose command an older by wrote, which by/gitMergeIntegration reports as driverCurrent
…ed, reading the file as it would be with each conflict resolved to ours and to theirs so that what either side of a conflict reads is imported and what either side mentions is kept, and editing only the lines outside the conflicts, in by merge-driver and in by/reconcileMergeImports for a merged text that still has conflict markers
…stic where buff's isort configuration sorts it, as the editor's other quick fixes place theirs, by recording with the fix what each of its imports imports and placing those imports again when the language server sends the fix, so that checking a file never reads the isort configuration, which it does not track
which names a merged file needs is now decided by resolving each name where it is read, so a
parameter of another function no longer hides a missing module import. which imports to drop
is decided by unused-import's analysis, for python files too, so a docstring mention no longer
keeps an import and a quoted annotation in a python file does. the file is read in a database
of its project where it is on disk

an added import is placed where isort sorts it, the way quick fixes place theirs, in the file's
line ending, and the imports around it are left as they are. ours and theirs outrank the base
when they say where a name comes from, and a name bound twice is refused only when no version
already bound it to both

by merge-driver now merges the versions again after resolving conflicts, so the conflicts it
leaves are as git writes them in any conflict style. its import conflict takes the file's line
ending, its stderr may be closed, and the marker size can no longer be zero
… tree is started through, so a debugger that finds the map where the program is also finds which script is by's launcher rather than the program, without being told, and say LAUNCHER = None for a by build or by compile tree no program is started from
…n in the tree — the runner and its plugins, the module by repl runs, the project module, the map, each copy of the runtime — so a debugger stepping through only the program's code leaves them out by what the map says rather than by their names
… at the tree's root, which every module in no package imports, rather than pasted into the module where they are lines no .by line is behind, so a traceback and a debugger see a helper such as _LazyFrom.__getattr__ at its real line of _by_runtime.py, a file _by_sourcemap.py declares as by's own, and record the layout in _by_build.json so a re-stage writes a module as the build did
… options, positional arguments and subcommands, and whether a value is a module, a rule, a path, one of a set or free text — described from the clap parser by parses its own arguments with, a module name and a rule parsed to types of their own so that the parser itself says which values they are, and handed to the server by server starts, for an editor to complete by in a terminal
…xt, columns and all, where every column of its generated span is copied from the .by or a qualifier such as the lazy-import holder written in front of a name, and at its .by line with no columns where the transpiler wrote any of it, from a COLUMNS table in _by_sourcemap.py that each step of the transpile describes its output into and that is checked against the .by before it is written
@github-actions

Copy link
Copy Markdown
Contributor

ecosystem check

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

Formatter (stable)

✅ ecosystem check detected no format changes.

Formatter (preview)

✅ ecosystem check detected no format changes.

@KotlinIsland
KotlinIsland deleted the feature-pass branch October 29, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant