From 656ce46ea0927d5e2cf6c0e8cd10667b4a9f37fa Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 15 Feb 2021 13:32:05 +0100 Subject: [PATCH 1/7] Update the main readme with clearer information about the project --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index af2eafb..8de5758 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,24 @@ -# Galaxy Language Server +# Galaxy Tools Extension and Galaxy Language Server [![Actions Status](https://github.com/davelopez/galaxy-language-server/workflows/Language%20Server%20CI/badge.svg)](https://github.com/davelopez/galaxy-language-server/actions) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/galaxy-language-server) [![PyPI version](https://badge.fury.io/py/galaxy-language-server.svg)](https://badge.fury.io/py/galaxy-language-server) -The aim of this project is to implement the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) to assist in the development of [Galaxy tool wrappers](https://docs.galaxyproject.org/en/latest/dev/schema.html) inside modern code editors. +This repository contains two projects, the [Galaxy Language Server](https://github.com/davelopez/galaxy-language-server/tree/master/server) which is a [Python](https://www.python.org/) implementation of the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) and the [Galaxy Tools extension](https://github.com/davelopez/galaxy-language-server/tree/master/client) which is a [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) in [Node.js](https://nodejs.org/en/). -> The idea is to provide realtime XML validation, code completion, help/documentation and other *smart* features to help in following best practices during the development process of XML tool wrappers for Galaxy. +This project has the following main goals: -This repository contains both the [server](https://github.com/davelopez/galaxy-language-server/tree/master/server) implementation in [Python](https://www.python.org/) and the [client](https://github.com/davelopez/galaxy-language-server/tree/master/client) implementation of a [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) in [Node.js](https://nodejs.org/en/). +- **Easy onboarding of new Galaxy tool developers**: with the [intelligent code completion](#tag-and-attribute-auto-completion) and the [documentation tooltips](#documentation-on-hover), new developers can reduce the need for memorizing tags and attributes as well as easily discover what they need as they write avoiding syntax and structural errors on the way. +- **Development speed**: more experienced developers can greatly boost their speed writing tools for Galaxy by using the [code snippets](#snippets) to quickly write code for commonly used tag or even [generating scaffolding code for the tests](#auto-generate-tests) covering most of the *conditional paths* of their tool. +- **Encourage best practices**: one of the **most important goals** of this project is to assist the developer in writing tools that follow the [best practices established by the Intergalactic Utilities Commission](https://galaxy-iuc-standards.readthedocs.io/en/latest/index.html) by providing features like [attribute sorting](#auto-sort-param-attributes) or [auto-formatting](#document-auto-formatting) and many more to come! > Please note this is still a work in progress so **bugs and issues are expected**. If you find any, you are welcome to open a new [issue](https://github.com/galaxyproject/galaxy-language-server/issues). # Table of Contents - [Getting Started](#getting-started) - - [Using the Galaxy Language Server](#using-the-galaxy-language-server) + - [Using the project](#using-the-project) - [Contributing](#contributing) - [Features](#features) - [Tag and attribute auto-completion](#tag-and-attribute-auto-completion) @@ -33,9 +35,9 @@ This repository contains both the [server](https://github.com/davelopez/galaxy-l # Getting Started -## Using the Galaxy Language Server +## Using the project -If you just want to use the Galaxy Language Server, the easiest option is to **install the VSCode extension** from the [Market](https://marketplace.visualstudio.com/items?itemName=davelopez.galaxy-tools) or the [Open VSX registry](https://open-vsx.org/extension/davelopez/galaxy-tools). Additionally, you can download the VSIX package from the [releases](https://github.com/galaxyproject/galaxy-language-server/releases) page and install it manually. +If you just want to use the features provided by the Galaxy Language Server, the easiest and recommended option is to **install the VSCode extension** from the [Market](https://marketplace.visualstudio.com/items?itemName=davelopez.galaxy-tools) or, if you prefer, you can use [VSCodium](https://github.com/VSCodium/vscodium) and the [Open VSX registry](https://open-vsx.org/extension/davelopez/galaxy-tools). Additionally, you can download the VSIX package from the [releases](https://github.com/galaxyproject/galaxy-language-server/releases) page and install it manually. ## Contributing From e9db039d424aff0b6733223e3a04e4c38e1a666d Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 15 Feb 2021 13:32:54 +0100 Subject: [PATCH 2/7] Add link to the video. Closes #112 --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 8de5758..9589a14 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,10 @@ To setup your development environment, please check [this guide](docs/CONTRIBUTI # Features +You can watch a short video with a tour of some of the features of the Galaxy Tools extension here: + +[![Galaxy Tools features video](https://img.youtube.com/vi/MpPrgtNrEcQ/0.jpg)](https://www.youtube.com/watch?v=MpPrgtNrEcQ) + ## Tag and attribute auto-completion ![Demo feature auto-completion](../assets/feature.autocompletion.gif) From 6a82c84db6c2b1535796c8092c6a9786dff1551c Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 15 Feb 2021 13:45:32 +0100 Subject: [PATCH 3/7] Minor update of extension readme --- client/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/README.md b/client/README.md index eb95518..35b8972 100644 --- a/client/README.md +++ b/client/README.md @@ -1,6 +1,6 @@ # Galaxy Tools (Visual Studio Code Extension) -This extension provides XML validation, tags and attributes completion, help/documentation on hover, and other *smart* features to assist in following best practices during the development process of XML tool wrappers for [Galaxy](https://galaxyproject.org/). +This extension provides XML validation, tags and attributes completion, help/documentation on hover, and other *smart* features to assist in **following best practices** recommended by the [Intergalactic Utilities Commission](https://galaxy-iuc-standards.readthedocs.io/en/latest/index.html) during the development process of XML tool wrappers for [Galaxy](https://galaxyproject.org/). > Please note this is still a work in progress so **bugs and issues are expected**. If you find any, you are welcome to open a new [issue](https://github.com/galaxyproject/galaxy-language-server/issues). From 5fc162dfa955006fd687441334548fcf7970f9a5 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 15 Feb 2021 15:15:14 +0100 Subject: [PATCH 4/7] Update server changelog --- server/CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/server/CHANGELOG.md b/server/CHANGELOG.md index 91168a6..8f25cb4 100644 --- a/server/CHANGELOG.md +++ b/server/CHANGELOG.md @@ -1,5 +1,21 @@ # Galaxy Language Server Changelog +## [0.4.0] - 2021-02-15 + +### Added + +- A custom command for tests discovery that provides information about the test definitions of all the opened tool documents in the virtual workspace. ([#110](https://github.com/galaxyproject/galaxy-language-server/pull/110)) + +- A custom command to reorder `` attributes according to the IUC Style Guidelines. ([#104](https://github.com/galaxyproject/galaxy-language-server/pull/104)) + +### Fixed + +- Unexpected errors when generating code were failing silently without providing feedback to the user. Now an error notification will be displayed to the user. ([#113](https://github.com/galaxyproject/galaxy-language-server/pull/113)) + +- Elements inside macros were not correctly associated with their XSD definition. ([#111](https://github.com/galaxyproject/galaxy-language-server/pull/111)) + +- An bug in the search algorithm when analyzing the tool input trees with nested conditional sharing the same 'when' value. This was causing the code generation commands to fail. ([#109](https://github.com/galaxyproject/galaxy-language-server/pull/109)) + ## [0.3.2] - 2021-01-24 ### Fixed From 9b269ef88877373044d2ee0961a3064dfc78c842 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 15 Feb 2021 15:31:04 +0100 Subject: [PATCH 5/7] Update extension changelog --- client/CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/client/CHANGELOG.md b/client/CHANGELOG.md index 72c4656..d0432ca 100644 --- a/client/CHANGELOG.md +++ b/client/CHANGELOG.md @@ -1,5 +1,21 @@ # Galaxy Tools (VS Code Extension) Changelog +## [0.4.0] - 2021-02-15 + +### Added + +- New settings to integrate [planemo](https://github.com/galaxyproject/planemo) and run `planemo test` inside [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer) for the currently opened tool documents. ([#110](https://github.com/galaxyproject/galaxy-language-server/pull/110)) + +- Commands to reorder `` attributes (in a single tag `Ctrl+Alt+s Ctrl+Alt+p` or the whole document `Ctrl+Alt+s Ctrl+Alt+d`) according to the IUC Style Guidelines. ([#104](https://github.com/galaxyproject/galaxy-language-server/pull/104)) + +### Fixed + +- Display error notification when a code generation command fails ([#113](https://github.com/galaxyproject/galaxy-language-server/pull/113)). + +### Changed + +- Update gx-tool snippet to latests IUC best practices ([#94](https://github.com/galaxyproject/galaxy-language-server/pull/94)). + ## [0.3.2] - 2021-01-24 ### Changed From bfed6c32166c7bae642c9d91e6e9b6877bbdddfa Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 15 Feb 2021 15:32:28 +0100 Subject: [PATCH 6/7] Update extension package version --- client/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/package.json b/client/package.json index 92625dd..525e227 100644 --- a/client/package.json +++ b/client/package.json @@ -5,7 +5,7 @@ "author": "davelopez", "publisher": "davelopez", "license": "Apache-2.0", - "version": "0.3.2", + "version": "0.4.0", "preview": true, "repository": { "type": "git", From a3d1b2b2a16e81aea1498004613e91e029f471b9 Mon Sep 17 00:00:00 2001 From: Beatriz Serrano-Solano Date: Mon, 15 Feb 2021 16:29:24 +0100 Subject: [PATCH 7/7] minor changes --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9589a14..a72efcd 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,15 @@ ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/galaxy-language-server) [![PyPI version](https://badge.fury.io/py/galaxy-language-server.svg)](https://badge.fury.io/py/galaxy-language-server) -This repository contains two projects, the [Galaxy Language Server](https://github.com/davelopez/galaxy-language-server/tree/master/server) which is a [Python](https://www.python.org/) implementation of the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) and the [Galaxy Tools extension](https://github.com/davelopez/galaxy-language-server/tree/master/client) which is a [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) in [Node.js](https://nodejs.org/en/). +This repository contains two projects: +- [**Galaxy Language Server**](https://github.com/davelopez/galaxy-language-server/tree/master/server): [Python](https://www.python.org/) implementation of the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/). +- [**Galaxy Tools extension**](https://github.com/davelopez/galaxy-language-server/tree/master/client): [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) in [Node.js](https://nodejs.org/en/). This project has the following main goals: +- **Encourage best practices**: one of the **most important goals** of this project is to assist the developer in writing tools that follow the [best practices established by the Intergalactic Utilities Commission](https://galaxy-iuc-standards.readthedocs.io/en/latest/index.html) by providing features like [attribute sorting](#auto-sort-param-attributes) or [auto-formatting](#document-auto-formatting) and many more to come! - **Easy onboarding of new Galaxy tool developers**: with the [intelligent code completion](#tag-and-attribute-auto-completion) and the [documentation tooltips](#documentation-on-hover), new developers can reduce the need for memorizing tags and attributes as well as easily discover what they need as they write avoiding syntax and structural errors on the way. - **Development speed**: more experienced developers can greatly boost their speed writing tools for Galaxy by using the [code snippets](#snippets) to quickly write code for commonly used tag or even [generating scaffolding code for the tests](#auto-generate-tests) covering most of the *conditional paths* of their tool. -- **Encourage best practices**: one of the **most important goals** of this project is to assist the developer in writing tools that follow the [best practices established by the Intergalactic Utilities Commission](https://galaxy-iuc-standards.readthedocs.io/en/latest/index.html) by providing features like [attribute sorting](#auto-sort-param-attributes) or [auto-formatting](#document-auto-formatting) and many more to come! > Please note this is still a work in progress so **bugs and issues are expected**. If you find any, you are welcome to open a new [issue](https://github.com/galaxyproject/galaxy-language-server/issues).