Skip to content

Commit

Permalink
🔖 Alpha release 0.2.1
Browse files Browse the repository at this point in the history
  • Loading branch information
kenkangxgwe committed Jan 24, 2020
2 parents 7adcf02 + d76a485 commit 34bfee1
Show file tree
Hide file tree
Showing 31 changed files with 2,521 additions and 1,347 deletions.
35 changes: 32 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,42 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.1] - 2020-01-24 🏮🐀

### Added

- Definition / References are available to show in scopes / the whole file.

- DocumentHighlight is available to show the scoped variables.

- DocumentColor / ColorRepresentation are available to show the color names and models.

### Changed

- The Top-level function / list declaration is visible in documentSymbol.
- Attributes and Option are showed in hover messages.
- Operators will also trigger the hover messages.

### Fixed

- Mathematica before version 11.3 are correctly using the StringRepeat.

### Known issues

- The hovering could be triggered, when cursor is in side a parent syntax
node even it is not on the operator/function head. Not sure about the UX.
- Color-related requests are slowed down intentionally, since it is in low
use frequency comparing to messages like didChange and completion.
- Even if some requests are prioritized to improve the experience, sometimes
responds could still be slower if the document is changing too frequent.

## [0.2.0] - 2019-07-23 🏖️

### Added

- Document structure is provided in DocumentSymbol. (Thanks to Brenton's `AST` package)
- The document structure is provided in DocumentSymbol. (Thanks to Brenton's `AST` package)
- Hovering for `MessageName` and numeral literals.
- Completion for both aliases and long names of the unicode characters (with leader key <kbd>\\</kbd>).
- Completion for both aliases and long names of the Unicode characters (with leader key <kbd>\\</kbd>).
- Auto check for upgrades and dependencies.

### Changed
Expand All @@ -27,7 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Known Issues

- Some of the documentations was not transcribed correctly into Markdown format, see issues.
- Some of the documentations are not transcribed correctly into Markdown format, see issues.

## [0.1.2] - 2019-05-15

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2019 lsp-wl
Copyright (c) 2020 lsp-wl

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
42 changes: 27 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@
**Table of Contents**

- [Wolfram Language Server](#wolfram-language-server)
- [Installation](#installation)
- [Run the Server](#run-the-server)
- [Features](#features)
- [Contribute](#contribute)
- [Design Principles](#design-principles)
- [Todo list](#todo-list)
- [Donations :dollar:](#donations-dollar)
- [Footnotes](#footnotes)
- [Installation](#installation)
- [Run the Server](#run-the-server)
- [Features](#features)
- [Contribute](#contribute)
- [Design Principles](#design-principles)
- [Todo list](#todo-list)
- [Donations :dollar:](#donations-dollar)
- [Footnotes](#footnotes)

<!-- markdown-toc end -->

Expand Down Expand Up @@ -47,11 +47,12 @@ client would certainly work too.
git clone https://github.com/kenkangxgwe/lsp-wl.git
```

2. Install the dependent paclets with the correct versions from the Wolfram kernel / Mathematica.
2. Install the dependent paclets with the correct versions (currently 0.15)
from the Wolfram kernel / Mathematica.
(_This will cost some time for the first time_) :
``` mathematica
PacletInstall[{"AST", "0.11"}, "Site" -> "http://pacletserver.wolfram.com", "UpdateSites" -> True]
PacletInstall[{"Lint", "0.11"}, "Site" -> "http://pacletserver.wolfram.com", "UpdateSites" -> True]
PacletInstall["AST", "UpdateSites" -> True]
PacletInstall["Lint", "UpdateSites" -> True]
```

3. Install the client. Currently, we provide the VS Code extension on [Visual
Expand Down Expand Up @@ -135,6 +136,17 @@ This is a good way to see the results from the unit tests.
![diagnostics](images/diagnostics.png)
- **Definition / References / DocumentHighlight:** It is now able to look up the
definition and references of a local variable in a scope such as `Module` or
pattern rules.
![references](images/references.png)
- **Document Color / Color Presentation:** Both Named Colors and
Color Models with constant parameters are able to show and modify.
(_Experimental, may have performance issues._)
![documentColor](images/documentColor.png)
This is an early release, so more features are on the way. Notice that,
syntax highlight will not be provided as long as it is excluded in the LSP,
Expand All @@ -158,18 +170,18 @@ Here is a full list of [LSP features](https://microsoft.github.io/language-serve
package in the [Matypetica](https://github.com/kenkangxgwe/Matypetica)
library that supports pattern test on every field of a class. The operations
on the objects are designed to be immutable.
4. ``WolframLanguageServer`Test`* `` stores the unit tests for some of
the functions.
### Todo list
It will be nice if you want to make a contribution to the following topic.
It will be nice if you want to make a contribution to the following topic.
* Our server-client communication only supports Socket with TCP protocol. We
tried to use ZMQ_Stream protocol and `SocketListen[]` to enable concurrency,
but it fails to send responses back to the client.
* It will be helpful to implement a stdio channel, ~so that the Mathematica
earlier than 11.2 will also be supported,~ but it is really hard to expose
the `stdin` channel. Hope this will be dicussed in future release of Wolfram
Expand Down
208 changes: 0 additions & 208 deletions WolframLanguageServer/DataType.wl

This file was deleted.

Loading

0 comments on commit 34bfee1

Please sign in to comment.