You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-62Lines changed: 4 additions & 62 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ The aim of this project is to implement the [Language Server Protocol](https://m
11
11
12
12
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/).
13
13
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).
15
15
16
16
## Features
17
17
### Tag and attribute auto-completion
@@ -59,69 +59,11 @@ Snippets can be really helpful to speed up your tool wrapper development. They a
59
59
---
60
60
61
61
# 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
+
62
64
If you are considering contributing, please read the [contribution guide](docs/CONTRIBUTING.md).
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 forlocal 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.
Copy file name to clipboardExpand all lines: client/CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,18 @@
1
1
# Galaxy Tools (VS Code Extension) Changelog
2
2
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)
Copy file name to clipboardExpand all lines: client/README.md
+20-2Lines changed: 20 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
# Galaxy Tools (Visual Studio Code Extension)
2
2
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/).
3
3
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).
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.
8
8
9
9
# Features
10
10
### Tag and attribute auto-completion
@@ -49,6 +49,24 @@ Whenever you write a closing ``>`` the corresponding closing tag will be inserte
49
49
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.
50
50
>If you want to add more snippets check the [guide](./docs/CONTRIBUTING.md#adding-snippets) in the contribution guidelines.
Basic support for `Cheetah` and `reStructuredText` syntax highlighting inside the `<command>`, `<configfile>` and `<help>` tags. The embedded code should be inside a `CDATA` block.
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.
Similar to the [auto-generate tests](#Auto-generate-tests) command, but this time it will generate boilerplate `Cheetah` code for the `<command>` section.
69
+
52
70
# Installation
53
71
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.
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,6 +74,9 @@ Adding a new snippet is really easy, you just need to edit the [snippets.json](.
74
74
75
75
After testing your snippet in your local environment, just make a pull request and share it!
76
76
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
+
77
80
# Your First Contribution
78
81
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).
79
82
@@ -153,10 +156,11 @@ If you are using `Windows` we recommend installing and using [WSL](https://docs.
153
156
8. Submit a pull request through the GitHub website.
154
157
155
158
### 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.
Copy file name to clipboardExpand all lines: server/CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,17 @@
1
1
# 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)).
- Broken XML parsing when more than one comment block was present in the document ([#70](https://github.com/galaxyproject/galaxy-language-server/pull/70)).
0 commit comments