From 82414cf230a449909db9db994fced2bb44451ba6 Mon Sep 17 00:00:00 2001 From: Emran Ramezan Date: Sun, 26 Jan 2025 11:46:08 +0000 Subject: [PATCH 1/9] added support for Nova Code Editor Ext manifest --- .gitignore | 1 + .../extension/invalid-activation-events.json | 10 + src/negative_test/extension/invalid-url.json | 9 + .../extension/invalid-version.json | 9 + .../extension/missing-required-fields.json | 3 + src/schemas/json/extension.json | 193 ++++++++++++++++++ src/test/extension/basic.json | 9 + src/test/extension/debug.json | 15 ++ src/test/extension/full.json | 47 +++++ src/test/extension/minimal.json | 9 + src/test/prettierrc/.prettierrc.yml | 16 +- src/test/prettierrc/prettierrc.json | 60 +++--- 12 files changed, 343 insertions(+), 38 deletions(-) create mode 100644 src/negative_test/extension/invalid-activation-events.json create mode 100644 src/negative_test/extension/invalid-url.json create mode 100644 src/negative_test/extension/invalid-version.json create mode 100644 src/negative_test/extension/missing-required-fields.json create mode 100644 src/schemas/json/extension.json create mode 100644 src/test/extension/basic.json create mode 100644 src/test/extension/debug.json create mode 100644 src/test/extension/full.json create mode 100644 src/test/extension/minimal.json diff --git a/.gitignore b/.gitignore index 1923a4b9ffb..73ab7c67580 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ test.json .vs/ .idea *.iml +.nova ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. diff --git a/src/negative_test/extension/invalid-activation-events.json b/src/negative_test/extension/invalid-activation-events.json new file mode 100644 index 00000000000..05f276d7089 --- /dev/null +++ b/src/negative_test/extension/invalid-activation-events.json @@ -0,0 +1,10 @@ +{ + "activationEvents": "onStart", + "bugs": "https://example.com/issues", + "categories": ["Utilities"], + "description": "An example with invalid activation events.", + "identifier": "com.example.invalid-activation", + "name": "Invalid Activation Events", + "organization": "Example Org", + "version": "1.0.0" +} diff --git a/src/negative_test/extension/invalid-url.json b/src/negative_test/extension/invalid-url.json new file mode 100644 index 00000000000..202efa1b6df --- /dev/null +++ b/src/negative_test/extension/invalid-url.json @@ -0,0 +1,9 @@ +{ + "bugs": "not-a-valid-url", + "categories": ["Utilities"], + "description": "An example with invalid URLs.", + "identifier": "com.example.invalid-url", + "name": "Invalid URL", + "organization": "Example Org", + "version": "1.0.0" +} diff --git a/src/negative_test/extension/invalid-version.json b/src/negative_test/extension/invalid-version.json new file mode 100644 index 00000000000..202efa1b6df --- /dev/null +++ b/src/negative_test/extension/invalid-version.json @@ -0,0 +1,9 @@ +{ + "bugs": "not-a-valid-url", + "categories": ["Utilities"], + "description": "An example with invalid URLs.", + "identifier": "com.example.invalid-url", + "name": "Invalid URL", + "organization": "Example Org", + "version": "1.0.0" +} diff --git a/src/negative_test/extension/missing-required-fields.json b/src/negative_test/extension/missing-required-fields.json new file mode 100644 index 00000000000..a16cd0cbe02 --- /dev/null +++ b/src/negative_test/extension/missing-required-fields.json @@ -0,0 +1,3 @@ +{ + "name": "Missing Required Fields" +} diff --git a/src/schemas/json/extension.json b/src/schemas/json/extension.json new file mode 100644 index 00000000000..73d94d119bd --- /dev/null +++ b/src/schemas/json/extension.json @@ -0,0 +1,193 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://json.schemastore.org/extension.json", + "title": "Nova Extension Manifest", + "description": "A schema for defining Nova extension manifests.", + "type": "object", + "additionalProperties": false, + "required": [ + "bugs", + "categories", + "description", + "identifier", + "name", + "organization", + "version" + ], + "properties": { + "activationEvents": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of Activation Events." + }, + "breakpoints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of Breakpoint templates provided (Nova 9)." + }, + "bugs": { + "type": "string", + "format": "uri", + "description": "URL to the extension’s issue reporter link (required)." + }, + "categories": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of Category identifiers (required)." + }, + "commands": { + "type": "array", + "items": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The unique identifier for the command." + }, + "name": { + "type": "string", + "description": "The user-readable name of the command." + } + }, + "required": ["identifier", "name"], + "additionalProperties": false + }, + "description": "Set of Commands provided." + }, + "config": { + "type": "object", + "description": "Set of global Preferences." + }, + "configWorkspace": { + "type": "object", + "description": "Set of workspace (project-specific) Preferences." + }, + "description": { + "type": "string", + "description": "The user-readable descriptive text (required)." + }, + "debugAdapters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The unique identifier for the debug adapter." + }, + "name": { + "type": "string", + "description": "The user-readable name of the debug adapter." + } + }, + "required": ["identifier", "name"], + "additionalProperties": false + }, + "description": "Set of Debug Adapters provided (Nova 9)." + }, + "entitlements": { + "type": "object", + "description": "Description of an extension’s Entitlements." + }, + "funding": { + "type": "string", + "format": "uri", + "description": "URL to the extension’s funding link, if any (Nova 2)." + }, + "homepage": { + "type": "string", + "format": "uri", + "description": "URL to the extension’s homepage link, if any." + }, + "identifier": { + "type": "string", + "description": "The unique extension identifier (required)." + }, + "issueMatchers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pattern": { + "type": "string", + "description": "Regex pattern for matching issues." + }, + "severity": { + "type": "string", + "enum": ["error", "warning", "info"], + "description": "The severity level of the issue." + } + }, + "required": ["pattern"], + "additionalProperties": false + }, + "description": "Set of Issue Matchers provided to the IssueParser API." + }, + "license": { + "type": "string", + "description": "The name of the extension’s license, if any." + }, + "max_runtime": { + "type": "string", + "description": "The maximum runtime supported." + }, + "min_runtime": { + "type": "string", + "description": "The minimum runtime supported." + }, + "name": { + "type": "string", + "description": "The user-readable name (required)." + }, + "organization": { + "type": "string", + "description": "The user-readable organization name (required)." + }, + "repository": { + "type": "string", + "format": "uri", + "description": "URL to the extension’s repository link, if any." + }, + "version": { + "type": "string", + "pattern": "^\\d+\\.\\d+\\.\\d+$", + "description": "The extension version (required). Must follow semantic versioning." + }, + "main": { + "type": "string", + "description": "Relative path to the extension’s Main Script." + }, + "sidebars": { + "type": "array", + "items": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The unique identifier for the sidebar." + }, + "name": { + "type": "string", + "description": "The user-readable name of the sidebar." + } + }, + "required": ["identifier", "name"], + "additionalProperties": false + }, + "description": "Set of Sidebars provided to the TreeView API." + }, + "taskTemplates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of Task Templates." + } + } +} diff --git a/src/test/extension/basic.json b/src/test/extension/basic.json new file mode 100644 index 00000000000..c41823aa7a2 --- /dev/null +++ b/src/test/extension/basic.json @@ -0,0 +1,9 @@ +{ + "bugs": "https://example.com/issues", + "categories": ["Utilities"], + "description": "A basic valid extension.", + "identifier": "com.example.basic-extension", + "name": "Basic Extension", + "organization": "Example Corp", + "version": "1.0.0" +} diff --git a/src/test/extension/debug.json b/src/test/extension/debug.json new file mode 100644 index 00000000000..a427de2356a --- /dev/null +++ b/src/test/extension/debug.json @@ -0,0 +1,15 @@ +{ + "bugs": "https://example.com/debug-issues", + "categories": ["Debugging"], + "debugAdapters": [ + { + "identifier": "debug.helper.adapter", + "name": "Debug Helper Adapter" + } + ], + "description": "An extension with debug support.", + "identifier": "com.example.debug-helper", + "name": "Debug Helper", + "organization": "Debug Tools Ltd.", + "version": "1.1.0" +} diff --git a/src/test/extension/full.json b/src/test/extension/full.json new file mode 100644 index 00000000000..3421448cf48 --- /dev/null +++ b/src/test/extension/full.json @@ -0,0 +1,47 @@ +{ + "activationEvents": ["onStart", "onOpen"], + "bugs": "https://example.com/bugs", + "categories": ["Development", "Productivity"], + "commands": [ + { + "identifier": "command.open", + "name": "Open Command" + } + ], + "config": { + "preference": true + }, + "configWorkspace": { + "workspaceSetting": "enabled" + }, + "debugAdapters": [ + { + "identifier": "debug.adapter", + "name": "Debug Adapter" + } + ], + "description": "An extension with all supported fields.", + "funding": "https://patreon.com/example", + "homepage": "https://example.com", + "identifier": "com.example.full-feature", + "issueMatchers": [ + { + "pattern": "error: (.*)", + "severity": "error" + } + ], + "license": "MIT", + "max_runtime": "3.0", + "min_runtime": "1.0", + "name": "Full Feature Extension", + "organization": "Full Dev Inc.", + "repository": "https://github.com/example/repo", + "sidebars": [ + { + "identifier": "sidebar.tasks", + "name": "Tasks Sidebar" + } + ], + "taskTemplates": ["template1", "template2"], + "version": "2.0.0" +} diff --git a/src/test/extension/minimal.json b/src/test/extension/minimal.json new file mode 100644 index 00000000000..227b7303139 --- /dev/null +++ b/src/test/extension/minimal.json @@ -0,0 +1,9 @@ +{ + "bugs": "https://example.com/issues", + "categories": ["Utilities"], + "description": "A minimal valid extension.", + "identifier": "com.example.minimal", + "name": "Minimal Extension", + "organization": "Minimal Inc.", + "version": "0.1.0" +} diff --git a/src/test/prettierrc/.prettierrc.yml b/src/test/prettierrc/.prettierrc.yml index c0af25574ef..9d8bde16122 100644 --- a/src/test/prettierrc/.prettierrc.yml +++ b/src/test/prettierrc/.prettierrc.yml @@ -6,11 +6,11 @@ tabWidth: 4 semi: false singleQuote: true overrides: - - files: '*.test.js' - options: - semi: true - - files: - - '*.html' - - 'legacy/**/*.js' - options: - tabWidth: 4 + - files: '*.test.js' + options: + semi: true + - files: + - '*.html' + - 'legacy/**/*.js' + options: + tabWidth: 4 diff --git a/src/test/prettierrc/prettierrc.json b/src/test/prettierrc/prettierrc.json index 0ebe536e848..c0ce9ec7fb8 100644 --- a/src/test/prettierrc/prettierrc.json +++ b/src/test/prettierrc/prettierrc.json @@ -1,32 +1,32 @@ { - "arrowParens": "always", - "bracketSameLine": false, - "bracketSpacing": true, - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "overrides": [ - { - "files": ["*/*.Rmd"], - "options": { - "parser": "markdown" - } - }, - { - "files": ["*/*.type"], - "options": { - "parser": "custom" - } - } - ], - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "all", - "useTabs": false + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "htmlWhitespaceSensitivity": "css", + "insertPragma": false, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "overrides": [ + { + "files": ["*/*.Rmd"], + "options": { + "parser": "markdown" + } + }, + { + "files": ["*/*.type"], + "options": { + "parser": "custom" + } + } + ], + "printWidth": 80, + "proseWrap": "preserve", + "quoteProps": "as-needed", + "requirePragma": false, + "semi": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false } From 7b7c948f3e8f8842c3d561bb3702e8f4ac428de1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 26 Jan 2025 11:50:27 +0000 Subject: [PATCH 2/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/test/prettierrc/.prettierrc.yml | 16 ++++---- src/test/prettierrc/prettierrc.json | 60 ++++++++++++++--------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/test/prettierrc/.prettierrc.yml b/src/test/prettierrc/.prettierrc.yml index 9d8bde16122..c0af25574ef 100644 --- a/src/test/prettierrc/.prettierrc.yml +++ b/src/test/prettierrc/.prettierrc.yml @@ -6,11 +6,11 @@ tabWidth: 4 semi: false singleQuote: true overrides: - - files: '*.test.js' - options: - semi: true - - files: - - '*.html' - - 'legacy/**/*.js' - options: - tabWidth: 4 + - files: '*.test.js' + options: + semi: true + - files: + - '*.html' + - 'legacy/**/*.js' + options: + tabWidth: 4 diff --git a/src/test/prettierrc/prettierrc.json b/src/test/prettierrc/prettierrc.json index c0ce9ec7fb8..0ebe536e848 100644 --- a/src/test/prettierrc/prettierrc.json +++ b/src/test/prettierrc/prettierrc.json @@ -1,32 +1,32 @@ { - "arrowParens": "always", - "bracketSameLine": false, - "bracketSpacing": true, - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "overrides": [ - { - "files": ["*/*.Rmd"], - "options": { - "parser": "markdown" - } - }, - { - "files": ["*/*.type"], - "options": { - "parser": "custom" - } - } - ], - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "all", - "useTabs": false + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "htmlWhitespaceSensitivity": "css", + "insertPragma": false, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "overrides": [ + { + "files": ["*/*.Rmd"], + "options": { + "parser": "markdown" + } + }, + { + "files": ["*/*.type"], + "options": { + "parser": "custom" + } + } + ], + "printWidth": 80, + "proseWrap": "preserve", + "quoteProps": "as-needed", + "requirePragma": false, + "semi": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false } From 057aefa524e7b0160627a8c2be3751d8a4cf17e9 Mon Sep 17 00:00:00 2001 From: Emran Ramezan Date: Sun, 26 Jan 2025 12:03:23 +0000 Subject: [PATCH 3/9] fix: updated the catalog file to reflect --- src/api/json/catalog.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index 82f6c9782cb..270248b5df0 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -3679,6 +3679,11 @@ "fileMatch": ["notebook.mod.json"], "url": "https://raw.githubusercontent.com/BookkeepersMC/notebook-schemas/master/notebook.mod.json/schemas/main.json" }, + { + "name": "Nova Editor", + "description": "Nova Editor Extension Manifest", + "fileMatch": ["extension.json"], + "url": "https://json.schemastore.org/extension.json" }, { "name": "NOX Framework (Service)", "description": "NOX service definition", From accf02e9da49b5fcb5da33e047d332f6fc3100ed Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 26 Jan 2025 12:05:22 +0000 Subject: [PATCH 4/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/api/json/catalog.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index 270248b5df0..88d3044b5cf 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -3683,7 +3683,8 @@ "name": "Nova Editor", "description": "Nova Editor Extension Manifest", "fileMatch": ["extension.json"], - "url": "https://json.schemastore.org/extension.json" }, + "url": "https://json.schemastore.org/extension.json" + }, { "name": "NOX Framework (Service)", "description": "NOX service definition", From dbb2ab6d7cb92b3e0df14d12a5ad8b1a274e2a23 Mon Sep 17 00:00:00 2001 From: Emran Ramezan Date: Mon, 27 Jan 2025 23:14:54 +0000 Subject: [PATCH 5/9] added more details to the schema definition --- .gitignore | 1 - src/api/json/catalog.json | 2 +- .../extension/incorrect-debug-adaptor.json | 13 + .../extension/unrecognised-category.json | 9 + src/negative_test/extension/wrong-type.json | 15 + src/schemas/json/extension.json | 365 +++++++++++++++--- src/test/extension/basic.json | 2 +- src/test/extension/debug.json | 12 +- src/test/extension/full.json | 228 ++++++++++- src/test/extension/minimal.json | 2 +- src/test/prettierrc/.prettierrc.yml | 16 +- src/test/prettierrc/prettierrc.json | 60 +-- 12 files changed, 595 insertions(+), 130 deletions(-) create mode 100644 src/negative_test/extension/incorrect-debug-adaptor.json create mode 100644 src/negative_test/extension/unrecognised-category.json create mode 100644 src/negative_test/extension/wrong-type.json diff --git a/.gitignore b/.gitignore index 73ab7c67580..1923a4b9ffb 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ test.json .vs/ .idea *.iml -.nova ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index 88d3044b5cf..9999f4d7c69 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -3682,7 +3682,7 @@ { "name": "Nova Editor", "description": "Nova Editor Extension Manifest", - "fileMatch": ["extension.json"], + "fileMatch": ["**/.novaextension/extension.json", "extension.json"], "url": "https://json.schemastore.org/extension.json" }, { diff --git a/src/negative_test/extension/incorrect-debug-adaptor.json b/src/negative_test/extension/incorrect-debug-adaptor.json new file mode 100644 index 00000000000..7ef753fe068 --- /dev/null +++ b/src/negative_test/extension/incorrect-debug-adaptor.json @@ -0,0 +1,13 @@ +{ + "bugs": "https://example.com/debug-issues", + "categories": ["issues"], + "debugAdapters": { + "identifier": "debug.helper.adapter", + "name": "Debug Helper Adapter" + }, + "description": "An extension with debug support.", + "identifier": "com.example.debug-helper", + "name": "Debug Helper", + "organization": "Debug Tools Ltd.", + "version": "1.1.0" +} diff --git a/src/negative_test/extension/unrecognised-category.json b/src/negative_test/extension/unrecognised-category.json new file mode 100644 index 00000000000..c41823aa7a2 --- /dev/null +++ b/src/negative_test/extension/unrecognised-category.json @@ -0,0 +1,9 @@ +{ + "bugs": "https://example.com/issues", + "categories": ["Utilities"], + "description": "A basic valid extension.", + "identifier": "com.example.basic-extension", + "name": "Basic Extension", + "organization": "Example Corp", + "version": "1.0.0" +} diff --git a/src/negative_test/extension/wrong-type.json b/src/negative_test/extension/wrong-type.json new file mode 100644 index 00000000000..99e8741d802 --- /dev/null +++ b/src/negative_test/extension/wrong-type.json @@ -0,0 +1,15 @@ +{ + "bugs": "https://example.com/debug-issues", + "categories": ["issues"], + "debugAdapters": [ + { + "identifier": "debug.helper.adapter", + "name": "Debug Helper Adapter" + } + ], + "description": "An extension with debug support.", + "identifier": "com.example.debug-helper", + "name": "Debug Helper", + "organization": "Debug Tools Ltd.", + "version": "1.1.0" +} diff --git a/src/schemas/json/extension.json b/src/schemas/json/extension.json index 73d94d119bd..cbe9faa4910 100644 --- a/src/schemas/json/extension.json +++ b/src/schemas/json/extension.json @@ -24,110 +24,259 @@ }, "breakpoints": { "type": "array", + "description": "Set of Breakpoint templates provided (Nova 9).", "items": { - "type": "string" - }, - "description": "Set of Breakpoint templates provided (Nova 9)." + "type": "object", + "properties": { + "syntax": { + "type": "string", + "description": "The name of language syntax. Source breakpoints will be enabled within lines of code using this syntax." + } + }, + "additionalProperties": false + } }, "bugs": { - "type": "string", - "format": "uri", - "description": "URL to the extension’s issue reporter link (required)." + "oneOf": [ + { + "type": "string", + "format": "uri", + "description": "A string representing the URL to the extension’s issue tracker." + }, + { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "A string representing the URL to the extension’s issue tracker." + }, + "email": { + "type": "string", + "format": "email", + "description": "An email address that will be the target of a mailto: link." + } + }, + "additionalProperties": false + } + ] }, "categories": { "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "clips", + "commands", + "completions", + "formatters", + "issues", + "key-bindings", + "languages", + "sidebars", + "tasks", + "themes" + ] }, "description": "An array of Category identifiers (required)." }, "commands": { - "type": "array", - "items": { - "type": "object", - "properties": { - "identifier": { - "type": "string", - "description": "The unique identifier for the command." - }, - "name": { - "type": "string", - "description": "The user-readable name of the command." + "type": "object", + "properties": { + "editor": { + "type": "array", + "description": "Groups commands that appear within the Editor menu for text documents", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "command": { + "type": "string" + }, + "shortcut": { + "type": "string" + }, + "when": { + "type": "string" + }, + "filters": { + "type": "object", + "properties": { + "syntaxes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false } }, - "required": ["identifier", "name"], - "additionalProperties": false + "extensions": { + "type": "array", + "description": "Groups commands that appear within the Extensions menu for the workspace", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "command": { + "type": "string" + }, + "shortcut": { + "type": "string" + }, + "when": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "command-palette": { + "type": "array", + "description": "Groups commands that should only appear within the Command Palette", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "command": { + "type": "string" + }, + "shortcut": { + "type": "string" + }, + "when": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "text": { + "type": "array", + "description": "Groups commands that should be available within an editor for direct handling of text input, such as emulation of alternative key binding schemes", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "command": { + "type": "string" + }, + "shortcut": { + "type": "string" + }, + "when": { + "type": "string" + } + }, + "additionalProperties": false + } + } }, - "description": "Set of Commands provided." + "additionalProperties": false, + "description": "User-invokable commands can be added to the menus and command palette, optionally with keyboard key-equivalents. These commands invoke a callback registered in the JavaScript execution environment of the extension." }, "config": { - "type": "object", - "description": "Set of global Preferences." + "type": "array", + "description": "Configuration items for the extension." }, "configWorkspace": { - "type": "object", - "description": "Set of workspace (project-specific) Preferences." + "type": "array", + "description": "Configuration items for the extension." }, "description": { "type": "string", "description": "The user-readable descriptive text (required)." }, "debugAdapters": { - "type": "array", - "items": { + "type": "object", + "description": "Set of Debug Adapters provided (Nova 9).", + "additionalProperties": { "type": "object", "properties": { - "identifier": { + "name": { "type": "string", - "description": "The unique identifier for the debug adapter." + "description": "The user-readable name for the adapter." }, - "name": { + "image": { "type": "string", - "description": "The user-readable name of the debug adapter." + "description": "The name of an image contributed by your extension." } }, - "required": ["identifier", "name"], "additionalProperties": false - }, - "description": "Set of Debug Adapters provided (Nova 9)." + } }, "entitlements": { "type": "object", - "description": "Description of an extension’s Entitlements." + "description": "Description of an extension’s Entitlements.", + "properties": { + "clipboard": { + "type": "boolean", + "description": "Provides access to the Clipboard API." + }, + "filesystem": { + "type": "string", + "enum": ["readonly", "readwrite"], + "description": "Provides access to the FileSystem and related APIs to read and/or write to files on disk." + }, + "requests": { + "type": "boolean", + "description": "Provides access to the Fetch API to perform asynchronous HTTP network requests." + }, + "process": { + "type": "boolean", + "description": "Provides access to the Process API to launch and communicate with external tools." + } + }, + "additionalProperties": false }, "funding": { "type": "string", "format": "uri", - "description": "URL to the extension’s funding link, if any (Nova 2)." + "description": "A string representing the URL to the extension’s funding page, if any." }, "homepage": { "type": "string", "format": "uri", - "description": "URL to the extension’s homepage link, if any." + "description": "A string representing the URL to the extension’s website homepage." }, "identifier": { "type": "string", "description": "The unique extension identifier (required)." }, "issueMatchers": { - "type": "array", - "items": { + "type": "object", + "description": "Set of Issue Matchers provided to the IssueParser API.", + "additionalProperties": { "type": "object", "properties": { "pattern": { - "type": "string", - "description": "Regex pattern for matching issues." + "type": "object" }, - "severity": { - "type": "string", - "enum": ["error", "warning", "info"], - "description": "The severity level of the issue." + "linesStartAt1": { + "type": "boolean", + "default": true, + "description": "Whether line numbers captured by the matcher are 1-indexed." + }, + "columnsStartAt1": { + "type": "boolean", + "default": true, + "description": "Whether column numbers captured by the matcher are 1-indexed." } }, - "required": ["pattern"], "additionalProperties": false - }, - "description": "Set of Issue Matchers provided to the IssueParser API." + } }, "license": { "type": "string", @@ -135,11 +284,11 @@ }, "max_runtime": { "type": "string", - "description": "The maximum runtime supported." + "description": "The maximum version of the runtime supported by the extension. The extension will not be able to be installed in application versions newer than this." }, "min_runtime": { "type": "string", - "description": "The minimum runtime supported." + "description": "The minimum version of the runtime supported for the extension. The extension will not be able to be installed in application versions older than this." }, "name": { "type": "string", @@ -152,7 +301,7 @@ "repository": { "type": "string", "format": "uri", - "description": "URL to the extension’s repository link, if any." + "description": "A string representing the URL to the extension’s code repository, if any." }, "version": { "type": "string", @@ -165,28 +314,122 @@ }, "sidebars": { "type": "array", + "description": "Set of Sidebars provided to the TreeView API.", "items": { "type": "object", "properties": { - "identifier": { + "id": { "type": "string", - "description": "The unique identifier for the sidebar." + "description": "The unique identifier of the sidebar. Must be unique within the scope of the extension." }, "name": { "type": "string", - "description": "The user-readable name of the sidebar." + "description": "The user-readable name of the sidebar. This value is automatically localized." + }, + "smallImage": { + "type": "string", + "description": "The name of an image to use when the sidebar dock is in Small mode." + }, + "smallSelectedImage": { + "type": "string", + "description": "The name of an image to use when the sidebar dock is in Small mode and the sidebar is selected." + }, + "largeImage": { + "type": "string", + "description": "The name of an image to use when the sidebar dock is in Large mode." + }, + "largeSelectedImage": { + "type": "string", + "description": "The name of an image to use when the sidebar dock is in Large mode and the sidebar is selected." + }, + "sections": { + "type": "array", + "description": "An array of section definitions defining the content of the sidebar.", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the section. Must be unique within the sidebar." + }, + "name": { + "type": "string", + "description": "The user-readable name of the section, shown in its header." + }, + "allowMultiple": { + "type": "boolean", + "description": "Whether the tree shown within the section allows multiple selection." + }, + "placeholderImage": { + "type": "string", + "description": "The name of an image to display if the section has no content." + }, + "placeholderText": { + "type": "string", + "description": "A label to display if the section has no content." + }, + "headerCommands": { + "type": "array", + "description": "An array of Command definitions that will be shown as buttons in the header of the section.", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the command button." + }, + "image": { + "type": "string", + "description": "The name of the image for the command button." + }, + "tooltip": { + "type": "string", + "description": "The tooltip text for the command button." + }, + "command": { + "type": "string", + "description": "The command to be executed when the button is clicked." + }, + "when": { + "type": "string", + "description": "A condition that determines when the command button is enabled." + } + }, + "additionalProperties": false + } + }, + "contextCommands": { + "type": "array", + "description": "An array of Command definitions that will be shown in the contextual menu of the sidebar.", + "items": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the contextual command." + }, + "command": { + "type": "string", + "description": "The command to be executed when the contextual command is selected." + }, + "when": { + "type": "string", + "description": "A condition that determines when the contextual command is enabled." + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } } }, - "required": ["identifier", "name"], "additionalProperties": false - }, - "description": "Set of Sidebars provided to the TreeView API." + } }, "taskTemplates": { - "type": "array", - "items": { - "type": "string" - }, + "type": "object", "description": "Set of Task Templates." } } diff --git a/src/test/extension/basic.json b/src/test/extension/basic.json index c41823aa7a2..97354e74230 100644 --- a/src/test/extension/basic.json +++ b/src/test/extension/basic.json @@ -1,6 +1,6 @@ { "bugs": "https://example.com/issues", - "categories": ["Utilities"], + "categories": ["commands"], "description": "A basic valid extension.", "identifier": "com.example.basic-extension", "name": "Basic Extension", diff --git a/src/test/extension/debug.json b/src/test/extension/debug.json index a427de2356a..0e3d96f3eab 100644 --- a/src/test/extension/debug.json +++ b/src/test/extension/debug.json @@ -1,12 +1,12 @@ { "bugs": "https://example.com/debug-issues", - "categories": ["Debugging"], - "debugAdapters": [ - { - "identifier": "debug.helper.adapter", - "name": "Debug Helper Adapter" + "categories": ["issues"], + "debugAdapters": { + "debugpy": { + "image": "debugpy", + "name": "Python (debugpy)" } - ], + }, "description": "An extension with debug support.", "identifier": "com.example.debug-helper", "name": "Debug Helper", diff --git a/src/test/extension/full.json b/src/test/extension/full.json index 3421448cf48..2856bb0e8db 100644 --- a/src/test/extension/full.json +++ b/src/test/extension/full.json @@ -1,35 +1,140 @@ { "activationEvents": ["onStart", "onOpen"], "bugs": "https://example.com/bugs", - "categories": ["Development", "Productivity"], - "commands": [ + "categories": ["commands", "issues"], + "commands": { + "editor": [ + { + "command": "wrapSelectionInTag", + "filters": { + "syntaxes": ["html"] + }, + "shortcut": "cmd-<", + "title": "Wrap Selection In Tag", + "when": "editorHasFocus" + } + ] + }, + "config": [ + { + "default": false, + "description": "Whether to always ignore selected text.", + "key": "myextension.ignore-selection", + "title": "Ignore Selection", + "type": "boolean" + }, + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce diam urna, sagittis et imperdiet a, molestie hendrerit lectus. Duis accumsan viverra lectus et vulputate. Nullam at mi ac ipsum luctus dapibus quis eget ante.", + "key": "myextension.description", + "title": "Description", + "type": "text" + }, + { + "command": "myextension.autoconfigure", + "title": "Autoconfigure", + "type": "command" + }, { - "identifier": "command.open", - "name": "Open Command" + "children": [ + { + "key": "myextension.temp-filename-format", + "placeholder": "foobar.ext.tmp", + "title": "Temporary Filename Format", + "type": "string" + }, + { + "description": "Donec interdum ligula non ipsum consectetur blandit. Nam eget pharetra est.", + "key": "myextension.count", + "max": 100, + "min": 0, + "title": "Count", + "type": "number" + }, + { + "default": "text", + "key": "myextension.file-type", + "title": "File Type", + "type": "enum", + "values": ["text", "photo", "video"] + } + ], + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu fermentum nibh.", + "link": "https://library.panic.com/options", + "title": "File Options", + "type": "section" } ], - "config": { - "preference": true - }, - "configWorkspace": { - "workspaceSetting": "enabled" - }, - "debugAdapters": [ + "configWorkspace": [ + { + "default": false, + "description": "Whether to always ignore selected text.", + "key": "myextension.ignore-selection", + "title": "Ignore Selection", + "type": "boolean" + }, + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce diam urna, sagittis et imperdiet a, molestie hendrerit lectus. Duis accumsan viverra lectus et vulputate. Nullam at mi ac ipsum luctus dapibus quis eget ante.", + "key": "myextension.description", + "title": "Description", + "type": "text" + }, { - "identifier": "debug.adapter", - "name": "Debug Adapter" + "command": "myextension.autoconfigure", + "title": "Autoconfigure", + "type": "command" + }, + { + "children": [ + { + "key": "myextension.temp-filename-format", + "placeholder": "foobar.ext.tmp", + "title": "Temporary Filename Format", + "type": "string" + }, + { + "description": "Donec interdum ligula non ipsum consectetur blandit. Nam eget pharetra est.", + "key": "myextension.count", + "max": 100, + "min": 0, + "title": "Count", + "type": "number" + }, + { + "default": "text", + "key": "myextension.file-type", + "title": "File Type", + "type": "enum", + "values": ["text", "photo", "video"] + } + ], + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu fermentum nibh.", + "link": "https://library.panic.com/options", + "title": "File Options", + "type": "section" } ], + "debugAdapters": { + "debugpy": { + "image": "debugpy", + "name": "Python (debugpy)" + } + }, "description": "An extension with all supported fields.", "funding": "https://patreon.com/example", "homepage": "https://example.com", "identifier": "com.example.full-feature", - "issueMatchers": [ - { - "pattern": "error: (.*)", - "severity": "error" + "issueMatchers": { + "my-issue-matcher": { + "pattern": { + "code": 2, + "file": 3, + "line": 4, + "message": 1, + "regexp": "^(?:PHP\\s+)?Parse error:\\s+(.+?)\\s+\\(([a-zA-Z0-9-_]+)\\) in ([^:]+?) on line (\\d+)$", + "severity": "error" + } } - ], + }, "license": "MIT", "max_runtime": "3.0", "min_runtime": "1.0", @@ -38,10 +143,91 @@ "repository": "https://github.com/example/repo", "sidebars": [ { - "identifier": "sidebar.tasks", - "name": "Tasks Sidebar" + "id": "mysidebar", + "largeImage": "sidebar-large", + "name": "My Sidebar", + "sections": [ + { + "allowMultiple": false, + "contextCommands": [ + { + "command": "mysidebar.remove", + "title": "Remove", + "when": "viewItem != null" + } + ], + "headerCommands": [ + { + "command": "mysidebar.add", + "image": "__builtin.add", + "title": "Add", + "tooltip": "Add a new color" + }, + { + "command": "mysidebar.remove", + "image": "__builtin.remove", + "title": "Remove", + "tooltip": "Remove the selected color", + "when": "viewItem != null" + } + ], + "id": "mysidebar-colors", + "name": "Colors" + } + ], + "smallImage": "sidebar-small" } ], - "taskTemplates": ["template1", "template2"], + "taskTemplates": { + "webserver": { + "config": [ + { + "default": "localhost", + "key": "php.host", + "placeholder": "localhost", + "title": "Host", + "type": "string" + }, + { + "default": 8000, + "key": "php.port", + "max": 65535, + "min": 1, + "placeholder": "8000", + "title": "Port", + "type": "number" + }, + { + "default": ".", + "key": "php.document-root", + "title": "Document Root", + "type": "path" + }, + { + "description": "Custom arguments to pass to the PHP webserver command.", + "key": "php.custom-args", + "title": "Additional Arguments", + "type": "string" + } + ], + "description": "Runs the PHP development server.", + "name": "PHP Webserver", + "persistent": true, + "tasks": { + "run": { + "args": [ + "-S", + "$(Config:php.host):$(Config:php.port)", + "-t", + "$(Config:php.document-root)", + "$(Config:php.custom-args)" + ], + "command": "php", + "env": {}, + "shell": true + } + } + } + }, "version": "2.0.0" } diff --git a/src/test/extension/minimal.json b/src/test/extension/minimal.json index 227b7303139..f4432d788c7 100644 --- a/src/test/extension/minimal.json +++ b/src/test/extension/minimal.json @@ -1,6 +1,6 @@ { "bugs": "https://example.com/issues", - "categories": ["Utilities"], + "categories": ["issues"], "description": "A minimal valid extension.", "identifier": "com.example.minimal", "name": "Minimal Extension", diff --git a/src/test/prettierrc/.prettierrc.yml b/src/test/prettierrc/.prettierrc.yml index c0af25574ef..9d8bde16122 100644 --- a/src/test/prettierrc/.prettierrc.yml +++ b/src/test/prettierrc/.prettierrc.yml @@ -6,11 +6,11 @@ tabWidth: 4 semi: false singleQuote: true overrides: - - files: '*.test.js' - options: - semi: true - - files: - - '*.html' - - 'legacy/**/*.js' - options: - tabWidth: 4 + - files: '*.test.js' + options: + semi: true + - files: + - '*.html' + - 'legacy/**/*.js' + options: + tabWidth: 4 diff --git a/src/test/prettierrc/prettierrc.json b/src/test/prettierrc/prettierrc.json index 0ebe536e848..c0ce9ec7fb8 100644 --- a/src/test/prettierrc/prettierrc.json +++ b/src/test/prettierrc/prettierrc.json @@ -1,32 +1,32 @@ { - "arrowParens": "always", - "bracketSameLine": false, - "bracketSpacing": true, - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "overrides": [ - { - "files": ["*/*.Rmd"], - "options": { - "parser": "markdown" - } - }, - { - "files": ["*/*.type"], - "options": { - "parser": "custom" - } - } - ], - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "all", - "useTabs": false + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "htmlWhitespaceSensitivity": "css", + "insertPragma": false, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "overrides": [ + { + "files": ["*/*.Rmd"], + "options": { + "parser": "markdown" + } + }, + { + "files": ["*/*.type"], + "options": { + "parser": "custom" + } + } + ], + "printWidth": 80, + "proseWrap": "preserve", + "quoteProps": "as-needed", + "requirePragma": false, + "semi": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false } From e556b1ce3c1411289afc4f27a9914a6ce33f614a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 23:16:07 +0000 Subject: [PATCH 6/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/test/prettierrc/.prettierrc.yml | 16 ++++---- src/test/prettierrc/prettierrc.json | 60 ++++++++++++++--------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/test/prettierrc/.prettierrc.yml b/src/test/prettierrc/.prettierrc.yml index 9d8bde16122..c0af25574ef 100644 --- a/src/test/prettierrc/.prettierrc.yml +++ b/src/test/prettierrc/.prettierrc.yml @@ -6,11 +6,11 @@ tabWidth: 4 semi: false singleQuote: true overrides: - - files: '*.test.js' - options: - semi: true - - files: - - '*.html' - - 'legacy/**/*.js' - options: - tabWidth: 4 + - files: '*.test.js' + options: + semi: true + - files: + - '*.html' + - 'legacy/**/*.js' + options: + tabWidth: 4 diff --git a/src/test/prettierrc/prettierrc.json b/src/test/prettierrc/prettierrc.json index c0ce9ec7fb8..0ebe536e848 100644 --- a/src/test/prettierrc/prettierrc.json +++ b/src/test/prettierrc/prettierrc.json @@ -1,32 +1,32 @@ { - "arrowParens": "always", - "bracketSameLine": false, - "bracketSpacing": true, - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "overrides": [ - { - "files": ["*/*.Rmd"], - "options": { - "parser": "markdown" - } - }, - { - "files": ["*/*.type"], - "options": { - "parser": "custom" - } - } - ], - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "all", - "useTabs": false + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "htmlWhitespaceSensitivity": "css", + "insertPragma": false, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "overrides": [ + { + "files": ["*/*.Rmd"], + "options": { + "parser": "markdown" + } + }, + { + "files": ["*/*.type"], + "options": { + "parser": "custom" + } + } + ], + "printWidth": 80, + "proseWrap": "preserve", + "quoteProps": "as-needed", + "requirePragma": false, + "semi": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false } From 786739a8caaf9e64e6234dd8629d281f6d50f2e1 Mon Sep 17 00:00:00 2001 From: Emran Ramezan Date: Mon, 27 Jan 2025 23:21:42 +0000 Subject: [PATCH 7/9] added the missing wildcard --- src/api/json/catalog.json | 2 +- src/test/prettierrc/.prettierrc.yml | 16 ++++---- src/test/prettierrc/prettierrc.json | 60 ++++++++++++++--------------- 3 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index 9999f4d7c69..341a7a9f771 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -3682,7 +3682,7 @@ { "name": "Nova Editor", "description": "Nova Editor Extension Manifest", - "fileMatch": ["**/.novaextension/extension.json", "extension.json"], + "fileMatch": ["**/*.novaextension/extension.json", "extension.json"], "url": "https://json.schemastore.org/extension.json" }, { diff --git a/src/test/prettierrc/.prettierrc.yml b/src/test/prettierrc/.prettierrc.yml index c0af25574ef..9d8bde16122 100644 --- a/src/test/prettierrc/.prettierrc.yml +++ b/src/test/prettierrc/.prettierrc.yml @@ -6,11 +6,11 @@ tabWidth: 4 semi: false singleQuote: true overrides: - - files: '*.test.js' - options: - semi: true - - files: - - '*.html' - - 'legacy/**/*.js' - options: - tabWidth: 4 + - files: '*.test.js' + options: + semi: true + - files: + - '*.html' + - 'legacy/**/*.js' + options: + tabWidth: 4 diff --git a/src/test/prettierrc/prettierrc.json b/src/test/prettierrc/prettierrc.json index 0ebe536e848..c0ce9ec7fb8 100644 --- a/src/test/prettierrc/prettierrc.json +++ b/src/test/prettierrc/prettierrc.json @@ -1,32 +1,32 @@ { - "arrowParens": "always", - "bracketSameLine": false, - "bracketSpacing": true, - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "overrides": [ - { - "files": ["*/*.Rmd"], - "options": { - "parser": "markdown" - } - }, - { - "files": ["*/*.type"], - "options": { - "parser": "custom" - } - } - ], - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "all", - "useTabs": false + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "htmlWhitespaceSensitivity": "css", + "insertPragma": false, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "overrides": [ + { + "files": ["*/*.Rmd"], + "options": { + "parser": "markdown" + } + }, + { + "files": ["*/*.type"], + "options": { + "parser": "custom" + } + } + ], + "printWidth": 80, + "proseWrap": "preserve", + "quoteProps": "as-needed", + "requirePragma": false, + "semi": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false } From ce3fdb10cd7d8da37fe84cab59c91e680fa12979 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 23:22:44 +0000 Subject: [PATCH 8/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/test/prettierrc/.prettierrc.yml | 16 ++++---- src/test/prettierrc/prettierrc.json | 60 ++++++++++++++--------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/test/prettierrc/.prettierrc.yml b/src/test/prettierrc/.prettierrc.yml index 9d8bde16122..c0af25574ef 100644 --- a/src/test/prettierrc/.prettierrc.yml +++ b/src/test/prettierrc/.prettierrc.yml @@ -6,11 +6,11 @@ tabWidth: 4 semi: false singleQuote: true overrides: - - files: '*.test.js' - options: - semi: true - - files: - - '*.html' - - 'legacy/**/*.js' - options: - tabWidth: 4 + - files: '*.test.js' + options: + semi: true + - files: + - '*.html' + - 'legacy/**/*.js' + options: + tabWidth: 4 diff --git a/src/test/prettierrc/prettierrc.json b/src/test/prettierrc/prettierrc.json index c0ce9ec7fb8..0ebe536e848 100644 --- a/src/test/prettierrc/prettierrc.json +++ b/src/test/prettierrc/prettierrc.json @@ -1,32 +1,32 @@ { - "arrowParens": "always", - "bracketSameLine": false, - "bracketSpacing": true, - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "overrides": [ - { - "files": ["*/*.Rmd"], - "options": { - "parser": "markdown" - } - }, - { - "files": ["*/*.type"], - "options": { - "parser": "custom" - } - } - ], - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "all", - "useTabs": false + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "htmlWhitespaceSensitivity": "css", + "insertPragma": false, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "overrides": [ + { + "files": ["*/*.Rmd"], + "options": { + "parser": "markdown" + } + }, + { + "files": ["*/*.type"], + "options": { + "parser": "custom" + } + } + ], + "printWidth": 80, + "proseWrap": "preserve", + "quoteProps": "as-needed", + "requirePragma": false, + "semi": true, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false } From ed5bb2f4f31b5fdbcfa3fd4dd92faf27b73a3962 Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Fri, 14 Feb 2025 18:54:20 -0800 Subject: [PATCH 9/9] Update full.json --- src/test/extension/full.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/extension/full.json b/src/test/extension/full.json index 2856bb0e8db..dc5580af299 100644 --- a/src/test/extension/full.json +++ b/src/test/extension/full.json @@ -43,7 +43,7 @@ "type": "string" }, { - "description": "Donec interdum ligula non ipsum consectetur blandit. Nam eget pharetra est.", + "description": "Donec interdum ligula non ipsum consectetur blandit. Name eget pharetra est.", "key": "myextension.count", "max": 100, "min": 0, @@ -92,7 +92,7 @@ "type": "string" }, { - "description": "Donec interdum ligula non ipsum consectetur blandit. Nam eget pharetra est.", + "description": "Donec interdum ligula non ipsum consectetur blandit. Name eget pharetra est.", "key": "myextension.count", "max": 100, "min": 0,