mirror of
https://github.com/swarm-game/swarm.git
synced 2024-08-17 02:20:31 +03:00
Update to use the `lsp-2.4` API. Closes #1350. Initially I hoped that any `lsp-2.x` would work. However, the `SeverDefinition` record changed in `2.2` so I initially set that as a lower bound. But then it turns out that `2.4` changed which module it is importing `Rope` from; since we work with ropes in the `Hover` module it matters since we have to import the matching module. Updating to the new `Rope` type also required some changes as the API provided by the new `Rope.Mixed` module is a bit different than the old module, so we would not even be able to easily put in CPP to conditionally depend on the right rope module depending on the `lsp` version. Finally, this means dropping support for GHC 9.0 since `lsp-2.4` does not support it. Along the way I also fixed a minor issue related to showing type information returned by the LSP server, so that it uses `prettyTypeLine` to display the type on a single line (in my editor, when the type does not use a single line it gets cut off). For comparison see also #1610. This refactoring was a big pain because a lot of things (names of types and constructors, locations of exports, etc...) changed from 1.x to 2.x, but there was not much in the way of documenting what had changed. =( I am pretty sure that all functionality has been preserved but I would appreciate independent confirmation. This is also a prerequisite for updating other dependencies such as the `base` version (I will open a follow-up PR soon) since the old `lsp-1.x` versions do not allow many newer versions of various dependencies.
57 lines
1.4 KiB
YAML
57 lines
1.4 KiB
YAML
queue_rules:
|
|
- name: default
|
|
conditions:
|
|
- or:
|
|
- and:
|
|
- -files~=\.hs$
|
|
- -files~=\.sw$
|
|
- -files~=\.cabal$
|
|
- -files=stack.yaml
|
|
- -files~=cabal.project.*
|
|
- -files~=^[^/]*\.yaml$
|
|
- -files~=^data/.*\.yaml$
|
|
- and:
|
|
- or:
|
|
- check-success=Enforce issue references
|
|
- -files~=\.hs$
|
|
- check-success=Haskell-CI - Linux - ghc-9.6.4
|
|
- check-success=Haskell-CI - Linux - ghc-9.4.8
|
|
- check-success=Haskell-CI - Linux - ghc-9.2.8
|
|
|
|
pull_request_rules:
|
|
- actions:
|
|
queue:
|
|
name: default
|
|
method: squash
|
|
commit_message_template: |
|
|
{{ title }} (#{{ number }})
|
|
|
|
{{ body }}
|
|
|
|
name: Automatically merge pull requests
|
|
conditions:
|
|
- or:
|
|
- and:
|
|
- -files~=\.hs$
|
|
- -files~=\.sw$
|
|
- -files~=\.cabal$
|
|
- -files=stack.yaml
|
|
- -files~=cabal.project.*
|
|
- -files~=^[^/]*\.yaml$
|
|
- -files~=^data/.*\.yaml$
|
|
- and:
|
|
- or:
|
|
- check-success=Enforce issue references
|
|
- -files~=\.hs$
|
|
- check-success=Haskell-CI - Linux - ghc-9.6.4
|
|
- check-success=Haskell-CI - Linux - ghc-9.4.8
|
|
- check-success=Haskell-CI - Linux - ghc-9.2.8
|
|
- label=merge me
|
|
- ! '#approved-reviews-by>=1'
|
|
- ! '#changes-requested-reviews-by=0'
|
|
- actions:
|
|
delete_head_branch: {}
|
|
name: Delete head branch after merge
|
|
conditions:
|
|
- merged
|