Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic installation of haskell-language-server binaries and make haskell-langauge-server the default #236

Merged
merged 22 commits into from
Jul 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
214d9e3
WIP for automatic static binary downloads
lukel97 Jun 13, 2020
4ccae6b
Decompress gzipped binaries
lukel97 Jun 17, 2020
e2c2014
Refactor and remove a load of unused stuff
lukel97 Jun 17, 2020
71f6cb0
Fix the DocBrowser
lukel97 Jun 18, 2020
3ccfd01
Make docs browser regex a bit more tolerant
lukel97 Jun 18, 2020
599dd08
Move restart command into extension.ts
lukel97 Jun 18, 2020
c4676da
Make haskell-language-server the default
lukel97 Jun 18, 2020
1c708db
Process doc links in completion items as well
lukel97 Jun 18, 2020
ff71436
Make storage directory before getProjectGhcVersion
lukel97 Jun 18, 2020
0d58446
Add error message for when there are no pre-built binaries
lukel97 Jun 22, 2020
c96c1ce
Append exe extension on windows
lukel97 Jun 23, 2020
14d2fed
Add progress message that the GHC version is being calculated
lukel97 Jun 24, 2020
1c94c3e
Rename extension to just 'Haskell'
lukel97 Jul 3, 2020
084bbbd
Improve ghc project version error messages, update README a bit more
lukel97 Jul 6, 2020
15878a6
Download files to a temporary location first
lukel97 Jul 15, 2020
3b0b82e
Add better messages when the cradle's tool isn't installed
lukel97 Jul 16, 2020
644af3a
Handle multiple downloads + workspaces more robustly
lukel97 Jul 22, 2020
de3caa6
Update README.md and CONTRIBUTING.md
lukel97 Jul 22, 2020
95cec96
Switch over to the upstream haskell/haskell-language-server repositor…
lukel97 Jul 22, 2020
74483c9
Update changelog. remove obselete test from travis CI
lukel97 Jul 22, 2020
dc6f696
Update Husky and pretty-quick
lukel97 Jul 22, 2020
5b1696e
Add Windows links in requirements in README
lukel97 Jul 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 14 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ dist: xenial
language: node_js

node_js:
- 10
- 10

cache:
directories:
- "node_modules"
- 'node_modules'

os:
- osx
Expand All @@ -23,15 +23,12 @@ before_install:
sudo apt-get -y install libsecret-1-dev
fi
install:
- npm ci
- npm run vscode:prepublish

script:
- npm test --silent
- npm ci
- npm run vscode:prepublish

before_deploy:
- npm install -g vsce
- vsce package
- npm install -g vsce
- vsce package

# Deploy the extension to the Marketplace and GitHub releases (only on tags).
# Note that this only deploys from the master branch, but will still allow
Expand All @@ -44,14 +41,14 @@ before_deploy:
# b) Set a environment variable `VS_TOKEN` with the value of your VS Code personal token
# c) Make sure `Display value in build log` is turned OFF!
deploy:
- provider: script # Deploy to VS Code Market Place (only on tags!).
script: vsce publish -p $VS_CODE
skip_cleanup: true
on: # Publish on all builds on master branch.
repo: alanz/vscode-hie-server
branch: master
tags: true
condition: $TRAVIS_OS_NAME = linux
- provider: script # Deploy to VS Code Market Place (only on tags!).
script: vsce publish -p $VS_CODE
skip_cleanup: true
on: # Publish on all builds on master branch.
repo: alanz/vscode-hie-server
branch: master
tags: true
condition: $TRAVIS_OS_NAME = linux
# - provider: releases # Deploy the *.vsix pcakge to GitHub releases.
# file_glob: true
# file: "*.vsix"
Expand Down
50 changes: 25 additions & 25 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
// A launch configuration that compiles the extension and then opens it inside a new window
{
"version": "0.1.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}" ],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [ "${workspaceRoot}/out/src/**/*.js" ],
"preLaunchTask": "npm: watch"
},
{
"name": "Extension Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test" ],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [ "${workspaceRoot}/out/test/**/*.js" ],
"preLaunchTask": "npm: watch"
}
]
"version": "0.1.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}"],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/out/src/**/*.js"],
"preLaunchTask": "npm: watch"
},
{
"name": "Extension Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test"],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/out/test/**/*.js"],
"preLaunchTask": "npm: watch"
}
]
}
122 changes: 72 additions & 50 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,33 @@
### 0.1.0

`vscode-hie-server`/`Haskell Language Server` is now just Haskell, and will soon
be published under the Haskell organisation as `haskell-vscode`.
This release makes haskell-language-server the default langauge server of choice
and automatically downloads and installs binaries. Installation from source is
still supported though and any binaries located on your PATH for the selected
langauge server will be used instead.

#### Important!

As part of this, your configuration may be reset as the keys move from
`languageServerHaskell.completionSnippetsOn` to `haskell.completionSnippetsOn`.

- Fix the document and source browser
- Remove obselete commands that are no longer supported by any of the language
servers
- Show type command
- Insert type command
- HaRe commands
- Case split commands

### 0.0.40

Change the way the backend is configured, simplifying it.

* remove wrapper scripts (hie-vscode.sh/hie-vscode.bat)
* dropdown choice between `haskell-ide-engine`, `haskell-language-server` or
- remove wrapper scripts (hie-vscode.sh/hie-vscode.bat)
- dropdown choice between `haskell-ide-engine`, `haskell-language-server` or
`ghcide` in the `hieVariant` setting.
* this can be overridden by an explicit `hieExecutablePath`, as before.
- this can be overridden by an explicit `hieExecutablePath`, as before.

### 0.0.39

Expand All @@ -19,125 +41,125 @@ Bump dependencies

Trying again, working 0.0.35

* Add Restart command (@gdziadkiewicz)
* Add Ormolu as a formatter option (@DavSanchez)
* Update README
- Add Restart command (@gdziadkiewicz)
- Add Ormolu as a formatter option (@DavSanchez)
- Update README

### 0.0.36

* Roll back to 0.0.34
- Roll back to 0.0.34

### 0.0.35

* Add Restart command (@gdziadkiewicz)
* Add Ormolu as a formatter option (@DavSanchez)
* Update README
- Add Restart command (@gdziadkiewicz)
- Add Ormolu as a formatter option (@DavSanchez)
- Update README

### 0.0.34

* Remove --lsp parameter from hie-vscode.bat
- Remove --lsp parameter from hie-vscode.bat

### 0.0.33

* Introduced configuration setting `noLspParam`, default `false` to control
- Introduced configuration setting `noLspParam`, default `false` to control
setting the `--lsp` flag for the hie server. So by default we will set the
command line argument for the server, but it can be turned off.

### 0.0.32

* Re-enable the `--lsp` flag for the hie server
* Update some deps for security vulnerabilities
- Re-enable the `--lsp` flag for the hie server
- Update some deps for security vulnerabilities

### 0.0.31

* Log to stderr (vscode output) by default, add option for logfile (@bubba)
- Log to stderr (vscode output) by default, add option for logfile (@bubba)

### 0.0.30

* Bundle using webpack (@chrismwendt)
* Bump protocol version to 3.15 prerelease (@alanz)
- Bundle using webpack (@chrismwendt)
- Bump protocol version to 3.15 prerelease (@alanz)
This allows working progress reporting from hie.
* Update casesplit plugin (@Avi-D-coder)
- Update casesplit plugin (@Avi-D-coder)

### 0.0.29

* bump protocol version to 3.15 (prerelease) (@alanz)
* upgrade deps, including avoiding vulnerabilities on lodash (@alanz)
* warn about compile time and wrapped hie (@janat08)
- bump protocol version to 3.15 (prerelease) (@alanz)
- upgrade deps, including avoiding vulnerabilities on lodash (@alanz)
- warn about compile time and wrapped hie (@janat08)

### 0.0.28

* remove unused `lsp` flag (@bubba)
* do not start `hie` if `hie-wrapper` crashes (@bubba)
* Expose diagnosticsOnChange option for settings (Frederik Ramcke)
* Avoid CVE on `extend` package
* Enable displaying window progress (@bubba)
- remove unused `lsp` flag (@bubba)
- do not start `hie` if `hie-wrapper` crashes (@bubba)
- Expose diagnosticsOnChange option for settings (Frederik Ramcke)
- Avoid CVE on `extend` package
- Enable displaying window progress (@bubba)

### 0.0.27

* Re-enable search feature for documentation (@anonimitoraf)
- Re-enable search feature for documentation (@anonimitoraf)
Accesed via `ctrl-f`.

### 0.0.26

* Show documentation content using Webview API (@EdAllonby)
* npm audit fix (@alanz)
- Show documentation content using Webview API (@EdAllonby)
- npm audit fix (@alanz)

### 0.0.25

* Add vsce dependency to "Contributing" document (@EdAllonby)
* Add formatterProvider config (@bubba)
* Bugfix for stack version on windows (@beauzeaux)
* Update settings to match hie version 0.7.0.0 (@alanz)
* npm audit fix (@bubba)
- Add vsce dependency to "Contributing" document (@EdAllonby)
- Add formatterProvider config (@bubba)
- Bugfix for stack version on windows (@beauzeaux)
- Update settings to match hie version 0.7.0.0 (@alanz)
- npm audit fix (@bubba)

### 0.0.24

* Add snippet config option (@bubba)
- Add snippet config option (@bubba)

### 0.0.23

* Fix multi-process issue, where vscode would launch multiple hie instances.
- Fix multi-process issue, where vscode would launch multiple hie instances.
By @kfigiela

### 0.0.22

* Add configuration option to enable liquid haskell processing. This
- Add configuration option to enable liquid haskell processing. This
is a preview feature of hie from
ca2d3eaa19da8ec9d55521b461d8e2e8cffee697 on 2019-09-05.

### 0.0.21

* Remove languageServerHaskell.useHieWrapper, We now use hie-wrapper
- Remove languageServerHaskell.useHieWrapper, We now use hie-wrapper
by default.
* Update the vscode-languageclient to v4.4.0
* Fix #98 Import identifier insertion line `moduleLine` is now the
- Update the vscode-languageclient to v4.4.0
- Fix #98 Import identifier insertion line `moduleLine` is now the
first line that is (trimmed) `where` or ends with `where` or ends
with `)where`. (@mpilgrem)

### 0.0.20

* Add the case-split function (@txsmith). Required hie >= 0.2.1.0
* Update the vscode-languageclient to v4.2.0 (@Bubba)
* Use the hie-wrapper executable now installed with hie to choose the
- Add the case-split function (@txsmith). Required hie >= 0.2.1.0
- Update the vscode-languageclient to v4.2.0 (@Bubba)
- Use the hie-wrapper executable now installed with hie to choose the
right version of hie to use for the given project.

### 0.0.19

* Fix hie launch on windows with logging off (#90). Thanks @Tehnix.
- Fix hie launch on windows with logging off (#90). Thanks @Tehnix.

### 0.0.18

* Support GHC 8.4.3 in the wrapper file
* The `languageServerHaskell.trace.server` parameter now affects
- Support GHC 8.4.3 in the wrapper file
- The `languageServerHaskell.trace.server` parameter now affects
`/tmp/hie.log`, as well as ghc-mod `--vomit` output.
* Add an Import identifier command, by @chrismwendt
- Add an Import identifier command, by @chrismwendt

### 0.0.17

* Support GHC 8.4.2 in the wrapper file
* Update dependencies to avoid security vulnerability.
* Use os.tmpdir() for the hie.log file
- Support GHC 8.4.2 in the wrapper file
- Update dependencies to avoid security vulnerability.
- Use os.tmpdir() for the hie.log file

### 0.0.15

Expand Down
Loading