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

Merge ghcide repository (replacing the submodule) #702

Merged
merged 730 commits into from
Dec 29, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
730 commits
Select commit Hold shift + click to select a range
f080f67
Update README with link to Docker build for Neovim and ghcide (#541)
carlohamalainen May 4, 2020
6a650be
Expose executeAddSignatureCommand (#543)
alanz May 4, 2020
15bb044
Improve ghc version check (#535)
pepeiborra May 8, 2020
d7c2bb6
let suggest new imports work on symbol operators used infix (#540)
eddiemundo May 8, 2020
07cf929
[#518] Build ghcide with GHC 8.10.1 (#519)
chshersh May 11, 2020
c7c3982
Strip path information from diagnostic messages (#158) (#546)
tek May 11, 2020
5661348
Upgrade to haskell-lsp-0.22 (#547)
lukel97 May 13, 2020
5ac6e20
Extend nix explanations in README (#549)
maralorn May 13, 2020
a2e091c
Fix upper bounds for ghc-check (#565)
pepeiborra May 17, 2020
cd6f62b
Use lsp-test-0.11 (#566)
lukel97 May 17, 2020
d54fd38
Log cache dir (#567)
pepeiborra May 18, 2020
a1cb4eb
Add record fields to doucment symbols outline (#564)
lukel97 May 18, 2020
bc25ea7
Track dependencies when using qAddDependentFile (#516)
mpickering May 21, 2020
b478b82
Test that GotoHover.hs file compiles in the tests (#572)
mpickering May 22, 2020
126e398
Fix 3 space leaks and refactoring of PositionMapping (#557)
mpickering May 22, 2020
3ec5edf
Refactor rawDependencyInformation (#558)
mpickering May 22, 2020
e16e841
Remove space leaks in a more robust way (#578)
ndmitchell May 22, 2020
ec0bbd1
Remove interface loading diagnostics (#579)
pepeiborra May 22, 2020
9129475
Update to hie-bios 0.5.0 (#552)
fendor May 23, 2020
ba19306
Avoid deprecated Shake functions (#584)
ndmitchell May 26, 2020
698fe2f
Make VFSVersion strict (#585)
ndmitchell May 26, 2020
a9bf409
Remove the ShakeValue on A (#587)
ndmitchell May 26, 2020
0c9a096
Fix the Hashable instance of Key (#588)
ndmitchell May 27, 2020
95faeeb
Add Kakoune section to the README (#592)
aodhneine Jun 2, 2020
3c6c547
Improve the error messages around IdeGlobal's (#598)
ndmitchell Jun 2, 2020
51907fe
#599. register FileExistsMapVar global unconditionally (#600)
ndmitchell Jun 2, 2020
373c406
Multi Component (#522)
mpickering Jun 2, 2020
4149ab5
Prepare release of ghcide 0.2.0 (#601)
cocreature Jun 2, 2020
5a754e1
Benchmark suite (#590)
pepeiborra Jun 3, 2020
0ff88c6
ShakeSession and shakeEnqueue (#554)
pepeiborra Jun 8, 2020
8f6eb2d
remove unnecessary FileExists dependency in GetHiFile (#589)
pepeiborra Jun 8, 2020
08e87ad
Implement Goto Type Definition (#533)
mpickering Jun 9, 2020
154e57f
#573, make haddock errors warnings with the word Haddock in front (#608)
ndmitchell Jun 9, 2020
7ac6b92
Add back a .ghci file (#607)
ndmitchell Jun 10, 2020
c5143e5
Use a better noRange (#612)
ndmitchell Jun 10, 2020
f766e55
Restore Shake profiling (#621)
pepeiborra Jun 10, 2020
e380aad
Fix regression in getSpanInfoRule (#622)
pepeiborra Jun 10, 2020
a538f06
ghc initialization error handling (#609)
pepeiborra Jun 10, 2020
9084fea
Fix a bug in getHiFileRule (#623)
pepeiborra Jun 12, 2020
d4054ef
Add hie.yaml.stack and use none cradle for test data (#626)
jneira Jun 12, 2020
14e30e4
Canonicalize the locations in the cradle tests (#628)
lukel97 Jun 12, 2020
4e7b2fc
More benchmarks (#625)
pepeiborra Jun 12, 2020
0e96f61
Performance analysis over time (#629)
pepeiborra Jun 15, 2020
7e9326b
Write a cabal.project file in the benchmark example (#640)
pepeiborra Jun 15, 2020
0ddc62f
Fix crash when writing to a Barrier more than once (#637)
pepeiborra Jun 15, 2020
71631d8
Report progress when setting up cradle (#644)
lukel97 Jun 17, 2020
0d806c3
Remove `Strict` from the language extensions used for code actions (#…
tek Jun 17, 2020
8de10e9
Cache a ghc session per file of interest (#630)
pepeiborra Jun 17, 2020
5b8d7fa
Add a note on differential benchmarks (#647)
pepeiborra Jun 22, 2020
ba4bdb2
Send WorkDoneProgressEnd only when work is done (#649)
pepeiborra Jun 22, 2020
7080db9
Finer dependencies for GhcSessionFun (#643)
pepeiborra Jun 22, 2020
ac8d7cd
Retry GHC 8.10 on Windows (#661)
cocreature Jun 22, 2020
d4fd99e
Interface file fixes (#645)
pepeiborra Jun 23, 2020
8a9b814
Fix debouncer for 0 delay (#662)
pepeiborra Jun 23, 2020
2116138
stack810.yaml: bump (#651)
domenkozar Jun 23, 2020
849aef8
Delete unused top level binding code action (#657)
serhiip Jun 29, 2020
bd51ad0
Make BenchHist non buildable by default and save logs (#666)
pepeiborra Jun 29, 2020
7cc91dc
Code action: add constraint (#653)
DenisFrezzato Jun 29, 2020
a873c28
Code action: add constraint (#653)
DenisFrezzato Jun 29, 2020
d999084
Use stale information if it's available to answer requests quickly (#…
mpickering Jun 30, 2020
cdfc4b6
Avoid excessive retypechecking of TH codebases (#673)
pepeiborra Jul 1, 2020
035019d
Fix spaninfo Haddocks for local modules (#678)
pepeiborra Jul 1, 2020
7dc6e26
Completions need not depend on typecheck of the current file (#670)
pepeiborra Jul 6, 2020
f32f666
Use a global namecache to read `.hie` files (#677)
wz1000 Jul 9, 2020
9272bfe
Code action add default type annotation to remove `-Wtype-defaults` w…
serhiip Jul 10, 2020
cbafcf2
Performance improvements for GetSpanInfo (#681)
pepeiborra Jul 13, 2020
993cfdd
Backport HIE files to GHC 8.6 (#689)
wz1000 Jul 16, 2020
1ca8969
Update to hie-bios 0.6.1 (#693)
fendor Jul 16, 2020
8a96da6
Bump lodash from 4.17.15 to 4.17.19 in /extension (#702)
dependabot[bot] Jul 20, 2020
251ee08
Expect bench experiments to fail with Cabal (#704)
pepeiborra Jul 20, 2020
ce39ec4
Obtain the GHC libdir at runtime (#696)
lukel97 Jul 20, 2020
0f06d30
Relax upper bounds for GHC 8.10.1 (#705)
pepeiborra Jul 20, 2020
4b6e691
Allow GHC plugins to be called with an updated StringBuffer (#698)
adinapoli Jul 20, 2020
02177b1
Populate ms_hs_date in GetModSummary rule (#694)
pepeiborra Jul 22, 2020
6a72d99
Fix Binary instance of Q to handle empty file paths (#707)
cocreature Jul 24, 2020
4890baf
Code action: remove redundant constraints for type signature (#692)
DenisFrezzato Jul 27, 2020
4121937
Move session loading logic into ghcide library (#697)
lukel97 Jul 27, 2020
bcc13b0
Expose GHC.Compat module (#709)
pepeiborra Jul 27, 2020
3eecfd0
Add links to haddock and hscolour pages in documentation (#699)
lukel97 Jul 27, 2020
826e886
Codeaction for exporting unused top-level bindings (#711)
sureyeaah Jul 27, 2020
765967d
Add session-loader to hie.yaml (#714)
lukel97 Jul 28, 2020
d4f6b91
CI: remove (internal) DA Slack notifications (#750)
garyverhaegen-da Sep 1, 2020
6128c74
Prepare release of ghcide 0.3.0 (#753)
pepeiborra Sep 2, 2020
b4589ae
Typecheck entire project on Initial Load and typecheck reverse depend…
wz1000 Sep 2, 2020
9f1f554
output which cradle files were found (#716)
adamse Sep 2, 2020
271c6e0
Use argsVerbose to determine log level in test mode (#717)
zliu41 Sep 2, 2020
0350c7f
Fix `.hie` file location for `.hs-boot` files (#690)
wz1000 Sep 2, 2020
cf5df3c
Generate doc file URL via LSP (to fix it for Windows) (#721)
DunetsNM Sep 2, 2020
535e9bd
Fix issue #710: fix suggest delete binding (#728)
rayshih Sep 2, 2020
b76ef42
Ignore -Werror (#738)
pepeiborra Sep 2, 2020
3e1b362
Bump hie-bios bounds (#744)
maralorn Sep 2, 2020
2a71723
module Development.IDE (#724)
pepeiborra Sep 2, 2020
7b1de95
Include module path in progress message (#746)
pepeiborra Sep 2, 2020
2fece7f
Suggest open imports (#740)
pepeiborra Sep 2, 2020
bfafe3b
Show documentation on hover for symbols defined in the same module (#…
wz1000 Sep 2, 2020
cb2fd66
Use InitializeParams.rootUri for initial session setup (#713)
sureyeaah Sep 3, 2020
e837b2d
Don't report nonsense file names (#718)
wz1000 Sep 3, 2020
599b27a
Add a test case involving -fno-warn-missing-signatures (#720)
zliu41 Sep 3, 2020
f8889c7
Dynamically load libm on Linux for each new session (#723)
lukel97 Sep 3, 2020
09aa8e5
Suggestions for missing imports from local modules (#739)
pepeiborra Sep 3, 2020
39ae56b
Expose `getCompletionsLSP` to allow completions in hls (#756)
wz1000 Sep 3, 2020
0b25bd2
Remove duplicate line from changelog (#754)
pepeiborra Sep 3, 2020
84af588
Fix haddock to markdown conversion (#757)
georgefst Sep 3, 2020
146d9a9
Minimal nix-shell script (#749)
pepeiborra Sep 3, 2020
f9dd56d
Add ghc-check >=0.5.0.1 version bound (#761)
adamse Sep 4, 2020
2eb2689
Increase timeout of azure windows job (#762)
jneira Sep 4, 2020
5dd52ec
Handle multiple user actions concurrently (#727)
pepeiborra Sep 5, 2020
597a0c5
Don't typecheck parents when there are no known files (#758)
wz1000 Sep 5, 2020
8f0a4f8
Refinement holes (#748)
pepeiborra Sep 5, 2020
ed95e69
Fix bug in exports map (#772)
pepeiborra Sep 6, 2020
0d7cae9
Improve hist benchmarks driver and add to CI (#770)
pepeiborra Sep 6, 2020
684be68
Fully asynchronous request handling (#767)
pepeiborra Sep 7, 2020
0b34b1e
GHC 8.8.4 & 8.10.2 (#751)
domenkozar Sep 7, 2020
59e8bb9
Preserve import paths for implicit cradles (#768)
pepeiborra Sep 7, 2020
9ae5134
Use hie-bios-0.7.1 (#763)
jneira Sep 8, 2020
1ed280b
Save source files with HIE files (#701)
fendor Sep 11, 2020
15ab2ff
Write ifaces on save (#760)
wz1000 Sep 11, 2020
7dacc23
Import paths are relative to cradle (#781)
pepeiborra Sep 12, 2020
114e184
Add Haddocks and exports for use* combinators (#783)
pepeiborra Sep 12, 2020
667b9e8
Dispatch notifications synchronously (#791)
pepeiborra Sep 13, 2020
fc042de
Disable optimisation in tests (#790)
pepeiborra Sep 13, 2020
076f863
Sort import suggestions (#793)
pepeiborra Sep 13, 2020
2225d7f
Fix setFileModified and restore test (#789)
pepeiborra Sep 13, 2020
b980c33
Extend position mapping with fuzzy ranges (#785)
wz1000 Sep 13, 2020
f79e930
Use implicit-hie when no explicit hie.yaml (#782)
jneira Sep 13, 2020
436232d
Fix stack 8.6 build (#801)
pepeiborra Sep 14, 2020
7d9d2a5
Skip unnecessary packing of cache artifacts (#794)
pepeiborra Sep 14, 2020
b7c9d6d
Send a warning when using the implicit cradle (#799)
pepeiborra Sep 14, 2020
d686b91
Use implicit-hie-cradle-0.2.0.0 (#806)
jneira Sep 15, 2020
c2f0510
Include test dependencies in cache (#807)
pepeiborra Sep 15, 2020
4662cdd
Fix obsolete hie.yaml.cbl and hie.yaml.stack (#778)
DunetsNM Sep 15, 2020
8c03bc1
Restore -threaded (#809)
pepeiborra Sep 15, 2020
8b6ed0d
Enable windows ci (#808)
jneira Sep 15, 2020
ea25142
Mark files as modified on open (#810)
wz1000 Sep 15, 2020
91cb1a9
Remove pack/unpack cache from linux jobs (#812)
jneira Sep 16, 2020
8d47839
Support parsedResultAction of GHC plugins (#795)
srid Sep 16, 2020
153536b
Prepare for release 0.4.0 (#811)
pepeiborra Sep 16, 2020
4184f7d
Fix import suggestions when dot is typed (#800)
lazamar Sep 17, 2020
4be22dc
Use optExtensions in Session loader (#816)
pepeiborra Sep 17, 2020
9cd19eb
Preserve more information about targets (#820)
pepeiborra Sep 18, 2020
b387bb2
Restore identifiers missing from hi file (#741)
maralorn Sep 18, 2020
26cb575
Add completion tests for records. (#804)
gdevanla Sep 20, 2020
55e3810
Fix documentation (or source) link when html file is less specific th…
DunetsNM Sep 20, 2020
1d1f2db
Enhance benchmarks & bug fixes (#823)
pepeiborra Sep 20, 2020
20ce9d3
Fix docs tooltip for base libraries on Windows (#814)
DunetsNM Sep 20, 2020
4937586
Update instructions for stty error in windows (#825)
jneira Sep 22, 2020
d868e06
Use hie-implicit-cradle-0.2.0.1 (#827)
jneira Sep 23, 2020
c361a26
Store the lsp client settings in shakeExtras and create a Rule to get…
jneira Sep 23, 2020
d64397b
Tag unused warning as such (#815)
serras Sep 24, 2020
1cda5ed
Enable test suite to run in parallel (#833)
pepeiborra Sep 26, 2020
62f4d06
Add GetHieAsts rule, Replace SpanInfo, add support for DocumentHighli…
wz1000 Sep 27, 2020
1bb4c49
Remove 8.4 CPP (#834)
wz1000 Sep 27, 2020
b279afb
FileExists: set one watcher instead of thousands (#831)
michaelpj Sep 27, 2020
85f3738
Fix duplicated completions (#837)
botal9 Sep 28, 2020
a527418
Allow to easily customise the example used for benchmarks (#838)
pepeiborra Sep 29, 2020
ceb9eb7
Fix the CI bench artifact (#841)
pepeiborra Sep 29, 2020
df13c5a
Enable test suite in Windows, marking unreliable tests as ignored (#821)
jneira Oct 2, 2020
c928569
Added Show instances for a few GHC API types (useful for debugging) (…
tittoassini Oct 3, 2020
62f198d
Rerun Windows tests just like linux tests (#846)
pepeiborra Oct 4, 2020
d6fc31e
Fix code action for adding missing constraints to type signatures (#839)
jhrcek Oct 4, 2020
03bdcae
Use object code for Template Haskell, emit desugarer warnings (#836)
wz1000 Oct 4, 2020
d874a32
Disable the 8.8 Windows tests, too unreliable (#850)
pepeiborra Oct 6, 2020
a021701
Pull in local bindings (#845)
isovector Oct 6, 2020
b60a64f
Enable test suite for windows, ghc-8.8 and ghc-8.10 (#855)
jneira Oct 9, 2020
2f7487e
Add test for th link failure (#853)
wz1000 Oct 9, 2020
aa8b7be
Downgrade file watch debug log to logDebug from logInfo (#848)
mpickering Oct 9, 2020
bfe2563
Do not show internal hole names (#852)
serras Oct 10, 2020
f26c4ab
Preserve envImportPaths in GhcSessionDeps (#862)
pepeiborra Oct 10, 2020
7339784
Run benchmarks on a list of examples (#864)
pepeiborra Oct 11, 2020
10dbde0
Interleave and pretty print benchmark results (#866)
pepeiborra Oct 11, 2020
6af874d
Canonicalize import dirs (#870)
pepeiborra Oct 15, 2020
f58edfb
Fix pretty printer for diagnostic ranges (#871)
hurryabit Oct 15, 2020
cf143ea
Add code action for remove all redundant imports (#867)
berberman Oct 18, 2020
71c88dc
Switch back to bytecode (#873)
wz1000 Oct 19, 2020
2896906
Fix the guard target (#876)
berberman Oct 19, 2020
9f3fc61
Add a test to check diagnistic ranges are printed 1-based (#878)
hurryabit Oct 20, 2020
5bf1532
Move HIE files stuff to a new hie-compat package (#877)
wz1000 Oct 20, 2020
e2ee58f
Fix cabal check for hie-compat (#879)
wz1000 Oct 23, 2020
d76fbf9
simplify things unnecessarily running in GhcM (#875)
wz1000 Oct 23, 2020
6a6b68d
Clarify and downgrade implicit-hie message (#883)
Avi-D-coder Oct 24, 2020
74c04a8
Don't need to invoke full typechecking logic for completions (#882)
wz1000 Oct 25, 2020
abf0a8a
Use implicit-hie-0.1.2.0 (#880)
jneira Oct 25, 2020
933c0c9
Simplify and deduplicate ModSummary logic (#884)
wz1000 Oct 27, 2020
e922a16
Expose Development.IDE.Core.Preprocessor (#887)
tittoassini Oct 28, 2020
c92ccfe
Disable CI benchmark suite (#893)
pepeiborra Nov 7, 2020
0061446
Expose Development.IDE.GHC.Orphans (#894)
jneira Nov 7, 2020
f4bfe9c
Compatibility with fbghc (#892)
pepeiborra Nov 7, 2020
1e17ed9
GitHub actions (#895)
pepeiborra Nov 7, 2020
dcf6804
Prepare for 0.5.0 release (#896)
pepeiborra Nov 7, 2020
c206840
Test fixes (#899)
pepeiborra Nov 10, 2020
9b8aaf9
Update implicit-hie to 0.3.0 (#905)
Avi-D-coder Nov 12, 2020
30a46e8
Avoid calling kick explicitly (#904)
pepeiborra Nov 12, 2020
a791afd
Parenthesize operators when exporting (#906)
berberman Nov 13, 2020
03e89d9
GitHub test action (#903)
pepeiborra Nov 15, 2020
a345e11
Remove allow-newer (#908)
jneira Nov 16, 2020
b3e95d1
Do not enable every "unnecessary" warning by default (#907)
serras Nov 17, 2020
3d6d0d3
Bump up implicit-hie-cradle lower bound (#912)
jneira Nov 18, 2020
7d90848
Switch to sliding tags in Github actions (#915)
pepeiborra Nov 19, 2020
b11d010
Make Filetargets absolute before continue using them (#914)
fendor Nov 21, 2020
863392b
Extend import suggestions for more than one option (#913)
gdevanla Nov 21, 2020
90b859b
Add a GitHub action for the Nix build (#918)
pepeiborra Nov 23, 2020
0289917
Record completions snippets (#900)
gdevanla Nov 23, 2020
c4418ab
[nix] use gitignore.nix (#920)
pepeiborra Nov 23, 2020
d79fdba
Ignore import list while producing completions (#919)
gdevanla Nov 27, 2020
51f70d4
Update README.md (#924)
samuela Nov 28, 2020
89eeb50
Custom cradle loading (#928)
pepeiborra Nov 29, 2020
54f17d1
Favor `lookupPathToId` over `pathToId` (#926)
samuela Nov 29, 2020
dc3c104
Return completion snippets only when client supports it (#929)
pepeiborra Nov 29, 2020
42901e3
Simplify and Bump implicit-hie version constraints (#933)
Avi-D-coder Dec 4, 2020
36a2f00
Extend import list automatically (#930)
gdevanla Dec 5, 2020
28f33cc
Drop stack Windows CI (#934)
pepeiborra Dec 5, 2020
e24a744
Opentelemetry traces and heapsize memory analysis (#922)
pepeiborra Dec 5, 2020
bd5b9d0
Qualified error messages (#938)
pepeiborra Dec 6, 2020
eff14cb
Support extending constructors (#916)
berberman Dec 6, 2020
959db7b
Extract the benchmarking Shake rules to a standalone Cabal package (#…
pepeiborra Dec 7, 2020
6ec0b99
Cleanup addBindingToImportList (#942)
berberman Dec 8, 2020
65c9580
Add support for customizing the hidir location (#944)
pepeiborra Dec 8, 2020
92db820
Deprecate ghcide tool and delete the VSCode extension (#939)
pepeiborra Dec 8, 2020
baafe2c
Prepare for v0.6.0 release (#940)
pepeiborra Dec 9, 2020
27b4250
Extend CI with all GHC minor versions supported by hls and fix ghc-8.…
jneira Dec 11, 2020
9d0fc44
Update URLs after move to haskell github org (#950)
jhrcek Dec 13, 2020
3ae1b20
Prepare for v0.6.0.1 release (#951)
pepeiborra Dec 13, 2020
cd0878b
Remove language extension completions. (#948)
gdevanla Dec 13, 2020
6365d3c
Deduplicate module not found diagnostics (#952)
pepeiborra Dec 14, 2020
9e976f1
Rename hie.yaml.* to hie-*.yaml (#953)
berberman Dec 15, 2020
d702ca9
Expose Documentation module (#956)
gdevanla Dec 15, 2020
d8244b7
Rescue stack windows build (#954)
pepeiborra Dec 15, 2020
22d9fde
Use qualified module name from diagnostics in suggestNewImport (#945)
berberman Dec 15, 2020
0d4e3b9
Fix diagnostics update bug (#959)
pepeiborra Dec 21, 2020
c617c9b
Prepare release 0.6.0.2 (#958)
pepeiborra Dec 26, 2020
d7ca90e
Remove the ghcide submodule
pepeiborra Dec 27, 2020
b0999bc
Move under /ghcide folder
pepeiborra Dec 27, 2020
616f939
Merge remote-tracking branch 'ghcide/merge' into merge
pepeiborra Dec 27, 2020
5b34b6b
Delete redundant descriptors and scripts
pepeiborra Dec 27, 2020
5d5d52b
hie-compat and shake-bench are now top-level projects
pepeiborra Dec 27, 2020
59568b3
Add ghcide bench CI action
pepeiborra Dec 27, 2020
a9c2a0a
Combine test and nix CI scripts
pepeiborra Dec 27, 2020
b48c8ac
Temporarily disable the upstream branch for benchmarks
pepeiborra Dec 27, 2020
23c71e4
Move ghcide artifacts under /ghcide
pepeiborra Dec 27, 2020
e084826
Add allow-newer entries needed for the ghcide benchmark suite
pepeiborra Dec 27, 2020
dd6ad56
Run the ghcide test suite first
pepeiborra Dec 27, 2020
4b4c18f
Regenerate the cabal cradle
pepeiborra Dec 27, 2020
b2e1445
Fix redundant import tests
pepeiborra Dec 27, 2020
291f667
Fix language extension code action tests
pepeiborra Dec 28, 2020
c72146f
Run GitHub actions only on PR
pepeiborra Dec 28, 2020
c6daeb5
Launch ghcide/HLS for tests with -j2 to limit amount of memory used
pepeiborra Dec 28, 2020
db8c2e2
Fix paths in bench script
pepeiborra Dec 28, 2020
6268dd1
Disable ghci objects in all the stack descriptors
pepeiborra Dec 28, 2020
6b4d556
Disable build of shake-bench in stack 8.10.x
pepeiborra Dec 28, 2020
99bdba9
Disable build of shake-bench in stack 8.6.x
pepeiborra Dec 28, 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
58 changes: 58 additions & 0 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Benchmark

on: [pull_request]
jobs:
bench:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
ghc: ['8.10.2', '8.8.4', '8.6.5']
os: [ubuntu-latest, macOS-latest]

steps:
- uses: actions/checkout@v2
- run: git fetch origin master # check the master branch for benchmarking
- uses: actions/setup-haskell@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: '3.2'
enable-stack: false

- name: Cache Cabal
uses: actions/cache@v2
with:
path: |
~/.cabal/packages
~/.cabal/store
key: ${{ runner.os }}-${{ matrix.ghc }}-cabal-bench

- run: cabal update

- run: cabal configure --enable-benchmarks

- name: Build
shell: bash
# Retry it three times to workaround compiler segfaults in windows
run: cabal build ghcide:benchHist || cabal build ghcide:benchHist || cabal build ghcide:benchHist

- name: Bench
shell: bash
# run the tests without parallelism, otherwise tasty will attempt to run
# all test cases simultaneously which causes way too many hls
# instances to be spun up for the poor github actions runner to handle
run: cabal bench ghcide:benchHist

- name: Display results
shell: bash
run: |
column -s, -t < ghcide/bench-results/results.csv | tee ghcide/bench-results/results.txt

- name: Archive benchmarking artifacts
uses: actions/upload-artifact@v2
with:
name: bench-results-${{ runner.os }}-${{ matrix.ghc }}
path: |
ghcide/bench-results/results.*
ghcide/bench-results/**/*.svg
3 changes: 1 addition & 2 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Nix

on: [push, pull_request]
on: [pull_request]
jobs:
nix:
runs-on: ${{ matrix.os }}
Expand All @@ -21,6 +21,5 @@ jobs:
- uses: cachix/cachix-action@v8
with:
name: haskell-language-server
extraPullNames: haskell-ghcide
authToken: '${{ secrets.HLS_CACHIX_AUTH_TOKEN }}'
- run: nix-shell --argstr compiler ${{ matrix.ghc }} --run "cabal update && cabal build"
18 changes: 17 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Testing

on: [push, pull_request]
on: [pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
Expand All @@ -9,6 +9,7 @@ jobs:
matrix:
ghc: ["8.10.2", "8.10.1", "8.8.4", "8.8.3", "8.8.2", "8.6.5", "8.6.4"]
os: [ubuntu-latest, macOS-latest, windows-latest]
ghc-lib: [false]
exclude:
- os: windows-latest
ghc: "8.10.2" # broken due to https://gitlab.haskell.org/ghc/ghc/-/issues/18550
Expand All @@ -21,6 +22,10 @@ jobs:
include:
- os: windows-latest
ghc: "8.10.2.2" # only available for windows and choco
# one ghc-lib build
- os: ubuntu-latest
ghc: '8.10.1'
ghc-lib: true

steps:
- uses: actions/checkout@v2
Expand All @@ -32,6 +37,9 @@ jobs:
cabal-version: "3.2"
enable-stack: true

- run: ./fmt.sh
name: "HLint via ./fmt.sh"

- name: Cache Cabal
uses: actions/cache@v2
env:
Expand Down Expand Up @@ -61,7 +69,14 @@ jobs:
# Retry it three times to workaround compiler segfaults in windows
run: cabal build || cabal build || cabal build

- name: Test ghcide
if: ${{ !matrix.ghc-lib }}
shell: bash
# run the tests without parallelism to avoid running out of memory
run: cabal test ghcide --test-options="-j1 --rerun-update" || cabal test ghcide --test-options="-j1 --rerun" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test ghcide --test-options="-j1 --rerun"

- name: Test func-test suite
if: ${{ !matrix.ghc-lib }}
shell: bash
env:
HLS_TEST_EXE: hls
Expand All @@ -72,6 +87,7 @@ jobs:
run: cabal test func-test --test-options="-j1 --rerun-update" || cabal test func-test --test-options="-j1 --rerun --rerun-update" || cabal test func-test --test-options="-j1 --rerun" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test func-test --test-options="-j1 --rerun"

- name: Test wrapper-test suite
if: ${{ !matrix.ghc-lib }}
shell: bash
env:
HLS_TEST_EXE: hls
Expand Down
7 changes: 0 additions & 7 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,3 @@
# Commit git commit -m "Removed submodule <name>"
# Delete the now untracked submodule files
# rm -rf path_to_submodule
[submodule "ghcide"]
path = ghcide
# url = https://github.com/alanz/ghcide.git
# url = https://github.com/wz1000/ghcide.git
url = https://github.com/haskell/ghcide.git
# url = https://github.com/fendor/ghcide.git
# url = https://github.com/bubba/ghcide.git
17 changes: 15 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
packages:
./
./ghcide/hie-compat
./hie-compat
./shake-bench
./ghcide
./hls-plugin-api
./plugins/tactics
Expand All @@ -23,4 +24,16 @@ write-ghc-environment-files: never

index-state: 2020-12-13T11:31:58Z

allow-newer: data-tree-print:base
allow-newer:
active:base,
data-tree-print:base,
diagrams-contrib:base,
diagrams-core:base,
diagrams-lib:base,
diagrams-postscript:base,
diagrams-svg:base,
dual-tree:base,
force-layout:base,
monoid-extras:base,
statestack:base,
svg-builder:base
3 changes: 3 additions & 0 deletions fmt.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash
set -eou pipefail
curl -sSL https://raw.github.com/ndmitchell/hlint/master/misc/run.sh | sh -s ghcide/src ghcide/exe ghcide/bench shake-bench/src ghcide/test/exe --with-group=extra --hint=ghcide/.hlint.yaml
1 change: 0 additions & 1 deletion ghcide
Submodule ghcide deleted from 6de5ac
39 changes: 39 additions & 0 deletions ghcide/.azure/linux-stack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
jobs:
- job: ghcide_stack_linux
timeoutInMinutes: 60
pool:
vmImage: 'ubuntu-latest'
variables:
STACK_ROOT: $(Pipeline.Workspace)/.stack
steps:
- checkout: self
- task: Cache@2
inputs:
key: stack-root-cache | $(Agent.OS) | $(Build.SourcesDirectory)/stack.yaml | $(Build.SourcesDirectory)/ghcide.cabal
path: $(STACK_ROOT)
cacheHitVar: STACK_ROOT_CACHE_RESTORED
displayName: "Cache stack root"
- task: Cache@2
inputs:
key: stack-work-cache | $(Agent.OS) | $(Build.SourcesDirectory)/stack.yaml | $(Build.SourcesDirectory)/ghcide.cabal
path: .stack-work
cacheHitVar: STACK_WORK_CACHE_RESTORED
displayName: "Cache stack work"
- bash: |
./fmt.sh
displayName: "HLint via ./fmt.sh"
- bash: |
sudo add-apt-repository ppa:hvr/ghc
sudo apt-get update
sudo apt-get install -y g++ gcc libc6-dev libffi-dev libgmp-dev make zlib1g-dev cabal-install-3.2
if ! which stack >/dev/null 2>&1; then
curl -sSL https://get.haskellstack.org/ | sh
fi
mkdir -p $STACK_ROOT
displayName: 'Install Stack'
- bash: stack setup
displayName: 'stack setup'
- bash: cabal update # some tests use Cabal cradles
displayName: 'cabal update'
- bash: stack build --test --no-run-tests
displayName: 'stack build --test --no-run-tests'
41 changes: 41 additions & 0 deletions ghcide/.azure/windows-stack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
jobs:
- job: ghcide_stack_windows
timeoutInMinutes: 120
pool:
vmImage: 'windows-2019'
variables:
STACK_ROOT: "C:\\sr"
steps:
- checkout: self
- task: Cache@2
inputs:
key: stack-root-cache | $(Agent.OS) | $(Build.SourcesDirectory)/stack-windows.yaml | $(Build.SourcesDirectory)/ghcide.cabal
path: $(STACK_ROOT)
cacheHitVar: STACK_ROOT_CACHE_RESTORED
displayName: "Cache stack root"
- task: Cache@2
inputs:
key: stack-work-cache | $(Agent.OS) | $(Build.SourcesDirectory)/stack-windows.yaml | $(Build.SourcesDirectory)/ghcide.cabal
path: .stack-work
cacheHitVar: STACK_WORK_CACHE_RESTORED
displayName: "Cache stack work"
- bash: |
./fmt.sh
displayName: "HLint via ./fmt.sh"
- bash: |
curl -sSkL http://www.stackage.org/stack/windows-x86_64 -o /usr/bin/stack.zip
unzip -o /usr/bin/stack.zip -d /usr/bin/
mkdir -p "$STACK_ROOT"
displayName: 'Install Stack'
- bash: stack setup --stack-yaml stack-windows.yaml
displayName: 'stack setup'
- bash: |
# Installing happy and alex standalone to avoid error "strip.exe: unable to rename ../*.exe; reason: File exists"
stack install happy --stack-yaml stack-windows.yaml
stack install alex --stack-yaml stack-windows.yaml
choco install -y cabal --version=$CABAL_VERSION
$(cygpath $ProgramData)/chocolatey/bin/RefreshEnv.cmd
# GHC 8.10.1 fails with ghc segfaults, using -fexternal-interpreter seems to make it working
# There are other transient errors like timeouts downloading from stackage so we retry 3 times
stack build --test --no-run-tests --stack-yaml stack-windows.yaml --ghc-options="-fexternal-interpreter" || stack build --test --no-run-tests --stack-yaml stack-windows.yaml --ghc-options="-fexternal-interpreter" || stack build --test --no-run-tests --stack-yaml stack-windows.yaml --ghc-options="-fexternal-interpreter"
displayName: 'stack build --test'
11 changes: 11 additions & 0 deletions ghcide/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
; This file is for unifying the coding style for different editors and IDEs.
; More information at https://EditorConfig.org

root = true

[*]
end_of_line = LF
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
29 changes: 29 additions & 0 deletions ghcide/.ghci
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
:set -Wunused-binds -Wunused-imports -Worphans -Wunused-matches -Wincomplete-patterns

:set -XBangPatterns
:set -XDeriveFunctor
:set -XDeriveGeneric
:set -XGeneralizedNewtypeDeriving
:set -XLambdaCase
:set -XNamedFieldPuns
:set -XOverloadedStrings
:set -XRecordWildCards
:set -XScopedTypeVariables
:set -XStandaloneDeriving
:set -XTupleSections
:set -XTypeApplications
:set -XViewPatterns

:set -package=ghc
:set -ignore-package=ghc-lib-parser
:set -DGHC_STABLE
:set -Iinclude
:set -idist/build/autogen
:set -isrc
:set -isession-loader
:set -iexe

:set -isrc-ghc88
:set -idist-newstyle/build/x86_64-osx/ghc-8.8.3/ghcide-0.2.0/build/autogen

:load Main
18 changes: 18 additions & 0 deletions ghcide/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
dist/
.stack-work/
dist-newstyle/
cabal.project.local
*~
*.lock
/.tasty-rerun-log
.vscode
/.hlint-*
bench/example/
bench-results/
bench-temp/
.shake/
ghcide
ghcide-bench
ghcide-preprocessor
*.benchmark-gcStats
tags
Loading