haskell-language-server/.gitignore

51 lines
589 B
Plaintext
Raw Normal View History

dist-newstyle
.stack-work
/hie.yaml
cabal.project.local
*~
2020-01-30 01:28:06 +03:00
*.lock
2020-10-29 00:26:43 +03:00
.tasty-rerun-log
2020-01-30 01:28:06 +03:00
# shake build information
_build/
# stack 2.1 stack.yaml lock files
stack*.yaml.lock
2020-02-03 16:35:06 +03:00
shake.yaml.lock
.vscode
/test-logs/*.log
2020-02-07 21:18:33 +03:00
# stack 2.1 stack.yaml lock files
stack*.yaml.lock
shake.yaml.lock
Distributable binaries (#165) Update ghcide to obtain the GHC lib dir at runtime, rather than at compile time with ghc-paths. This means that the binaries can be moved about since the lib dir is obtained on the fly Share the exe/main.hs logic between ghcide and hls: the session setup logic which previously took up most of exe/main.hs now resides inside the ghcide library, and is used by both ghcide and hls's executables Add a --project-ghc-version option to the wrapper which spits out the project's ghc version to stdout. This is useful for the vscode extension which can then use it to download the corresponding version of binary that the wrapper would have otherwise attempted to launch Make the wrapper check to see if the correct tool is installed beforehand. For example, if it detects a stack project but stack isn't on the path, it will report an error then and there, rather than having hls/ghcide confusingly fail later on. The vscode extension uses this new error message as well to provide a pop up message linking the user to a website to install the missing tool Remove cabal-helper from the wrapper, so that the implicit cradle logic is the same between ghcide/hls/hls-wrapper And of course, add a GitHub action workflow that runs whenever a release is created on GitHub that builds static binaries on Linux, and distributable enough binaries on macOS and windows. This is documented a bit more in docs/releases.md * WIP * WIP 2 * WIP 3 * WIP 4 * WIP 5 * WIP 6 * WIP 7 * WIP 8 * WIP 9 Use patched hie-bios to get libdir dynamically * Try building the wrapper * Try to fix build_wrapper env variable not being picked up * Try again * Give up on the env var idea * Try out static optimised builds? * Try squashing the working dir * Woops * Try squashing the builddir * Try going into the parent directory * Radical approach - don't use such a long name for the wrapper * Use dist-binary flag * Debug why floskell fails to build on windows * haskell-language-server => hls on CI I hate that I have to do this * Employ extreme path saving measures * sed time :( * Try making sed command portable * Compress artefacts * Tidy up wrapper logging * Use version checking logic in hie-bios * Add documentation on the releases process * Remove unused code * Append .exe to windows binaries * Try out building remaining supported ghc configurations * Add wrapper tests and update hie-bios * Use index timestamp that exists on hackage Fixes warning * Update hie-bios * Update hie-bios * Try building windows jobs on -j1 * Skip windows 8.8.2 * Update ghc-check to use hie-bios runtime ghc libdir * Upload binaries as an artifact too * Try flicking on enable-executable-static I don't expect this to work, puffnfresh has already tried this and had to fork ghcup * Fix artifact upload * Update to latest ghcide and reuse loadSession * Check if the tool is installed in --project-ghc-version in the wrapper * Fix wrapper tests by copying to temporary directory * Try caching * Tidy up and switch back to cabal helper implicit cradle * use split sections * Remove cabal-helper and replace it with hie-bios implicit logic The cabal-helper cradle was only used by the wrapper for detecting the project GHC version in the absence of an explicit hie.yaml file, whilst ghcide itself used the hie-bios implicit cradle logic. This brings the two in sync so the wrapper should behave more predictably now. * Undo agpl common stanza change * Add release number Co-authored-by: amesgen <amesgen@amesgen.de>
2020-07-20 22:28:52 +03:00
# ignore hie.yaml's for testdata
test/testdata/**/hie.yaml
2020-07-13 13:12:41 +03:00
# metadata files on macOS
.DS_Store
2021-01-17 16:49:09 +03:00
# shake build folder (used in benchmark suite)
.shake/
2021-04-03 18:35:51 +03:00
# direnv
/.direnv/
/.envrc
HLS benchmarks (#3117) * extract ghcide:experiments-types * extract haskell-language-server:plugins and let go of examples The main goal here is to move the Plugins module into an internal library so that it can be reused from the benchmark suite. In order to make that easier, and since they hardly serve a purpose in a repository with 25 plugins, I delete the Example and Example2 plugin descriptors and their dependencies. * HLS benchmark suite Port the ghcide benchmark suite to HLS and benchmark plugin "configurations" independently. This includes the following changes to the ghcide benchmark suite and HLS: - Support for "configurations" which are defined as sets of plugin ids. The benchmark will be run with only these plugins enabled and all others disabled - Support for configurable concurrency. This relies on RTS -ol and -po flags to place the RTS traces in the target location rather than in the cwd This change requires two commits, the next one places ghcide/bench/hist/Main.hs into its final location to help 'git' recognize the change as a file move * ghcide/bench/hist/Main.hs -> bench/Main.hs * CI - fix artifact names for uniqueness * disable shorten HLS step * Do not store eventlogs to avoid out of disk space * render durations up to milliseconds * shorten titles Goal is to display the formatted CSV (via column) one row per line * exclude formatting plugin configurations * Extract ghcide-bench to a standalone package * ghcide-bench: fix stderr capturing * Fix mem stats We parse maxResidency and allocatedBytes from the RTS -S output, but runSessionWithHandles kills the server without waiting for it to exit and these stats don't get logged. The solution is to use runSessionWithHandles', but unfortunately it is internal and not exposed. I have raised a PR to expose it and in the meantime we need a source repo package. * feedbacks * delete Example plugins
2022-08-25 17:08:57 +03:00
# bench
2021-04-03 18:35:51 +03:00
*.identifierPosition
/bench/example
HLS benchmarks (#3117) * extract ghcide:experiments-types * extract haskell-language-server:plugins and let go of examples The main goal here is to move the Plugins module into an internal library so that it can be reused from the benchmark suite. In order to make that easier, and since they hardly serve a purpose in a repository with 25 plugins, I delete the Example and Example2 plugin descriptors and their dependencies. * HLS benchmark suite Port the ghcide benchmark suite to HLS and benchmark plugin "configurations" independently. This includes the following changes to the ghcide benchmark suite and HLS: - Support for "configurations" which are defined as sets of plugin ids. The benchmark will be run with only these plugins enabled and all others disabled - Support for configurable concurrency. This relies on RTS -ol and -po flags to place the RTS traces in the target location rather than in the cwd This change requires two commits, the next one places ghcide/bench/hist/Main.hs into its final location to help 'git' recognize the change as a file move * ghcide/bench/hist/Main.hs -> bench/Main.hs * CI - fix artifact names for uniqueness * disable shorten HLS step * Do not store eventlogs to avoid out of disk space * render durations up to milliseconds * shorten titles Goal is to display the formatted CSV (via column) one row per line * exclude formatting plugin configurations * Extract ghcide-bench to a standalone package * ghcide-bench: fix stderr capturing * Fix mem stats We parse maxResidency and allocatedBytes from the RTS -S output, but runSessionWithHandles kills the server without waiting for it to exit and these stats don't get logged. The solution is to use runSessionWithHandles', but unfortunately it is internal and not exposed. I have raised a PR to expose it and in the meantime we need a source repo package. * feedbacks * delete Example plugins
2022-08-25 17:08:57 +03:00
/bench-results
# nix
result
result-doc
out/
store/
gh-release-artifacts/
2023-08-25 17:26:00 +03:00
.hls/