diff --git a/.github/workflows/client-ci.yml b/.github/workflows/client-ci.yml index c1053e0..7dbebaa 100644 --- a/.github/workflows/client-ci.yml +++ b/.github/workflows/client-ci.yml @@ -9,7 +9,7 @@ jobs: build: strategy: matrix: - os: [ubuntu-latest, windows-latest] + os: [ubuntu-latest] python-version: ["3.8", "3.11"] runs-on: ${{ matrix.os }} defaults: diff --git a/README.md b/README.md index b92d114..ee2984f 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ This project has the following main goals: - [Improved macros support](#improved-macros-support) - [Extract macro](#extract-macro) - [Full Galaxy tool linter integration](#document-validation) + - [Document Outline](#document-outline) _New feature!_ ✨ # Getting Started @@ -153,3 +154,9 @@ There are also a lot of features around macros auto-completion. You can now navi You can select (a complete) XML element and then extract it to a local macro (directly in the tool wrapper) or into an external macro file. If there are several imported macro files, you can choose where to put them or if there is no imported file it will be created and imported directly. ![Demo feature expanded macros](../assets/feature.extract.macro.gif) + +## Document Outline + +You can now see a document outline of the currently opened tool document. This is especially useful when working with large tool documents. You can navigate to the different sections of the document in a quick and convenient way. + +![Demo feature document outline](../assets/feature.document.outline.gif) diff --git a/client/CHANGELOG.md b/client/CHANGELOG.md index b1a233d..28b1678 100644 --- a/client/CHANGELOG.md +++ b/client/CHANGELOG.md @@ -1,5 +1,16 @@ # Galaxy Tools (VS Code Extension) Changelog +## [0.12.1] - 2024-05-18 + +### Added + +- Option to skip future server install confirmations ([#252](https://github.com/galaxyproject/galaxy-language-server/pull/252)). + +### Changed + +- Updated Galaxy Language Server [v0.12.1](./server/CHANGELOG.md#0121) + + ## [0.12.0] - 2023-10-14 ### Added diff --git a/client/package-lock.json b/client/package-lock.json index 9336209..91340fb 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,12 +1,12 @@ { "name": "galaxy-tools", - "version": "0.10.2", + "version": "0.12.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "galaxy-tools", - "version": "0.10.2", + "version": "0.12.1", "license": "Apache-2.0", "dependencies": { "iconv-lite": "^0.6.3", diff --git a/client/package.json b/client/package.json index 765b94f..1084e0e 100644 --- a/client/package.json +++ b/client/package.json @@ -5,7 +5,7 @@ "author": "davelopez", "publisher": "davelopez", "license": "Apache-2.0", - "version": "0.12.0", + "version": "0.12.1", "preview": true, "repository": { "type": "git", diff --git a/client/src/constants.ts b/client/src/constants.ts index 2196761..83bc2b8 100644 --- a/client/src/constants.ts +++ b/client/src/constants.ts @@ -3,7 +3,7 @@ export namespace Constants { export const LS_VENV_NAME = "glsenv"; export const GALAXY_LS_PACKAGE = "galaxy-language-server"; export const GALAXY_LS = "galaxyls"; - export const GALAXY_LS_VERSION = "0.12.0"; + export const GALAXY_LS_VERSION = "0.12.1"; export const LANGUAGE_ID = "galaxytool"; export const TOOL_DOCUMENT_EXTENSION = "xml"; diff --git a/server/CHANGELOG.md b/server/CHANGELOG.md index 3cd5351..0ed65bd 100644 --- a/server/CHANGELOG.md +++ b/server/CHANGELOG.md @@ -1,5 +1,12 @@ # Galaxy Language Server Changelog +## [0.12.1] - 2024-05-18 + +### Changed + +- Update internal dependencies to support new Galaxy (24.0.2) XSD definitions. + + ## [0.12.0] - 2023-10-14 ### Added diff --git a/server/galaxyls/constants.py b/server/galaxyls/constants.py index a86f5dd..dc608a5 100644 --- a/server/galaxyls/constants.py +++ b/server/galaxyls/constants.py @@ -1,4 +1,5 @@ """This module contains definitions for constants used by the Galaxy Tools Language Server.""" + from lsprotocol.types import ( Position, Range, diff --git a/server/galaxyls/server.py b/server/galaxyls/server.py index 90e2657..eb0688c 100644 --- a/server/galaxyls/server.py +++ b/server/galaxyls/server.py @@ -1,5 +1,6 @@ """Galaxy Tools Language Server implementation """ + from typing import ( List, Optional, @@ -280,7 +281,7 @@ def generate_expanded_command(server: GalaxyToolsLanguageServer, parameters: Com document = server.workspace.get_document(params.uri) if document and DocumentValidator.is_tool_document(document): return server.service.macro_expander.generate_expanded_from(document.path) - return GeneratedExpandedDocument(error_message=f"The document {document.filename} is not a valid Galaxy Tool wrapper.") + return GeneratedExpandedDocument(errorMessage=f"The document {document.filename} is not a valid Galaxy Tool wrapper.") @language_server.command(Commands.DISCOVER_TESTS_IN_WORKSPACE) diff --git a/server/galaxyls/services/tools/document.py b/server/galaxyls/services/tools/document.py index 198416c..64ac373 100644 --- a/server/galaxyls/services/tools/document.py +++ b/server/galaxyls/services/tools/document.py @@ -6,7 +6,7 @@ Optional, ) -from anytree import find +from anytree import find # type: ignore from lsprotocol.types import ( Position, Range, diff --git a/server/galaxyls/services/tools/generators/command.py b/server/galaxyls/services/tools/generators/command.py index 2109492..b38bfe4 100644 --- a/server/galaxyls/services/tools/generators/command.py +++ b/server/galaxyls/services/tools/generators/command.py @@ -6,7 +6,7 @@ Union, ) -from anytree import PreOrderIter +from anytree import PreOrderIter # type: ignore from lsprotocol.types import ( Position, Range, diff --git a/server/galaxyls/services/tools/generators/snippets.py b/server/galaxyls/services/tools/generators/snippets.py index 4375528..cab1cb3 100644 --- a/server/galaxyls/services/tools/generators/snippets.py +++ b/server/galaxyls/services/tools/generators/snippets.py @@ -71,7 +71,7 @@ def _get_expanded_tool_document(self, tool_document: GalaxyToolXmlDocument) -> G try: document = tool_document.document expanded_tool_tree, _ = xml_macros.load_with_references(document.path) - expanded_tool_tree = cast(etree._ElementTree, expanded_tool_tree) + expanded_tool_tree = cast(etree._ElementTree, expanded_tool_tree) # type: ignore expanded_source = etree.tostring(expanded_tool_tree, encoding=str) expanded_document = Document(uri=document.uri, source=expanded_source, version=document.version) return GalaxyToolXmlDocument(expanded_document) diff --git a/server/galaxyls/services/tools/inputs.py b/server/galaxyls/services/tools/inputs.py index c1ab229..91b7ffb 100644 --- a/server/galaxyls/services/tools/inputs.py +++ b/server/galaxyls/services/tools/inputs.py @@ -4,7 +4,7 @@ Optional, ) -from anytree import ( +from anytree import ( # type: ignore find, NodeMixin, ) diff --git a/server/galaxyls/services/xml/document.py b/server/galaxyls/services/xml/document.py index c0cb96c..17bf54d 100644 --- a/server/galaxyls/services/xml/document.py +++ b/server/galaxyls/services/xml/document.py @@ -6,7 +6,7 @@ Optional, ) -from anytree.search import findall +from anytree.search import findall # type: ignore from galaxy.util import xml_macros from lsprotocol.types import ( Position, diff --git a/server/galaxyls/services/xml/nodes.py b/server/galaxyls/services/xml/nodes.py index 2ce9700..7d4502c 100644 --- a/server/galaxyls/services/xml/nodes.py +++ b/server/galaxyls/services/xml/nodes.py @@ -10,7 +10,7 @@ Tuple, ) -from anytree import NodeMixin +from anytree import NodeMixin # type: ignore from galaxyls.services.xml.constants import UNDEFINED_OFFSET from galaxyls.services.xml.types import NodeType diff --git a/server/galaxyls/services/xsd/types.py b/server/galaxyls/services/xsd/types.py index 8bc5385..02933fe 100644 --- a/server/galaxyls/services/xsd/types.py +++ b/server/galaxyls/services/xsd/types.py @@ -9,7 +9,7 @@ Optional, ) -from anytree import ( +from anytree import ( # type: ignore findall, NodeMixin, RenderTree, diff --git a/server/galaxyls/version.py b/server/galaxyls/version.py index 6ba8edc..2636802 100644 --- a/server/galaxyls/version.py +++ b/server/galaxyls/version.py @@ -1 +1 @@ -GLS_VERSION = "0.12.0" +GLS_VERSION = "0.12.1" diff --git a/server/requirements-dev.txt b/server/requirements-dev.txt index 1988e25..ebc129b 100644 --- a/server/requirements-dev.txt +++ b/server/requirements-dev.txt @@ -2,13 +2,13 @@ # But imports the runtime ones too -r requirements.txt -black==22.12.0 -flake8-bugbear==23.2.13 -flake8==6.0.0 -isort==5.12.0 -lxml-stubs==0.4.0 -mypy==1.0.1 -pytest-cov==4.0.0 -pytest-mock==3.10.0 -pytest==7.2.1 -types-setuptools==67.4.0.1 +black==24.4.2 +flake8-bugbear==24.4.26 +flake8==7.0.0 +isort==5.13.2 +lxml-stubs==0.5.1 +mypy==1.10.0 +pytest-cov==5.0.0 +pytest-mock==3.14.0 +pytest==8.2.0 +types-setuptools==69.5.0.20240518 diff --git a/server/requirements.txt b/server/requirements.txt index 8ed193d..a9cbe07 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -1,4 +1,4 @@ -pygls==1.1.1 -lxml==4.9.3 -anytree==2.10.0 -galaxy-tool-util==23.0.5 +pygls==1.3.1 +lxml==5.2.2 +anytree==2.12.1 +galaxy-tool-util==24.0.2