initial
Some checks are pending
CI Tests / dotnet (push) Waiting to run
CI Tests / dotnet-1 (push) Waiting to run
CI Tests / dotnet-2 (push) Waiting to run
Emacs End-to-End Tests / ert (push) Waiting to run
Vim End-to-End Tests / themis (push) Waiting to run

This commit is contained in:
fwastring 2026-02-17 13:06:31 +01:00
commit baa0056244
352 changed files with 47928 additions and 0 deletions

14
.github/CODEOWNERS vendored Normal file
View file

@ -0,0 +1,14 @@
# https://help.github.com/articles/about-codeowners/
# Global pattern
* @PowerShell/extension
# Developer files
src/ @PowerShell/extension-dev
test/ @PowerShell/extension-dev
tools/ @PowerShell/extension-dev
.editorconfig @PowerShell/extension-dev
.gitattributes @PowerShell/extension-dev
.gitignore @PowerShell/extension-dev
PowerShellEditorServices.build.ps1 @PowerShell/extension-dev
PowerShellEditorServices.sln @PowerShell/extension-dev

88
.github/ISSUE_TEMPLATE/bug-report.yml vendored Normal file
View file

@ -0,0 +1,88 @@
name: 🐛 Bug report
description: Open an issue about a bug that needs fixing.
labels: ["Issue-Bug", "Needs: Triage"]
body:
- type: checkboxes
attributes:
label: Prerequisites
options:
- label: I have written a descriptive issue title.
required: true
- label: I have searched all [_open and closed_ issues](https://github.com/PowerShell/PowerShellEditorServices/issues?q=is%3Aissue) to ensure it has not already been reported.
- label: I have read the [troubleshooting](https://github.com/PowerShell/vscode-powershell/blob/main/docs/troubleshooting.md) guide.
- label: I am sure this issue is with _PowerShell Editor Services itself_ and does not reproduce in a standalone [PowerShell](https://github.com/PowerShell/PowerShell/issues/new/choose) instance, and is not an issue with my editor.
- label: I have verified that I am using the latest version of PowerShell Editor Services.
- label: If this is a security issue, I have read the [security issue reporting guidance](https://github.com/PowerShell/vscode-powershell/blob/main/SECURITY.md).
- type: textarea
id: summary
attributes:
label: Summary
description: Explain the problem briefly below.
placeholder: I am experiencing a problem with X. I think Y should be happening but Z is actually happening.
validations:
required: true
- type: textarea
id: powershell-version
attributes:
label: PowerShell Version
description: Paste verbatim output from `$PSVersionTable` below. Please double-check that this is the PowerShell version that is running Editor Services.
render: console
placeholder: |
PS> $PSVersionTable
Name Value
---- -----
PSVersion 7.4.0
PSEdition Core
GitCommitId 7.4.0
OS Darwin 20.4.0 Darwin Kernel
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
validations:
required: true
- type: textarea
id: vscode-version
attributes:
label: Editor Version
description: Paste verbatim output from `emacs --version` or `vim --version` etc. below. **Please also describe how you setup the relevant LSP client, such as `eglot` or `vim-lsp` and share your configuration!**
render: console
placeholder: |
PS> emacs --version
GNU Emacs 29.1
...
validations:
required: true
- type: textarea
id: extension-version
attributes:
label: PowerShell Editor Services Version
description: If you have interactive access to the PowerShell host running Editor Services, paste verbatim output of `$psEditor.EditorServicesVersion` below.
render: console
placeholder: |
PS> $psEditor.EditorServicesVersion
Major Minor Build Revision
----- ----- ----- --------
3 14 0 0
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to Reproduce
description: List of steps, sample code, failing test or link to a project that reproduces the behavior. Make sure you place a stack trace inside a code (```) block to avoid linking unrelated issues.
validations:
required: true
- type: textarea
id: visuals
attributes:
label: Visuals
description: Please upload images or animations that can be used to reproduce issues in the area below. Try the [Steps Recorder](https://support.microsoft.com/en-us/windows/record-steps-to-reproduce-a-problem-46582a9b-620f-2e36-00c9-04e25d784e47) on Windows or [Screenshot](https://support.apple.com/en-us/HT208721) on macOS.
- type: textarea
id: logs
attributes:
label: Logs
description: Please upload logs collected by following these [instructions](https://github.com/PowerShell/vscode-powershell/blob/main/docs/troubleshooting.md#logs) for VS Code (otherwise however your editor is setup) in the area below. Be careful to scrub sensitive information!

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 🙋 Ask a question
url: https://aka.ms/powershell-vscode-discord
about: "Find us in #vscode on the PowerShell Community Discord"

View file

@ -0,0 +1,26 @@
name: ✨ Feature request
description: Open an issue about a potential new feature or improvement.
labels: ["Issue-Enhancement", "Needs: Triage"]
body:
- type: checkboxes
attributes:
label: Prerequisites
options:
- label: I have written a descriptive issue title.
required: true
- label: I have searched all [issues](https://github.com/PowerShell/PowerShellEditorServices/issues?q=is%3Aissue) to ensure it has not already been requested.
required: true
- type: textarea
id: summary
attributes:
label: Summary
description: Explain the feature request below.
placeholder: I would like to do X because it would be useful for Y and I cannot currently do it with Z.
validations:
required: true
- type: textarea
id: proposed-design
attributes:
label: Proposed Design
description: Optionally explain any technical design below.
placeholder: We could accomplish this by extending X to take Y and yield Z.

16
.github/release.yml vendored Normal file
View file

@ -0,0 +1,16 @@
changelog:
exclude:
labels:
- Ignore
authors:
- dependabot
categories:
- title: Enhancements & Features ✨
labels:
- Issue-Enhancement
- title: Squashed Bugs 🐛
labels:
- Issue-Bug
- title: Other Changes 🙏
labels:
- "*"

68
.github/workflows/ci-test.yml vendored Normal file
View file

@ -0,0 +1,68 @@
name: CI Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
ci:
name: dotnet
strategy:
matrix:
os: [ windows-latest, macos-latest, ubuntu-latest ]
runs-on: ${{ matrix.os }}
env:
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dotnet
uses: actions/setup-dotnet@v4
with:
cache: true
cache-dependency-path: '**/*.csproj'
global-json-file: ./global.json
- name: Install PSResources
shell: pwsh
run: ./tools/installPSResources.ps1
- name: Download PowerShell install script
uses: actions/checkout@v4
with:
repository: PowerShell/PowerShell
path: pwsh
sparse-checkout: tools/install-powershell.ps1
sparse-checkout-cone-mode: false
- name: Install preview
shell: pwsh
run: ./pwsh/tools/install-powershell.ps1 -Preview -Destination ./preview
- name: If debugging, start upterm for interactive pipeline troubleshooting
if: ${{ runner.debug == 1 }}
uses: lhotari/action-upterm@v1
with:
wait-timeout-minutes: 1
- name: Build and test
shell: pwsh
run: Invoke-Build -Configuration Release TestFull
- name: Upload build artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: PowerShellEditorServices-module-${{ matrix.os }}
path: module
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: PowerShellEditorServices-test-results-${{ matrix.os }}
path: '**/*.trx'

View file

@ -0,0 +1,45 @@
name: Issue Housekeeping
permissions:
issues: write
on:
schedule:
- cron: "0 * * * *"
jobs:
stale-resolved-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
name: Label resolved issues as needing fix verification
with:
any-of-labels: "Resolution-Answered,Resolution-Duplicate,Resolution-External,Resolution-Fixed,Resolution-Inactive"
stale-issue-label: "Needs: Fix Verification"
days-before-stale: 0
days-before-close: -1
stale-issue-message: "This issue has been labeled as resolved, please verify the provided fix (or other reason)."
labels-to-remove-when-stale: "Needs: Maintainer Attention,Needs: Triage"
stale-fixed-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
name: Close issues needing fix verification after 1 week of inactivity
with:
stale-issue-label: "Needs: Fix Verification"
days-before-stale: -1
labels-to-add-when-unstale: "Needs: Maintainer Attention"
close-issue-reason: completed
close-issue-message: "This issue has been labeled as needing fix verification and has not had any activity a week. It has been closed for housekeeping purposes."
stale-feedback-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
name: Close issues needing author feedback after 1 week of inactivity
with:
stale-issue-label: "Needs: Author Feedback"
days-before-stale: -1
labels-to-add-when-unstale: "Needs: Maintainer Attention"
labels-to-remove-when-unstale: "Needs: Triage"
close-issue-reason: completed
close-issue-message: "This issue has been labeled as needing feedback and has not had any activity a week. It has been closed for housekeeping purposes."

50
.github/workflows/emacs-test.yml vendored Normal file
View file

@ -0,0 +1,50 @@
name: Emacs End-to-End Tests
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
merge_group:
types: [ checks_requested ]
jobs:
emacs:
name: ert
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dotnet
uses: actions/setup-dotnet@v4
with:
cache: true
cache-dependency-path: '**/*.csproj'
- name: Install PSResources
shell: pwsh
run: tools/installPSResources.ps1
- name: Build
shell: pwsh
run: Invoke-Build Build
- name: Install Emacs
uses: purcell/setup-emacs@master
with:
version: '28.2'
- name: Run ERT with full CLI
run: |
emacs -Q --batch -f package-refresh-contents --eval "(package-install 'eglot)"
emacs -Q --batch -l test/emacs-test.el -f ert-run-tests-batch-and-exit
- name: Run ERT with simple CLI
run: |
emacs -Q --batch -f package-refresh-contents --eval "(package-install 'eglot)"
emacs -Q --batch -l test/emacs-simple-test.el -f ert-run-tests-batch-and-exit

76
.github/workflows/vim-test.yml vendored Normal file
View file

@ -0,0 +1,76 @@
name: Vim End-to-End Tests
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
merge_group:
types: [ checks_requested ]
jobs:
vim:
name: themis
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dotnet
uses: actions/setup-dotnet@v4
with:
cache: true
cache-dependency-path: '**/*.csproj'
- name: Install PSResources
shell: pwsh
run: tools/installPSResources.ps1
- name: Build
shell: pwsh
run: Invoke-Build Build
- name: Install Vim
id: vim
uses: rhysd/action-setup-vim@v1
with:
version: nightly
- name: Checkout vim-ps1
uses: actions/checkout@v4
with:
repository: PProvost/vim-ps1
path: vim-ps1
- name: Checkout LanguageClient-neovim
uses: actions/checkout@v4
with:
repository: autozimu/LanguageClient-neovim
path: LanguageClient-neovim
- name: Install LanguageClient-neovim
run: ./install.sh
working-directory: LanguageClient-neovim
- name: Checkout Themis
uses: actions/checkout@v4
with:
repository: thinca/vim-themis
path: vim-themis
# - name: Debug if run with debugging enabled
# uses: lhotari/action-upterm@v1
- name: Run Themis with full CLI
env:
THEMIS_VIM: ${{ steps.vim.outputs.executable }}
run: ./vim-themis/bin/themis ./test/vim-test.vim
- name: Run Themis with simple CLI
env:
THEMIS_VIM: ${{ steps.vim.outputs.executable }}
run: ./vim-themis/bin/themis ./test/vim-simple-test.vim