Skip to content
Snippets Groups Projects
Commit d85938fa authored by Alan Zimmerman's avatar Alan Zimmerman
Browse files

Rename to haskell-language-server

Voting at time of migration was 42 for this name, next closest was 6.

Closes #29
parent 34e77bd8
Branches
Tags
No related merge requests found
# 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.
......
File moved
File moved
......@@ -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
......@@ -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
......
......@@ -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])
......
......@@ -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
......
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 <https://github.com/alanz/ide#readme>
homepage: https://github.com/alanz/ide#readme
bug-reports: https://github.com/alanz/ide/issues
description: Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
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
# 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"
......
# 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"
......@@ -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
......
......@@ -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 = ("<target>", "")
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")
......@@ -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
......
......@@ -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"
......@@ -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
......
......@@ -45,7 +45,7 @@ extra-deps:
flags:
ide:
haskell-language-server:
pedantic: true
......
......@@ -28,7 +28,7 @@ extra-deps:
- topograph-1
flags:
ide:
haskell-language-server:
pedantic: true
# allow-newer: true
......
......@@ -30,7 +30,7 @@ extra-deps:
- temporary-1.2.1.1
flags:
ide:
haskell-language-server:
pedantic: true
# allow-newer: true
......
......@@ -28,7 +28,7 @@ extra-deps:
- topograph-1
flags:
ide:
haskell-language-server:
pedantic: true
# allow-newer: true
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment