You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The language
Behavior change: a directory under the content root that holds an ascribe.toml, other than the project's own folder, is another project's folder, and is skipped like a directory whose name starts with .. ascribe check, ascribe build, ascribe fmt, and the language server leave its files to that project, so an editor shows each file's diagnostics from one project only. A link or an include from the outer project to a Markdown file in it is reported as a missing file.
The editor
A workspace can hold several Ascribe projects. Every ascribe.toml is a project with its own language server, and a file belongs to the nearest ascribe.toml above it, so projects can be nested. Diagnostics, completion, the preview, format on save, and the other features use the project that owns the file. See Workspaces with several projects.
A project's server starts the first time one of its files is opened or previewed. The new setting ascribe.startServers (onDemand or all) can start every project's server when the workspace opens instead. The Problems panel lists only the projects whose server is running; ascribe check covers any project.
The extension serves at most 50 projects in a workspace, the first 50 by path, and says so in the first project's output when there are more.
Each project uses its own node_modules/.bin/ascribe, and logs to its own output channel, Ascribe (<project>).
The extension warns about a project's ascribe older than 0.1.1: an older server checks a nested project's files as its own.
Ascribe: Restart Language Server restarts every server that has started. Ascribe: Show Server Output shows the active file's project, or asks which project. The preview's build choice is kept for each project.
The language server
Behavior change for editors other than VS Code:ascribe lsp looks for ascribe.toml only in its workspace folder and the folders above it. A workspace folder whose projects are all in subfolders gets no project; the server doesn't pick one of them. Start one ascribe lsp per project, rooted at the folder that holds its ascribe.toml (Other editors).
It logs the project it uses, or why it has none.
ascribe lsp --config is an error (exit code 2). The server takes its project from the editor's workspace folders, and ignored the option.