diff --git a/bench/config.yaml b/bench/config.yaml index 4e99f1c8db..9e49ed6360 100644 --- a/bench/config.yaml +++ b/bench/config.yaml @@ -76,7 +76,7 @@ versions: # - 1.8.0.0 -# - upstream: origin/master +- upstream: origin/master # - HEAD~1 - HEAD @@ -95,26 +95,28 @@ configurations: # The implicitly included plugins are: # - ghcide-core # - ghcide-hover-and-symbols -- None: [] -- Core: - - callHierarchy - - codeRange - - eval - - ghcide-code-actions-bindings - - ghcide-code-actions-fill-holes - - ghcide-code-actions-imports-exports - - ghcide-code-actions-type-signatures - - ghcide-completions - - ghcide-type-lenses - - pragmas -- Ghcide: - - ghcide-completions - - ghcide-type-lenses -- Refactor: - - ghcide-code-actions-bindings - - ghcide-code-actions-fill-holes - - ghcide-code-actions-imports-exports - - ghcide-code-actions-type-signatures + +# Uncomment below sections if needed +# - None: [] +# - Core: +# - callHierarchy +# - codeRange +# - eval +# - ghcide-code-actions-bindings +# - ghcide-code-actions-fill-holes +# - ghcide-code-actions-imports-exports +# - ghcide-code-actions-type-signatures +# - ghcide-completions +# - ghcide-type-lenses +# - pragmas +# - Ghcide: +# - ghcide-completions +# - ghcide-type-lenses +# - Refactor: +# - ghcide-code-actions-bindings +# - ghcide-code-actions-fill-holes +# - ghcide-code-actions-imports-exports +# - ghcide-code-actions-type-signatures - All: - alternateNumberFormat - callHierarchy @@ -141,36 +143,36 @@ configurations: - refineImports - rename - stylish-haskell -- alternateNumberFormat -# - brittany -- callHierarchy -- changeTypeSignature -- class -- codeRange -- eval -- explicitFixity -# - floskell -# - fourmolu -- gadt -- ghcide-code-actions-bindings -- ghcide-code-actions-fill-holes -- ghcide-code-actions-imports-exports -- ghcide-code-actions-type-signatures -- ghcide-completions -# - ghcide-core # implicitly included in all configurations -# - ghcide-hover-and-symbols # implicitly included in all configurations -- ghcide-type-lenses -- haddockComments -- hlint -- importLens -- moduleName -# - ormolu -- pragmas -- qualifyImportedNames -- refineImports -- rename -- retrie -- splice -- stan -# - stylish-haskell -- tactics +# - alternateNumberFormat +# # - brittany +# - callHierarchy +# - changeTypeSignature +# - class +# - codeRange +# - eval +# - explicitFixity +# # - floskell +# # - fourmolu +# - gadt +# - ghcide-code-actions-bindings +# - ghcide-code-actions-fill-holes +# - ghcide-code-actions-imports-exports +# - ghcide-code-actions-type-signatures +# - ghcide-completions +# # - ghcide-core # implicitly included in all configurations +# # - ghcide-hover-and-symbols # implicitly included in all configurations +# - ghcide-type-lenses +# - haddockComments +# - hlint +# - importLens +# - moduleName +# # - ormolu +# - pragmas +# - qualifyImportedNames +# - refineImports +# - rename +# - retrie +# - splice +# - stan +# # - stylish-haskell +# - tactics diff --git a/cabal.project b/cabal.project index 3c1b731e0a..610f77689a 100644 --- a/cabal.project +++ b/cabal.project @@ -81,13 +81,24 @@ source-repository-package location: https://github.com/wz1000/hie-bios tag: aa73d3d2eb89df0003d2468a105e326d71b62cc7 --- Needed for ghcide-bench until a new release of lsp-test is out +-- Remove me when a new version of lsp is released +source-repository-package + type:git + location: https://github.com/haskell/lsp + subdir: lsp + tag: b0f8596887088b8ab65fc1015c773f45b47234ae + +source-repository-package + type:git + location: https://github.com/haskell/lsp + subdir: lsp-types + tag: b0f8596887088b8ab65fc1015c773f45b47234ae + source-repository-package type:git location: https://github.com/haskell/lsp subdir: lsp-test - tag: c95eb06c70c35f1e13c37ed11a7d9e5b36bfa2e8 - -- https://github.com/haskell/lsp/pull/450 + tag: b0f8596887088b8ab65fc1015c773f45b47234ae allow-newer: -- ghc-9.4 diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index 0329130c88..d4fab31b3c 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -378,7 +378,7 @@ test-suite ghcide-tests record-hasfield if impl(ghc < 9.3) build-depends: ghc-typelits-knownnat - hs-source-dirs: test/cabal test/exe test/src bench/lib + hs-source-dirs: test/cabal test/exe test/src ghc-options: -threaded -Wall -Wno-name-shadowing -O0 -Wno-unticked-promoted-constructors main-is: Main.hs other-modules: diff --git a/ghcide/src/Development/IDE/Types/Location.hs b/ghcide/src/Development/IDE/Types/Location.hs index 24a61d8a27..9891606947 100644 --- a/ghcide/src/Development/IDE/Types/Location.hs +++ b/ghcide/src/Development/IDE/Types/Location.hs @@ -50,11 +50,7 @@ toNormalizedFilePath' "" = emptyFilePath toNormalizedFilePath' fp = LSP.toNormalizedFilePath fp emptyFilePath :: LSP.NormalizedFilePath -#if MIN_VERSION_lsp_types(1,3,0) -emptyFilePath = LSP.normalizedFilePath emptyPathUri "" -#else -emptyFilePath = LSP.NormalizedFilePath emptyPathUri "" -#endif +emptyFilePath = LSP.emptyNormalizedFilePath -- | We use an empty string as a filepath when we don’t have a file. -- However, haskell-lsp doesn’t support that in uriToFilePath and given diff --git a/hls-plugin-api/src/Ide/PluginUtils.hs b/hls-plugin-api/src/Ide/PluginUtils.hs index 617b898fcb..7f8b1c2a7f 100644 --- a/hls-plugin-api/src/Ide/PluginUtils.hs +++ b/hls-plugin-api/src/Ide/PluginUtils.hs @@ -218,10 +218,7 @@ fullRange s = Range startPos endPos lastLine = fromIntegral $ length $ T.lines s subRange :: Range -> Range -> Bool -subRange smallRange range = _start smallRange >= _start range && _end smallRange <= _end range - -positionInRange :: Position -> Range -> Bool -positionInRange p (Range sp ep) = sp <= p && p < ep -- Range's end position is exclusive, see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#range +subRange = isSubrangeOf -- --------------------------------------------------------------------- diff --git a/hls-plugin-api/test/Ide/PluginUtilsTest.hs b/hls-plugin-api/test/Ide/PluginUtilsTest.hs index c6bedfdf28..f868a067d1 100644 --- a/hls-plugin-api/test/Ide/PluginUtilsTest.hs +++ b/hls-plugin-api/test/Ide/PluginUtilsTest.hs @@ -9,21 +9,5 @@ import Test.Tasty.HUnit tests :: TestTree tests = testGroup "PluginUtils" - [ positionInRangeTest - ] - -positionInRangeTest :: TestTree -positionInRangeTest = testGroup "positionInRange" - [ testCase "single line, after the end" $ - positionInRange (Position 1 10) (Range (Position 1 1) (Position 1 3)) @?= False - , testCase "single line, before the begining" $ - positionInRange (Position 1 0) (Range (Position 1 1) (Position 1 6)) @?= False - , testCase "single line, in range" $ - positionInRange (Position 1 5) (Range (Position 1 1) (Position 1 6)) @?= True - , testCase "single line, at the end" $ - positionInRange (Position 1 5) (Range (Position 1 1) (Position 1 5)) @?= False - , testCase "multiline, in range" $ - positionInRange (Position 3 5) (Range (Position 1 1) (Position 5 6)) @?= True - , testCase "multiline, out of range" $ - positionInRange (Position 3 5) (Range (Position 3 6) (Position 4 10)) @?= False + [ ] diff --git a/stack-lts16.yaml b/stack-lts16.yaml index 50120b1841..666089e558 100644 --- a/stack-lts16.yaml +++ b/stack-lts16.yaml @@ -87,9 +87,12 @@ extra-deps: - constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 - some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 - unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082 - - lsp-1.5.0.0 - - lsp-types-1.5.0.0 - - lsp-test-0.14.0.3 + - git: git@github.com:haskell/lsp + commit: b0f8596887088b8ab65fc1015c773f45b47234ae + subdirs: + - lsp + - lsp-types + - lsp-test - stm-containers-1.1.0.4 - stm-hamt-1.2.0.6@sha256:fba86ccb4b45c5706c19b0e1315ba63dcac3b5d71de945ec001ba921fae80061,3972 - primitive-extras-0.10.1 diff --git a/stack-lts19.yaml b/stack-lts19.yaml index c13433ac13..d73ec71973 100644 --- a/stack-lts19.yaml +++ b/stack-lts19.yaml @@ -55,9 +55,12 @@ extra-deps: - refinery-0.4.0.0@sha256:fe3a43add8ff1db5cfffee7e7694c86128b1dfe62c541f26e25a8eadf9585610,1663 - retrie-1.1.0.0 - stylish-haskell-0.14.2.0@sha256:fffe1c13ad4c2678cf28a7470cac5d3bf20c71c36f09969e3e5f186787cceb7c,4321 -- lsp-1.5.0.0 -- lsp-types-1.5.0.0 -- lsp-test-0.14.0.3 +- git: git@github.com:haskell/lsp + commit: b0f8596887088b8ab65fc1015c773f45b47234ae + subdirs: + - lsp + - lsp-types + - lsp-test - co-log-core-0.3.1.0 configure-options: diff --git a/stack.yaml b/stack.yaml index 5a0649322a..75e17da1a3 100644 --- a/stack.yaml +++ b/stack.yaml @@ -41,9 +41,12 @@ extra-deps: - hiedb-0.4.1.0@sha256:fb20c657d9ecc91701b00dffcf4bbd77cb83720a1f9d867badd77ea227973135,2875 - implicit-hie-0.1.2.7@sha256:82bbbb1a8c05f99c8af3c16ac53e80c8648d8bf047b25ed5ce45a135bd736907,3122 - implicit-hie-cradle-0.5.0.0@sha256:4276f60f3a59bc22df03fd918f73bca9f777de9568f85e3a8be8bd7566234a59,2368 -- lsp-1.5.0.0 -- lsp-test-0.14.0.3 -- lsp-types-1.5.0.0 +- git: git@github.com:haskell/lsp + commit: b0f8596887088b8ab65fc1015c773f45b47234ae + subdirs: + - lsp + - lsp-types + - lsp-test - monad-dijkstra-0.1.1.3@sha256:d2fc098d7c122555e726830a12ae0423ac187f89de9228f32e56e2f6fc2238e1,1900 - retrie-1.2.0.1 - co-log-core-0.3.1.0