From d85938fa154e0eaa43c2352d5a859e9f517ba8fb Mon Sep 17 00:00:00 2001 From: Alan Zimmerman Date: Sat, 1 Feb 2020 09:01:13 +0000 Subject: [PATCH] Rename to haskell-language-server Voting at time of migration was 42 for this name, next closest was 6. Closes #29 --- README.md | 13 +++++--- cabal-ide-install => cabal-hls-install | 0 ...l-ide-install.cmd => cabal-hls-install.cmd | 0 cabal.project | 7 +++- exe/Arguments.hs | 4 +-- exe/Main.hs | 8 ++--- exe/Wrapper.hs | 19 ++++++----- ide.cabal => haskell-language-server.cabal | 33 +++++++++---------- hie.yaml.cbl | 14 ++++---- hie.yaml.stack | 23 +++++++++---- install/src/Cabal.hs | 14 ++++---- install/src/Help.hs | 12 +++---- install/src/HieInstall.hs | 6 ++-- install/src/Stack.hs | 9 +++-- src/Ide/Version.hs | 2 +- stack-8.6.4.yaml | 2 +- stack-8.6.5.yaml | 2 +- stack-8.8.2.yaml | 2 +- stack.yaml | 2 +- 19 files changed, 94 insertions(+), 78 deletions(-) rename cabal-ide-install => cabal-hls-install (100%) rename cabal-ide-install.cmd => cabal-hls-install.cmd (100%) rename ide.cabal => haskell-language-server.cabal (83%) diff --git a/README.md b/README.md index d4bf562b52..351e237f73 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,16 @@ -# ide +# haskell-language-server + [![License Apache 2.0][badge-license]][license] [![CircleCI][badge-circleci]][circleci] [badge-license]: https://img.shields.io/badge/license-Apache2-green.svg?dummy -[license]: https://github.com/haskell/ide/blob/master/LICENSE -[badge-circleci]: https://img.shields.io/circleci/project/github/haskell/ide/master.svg -[circleci]: https://circleci.com/gh/haskell/ide/ +[license]: https://github.com/haskell/haskell-language-server/blob/master/LICENSE +[badge-circleci]: https://img.shields.io/circleci/project/github/haskell/haskell-language-server/master.svg +[circleci]: https://circleci.com/gh/haskell/haskell-language-server/ -Integration point for ghcide and haskell-ide-engine. One IDE to rule them all. Read the [project's background](https://neilmitchell.blogspot.com/2020/01/one-haskell-ide-to-rule-them-all.html). +Integration point for ghcide and haskell-ide-engine. One IDE to rule +them all. Read the [project's +background](https://neilmitchell.blogspot.com/2020/01/one-haskell-ide-to-rule-them-all.html). This is *very* early stage software. diff --git a/cabal-ide-install b/cabal-hls-install similarity index 100% rename from cabal-ide-install rename to cabal-hls-install diff --git a/cabal-ide-install.cmd b/cabal-hls-install.cmd similarity index 100% rename from cabal-ide-install.cmd rename to cabal-hls-install.cmd diff --git a/cabal.project b/cabal.project index 51eb8fe66d..f86a9e2059 100644 --- a/cabal.project +++ b/cabal.project @@ -4,9 +4,14 @@ packages: tests: true -package ide +package haskell-language-server test-show-details: direct package ghcide test-show-details: direct write-ghc-environment-files: never + +-- pre-brexit +-- A later version (2020-02-01T08:48:32Z) has a problem with a diamond +-- dependency for cabal-helper and cabal-plan +index-state: 2020-01-31T22:59:59Z diff --git a/exe/Arguments.hs b/exe/Arguments.hs index 74b19a59b7..926b9b7b54 100644 --- a/exe/Arguments.hs +++ b/exe/Arguments.hs @@ -19,7 +19,7 @@ import Data.Version import Development.GitRev import qualified GHC.Paths import Options.Applicative -import Paths_ide +import Paths_haskell_language_server import System.Environment -- --------------------------------------------------------------------- @@ -38,7 +38,7 @@ getArguments exeName = execParser opts where opts = info (arguments exeName <**> helper) ( fullDesc - <> progDesc "Used as a test bed to check your IDE will work" + <> progDesc "Used as a test bed to check your IDE Client will work" <> header (exeName ++ " - GHC Haskell LSP server")) arguments :: String -> Parser Arguments diff --git a/exe/Main.hs b/exe/Main.hs index 26b66374a1..ff8bd98360 100644 --- a/exe/Main.hs +++ b/exe/Main.hs @@ -65,7 +65,7 @@ main :: IO () main = do -- WARNING: If you write to stdout before runLanguageServer -- then the language server will not work - Arguments{..} <- getArguments "haskell-ide" + Arguments{..} <- getArguments "haskell-language-server" if argsVersion then ghcideVersion >>= putStrLn >> exitSuccess else hPutStrLn stderr {- see WARNING above -} =<< ghcideVersion @@ -83,7 +83,7 @@ main = do if argLSP then do t <- offsetTime - hPutStrLn stderr "Starting (ide)LSP server..." + hPutStrLn stderr "Starting (haskell-language-server)LSP server..." hPutStrLn stderr "If you are seeing this in a terminal, you probably should have run ghcide WITHOUT the --lsp option!" runLanguageServer def (pluginHandler plugins) $ \getLspId event vfs caps -> do t <- t @@ -96,8 +96,8 @@ main = do } initialise caps (mainRule >> pluginRules plugins >> action kick) getLspId event (logger minBound) options vfs else do - putStrLn $ "Ghcide setup tester in " ++ dir ++ "." - putStrLn "Report bugs at https://github.com/digital-asset/ghcide/issues" + putStrLn $ "(haskell-language-server)Ghcide setup tester in " ++ dir ++ "." + putStrLn "Report bugs at https://github.com/haskell/haskell-language-server/issues" putStrLn $ "\nStep 1/6: Finding files to test in " ++ dir files <- nubOrd <$> expandFiles (argFiles ++ ["." | null argFiles]) diff --git a/exe/Wrapper.hs b/exe/Wrapper.hs index af6268c703..bb73bd7f67 100644 --- a/exe/Wrapper.hs +++ b/exe/Wrapper.hs @@ -34,7 +34,7 @@ main :: IO () main = do -- WARNING: If you write to stdout before runLanguageServer -- then the language server will not work - Arguments{..} <- getArguments "haskell-ide" + Arguments{..} <- getArguments "haskell-language-server-wrapper" if argsVersion then ghcideVersion >>= putStrLn >> exitSuccess else hPutStrLn stderr {- see WARNING above -} =<< ghcideVersion @@ -55,7 +55,8 @@ main = do -- Core.setupLogger mLogFileName ["hie"] logLevel progName <- getProgName - logm $ "run entered for haskell-ide-wrapper(" ++ progName ++ ") " ++ hieVersion + logm $ "run entered for haskell-language-server-wrapper(" ++ progName ++ ") " + ++ hieVersion d <- getCurrentDirectory logm $ "Current directory:" ++ d logm $ "Operating system:" ++ os @@ -72,22 +73,22 @@ main = do logm $ "Project GHC version:" ++ ghcVersion let - hieBin = "haskell-ide-" ++ ghcVersion + hieBin = "haskell-language-server-" ++ ghcVersion backupHieBin = case dropWhileEnd (/='.') ghcVersion of - [] -> "haskell-ide" - xs -> "haskell-ide-" ++ init xs - candidates' = [hieBin, backupHieBin, "haskell-ide"] + [] -> "haskell-language-server" + xs -> "haskell-language-server-" ++ init xs + candidates' = [hieBin, backupHieBin, "haskell-language-server"] candidates = map (++ exeExtension) candidates' - logm $ "haskell-ide exe candidates :" ++ show candidates + logm $ "haskell-language-server exe candidates :" ++ show candidates mexes <- traverse findExecutable candidates case asum mexes of - Nothing -> logm $ "cannot find any haskell-ide exe, looked for:" ++ intercalate ", " candidates + Nothing -> logm $ "cannot find any haskell-language-server exe, looked for:" ++ intercalate ", " candidates Just e -> do - logm $ "found haskell-ide exe at:" ++ e + logm $ "found haskell-language-server exe at:" ++ e logm $ "args:" ++ show args logm "launching ....\n\n\n" callProcess e args diff --git a/ide.cabal b/haskell-language-server.cabal similarity index 83% rename from ide.cabal rename to haskell-language-server.cabal index fc8638cd91..45932f0e65 100644 --- a/ide.cabal +++ b/haskell-language-server.cabal @@ -1,11 +1,11 @@ cabal-version: 1.12 category: Development -name: ide +name: haskell-language-server version: 0.1.0.0 synopsis: LSP server for GHC -description: Please see the README on GitHub at -homepage: https://github.com/alanz/ide#readme -bug-reports: https://github.com/alanz/ide/issues +description: Please see the README on GitHub at +homepage: https://github.com/haskell/haskell-language-server#readme +bug-reports: https://github.com/haskell/haskell-language-server/issues author: Alan Zimmerman maintainer: alan.zimm@gmail.com copyright: Alan Zimmerman @@ -16,7 +16,6 @@ extra-source-files: README.md ChangeLog.md - flag pedantic Description: Enable -Werror Default: False @@ -24,7 +23,7 @@ flag pedantic source-repository head type: git - location: https://github.com/alanz/ide + location: https://github.com/haskell/haskell-language-server library exposed-modules: @@ -32,7 +31,7 @@ library Ide.Plugin.Example Ide.Version other-modules: - Paths_ide + Paths_haskell_language_server hs-source-dirs: src build-depends: @@ -87,15 +86,15 @@ library default-language: Haskell2010 -executable haskell-ide +executable haskell-language-server main-is: Main.hs hs-source-dirs: exe other-modules: Arguments - Paths_ide + Paths_haskell_language_server autogen-modules: - Paths_ide + Paths_haskell_language_server ghc-options: -threaded -Wall @@ -124,21 +123,21 @@ executable haskell-ide , haskell-lsp , hie-bios >= 0.3.2 && < 0.4 , hslogger - , ide + , haskell-language-server , optparse-applicative , shake >= 0.17.5 , text default-language: Haskell2010 -executable haskell-ide-wrapper +executable haskell-language-server-wrapper main-is: Wrapper.hs hs-source-dirs: exe other-modules: Arguments - Paths_ide + Paths_haskell_language_server autogen-modules: - Paths_ide + Paths_haskell_language_server ghc-options: -threaded -Wall @@ -163,7 +162,7 @@ executable haskell-ide-wrapper , ghc-paths , haskell-lsp , hie-bios - , ide + , haskell-language-server , optparse-applicative , process , text @@ -174,7 +173,7 @@ test-suite test type: exitcode-stdio-1.0 main-is: Spec.hs other-modules: - Paths_ide + Paths_haskell_language_server hs-source-dirs: test ghc-options: @@ -186,5 +185,5 @@ test-suite test ghc-options: -Werror build-depends: base >=4.7 && <5 - , ide + , haskell-language-server default-language: Haskell2010 diff --git a/hie.yaml.cbl b/hie.yaml.cbl index 334f54ffd5..bd9bd92b6e 100644 --- a/hie.yaml.cbl +++ b/hie.yaml.cbl @@ -1,21 +1,21 @@ -# This is a sample hie.yaml file for opening haskell-ide-engine in -# hie, using cabal as the build system. -# To use is, copy it to a file called 'hie.yaml' +# This is a sample hie.yaml file for opening haskell-language-server +# in hie, using cabal as the build system. To use is, copy it to a +# file called 'hie.yaml' cradle: cabal: - path: "./test" - component: "ide:test" + component: "haskell-language-server:test" - path: "./exe/Main.hs" - component: "ide:exe:haskell-ide" + component: "haskell-language-server:exe:haskell-language-server" - path: "./exe/Wrapper.hs" - component: "ide:exe:haskell-ide-wrapper" + component: "haskell-language-server:exe:haskell-language-server-wrapper" - path: "./src" - component: "lib:ide" + component: "lib:haskell-language-server" - path: "./ghcide/src" component: "ghcide:lib:ghcide" diff --git a/hie.yaml.stack b/hie.yaml.stack index 03b0b941c2..855c172c14 100644 --- a/hie.yaml.stack +++ b/hie.yaml.stack @@ -1,14 +1,23 @@ -# This is a sample hie.yaml file for opening haskell-ide-engine in -# hie, using stack as the build system. -# To use is, copy it to a file called 'hie.yaml' +# This is a sample hie.yaml file for opening haskell-language-server +# in hie, using stack as the build system. To use is, copy it to a +# file called 'hie.yaml' cradle: stack: - path: "./test" - component: "ide:test" + component: "haskell-language-server:test" - - path: "./exe" - component: "ide:exe:ide" + - path: "./exe/Main.hs" + component: "haskell-language-server:exe:haskell-language-server" + + - path: "./exe/Wrapper.hs" + component: "haskell-language-server:exe:haskell-language-server-wrapper" - path: "./src" - component: "ide:lib" + component: "haskell-language-server:lib" + + - path: "./ghcide/src" + component: "ghcide:lib:ghcide" + + - path: "./ghcide/exe" + component: "ghcide:exe:ghcide" diff --git a/install/src/Cabal.hs b/install/src/Cabal.hs index 46c4e06e63..296b557318 100644 --- a/install/src/Cabal.hs +++ b/install/src/Cabal.hs @@ -68,21 +68,21 @@ cabalInstallHie versionNumber = do , "--write-ghc-environment-files=never" , installDirOpt, localBin , "--max-backjumps=5000" - , "exe:haskell-ide" + , "exe:haskell-language-server" , "--overwrite-policy=always" ] ++ installMethod - let minorVerExe = "haskell-ide-" ++ versionNumber <.> exe - majorVerExe = "haskell-ide-" ++ dropExtension versionNumber <.> exe + let minorVerExe = "haskell-language-server-" ++ versionNumber <.> exe + majorVerExe = "haskell-language-server-" ++ dropExtension versionNumber <.> exe liftIO $ do - copyFile (localBin "haskell-ide" <.> exe) (localBin minorVerExe) - copyFile (localBin "haskell-ide" <.> exe) (localBin majorVerExe) + copyFile (localBin "haskell-language-server" <.> exe) (localBin minorVerExe) + copyFile (localBin "haskell-language-server" <.> exe) (localBin majorVerExe) printLine $ "Copied executables " - ++ ("haskell-ide-wrapper" <.> exe) ++ ", " - ++ ("haskell-ide" <.> exe) ++ ", " + ++ ("haskell-language-server-wrapper" <.> exe) ++ ", " + ++ ("haskell-language-server" <.> exe) ++ ", " ++ majorVerExe ++ " and " ++ minorVerExe ++ " to " ++ localBin diff --git a/install/src/Help.hs b/install/src/Help.hs index f4189b3315..3372dc3bcf 100644 --- a/install/src/Help.hs +++ b/install/src/Help.hs @@ -51,7 +51,7 @@ shortHelpMessage = do , cabalGhcsTarget ] --- | A record that specifies for each build system which versions of @haskell-ide@ can be built. +-- | A record that specifies for each build system which versions of @haskell-language-server@ can be built. data BuildableVersions = BuildableVersions { stackVersions :: [VersionNumber] , cabalVersions :: [VersionNumber] @@ -97,17 +97,17 @@ templateTarget = ("", "") hieTarget :: String -> TargetDescription hieTarget version = - ("haskell-ide-" ++ version, "Install haskell-ide for GHC version " ++ version) + ("haskell-language-server-" ++ version, "Install haskell-language-server for GHC version " ++ version) buildTarget :: TargetDescription -buildTarget = ("haskell-ide", "Install haskell-ide with the latest available GHC and the data files") +buildTarget = ("haskell-language-server", "Install haskell-language-server with the latest available GHC and the data files") buildLatestTarget :: TargetDescription -buildLatestTarget = ("latest", "Install haskell-ide with the latest available GHC") +buildLatestTarget = ("latest", "Install haskell-language-server with the latest available GHC") buildDataTarget :: TargetDescription buildDataTarget = - ("data", "Get the required data-files for `haskell-ide` (Hoogle DB)") + ("data", "Get the required data-files for `haskell-language-server` (Hoogle DB)") -- special targets @@ -124,4 +124,4 @@ cabalGhcsTarget = ) stackDevTarget :: TargetDescription -stackDevTarget = ("dev", "Install haskell-ide with the default stack.yaml") +stackDevTarget = ("dev", "Install haskell-language-server with the default stack.yaml") diff --git a/install/src/HieInstall.hs b/install/src/HieInstall.hs index 118ccbc36b..d27022a641 100644 --- a/install/src/HieInstall.hs +++ b/install/src/HieInstall.hs @@ -75,7 +75,7 @@ defaultMain = do forM_ versions - (\version -> phony ("haskell-ide-" ++ version) $ do + (\version -> phony ("haskell-language-server-" ++ version) $ do need ["submodules"] need ["check"] if isRunFromStack then do @@ -84,8 +84,8 @@ defaultMain = do cabalInstallHie version ) - phony "latest" (need ["haskell-ide-" ++ latestVersion]) - phony "haskell-ide" (need ["data", "latest"]) + phony "latest" (need ["haskell-language-server-" ++ latestVersion]) + phony "haskell-language-server" (need ["data", "latest"]) -- stack specific targets when isRunFromStack $ do diff --git a/install/src/Stack.hs b/install/src/Stack.hs index 41be8c6f08..0027c30951 100644 --- a/install/src/Stack.hs +++ b/install/src/Stack.hs @@ -33,12 +33,12 @@ stackInstallHie mbVersionNumber = do return vn localBinDir <- getLocalBin - let hie = "haskell-ide" <.> exe + let hie = "haskell-language-server" <.> exe liftIO $ do copyFile (localBinDir hie) - (localBinDir "haskell-ide-" ++ versionNumber <.> exe) + (localBinDir "haskell-language-server-" ++ versionNumber <.> exe) copyFile (localBinDir hie) - (localBinDir "haskell-ide-" ++ dropExtension versionNumber <.> exe) + (localBinDir "haskell-language-server-" ++ dropExtension versionNumber <.> exe) getGhcVersionOfCfgFile :: String -> Action VersionNumber getGhcVersionOfCfgFile stackFile = do @@ -116,5 +116,4 @@ stackBuildFailMsg = $ "Building failed, " ++ "Try running `stack clean` and restart the build\n" ++ "If this does not work, open an issue at \n" - ++ "\thttps://github.com/haskell/haskell-ide-engine" - + ++ "\thttps://github.com/haskell/haskell-language-server-engine" diff --git a/src/Ide/Version.hs b/src/Ide/Version.hs index 5a950ed3db..c438f5bf23 100644 --- a/src/Ide/Version.hs +++ b/src/Ide/Version.hs @@ -12,7 +12,7 @@ import Distribution.Text (display) import Options.Applicative.Simple (simpleVersion) import Ide.Cradle (execProjectGhc) import qualified HIE.Bios.Types as Bios -import qualified Paths_ide as Meta +import qualified Paths_haskell_language_server as Meta import System.Directory import System.Info diff --git a/stack-8.6.4.yaml b/stack-8.6.4.yaml index f04e52881d..82a77e5d68 100644 --- a/stack-8.6.4.yaml +++ b/stack-8.6.4.yaml @@ -45,7 +45,7 @@ extra-deps: flags: - ide: + haskell-language-server: pedantic: true diff --git a/stack-8.6.5.yaml b/stack-8.6.5.yaml index 59d1fcb762..d4c07d5d60 100644 --- a/stack-8.6.5.yaml +++ b/stack-8.6.5.yaml @@ -28,7 +28,7 @@ extra-deps: - topograph-1 flags: - ide: + haskell-language-server: pedantic: true # allow-newer: true diff --git a/stack-8.8.2.yaml b/stack-8.8.2.yaml index 4b4e71aa0d..a29ae71b3e 100644 --- a/stack-8.8.2.yaml +++ b/stack-8.8.2.yaml @@ -30,7 +30,7 @@ extra-deps: - temporary-1.2.1.1 flags: - ide: + haskell-language-server: pedantic: true # allow-newer: true diff --git a/stack.yaml b/stack.yaml index 59d1fcb762..d4c07d5d60 100644 --- a/stack.yaml +++ b/stack.yaml @@ -28,7 +28,7 @@ extra-deps: - topograph-1 flags: - ide: + haskell-language-server: pedantic: true # allow-newer: true