Skip to content

Commit da1d222

Browse files
phunguyenmurculmsivasubramaniaanalbertocavalcantedatho7561RedCMD
authored
Ebuilder yaml sync 1.21.0 (#8)
* updated eslint version Signed-off-by: msivasubramaniaan <msivasub@redhat.com> * changelog updated for the release v1.17.0 Signed-off-by: msivasubramaniaan <msivasub@redhat.com> * add language 'github-actions-workflow' * bumped v1.18.0 Signed-off-by: msivasubramaniaan <msivasub@redhat.com> * updated chagelog for the release 1.18.0 Signed-off-by: msivasubramaniaan <msivasub@redhat.com> * bump version 1.19.0 Signed-off-by: msivasubramaniaan <msivasub@redhat.com> * Fix build failure due to prettier error Fixes redhat-developer#1117 Signed-off-by: David Thompson <davthomp@redhat.com> * Stabilize UI tests This PR uses delays in order to get the "YAML custom tags works as expected" test passing consistently. My best guess as to why this works is that it takes bit of time for the setting change to propagate to the language server. Fixes redhat-developer#1119 Signed-off-by: David Thompson <davthomp@redhat.com> * Add formatting option for trailing comma See redhat-developer/yaml-language-server#1063, this PR requires that PR in order to work. Fixes redhat-developer#1112 Signed-off-by: David Thompson <davthomp@redhat.com> * update settings.json as default formatter as yaml Signed-off-by: msivasubramaniaan <msivasub@redhat.com> * send vscode configured language to LS * upstream node * handled locale on YAML LS side * removed yarn dependency and added npm * fixed build issue * removed .yarnrc * check yarn availability * removed yarn * removed yarn completely * removed yarn.lock * check yarn * removed the yarn * add -force instead of -f * removed yarn based on OS * fix winows CI build issue * removed -y(yarn) in the script * CHANGELOG for 1.19.0 Signed-off-by: David Thompson <davthomp@redhat.com> * l10n missing from .vsix 1. The `l10n` folder, which contains all the translations, was not present anywhere in the built .vsix. The translations are required in order to run yaml-language-server, so I copied from yaml-language-server to `dist/l10n`. 2. The location of l10n was listed as `../yaml-language-server/l10n`. This doesn't work if yaml-language-server isn't cloned locally, and doesn't work when running as a .vsix, so I changed it to `./dist/l10n`. 3. During the CI run, npm isn't installing the latest prerelease of yaml-language-server. I added a step to force it to use the latest yaml-language-server. This is important, because the above bugs could have been caught earlier if we were actually testing against the newest yaml-language-server. Fixes redhat-developer#1152 Signed-off-by: David Thompson <davthomp@redhat.com> * Upversion to 1.20.0 * Publish prereleases Fixes redhat-developer#1155 Signed-off-by: David Thompson <davthomp@redhat.com> * Revert "update settings.json as default formatter as yaml" This reverts commit 84d4516. Fixes redhat-developer#1157 Adjusting the user settings automatically was annoying to some users. The main bug fix, which consisted of setting the document selector to include Docker Compose and GitHub Action files, will not be reverted. * Fix prerelease GitHub Action I had the wrong path for the script to bump the version. Signed-off-by: David Thompson <davthomp@redhat.com> * Don't tag prereleases Fixes redhat-developer#1162 Signed-off-by: David Thompson <davthomp@redhat.com> * Add languages `yaml-textmate` & `yaml-tmlanguage` (redhat-developer#1093) * Add languages `yaml-textmate` & `yaml-tmlanguage` * Add to `activationEvents` * Fix scheduled prerelease skipping publish step The prerelease build skipped the publishing step. (See https://github.com/redhat-developer/vscode-yaml/actions/runs/18187139533/job/51773763520) This should prevent the publishing step from being skipped. Signed-off-by: David Thompson <davthomp@redhat.com> * Another fix for prereleases In order to skip tagging the prerelease version, we need to entirely skip the publish to GitHub Releases step. Passing a null tag causes the step to error, which ends the build. Signed-off-by: David Thompson <davthomp@redhat.com> * CHANGELOG for 1.19.1 Signed-off-by: David Thompson <davthomp@redhat.com> * Upversion to 1.20.0 Signed-off-by: David Thompson <davthomp@redhat.com> * feat: Register `ansible` and `ansible-jinja` languages for formatter (redhat-developer#1179) * feat: Register `ansible` and `ansible-jinja` languages for formatter * docs: Add changelog after getting issue number * refactor: Change yaml pattern and release tag to follow upstream * docs: Remove version entry in changelog * docs: Improve changelog * docs: Clear update entry * Don't syntax highlight `1.4.0` as a float Modify the TextMate grammar so that it doesn't count `1.4.0` as a floating point number. The current regular expression was taken from the YAML 1.1 spec, but the regular expression contradicts the examples and explanation and was likely an error. The new regular expression was taken from the YAML 1.2.2 spec. Notably, I believe that `1.4.0` is treated as a string in 1.1 and 1.2 YAML deserializers. It doesn't seem like we'll be able to upstream this change into TextMate, given there's an existing upstream PR to make this change that hasn't been merged. Fixes redhat-developer#901 Signed-off-by: David Thompson <davthomp@redhat.com> * Update CODEOWNERS Muthu is working on other tasks and unfortunately doesn't have time to work on yaml-language-server. For the time being, I've been handling PR reviews and managing issues. Updating the CODEOWNERS to reflect this will automatically request for me to review any new PRs that come in, and will skip pinging Muthu. Signed-off-by: David Thompson <davthomp@redhat.com> * Fix macOS CI UI tests (redhat-developer#1186) * await for progress bar to disappear * Update customTagsTest.ts * Update extensionUITest.ts * Update extensionUITest.ts * Update extensionUITest.ts * Update extensionUITest.ts * Update extensionUITest.ts * increase timeout * Update extensionUITest.ts * Improve documentation for the `yaml.schemas` setting Fixes redhat-developer#1147 Signed-off-by: David Thompson <davthomp@redhat.com> * Settings for "auto-detect Kubernetes crd schema" (redhat-developer#1192) * Settings for "auto-detect Kubernetes crd schema" See redhat-developer/yaml-language-server#1050 Settings to enable/disable the feature and change the repository used to find CRD schemas. Use https://raw.githubusercontent.com/nlamirault/crd-schema-store/refs/heads/main/schemas to test an alternate store of CRD schemas. Signed-off-by: David Thompson <davthomp@redhat.com> * Fix wording of enable setting Co-authored-by: Morgan Chang <shin19991207@gmail.com> * Fix wording of url setting Co-authored-by: Morgan Chang <shin19991207@gmail.com> * Add a quote that somehow got lost Signed-off-by: David Thompson <davthomp@redhat.com> --------- Signed-off-by: David Thompson <davthomp@redhat.com> Co-authored-by: Morgan Chang <shin19991207@gmail.com> * Add new setting to enable/disable anchor hover support See redhat-developer/yaml-language-server#1150 Draft PR until it gets merged. Signed-off-by: David Thompson <davthomp@redhat.com> * Fix running as a web extension, add smoke tests to prevent another regression (redhat-developer#1193) * On web, send a message to the worker containing the translations Translations weren't working at all when running the language server in a web worker. In fact, the server was crashing immediately, since the server was trying to load them from the filesystem. This PR provides the translations to the server using the webworker message passing mechanism. Requires redhat-developer/yaml-language-server#1165 Signed-off-by: David Thompson <davthomp@redhat.com> * Fix web support, add smoke tests 1. Fix schema content resolving when running on web (referencing a schema with a relative path wasn't working) 2. Add smoke tests for desktop using `@vscode/test-cli` 3. Add smoke tests for web using `@vscode/test-web` The smoke tests are very minimal; it loads a YAML file that references a schema using a relative path and verifies the expected diagnostics appear. Signed-off-by: David Thompson <davthomp@redhat.com> --------- Signed-off-by: David Thompson <davthomp@redhat.com> * Fix resolving schema content on web Use a new extension point, which requests schema content by URI instead of filepath. This is helpful, since web instances may use URIs with schemas other than `file://` to refer to the files in the workspace. Add a smoke test. Fixes redhat-developer#1194 Signed-off-by: David Thompson <davthomp@redhat.com> * Remove debug notification Missed removing it before I pushed the code, and it unfortunately got missed in review too. Signed-off-by: David Thompson <davthomp@redhat.com> * CHANGELOG for 1.20.0 Signed-off-by: David Thompson <davthomp@redhat.com> * Upversion to 1.21.0 Signed-off-by: David Thompson <davthomp@redhat.com> * Switch to 1.20.1 Given we're doing a release to address bugs introduced in 1.20.1, I think that we should mark the nexte version as a patch release. Signed-off-by: David Thompson <davthomp@redhat.com> * Fix documentation of `yaml.schemas` setting You can use a single glob or an array of globs. I've updated the documentation and JSON Schema to reflect this. Fixes redhat-developer#1207 Signed-off-by: David Thompson <davthomp@redhat.com> * Replaced the asterisk based file matching with explicit YAML language IDs (redhat-developer#1209) * replaced the asterisk based file matching with explicit YAML language IDs Signed-off-by: Morgan Chang <shin19991207@gmail.com> * remove unsupported language IDs Signed-off-by: Morgan Chang <shin19991207@gmail.com> --------- Signed-off-by: Morgan Chang <shin19991207@gmail.com> * make yaml.validate and yaml.format.enable language overridable Signed-off-by: Morgan Chang <shin19991207@gmail.com> * switch back to 1.21.0 * Add yaml-lint-disable comment to suppress diagnostics per-line Add support for suppressing linter diagnostics on a per-line basis using a yaml-lint-disable comment placed on the line immediately before the one producing the diagnostic. The comment supports three forms: suppress all diagnostics, suppress by message substring, or suppress by multiple comma-separated substrings (case-insensitive). Implemented via LSP client middleware that intercepts diagnostics from the yaml-language-server and filters out suppressed ones before they reach VS Code. Co-authored-by: Cursor <cursoragent@cursor.com> * Refine tests and JSDocs * Remove code * Rename yaml-lint-disable to yaml-language-server-disable * CHANGELOG for 1.21.0 (redhat-developer#1215) Signed-off-by: David Thompson <davthomp@redhat.com> Co-authored-by: Morgan Chang <shin19991207@gmail.com> * Upversion to 1.22.0 Signed-off-by: David Thompson <davthomp@redhat.com> * feat(yaml): add YAML language service features - Implemented YamlLinks service for finding document links in YAML files. - Added YamlOnTypeFormatting service for handling on-the-fly formatting in YAML. - Created YamlRename service to support renaming anchors in YAML documents. - Introduced YamlSelectionRanges service to provide selection ranges for YAML nodes. - Enhanced YamlSchemaService with new schema modification actions. - Added diagnostic filtering capabilities for suppressing specific diagnostics in YAML. - Implemented utility functions for handling YAML AST and scalar types. - Updated telemetry interface for error reporting. - Refactored text buffer utilities for better line handling. - Updated Kubernetes schema URL to the latest version. - Adjusted schema status bar item to work with eBuilder YAML language. * fix: outdate config * feat: add support for .eyaml and .eyml file extensions --------- Signed-off-by: msivasubramaniaan <msivasub@redhat.com> Signed-off-by: David Thompson <davthomp@redhat.com> Signed-off-by: Morgan Chang <shin19991207@gmail.com> Co-authored-by: msivasubramaniaan <msivasub@redhat.com> Co-authored-by: Muthurajan Sivasubramanian <93245779+msivasubramaniaan@users.noreply.github.com> Co-authored-by: Alberto Cavalcante <54247214+albertocavalcante@users.noreply.github.com> Co-authored-by: David Thompson <davthomp@redhat.com> Co-authored-by: RedCMD <33529441+RedCMD@users.noreply.github.com> Co-authored-by: Lanqing Huang <lqhuang@outlook.com> Co-authored-by: Morgan Chang <shin19991207@gmail.com> Co-authored-by: Simon Heather <simon.heather@yulife.com> Co-authored-by: Cursor <cursoragent@cursor.com>
2 parents ea5520b + bb25adc commit da1d222

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+5002
-4852
lines changed

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module.exports = {
1616
'prettier',
1717
],
1818
rules: {
19-
'prettier/prettier': 'error',
19+
'prettier/prettier': 'warn',
2020
'@typescript-eslint/no-use-before-define': ['error', { functions: false, classes: false }],
2121
'@typescript-eslint/no-unused-vars': ['warn'],
2222
'@typescript-eslint/explicit-function-return-type': [1, { allowExpressions: true }],

.github/CODEOWNERS

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
# Global Owners
2-
* @evidolob
3-
* @msivasubramaniaan
2+
* @datho7561

.github/workflows/CI.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,37 @@ jobs:
7979
path: |
8080
test-resources/screenshots/*.png
8181
retention-days: 2
82+
83+
Smoke-Test-Web:
84+
runs-on: 'ubuntu-latest'
85+
steps:
86+
- uses: actions/checkout@v4
87+
- name: Use Node 20
88+
uses: actions/setup-node@v4
89+
with:
90+
node-version: 20
91+
- name: Install dependencies
92+
run: npm ci
93+
- name: Update yaml-language-server
94+
run: npm i yaml-language-server@next
95+
- name: Build extension
96+
run: npm run build
97+
- name: Run tests on web
98+
run: xvfb-run npm run smoke-test-web
99+
100+
Smoke-Test-Desktop:
101+
runs-on: 'ubuntu-latest'
102+
steps:
103+
- uses: actions/checkout@v4
104+
- name: Use Node 20
105+
uses: actions/setup-node@v4
106+
with:
107+
node-version: 20
108+
- name: Install dependencies
109+
run: npm ci
110+
- name: Update yaml-language-server
111+
run: npm i yaml-language-server@next
112+
- name: Build extension
113+
run: npm run build
114+
- name: Run tests on web
115+
run: xvfb-run npm run smoke-test

.github/workflows/release.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,10 @@ jobs:
109109
if-no-files-found: error
110110
- name: Publish to GH Release Tab
111111
uses: "marvinpinto/action-automatic-releases@919008cf3f741b179569b7a6fb4d8860689ab7f0"
112+
if: ${{ github.event_name != 'schedule' && inputs.publishPreRelease != 'true' }}
112113
with:
113114
repo_token: "${{ secrets.GITHUB_TOKEN }}"
114-
automatic_release_tag: "${{ github.event_name != 'schedule' && inputs.publishPreRelease != 'true' && env.EXT_VERSION || null }}"
115+
automatic_release_tag: "${{ env.EXT_VERSION }}"
115116
draft: true
116117
files: |
117118
vscode-yaml-${{ env.EXT_VERSION }}-${{github.run_number}}*.vsix

.vscode-test.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { defineConfig } from '@vscode/test-cli';
2+
3+
export default defineConfig({
4+
files: 'out/smoke-test/**/*.test.js',
5+
workspaceFolder: './smoke-test/',
6+
});

.vscode/launch.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@
4242
"--extensionDevelopmentPath=${workspaceFolder}",
4343
"--extensionDevelopmentKind=web"
4444
],
45+
"sourceMaps": true,
4546
"env": {
47+
"DEBUG_VSCODE_YAML": "true",
4648
"VSCODE_REDHAT_TELEMETRY_DEBUG":"true"
4749
},
4850
"outFiles": ["${workspaceRoot}/dist/**/*.js"],

.vscode/settings.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@
1111
"other": true,
1212
"comments": true,
1313
"strings": true
14-
}
14+
},
15+
"yaml.schemas": {},
16+
"yaml.schemaStore.enable": true
1517
}

CHANGELOG.md

Lines changed: 96 additions & 4 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ The following settings are supported:
4646
* `yaml.format.trailingComma`: Specify if trailing commas should be used in JSON-like segments of the YAML
4747
* `yaml.validate`: Enable/disable validation feature
4848
* `yaml.hover`: Enable/disable hover
49+
* `yaml.hoverAnchor`: Enable/disable hover feature for anchors
4950
* `yaml.completion`: Enable/disable autocompletion
5051
* `yaml.schemas`: Helps you associate schemas with files in a glob pattern
5152
* `yaml.schemaStore.enable`: When set to true, the YAML language server will pull in all available schemas from [JSON Schema Store](http://schemastore.org/json/)
@@ -68,6 +69,33 @@ The following settings are supported:
6869
- `yaml.keyOrdering` : Enforces alphabetical ordering of keys in mappings when set to `true`. Default is `false`
6970
- `yaml.extension.recommendations` : Enable extension recommendations for YAML files. Default is `true`
7071

72+
## Suppressing diagnostics
73+
74+
You can suppress specific validation warnings on a per-line basis by adding a `# yaml-language-server-disable` comment on the line immediately before the one producing the diagnostic.
75+
76+
### Suppress all diagnostics on a line
77+
78+
```yaml
79+
# yaml-language-server-disable
80+
version: 123
81+
```
82+
83+
### Suppress only specific diagnostics
84+
85+
Provide one or more message substrings (comma-separated, case-insensitive). Only diagnostics whose message contains a matching substring will be suppressed; the rest are kept.
86+
87+
```yaml
88+
# yaml-language-server-disable Incorrect type
89+
version: 123
90+
```
91+
92+
```yaml
93+
# yaml-language-server-disable Incorrect type, not accepted
94+
version: 123
95+
```
96+
97+
The substrings are matched against the diagnostic messages shown in the VS Code **Problems** panel.
98+
7199
## Adding custom tags
72100
73101
To use the custom tags in your YAML file, you need to first specify the custom tags in the setting of your code editor. For example, you can have the following custom tags:

0 commit comments

Comments
 (0)