Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New release #857

Merged
merged 49 commits into from
Jul 19, 2024
Merged

New release #857

merged 49 commits into from
Jul 19, 2024

Conversation

alcarney
Copy link
Member

No description provided.

alcarney and others added 30 commits June 7, 2024 20:12
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.7 → v0.4.8](astral-sh/ruff-pre-commit@v0.4.7...v0.4.8)
---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alex Carney <alcarneyme@gmail.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.21.4 to 0.21.5.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.21.4...v0.21.5)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@vscode/vsce](https://github.com/Microsoft/vsce) from 2.26.1 to 2.27.0.
- [Release notes](https://github.com/Microsoft/vsce/releases)
- [Commits](microsoft/vscode-vsce@v2.26.1...v2.27.0)

---
updated-dependencies:
- dependency-name: "@vscode/vsce"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.8 → v0.4.9](astral-sh/ruff-pre-commit@v0.4.8...v0.4.9)
Bumps [@vscode/vsce](https://github.com/Microsoft/vsce) from 2.27.0 to 2.29.0.
- [Release notes](https://github.com/Microsoft/vsce/releases)
- [Commits](microsoft/vscode-vsce@v2.27.0...v2.29.0)

---
updated-dependencies:
- dependency-name: "@vscode/vsce"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.4.5 to 5.5.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.4.5...v5.5.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.9 → v0.4.10](astral-sh/ruff-pre-commit@v0.4.9...v0.4.10)

* Bump ruff version

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alex Carney <alex.rugby101@gmail.com>
This seems to fix an issue that prevents Sphinx from running inside a devcontainer
nektos/act#1853
Taking advantage of workspace local extensions, this adds a make target that will symlink the
`code/` directory to `.vscode/extensions/esbonio` allowing it to be installed.
It would be nice if there was a cli `code` command that would do the final step though....
Configuration objects can now accept variables of the form `${variable}`
and have them expanded by the configuration system at runtime.

This commit adds support for the following variables

- `${scope}`: The full uri of the scope at which the configuration
  object was requested

- `${scopePath}`: The path component of the scope uri

- `${scopeFsPath}`: The path component of the scope uri as a
  filesystem path

Currently these configuration variables will only be expanded if they
appear in a field that is a simple string.

Additionaly, this commit sets the default value for `SphinxConfig.cwd`
to be `${scopeFsPath}`. This should mean that any
`esbonio.sphinx.buildCommand` values in a `pyproject.toml` file will
be evaluated relative to the file's location. Closes #711
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.21.5 to 0.22.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.21.5...v0.22.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
In order to support included files, the webview code needs access to
the source uri in addition to the line number.

Rather than even attempt to force uris to work with CSS classes, the
`SourceLocationTransform` includes a hidden div with a list of
`<span>` elements, one for each location marker.

These `<span>` elements have `data-uri` and `data-line` attributes
containing the necessary information to make sync scrolling work.
Each element has a `data-id` attribute which corresponds to a CSS
class `esbonio-marker-<id>` which links the location which its
corresponding location in the DOM
This aligns the `webview.js` file injected into HTML to the updated
source location information to add support for mutliple source files.
This aligns the language server with recent changes to enable
synchronised scrolling across multiple source files.

Additionaly, rather than send a custom `editor/scroll` notification to
the client, the server will now send a `window/showDocument` request
taking advantage of the `selection` parameter.

This *in theory* should reduce the amount of integration work required
to enable sync scrolling in new clients.
Running pytest with the `--enable-devtools` flag will enable the use
of `lsp-devtools` with the sphinx agent instance under test
Now that we have added a custom node, objects from the `sphinx_agent`
module can end up in Sphinx's `environment.pickle` file. This means in
order to be unpickled correctly Python needs to be able to do
something like `from sphinx_agent.X import Y`

However, the pytest process does not have the same Python path as the
sphinx agent process that created the `environment.pickle` file. So
when trying to load the environment in the `app` fixture, it fails and
the tests that depend on it are not running with the right data
available.

To mitigate this, the `app` fixture temporarily puts the `esbonio/`
folder onto `sys.path`, making the `sphinx_agent` module available to
the pytest process and the environment is unpickled correctly.

This doesn't necessarily feel like a great solution, but it appears to
work.

Finally, the fixture switches from using `sphinx.application.Sphinx`
to `sphinx_agent.app.Sphinx` as the `sphinx_agent` based extensions
depend on the extra `esbonio` attribute.
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.5.2...v5.5.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.22.0 to 0.23.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.0 → v0.5.1](astral-sh/ruff-pre-commit@v0.5.0...v0.5.1)
dependabot bot and others added 19 commits July 15, 2024 20:14
Bumps [@vscode/vsce](https://github.com/Microsoft/vsce) from 2.29.0 to 2.30.0.
- [Release notes](https://github.com/Microsoft/vsce/releases)
- [Commits](microsoft/vscode-vsce@v2.29.0...v2.30.0)

---
updated-dependencies:
- dependency-name: "@vscode/vsce"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.1 → v0.5.2](astral-sh/ruff-pre-commit@v0.5.1...v0.5.2)
Now that the language server (and the extension by proxy) is managing
mutliple sphinx processes, there is too much information to try and
cram into a set of language status items.

Instead the extension now contributes a "Sphinx Processes" tree view
which can visualise each process currently managed by the server. Not
only should this be more discoverable, but offers a space to expose
additonal management commands - such as restarting processes or
triggering builds.
This section will contain all the information on how to integrate
Esbonio into your favourite editor, including documentation on any
custom notifications/commands used by the server
This adds code to dump all objects defined in intersphinx inventories
into the `objects` table in the SQLite DB.

So that the language server can distinguish between local objects and
objects defined in another project, the `objects` table has been
extended to include a `project` column. It will be `NULL` for objects
in the local project or be set to the intersphinx inventory name
otherwise.

To ensure that the language server is able to surface these items in
completions this commit updates the domain role indexing code to
also store `external:domain:role` and `external+invname:domain:role`
variants of the role in the DB.

This feels... hacky but seems to work well. Maybe this can be
revisited in the future and improved with a more dynamic role
completion system...
@alcarney alcarney merged commit c342964 into release Jul 19, 2024
13 of 15 checks passed
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