Skip to content

Commit

Permalink
Merge pull request #774 from swyddfa/develop
Browse files Browse the repository at this point in the history
New Release
  • Loading branch information
alcarney authored Apr 20, 2024
2 parents 3fb1b67 + 3dd9711 commit 278de42
Show file tree
Hide file tree
Showing 158 changed files with 3,889 additions and 18,876 deletions.
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Bug Report
description: Report broken or unexpected behavior
labels: [bug, triage]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report this!
- type: textarea
id: expected
attributes:
label: Expected behavior
description: Tell us what you expected to happen.
placeholder: Tell us what you expected to happen.
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
description: Tell us what happened instead
placeholder: Tell us what happened instead
validations:
required: true
- type: textarea
id: logs
attributes:
label: Log output
description: |
Copy and paste any relevant log output here (most issues will be difficult to diagnose without this!).
For best results please make sure that debug logging is enabled (`esbonio.logging.level = debug`)
This will be automatically formatted as code, so no need for backticks.
render: shell
- type: textarea
id: conf
attributes:
label: (Optional) Settings from conf.py
description: |
If you think any settings from your project's `conf.py` are applicable, feel free to include them here
This will be automatically formatted as code, so no need for backticks.
render: python
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Feature Request
description: Suggest an idea for this project
labels: [enhancement, triage]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill this out!
- type: textarea
id: solution
attributes:
label: What would you like to see
description: A clear and concise description of what you want to happen.
placeholder: A clear and concise description of what you want to happen.
validations:
required: true
4 changes: 2 additions & 2 deletions .github/workflows/lsp-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
python-version: "3.11"

- name: pip cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-lsp-pr-pip-deps-3.11
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: pip cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-lsp-pr-pip-deps-${{ matrix.python-version }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sphinx-ext-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
python-version: "3.11"

- name: pip cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-ext-pr-pip-deps-3.11
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: pip cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-ext-pr-pip-deps-${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/vscode-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
python-version: "3.8"

- name: Pip cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-vscode-pip-deps-${{ hashFiles('code/requirements.txt') }}
Expand Down
72 changes: 60 additions & 12 deletions .github/workflows/vscode-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,8 @@ on:
- 'code/**'

jobs:
release:
name: vscode release
build:
runs-on: ubuntu-latest
environment:
name: vscode-marketplace
steps:
- uses: 'actions/checkout@v4'

Expand All @@ -27,7 +24,7 @@ jobs:
python-version: "3.8"

- name: pip cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-vscode-pip-deps-${{ hashFiles('code/requirements.txt') }}
Expand Down Expand Up @@ -63,13 +60,6 @@ jobs:
path: code/*.vsix
if-no-files-found: error

- name: 'Publish Extension'
run: |
cd code
npm run deploy
env:
VSCE_PAT: ${{ secrets.VSCODE_PAT }}

- name: Create Release
run: |
gh release create "${RELEASE_TAG}" \
Expand All @@ -78,3 +68,61 @@ jobs:
./code/*.vsix
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

marketplace-release:
name: vscode release
needs: build
runs-on: ubuntu-latest
environment:
name: vscode-marketplace
steps:
- uses: 'actions/checkout@v4'

- uses: 'actions/setup-node@v4'
with:
node-version: 18.x
cache: 'npm'
cache-dependency-path: 'code/package-lock.json'

- uses: actions/download-artifact@v4
name: 'Download Extension'
with:
name: 'vsix'
path: code

- name: 'Publish Extension'
run: |
cd code
npm ci --prefer-offline
npm run deploy-vsce
env:
VSCE_PAT: ${{ secrets.VSCODE_PAT }}

open-vsx-release:
name: open vsx release
needs: build
runs-on: ubuntu-latest
environment:
name: open-vsx
steps:
- uses: 'actions/checkout@v4'

- uses: 'actions/setup-node@v4'
with:
node-version: 18.x
cache: 'npm'
cache-dependency-path: 'code/package-lock.json'

- uses: actions/download-artifact@v4
name: 'Download Extension'
with:
name: 'vsix'
path: code

- name: 'Publish Extension'
run: |
cd code
npm ci --prefer-offline
npm run deploy-ovsx
env:
OVSX_PAT: ${{ secrets.OVSX_PAT }}
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ exclude: '.bumpversion.cfg$'
repos:

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v4.6.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace

- repo: https://github.com/psf/black
rev: 23.12.1
rev: 24.4.0
hooks:
- id: black

Expand All @@ -28,7 +28,7 @@ repos:
args: [--settings-file=lib/esbonio/pyproject.toml]

- repo: https://github.com/pre-commit/mirrors-mypy
rev: 'v1.8.0'
rev: 'v1.9.0'
hooks:
- id: mypy
name: mypy (scripts)
Expand Down
2 changes: 0 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,11 @@
"**/.vscode-test": true,
"**/.mypy_cache": true
},
"esbonio.sphinx.buildDir": "${confDir}/_build",
"esbonio.server.showDeprecationWarnings": true,
"isort.args": [
"--settings-file",
"./lib/esbonio/pyproject.toml"
],
"python.defaultInterpreterPath": "${workspaceRoot}/.env/bin/python",
"python.testing.pytestArgs": [
"lib/esbonio/tests"
],
Expand Down
21 changes: 18 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,16 @@

**esbonio - (v.) to explain**

Esbonio aims to make it easier to work with [reStructuredText](https://docutils.sourceforge.io/rst.html) tools such as [Sphinx](https://www.sphinx-doc.org/en/master/) by providing a [Language Server](https://langserver.org/) to enhance your editing experience.
[reStructuredText]: https://docutils.sourceforge.io/rst.html
[Sphinx]: https://www.sphinx-doc.org/en/master/
[Language Server]: https://langserver.org/

Esbonio aims to make it easier to work with [reStructuredText] tools such as [Sphinx] by providing a [Language Server] to enhance your editing experience.
The Esbonio project is made up from a number of sub-projects


## `lib/esbonio/` - A Language Server for Sphinx projects.

[![PyPI](https://img.shields.io/pypi/v/esbonio?style=flat-square)![PyPI - Downloads](https://img.shields.io/pypi/dm/esbonio?style=flat-square)](https://pypistats.org/packages/esbonio)[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/swyddfa/esbonio/blob/develop/lib/esbonio/LICENSE)

The language server provides the following features.
Expand Down Expand Up @@ -59,6 +66,7 @@ The language server provides the following features.


## `code/` - A VSCode extension for editing Sphinx projects

[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/swyddfa.esbonio?style=flat-square)![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/swyddfa.esbonio?style=flat-square)![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/swyddfa.esbonio?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=swyddfa.esbonio)[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/swyddfa/esbonio/blob/develop/code/LICENSE)

<p align="center">
Expand All @@ -69,8 +77,13 @@ This extension is purely focused on bringing the `esbonio` language server into

### You're probably looking for the reStructuredText Extension

You may already be familiar with the [reStructuredText](https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext) extension which, as of [v171.0.0](https://github.com/vscode-restructuredtext/vscode-restructuredtext/releases/tag/171.0.0) now also integrates the `esbonio` language server into VSCode.
It also integrates other tools such as the linters [`doc8`](https://pypi.org/project/doc8/) and [`rstcheck`](https://pypi.org/project/rstcheck/) and provides additional editor functionality making it easier to work with reStructuredText in general.
[reStructuredText extension]: https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext
[v171.0.0]: https://github.com/vscode-restructuredtext/vscode-restructuredtext/releases/tag/171.0.0
[`doc8`]: https://pypi.org/project/doc8/
[`rstcheck`]: https://pypi.org/project/rstcheck/

You may already be familiar with the [reStructuredText extension] which, as of [v171.0.0] now also integrates the `esbonio` language server into VSCode.
It also integrates other tools such as the linters [`doc8`] and [`rstcheck`] and provides additional editor functionality making it easier to work with reStructuredText in general.

**Wait.. so why does the Esbonio VSCode extension still exist?**

Expand All @@ -90,5 +103,7 @@ Try the Esbonio extension if
- You want to make use of the newer features available in recent VSCode versions
- You are only interested in the features provided by the language server


## `lib/esbonio-extensions/` - A collection of Sphinx extensions

[![PyPI](https://img.shields.io/pypi/v/esbonio-extensions?style=flat-square)![PyPI - Downloads](https://img.shields.io/pypi/dm/esbonio-extensions?style=flat-square)](https://pypistats.org/packages/esbonio-extensions)[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/swyddfa/esbonio/blob/develop/lib/esbonio-extensions/LICENSE)
1 change: 1 addition & 0 deletions code/changes/703.fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The extension will now notify the server when the user changes Python environment via the Python extension
2 changes: 2 additions & 0 deletions code/changes/748.breaking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Removed the `esbonio.server.logLevel` option, use `esbonio.logging.level` instead.
- Removed the `esbonio.server.logFilter` option, it has been made obselete by the other `esbonio.logging.*` options
9 changes: 9 additions & 0 deletions code/changes/748.enhancement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Added the following configuration options

- `esbonio:config:: esbonio.logging.level`, set the default logging level of the server
- `esbonio:config:: esbonio.logging.format`, set the default format of server log messages
- `esbonio:config:: esbonio.logging.filepath`, enable logging to a file
- `esbonio:config:: esbonio.logging.stderr`, print log messages to stderr
- `esbonio:config:: esbonio.logging.window`, send log messages as `window/logMessage` notifications
- `esbonio:config:: esbonio.logging.config`, override logging configuration for individual loggers, see the [documentation](https://docs.esbon.io/en/latest/lsp/reference/configuration.html#lsp-configuration-logging) for details
- `esbonio.trace.server` enables the logging of LSP messages sent to/from the server
1 change: 1 addition & 0 deletions code/changes/756.breaking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The `esbonio.server.enabledInPyFiles` configuration option has been removed, use `esbonio.server.documentSelector` instead
1 change: 1 addition & 0 deletions code/changes/756.enhancement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added the `esbonio.server.documentSelector` option, granting the user fine grained control over which files the server is enabled in.
Loading

0 comments on commit 278de42

Please sign in to comment.