Skip to content

Commit 31c2f43

Browse files
authored
Merge pull request #81 from galaxyproject/prepare-release-0.3.0
Prepare release 0.3.0
2 parents a20713e + 77cba3c commit 31c2f43

File tree

9 files changed

+61
-72
lines changed

9 files changed

+61
-72
lines changed

README.md

Lines changed: 4 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The aim of this project is to implement the [Language Server Protocol](https://m
1111
1212
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/).
1313

14-
> Please note this is still an early work in progress and **bugs and issues are expected**.
14+
> 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).
1515
1616
## Features
1717
### Tag and attribute auto-completion
@@ -59,69 +59,11 @@ Snippets can be really helpful to speed up your tool wrapper development. They a
5959
---
6060

6161
# Getting Started
62+
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) and install it manually.
63+
6264
If you are considering contributing, please read the [contribution guide](docs/CONTRIBUTING.md).
6365

64-
## Setup for local development
65-
66-
1. Fork this repo on Github
67-
2. Clone your fork locally:
68-
````sh
69-
git clone https://github.com/<your_github_name>/galaxy-language-server.git
70-
````
71-
3. Create a virtual environment using conda and install the dependencies:
72-
73-
```sh
74-
conda create -n <environment-name> python=3.8
75-
conda activate <environment-name>
76-
77-
# For the language server:
78-
cd galaxy-language-server/server/
79-
pip install -r requirements-dev.txt
80-
81-
# For the client vscode extension:
82-
cd galaxy-language-server/client/
83-
conda install -c conda-forge nodejs typescript
84-
npm install
85-
```
86-
4. Run the tests locally
87-
```sh
88-
# For the language server:
89-
pytest
90-
# Additionally you can check the coverage:
91-
pytest --cov=server
92-
```
93-
94-
5. Create a branch for local development:
95-
96-
```sh
97-
git checkout -b name-of-your-bugfix-or-feature
98-
```
99-
>Now you can make your changes locally.
100-
>
101-
>Remember to check the [Style Guide](#style-guide) to maintain an uniform code style.
102-
103-
6. When you're done making changes, check that your changes pass ``style linter`` and the ``tests``.
104-
```sh
105-
flake8
106-
pytest
107-
```
108-
109-
7. Commit your changes and push your branch to GitHub::
110-
```sh
111-
git add .
112-
git commit -m "Your detailed description of your changes."
113-
git push origin name-of-your-bugfix-or-feature
114-
```
115-
116-
8. Submit a pull request through the GitHub website.
117-
118-
119-
### Setup Visual Studio Code for debugging
120-
If you want to debug the [extension](../client) and the [Language Server](../server) at the same time follow these steps:
121-
1. Select or activate your ``<environment-name>`` in Visual Studio Code as explained [here](https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment).
122-
2. Open the `galaxy-language-server` directory in Visual Studio Code.
123-
3. Open debug view (`ctrl + shift + D`).
124-
4. Select `Server + Client` and click ``RUN`` (or press `F5`).
66+
To setup your development environment you can read [this guide](docs/CONTRIBUTING.md#getting-started).
12567

12668

12769
## How to manually run the server

client/CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Galaxy Tools (VS Code Extension) Changelog
22

3+
## [0.3.0] - 2021-01-01
4+
5+
### Added
6+
7+
- Custom language definition (XML dialect) for Galaxy Tool Wrapper files and basic embedded language syntax highlighting (`Cheetah` and `reStructuredText`) ([#79](https://github.com/galaxyproject/galaxy-language-server/pull/79)).
8+
- A custom command (`Ctrl+Alt+c`) to auto-generate the `<command>` section with boilerplate Cheetah template based on the current `inputs` and `outputs` defined in the tool ([#77](https://github.com/galaxyproject/galaxy-language-server/pull/77)).
9+
- A custom command (`Ctrl+Alt+t`) to auto-generate `<test>` cases based on the current `inputs` and `outputs` defined in the tool ([#73](https://github.com/galaxyproject/galaxy-language-server/pull/73)).
10+
- New snippets for common `param` definitions ([#71](https://github.com/galaxyproject/galaxy-language-server/pull/71/files)).
11+
12+
### Changed
13+
14+
- Updated Galaxy Language Server [v0.3.0](./server/CHANGELOG.md#030)
15+
316
## [0.2.1] - 2020-11-22
417

518
### Changed

client/README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Galaxy Tools (Visual Studio Code Extension)
22
This extensions provides XML validation, tag and attribute 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/).
33

4-
> Please note this is still an early work in progress so **bugs and issues are expected**.
4+
> 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).
55
66
# Requires ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/galaxy-language-server)
7-
In order to use the [Galaxy Language Server](https://pypi.org/project/galaxy-language-server/) features you need Python 3.8+ installed in your system.
7+
In order to use the [Galaxy Language Server](https://pypi.org/project/galaxy-language-server/) features you need Python 3.8+ installed in your system. See the [Installation](#Installation) section for more details.
88

99
# Features
1010
### Tag and attribute auto-completion
@@ -49,6 +49,24 @@ Whenever you write a closing ``>`` the corresponding closing tag will be inserte
4949
Snippets can be really helpful to speed up your tool wrapper development. They allow to quickly create common blocks and let you enter just the important information by pressing ``tab`` and navigating to the next available value.
5050
>If you want to add more snippets check the [guide](./docs/CONTRIBUTING.md#adding-snippets) in the contribution guidelines.
5151
52+
### Embedded syntax highlighting
53+
54+
![Demo feature embedded syntax highlighting](../assets/feature.embedded.syntax.png)
55+
56+
Basic support for `Cheetah` and `reStructuredText` syntax highlighting inside the `<command>`, `<configfile>` and `<help>` tags. The embedded code should be inside a `CDATA` block.
57+
58+
### Auto-generate tests
59+
60+
![Demo feature auto-generate tests](../assets/feature.generate.tests.gif)
61+
62+
After you define the `<inputs>` and `<outputs>` of the tool, you can press `Ctrl+Alt+t` (or `Cmd+Alt+t` in Mac) to create a `<tests>` section with a basic structure and some test cases. This is especially useful when using conditionals and other nested parameters since you can get right aways most of the bolerplate XML.
63+
64+
### Auto-generate command section
65+
66+
![Demo feature auto-generate command section](../assets/feature.generate.command.gif)
67+
68+
Similar to the [auto-generate tests](#Auto-generate-tests) command, but this time it will generate boilerplate `Cheetah` code for the `<command>` section.
69+
5270
# Installation
5371
When the extension is activated for the first time, a notification will pop up informing that the `Galaxy Language Server` [Python package](https://pypi.org/project/galaxy-language-server/) must be installed.
5472

client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"author": "davelopez",
66
"publisher": "davelopez",
77
"license": "Apache-2.0",
8-
"version": "0.2.0",
8+
"version": "0.3.0",
99
"preview": true,
1010
"repository": {
1111
"type": "git",

docs/CONTRIBUTING.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ Adding a new snippet is really easy, you just need to edit the [snippets.json](.
7474

7575
After testing your snippet in your local environment, just make a pull request and share it!
7676

77+
### Customizing grammars
78+
You can help improve the syntax highlighting of the different languages that are used in a Galaxy tool wrapper (currently `XML`, `Cheetah` and `reStructuredText`). This can be done by extending or fixing the [TextMate grammars](https://macromates.com/manual/en/language_grammars) found [here](../client/src/syntaxes). You can learn more about how these grammars are used in the [VSCode documentation](https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide).
79+
7780
# Your First Contribution
7881
If this is your first time... congratulations! :tada: You will learn lots of things! For example, you can find a great number of resources [here](https://github.com/freeCodeCamp/how-to-contribute-to-open-source).
7982

@@ -153,10 +156,11 @@ If you are using `Windows` we recommend installing and using [WSL](https://docs.
153156
8. Submit a pull request through the GitHub website.
154157
155158
### Setup Visual Studio Code for debugging
156-
If you want to debug the [extension](../client) and the [Language Server](../server) at the same time, follow these steps:
157-
1. Open the `galaxy-tool-extension` directory in Visual Studio Code
158-
2. Open debug view (`ctrl + shift + D`)
159-
3. Select `Server + Client` and press `F5`
159+
If you want to debug the [extension](../client) and the [Language Server](../server) at the same time follow these steps:
160+
1. Select or activate your ``<environment-name>`` in Visual Studio Code as explained [here](https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment).
161+
2. Open the `galaxy-language-server` directory in Visual Studio Code.
162+
3. Open debug view (`ctrl + shift + D`).
163+
4. Select `Server + Client` and click ``RUN`` (or press `F5`).
160164
161165
## Pull Request Guidelines
162166

server/CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
11
# Galaxy Language Server Changelog
2+
3+
## [0.3.0] - 2021-01-01
4+
5+
### Added
6+
7+
- A custom command to auto-generate the `<command>` section with boilerplate Cheetah template based on the current `inputs` and `outputs` defined in the tool ([#77](https://github.com/galaxyproject/galaxy-language-server/pull/77)).
8+
- A custom command to auto-generate `<test>` cases based on the current `inputs` and `outputs` defined in the tool ([#73](https://github.com/galaxyproject/galaxy-language-server/pull/73)).
9+
10+
### Fixed
11+
12+
- Avoid processing unknown XML documents (aka *not* tool wrappers) ([#75](https://github.com/galaxyproject/galaxy-language-server/pull/75)).
13+
- Broken XML parsing when more than one comment block was present in the document ([#70](https://github.com/galaxyproject/galaxy-language-server/pull/70)).
14+
215
## [0.2.1] - 2020-11-22
316

417
### Fixed

server/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313

1414

1515
# Getting Started
16-
See [this](https://github.com/davelopez/galaxy-language-server/blob/master/README.md#getting-started).
16+
See [this](https://github.com/galaxyproject/galaxy-language-server/blob/master/docs/CONTRIBUTING.md#getting-started).

server/galaxyls/services/language.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
from galaxyls.services.tools.document import GalaxyToolXmlDocument
44
from galaxyls.services.tools.generators.command import GalaxyToolCommandSnippetGenerator
5-
from galaxyls.services.tools.generators.snippets import SnippetGenerator
65
from galaxyls.services.tools.generators.tests import GalaxyToolTestSnippetGenerator
76
from pygls.types import (
87
CompletionList,

server/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
pygls==0.9.1
2-
lxml==4.6.1
2+
lxml==4.6.2
33
anytree==2.8.0
44
galaxy-tool-util==20.9.1

0 commit comments

Comments
 (0)