From 5b347b7ebbd941658d1a90bafda982ba4fe31526 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Sun, 18 Aug 2024 01:32:25 +0300 Subject: [PATCH] Support newer lsp --- rzk/app/Main.hs | 4 ++-- rzk/package.yaml | 2 +- rzk/rzk.cabal | 8 ++++---- rzk/src/Language/Rzk/VSCode/Handlers.hs | 7 ++++++- stack.yaml | 2 +- stack.yaml.lock | 8 ++++---- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/rzk/app/Main.hs b/rzk/app/Main.hs index d2f6c4c40..47d290e4c 100644 --- a/rzk/app/Main.hs +++ b/rzk/app/Main.hs @@ -16,7 +16,7 @@ import Control.Monad (forM, forM_, unless, when, (>=>)) import Data.Version (showVersion) -#ifdef LSP +#ifdef LSP_ENABLED import Language.Rzk.VSCode.Lsp (runLsp) #endif @@ -66,7 +66,7 @@ main = do Right _decls -> putStrLn "Everything is ok!" Lsp -> -#ifdef LSP +#ifdef LSP_ENABLED void runLsp #else error "rzk lsp is not supported with this build" diff --git a/rzk/package.yaml b/rzk/package.yaml index dcc75ae77..d8d166b05 100644 --- a/rzk/package.yaml +++ b/rzk/package.yaml @@ -28,7 +28,7 @@ flags: when: - condition: flag(lsp) && !impl(ghcjs) - cpp-options: -DLSP + cpp-options: -DLSP_ENABLED custom-setup: dependencies: diff --git a/rzk/rzk.cabal b/rzk/rzk.cabal index 803f863b7..d809f3df3 100644 --- a/rzk/rzk.cabal +++ b/rzk/rzk.cabal @@ -76,7 +76,7 @@ library , yaml >=0.11.0.0 default-language: Haskell2010 if flag(lsp) && !impl(ghcjs) - cpp-options: -DLSP + cpp-options: -DLSP_ENABLED if flag(lsp) && !impl(ghcjs) exposed-modules: Language.Rzk.VSCode.Config @@ -121,7 +121,7 @@ executable rzk , yaml >=0.11.0.0 default-language: Haskell2010 if flag(lsp) && !impl(ghcjs) - cpp-options: -DLSP + cpp-options: -DLSP_ENABLED if !impl(ghcjs) build-depends: optparse-generic >=1.4.0 @@ -153,7 +153,7 @@ test-suite doctests , yaml >=0.11.0.0 default-language: Haskell2010 if flag(lsp) && !impl(ghcjs) - cpp-options: -DLSP + cpp-options: -DLSP_ENABLED test-suite rzk-test type: exitcode-stdio-1.0 @@ -185,4 +185,4 @@ test-suite rzk-test , yaml >=0.11.0.0 default-language: Haskell2010 if flag(lsp) && !impl(ghcjs) - cpp-options: -DLSP + cpp-options: -DLSP_ENABLED diff --git a/rzk/src/Language/Rzk/VSCode/Handlers.hs b/rzk/src/Language/Rzk/VSCode/Handlers.hs index 1310e7b4b..7cefeea7b 100644 --- a/rzk/src/Language/Rzk/VSCode/Handlers.hs +++ b/rzk/src/Language/Rzk/VSCode/Handlers.hs @@ -1,10 +1,11 @@ +{-# OPTIONS_GHC -Wno-orphans #-} +{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE ViewPatterns #-} -{-# OPTIONS_GHC -Wno-orphans #-} {-# LANGUAGE RecordWildCards #-} module Language.Rzk.VSCode.Handlers ( @@ -279,7 +280,11 @@ formatDocument req res = do let edits = formatTextEdits (filter (/= '\r') $ T.unpack sourceCode) return (Right $ map formattingEditToTextEdit edits) case possibleEdits of +#if MIN_VERSION_lsp(2,7,0) + Left err -> res $ Left $ TResponseError (InR ErrorCodes_InternalError) err Nothing +#else Left err -> res $ Left $ ResponseError (InR ErrorCodes_InternalError) err Nothing +#endif Right edits -> do res $ Right $ InL edits else do diff --git a/stack.yaml b/stack.yaml index b6882cb84..4d27df183 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,3 +1,3 @@ -resolver: nightly-2023-12-08 +resolver: nightly-2024-08-17 packages: - rzk diff --git a/stack.yaml.lock b/stack.yaml.lock index b2aeb774b..cba22ab25 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -6,7 +6,7 @@ packages: [] snapshots: - completed: - sha256: 4bd22736896cecf9e1f3f6193e82b065d06c2bf5b5ec97d0079409d6d35f1f82 - size: 710668 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2023/12/8.yaml - original: nightly-2023-12-08 + sha256: c93fb97219f317bdba82c69b4388665268c1964d9636a6ecdc9a58f8771f0bc0 + size: 658092 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2024/8/17.yaml + original: nightly-2024-08-17