aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml4
-rw-r--r--app/Indexer.hs4
-rw-r--r--app/Server.hs65
-rw-r--r--app/Store.hs12
-rw-r--r--cabal.project2
-rw-r--r--haskell-code-explorer.cabal26
-rw-r--r--javascript/app/app.js2
-rw-r--r--javascript/app/components/bottom-panel.js6
-rw-r--r--javascript/app/components/file-tree.js30
-rw-r--r--javascript/app/components/haskell-module.js136
-rw-r--r--javascript/app/components/identifier-info.js16
-rw-r--r--javascript/app/components/identifier-name.js4
-rw-r--r--javascript/app/components/infinite-list.js14
-rw-r--r--javascript/app/components/info-window.js30
-rw-r--r--javascript/app/components/input-with-autocomplete.js14
-rw-r--r--javascript/app/components/instance-info.js2
-rw-r--r--javascript/app/components/paginated-list.js10
-rw-r--r--javascript/app/components/resizable-panel.js4
-rw-r--r--javascript/app/components/text-file.js6
-rw-r--r--javascript/app/components/type-signature-text.js2
-rw-r--r--javascript/app/components/type-signature.js8
-rw-r--r--javascript/app/controllers/package.js4
-rw-r--r--javascript/app/controllers/package/index.js2
-rw-r--r--javascript/app/controllers/package/search.js2
-rw-r--r--javascript/app/controllers/packages.js4
-rw-r--r--javascript/app/controllers/search.js2
-rw-r--r--javascript/app/router.js4
-rw-r--r--javascript/app/routes/package.js2
-rw-r--r--javascript/app/routes/package/index.js6
-rw-r--r--javascript/app/routes/package/search.js4
-rw-r--r--javascript/app/routes/package/show/file.js16
-rw-r--r--javascript/app/routes/package/show/index.js6
-rw-r--r--javascript/app/routes/search.js8
-rw-r--r--javascript/app/services/settings.js2
-rw-r--r--javascript/app/services/store.js28
-rw-r--r--javascript/app/styles/app.scss54
-rw-r--r--javascript/app/templates/bad-url.hbs2
-rw-r--r--javascript/app/templates/components/haskell-module.hbs6
-rw-r--r--javascript/app/templates/components/identifier-name.hbs2
-rw-r--r--javascript/app/templates/components/paginated-list.hbs6
-rw-r--r--javascript/app/templates/package.hbs8
-rw-r--r--javascript/app/templates/package/index.hbs6
-rw-r--r--javascript/app/templates/package/show/file.hbs4
-rw-r--r--javascript/app/templates/search.hbs2
-rw-r--r--javascript/app/utils/api-urls.js4
-rw-r--r--javascript/app/utils/color-themes.js26
-rw-r--r--javascript/app/utils/go-to-definition.js14
-rw-r--r--javascript/app/utils/language-extensions.js10
-rw-r--r--javascript/app/utils/line-selection.js20
-rw-r--r--javascript/config/environment.js2
-rw-r--r--javascript/ember-cli-build.js2
-rw-r--r--javascript/server/index.js2
-rw-r--r--javascript/server/mocks/packages.js10
-rw-r--r--javascript/testem.js2
-rw-r--r--javascript/tests/acceptance/haskell-module-test.js8
-rw-r--r--javascript/tests/acceptance/package-test.js8
-rw-r--r--javascript/tests/acceptance/packages-test.js2
-rw-r--r--javascript/tests/index.html2
-rw-r--r--src/HaskellCodeExplorer/AST/RenamedSource.hs84
-rw-r--r--src/HaskellCodeExplorer/AST/TypecheckedSource.hs200
-rw-r--r--src/HaskellCodeExplorer/GhcUtils.hs142
-rw-r--r--src/HaskellCodeExplorer/ModuleInfo.hs60
-rw-r--r--src/HaskellCodeExplorer/PackageInfo.hs30
-rw-r--r--src/HaskellCodeExplorer/Preprocessor.hs12
-rw-r--r--src/HaskellCodeExplorer/Types.hs40
-rw-r--r--test/Main.hs16
-rw-r--r--test/test-package/test-package.cabal4
67 files changed, 638 insertions, 639 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 7deb7e8..770c1d5 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -65,11 +65,11 @@ jobs:
environment:
- STACK_FILE: "stack-8.6.4.yaml"
<<: *defaults
-
+
ghc-8.6.5:
environment:
- STACK_FILE: "stack-8.6.5.yaml"
- <<: *defaults
+ <<: *defaults
workflows:
version: 2
diff --git a/app/Indexer.hs b/app/Indexer.hs
index 26fad4a..88aa7ad 100644
--- a/app/Indexer.hs
+++ b/app/Indexer.hs
@@ -42,7 +42,7 @@ import Options.Applicative
, strOption
, value
)
-import Paths_haskell_code_explorer as HSE (version)
+import Paths_haskell_code_explorer as HSE (version)
import System.Directory (createDirectoryIfMissing)
import System.Exit (ExitCode(..), exitWith)
import System.FilePath ((</>))
@@ -187,7 +187,7 @@ logger loggerSet minLogLevel logLevel msg =
let showLogLevel :: LogLevel -> T.Text
showLogLevel LevelDebug = "[debug]"
showLogLevel LevelInfo = "[info]"
- showLogLevel LevelWarn = "[warn]"
+ showLogLevel LevelWarn = "[warn]"
showLogLevel LevelError = "[error]"
showLogLevel (LevelOther t) = T.concat ["[",t,"]"]
text =
diff --git a/app/Server.hs b/app/Server.hs
index fa786c2..a045b07 100644
--- a/app/Server.hs
+++ b/app/Server.hs
@@ -350,7 +350,7 @@ instance Store.StoreItem [HCE.ExternalIdentifierInfo] where
, TE.encodeUtf8 $ HCE.packageIdToText packageId
, "|"
, BSC.pack prefix
- ]
+ ]
instance Store.StoreItem (S.Set HCE.IdentifierSrcSpan) where
toByteString = Serialize.encode
@@ -381,7 +381,7 @@ instance (Serialize.Serialize modInfo) =>
toByteString = Serialize.encode
fromByteString = Serialize.decode
type KeyArgs (HM.HashMap HCE.HaskellModulePath modInfo) =
- (HCE.PackageId,Proxy (HM.HashMap HCE.HaskellModulePath modInfo))
+ (HCE.PackageId,Proxy (HM.HashMap HCE.HaskellModulePath modInfo))
itemKey (packageId, _) =
BSS.toShort $ BS.append "moduleMap|" $ TE.encodeUtf8 $ HCE.packageIdToText packageId
@@ -390,7 +390,7 @@ instance Store.StoreItem HCE.ExpressionInfoMap where
fromByteString = Serialize.decode
type KeyArgs HCE.ExpressionInfoMap = ( HCE.PackageId
, HCE.HaskellModulePath
- , BS.ByteString
+ , BS.ByteString
, Proxy HCE.ExpressionInfoMap)
itemKey (packageId, HCE.HaskellModulePath modulePath, topLevelExprKey, _) =
BSS.toShort $ BS.concat
@@ -400,7 +400,7 @@ instance Store.StoreItem HCE.ExpressionInfoMap where
, "|"
, TE.encodeUtf8 modulePath
, "|"
- , topLevelExprKey
+ , topLevelExprKey
]
instance Store.StoreItem (IVM.IntervalMap (Int, Int) BS.ByteString) where
@@ -418,7 +418,7 @@ instance Store.StoreItem (IVM.IntervalMap (Int, Int) BS.ByteString) where
, "|"
, TE.encodeUtf8 modulePath
]
-
+
instance Store.StoreItem HCE.DefinitionSiteMap where
toByteString = Serialize.encode
fromByteString = Serialize.decode
@@ -433,7 +433,7 @@ instance Store.StoreItem HCE.DefinitionSiteMap where
, "|"
, TE.encodeUtf8 modulePath
]
-
+
instance Store.StoreItem (V.Vector T.Text) where
toByteString = Serialize.encode
fromByteString = Serialize.decode
@@ -476,7 +476,7 @@ instance Store.StoreItem GlobalIdentifierMapWrapper where
toByteString (GlobalIdentifierMapWrapper idMap) = Serialize.encode idMap
fromByteString bs = GlobalIdentifierMapWrapper <$> Serialize.decode bs
type KeyArgs GlobalIdentifierMapWrapper = Proxy GlobalIdentifierMapWrapper
- itemKey _ = "globalIdentifierMap"
+ itemKey _ = "globalIdentifierMap"
instance Store.StoreItem [PackageVersions] where
toByteString = Serialize.encode
@@ -494,7 +494,7 @@ findTopLevelExpressions =
| subsumes (fst currentTopLevelInterval) (fst interval) -> topLevelIntervals
| subsumes (fst interval) (fst currentTopLevelInterval) ->
interval : rest
- | otherwise -> interval : topLevelIntervals)
+ | otherwise -> interval : topLevelIntervals)
[] .
IVM.assocs
@@ -768,7 +768,7 @@ loadPackages _config mbStore
, ignoreRight eitherPackageVersions
, ignoreRight eitherGlobalIdentifierMap
]
- return Nothing
+ return Nothing
loadPackages config _ = do
packageDirectories <- findDirectories (configPackagesPath config)
result <- mapM (loadPackageInfo config) packageDirectories
@@ -859,7 +859,7 @@ loadPackages config _ = do
, packagePathMapCompacted
, packageVersionsCompacted
, globalReferenceMapCompacted
- , globalIdentifierMapCompacted
+ , globalIdentifierMapCompacted
)
else return Nothing
where
@@ -941,7 +941,7 @@ type API = GetAllPackages
:<|> GetIdentifiers
:<|> GetGlobalReferences
:<|> GetGlobalIdentifiers
- :<|> GetHoogleDocs
+ :<|> GetHoogleDocs
type GetAllPackages = "api" :> "packages" :> Get '[JSON] AllPackages
@@ -979,7 +979,7 @@ type GetIdentifiers = "api" :> "identifiers"
[HCE.ExternalIdentifierInfo])
type GetGlobalReferences = "api" :> "globalReferences"
- :> Capture "externalId" HCE.ExternalId
+ :> Capture "externalId" HCE.ExternalId
:> Get '[JSON] [GlobalReferences]
type GetGlobalIdentifiers = "api" :> "globalIdentifiers"
@@ -994,7 +994,7 @@ type GetHoogleDocs = "api" :> "hoogleDocs"
:> Capture "moduleName" HCE.HaskellModuleName
:> Capture "entity" HoogleItemSort
:> Capture "name" T.Text
- :> Get '[JSON] T.Text
+ :> Get '[JSON] T.Text
instance AllCTRender '[ JSON] AllPackages where
handleAcceptH _ _ (AllPackages bytestring) =
@@ -1020,10 +1020,10 @@ instance ToHttpApiData HCE.LocatableEntity where
instance ToHttpApiData HCE.ExternalId where
toUrlPiece (HCE.ExternalId i) = i
-
+
instance ToHttpApiData PackageId where
toUrlPiece (PackageId p) = p
-
+
instance FromHttpApiData HCE.HaskellModulePath where
parseQueryParam = Right . HCE.HaskellModulePath
@@ -1035,10 +1035,10 @@ instance FromHttpApiData HCE.HaskellModuleName where
instance FromHttpApiData HCE.ExternalId where
parseQueryParam = Right . HCE.ExternalId
-
+
instance FromHttpApiData PackageId where
parseQueryParam = Right . PackageId
-
+
--------------------------------------------------------------------------------
-- Request handlers
--------------------------------------------------------------------------------
@@ -1074,7 +1074,7 @@ instance A.ToJSON SourceFile
getAllPackages :: ReaderT Environment IO AllPackages
getAllPackages = asks envPackageVersions
-
+
getExpressions ::
PackageId
-> HCE.HaskellModulePath
@@ -1287,8 +1287,8 @@ getGlobalReferences ::
HCE.ExternalId -> ReaderT Environment IO [GlobalReferences]
getGlobalReferences externalId = do
refMap <- asks envGlobalReferenceMap
- return $ maybe [] S.toDescList (HM.lookup externalId refMap)
-
+ return $ maybe [] S.toDescList (HM.lookup externalId refMap)
+
getReferences ::
PackageId
-> HCE.ExternalId
@@ -1345,7 +1345,7 @@ getReferences packageId externalId mbPage mbPerPage =
]
in case packageInfo' of
PackageInfo packageInfo ->
- mkRefsWithSource $ S.toList <$> HM.lookup externalId (HCE.externalIdOccMap packageInfo)
+ mkRefsWithSource $ S.toList <$> HM.lookup externalId (HCE.externalIdOccMap packageInfo)
PackageInfoStore pId store -> do
let eitherOccurrences =
Store.lookup
@@ -1489,7 +1489,7 @@ findIdentifiers packageId query' mbPage mbPerPage =
respond $
S.toList $
HCE.match (T.unpack $ T.drop 4 query) trie
- Left _ -> respond []
+ Left _ -> respond []
findGlobalIdentifiers ::
T.Text
@@ -1543,7 +1543,7 @@ valueToHoogleResultItem value =
| T.isInfixOf "#t" url = Just Typ
urlToSort _ = Nothing
mbResultSort = value ^? AL.key "url" . AL._String >>= urlToSort
- in HoogleResultItem <$> mbResultSort <*> mbModuleName <*> mbHtmlDocs
+ in HoogleResultItem <$> mbResultSort <*> mbModuleName <*> mbHtmlDocs
hoogleApiHost :: String
hoogleApiHost = "https://hoogle.haskell.org/"
@@ -1561,7 +1561,7 @@ getHoogleDocs packageId (HCE.HaskellModuleName moduleName) itemSort name
let hoogleQuery =
T.unpack name ++
" is:exact package:" ++ T.unpack (getPackageName packageName)
- url = hoogleApiHost ++ "?hoogle=" ++ encode hoogleQuery ++ "&mode=json"
+ url = hoogleApiHost ++ "?hoogle=" ++ encode hoogleQuery ++ "&mode=json"
error502 e =
throwServantError $
err502 {errBody = BSL.fromStrict $ BSC.pack $ show e}
@@ -1605,7 +1605,7 @@ paginateItems mbPage mbPerPage items = do
(fromIntegral totalCount)
(\offset limit -> return . L.take limit . L.drop offset $ items)
return (paginated, page, perPage, totalCount)
-
+
error404 :: BSL.ByteString -> ReaderT Environment IO a
error404 body = throwServantError $ err404 {errBody = body}
@@ -1619,7 +1619,7 @@ data PackageInfo
= PackageInfo (HCE.PackageInfo HCE.CompactModuleInfo)
| PackageInfoStore HCE.PackageId
Store.Store
-
+
withPackageInfo ::
PackageId
-> (PackageInfo -> ReaderT Environment IO a)
@@ -1709,7 +1709,7 @@ withModulePath packageInfo' componentId moduleName action =
store
case eitherModNameMap of
Right modNameMap ->
- case HM.lookup (ghcPrimHack packageInfo' moduleName) modNameMap of
+ case HM.lookup (ghcPrimHack packageInfo' moduleName) modNameMap of
Just componentMap -> case HM.lookup componentId componentMap of
Just modulePath -> action modulePath
Nothing -> case HM.lookup (HCE.ComponentId "lib") componentMap of
@@ -1748,7 +1748,7 @@ ghcPrimHack packageInfo' modName@(HCE.HaskellModuleName name) =
| packageName == "ghc-prim" && name == "GHC.Prim" ->
HCE.HaskellModuleName "GHC.Prim_"
| otherwise -> modName
-
+
parsePackageId :: PackageId -> Maybe (PackageName, Maybe Version)
parsePackageId (PackageId text) =
case T.splitOn "-" text of
@@ -1797,7 +1797,7 @@ staticMiddleware staticFilesPrefix packagePathMap _ app req callback
if exists
then callback $ sendFile path
else callback fileNotFound
- _ -> callback fileNotFound
+ _ -> callback fileNotFound
staticMiddleware _ _ mbJsDistPath _app req callback =
case mbJsDistPath of
Just jsDistPath -> do
@@ -1833,7 +1833,7 @@ sendEmbeddedFile path bs =
responseLBS
status200
[(hContentType, defaultMimeLookup $ T.pack $ takeFileName path)]
- (BSL.fromStrict bs)
+ (BSL.fromStrict bs)
fileNotFound :: Response
fileNotFound =
@@ -1843,8 +1843,7 @@ fileNotFound =
throwServantError :: (MonadIO m) => ServerError -> m a
#else
throwServantError :: (MonadIO m) => ServantErr -> m a
-#endif
-throwServantError = liftIO . throwIO
+throwServantError = liftIO . throwIO
server :: Environment -> ServerT API Handler
server env =
@@ -1852,7 +1851,7 @@ server env =
(Proxy :: Proxy API)
toServantHandler
(getAllPackages :<|>
- getDefinitionSite :<|>
+ getDefinitionSite :<|>
getExpressions :<|>
getReferences :<|>
findIdentifiers :<|>
diff --git a/app/Store.hs b/app/Store.hs
index 15f5736..b0ea4ae 100644
--- a/app/Store.hs
+++ b/app/Store.hs
@@ -30,7 +30,7 @@ import Data.Serialize (
#if MIN_VERSION_cereal(0,5,8)
#else
get, put
-#endif
+#endif
)
import GHC.Generics (Generic)
import Prelude hiding (lookup)
@@ -43,7 +43,7 @@ data Store = Store
{ index :: M.Map BSS.ShortByteString Location
, values :: BS.ByteString
}
-
+
data Location = Location
{ offset :: Int
, length :: Int
@@ -56,7 +56,7 @@ instance Serialize Location
instance Serialize BSS.ShortByteString where
put = put . BSS.fromShort
get = BSS.toShort <$> get
-#endif
+#endif
class StoreItem item where
toByteString :: item -> BS.ByteString
@@ -74,7 +74,7 @@ data ReadMode
= ReadEntireFile
| MemoryMapFile
deriving (Show, Eq)
-
+
load :: FilePath -> ReadMode -> IO (Either String Store)
load directoryPath readMode = do
let valuesFilePath = directoryPath </> valuesFileName
@@ -99,7 +99,7 @@ load directoryPath readMode = do
lookup :: (StoreItem item) => KeyArgs item -> Store -> Either String item
lookup keyArgs = lookupByteString (itemKey keyArgs)
-
+
lookupByteString ::
(StoreItem item) => BSS.ShortByteString -> Store -> Either String item
lookupByteString key store =
@@ -127,7 +127,7 @@ createStore directoryPath action =
withFile (directoryPath </> valuesFileName) WriteMode $ \valuesHandle -> do
locMap <- action valuesHandle
BS.writeFile (directoryPath </> indexFileName) (encode locMap)
-
+
writeValues ::
Handle
-> M.Map BSS.ShortByteString Location
diff --git a/cabal.project b/cabal.project
index 34e7a84..e6f5c39 100644
--- a/cabal.project
+++ b/cabal.project
@@ -9,7 +9,7 @@
-- A common config might be:
-- -- all local packages
-- optimization: 0
---
+--
-- -- always build dependencies with highest optimization
-- package *
-- optimization: 2
diff --git a/haskell-code-explorer.cabal b/haskell-code-explorer.cabal
index acd90ce..ba96f89 100644
--- a/haskell-code-explorer.cabal
+++ b/haskell-code-explorer.cabal
@@ -20,7 +20,7 @@ library
, HaskellCodeExplorer.AST.RenamedSource
, HaskellCodeExplorer.AST.TypecheckedSource
hs-source-dirs: src
- ghc-options: -Wall -O2 -funbox-strict-fields
+ ghc-options: -Wall -O2 -funbox-strict-fields
build-depends: IntervalMap
, aeson
, attoparsec
@@ -56,8 +56,8 @@ executable haskell-code-indexer
other-modules: Paths_haskell_code_explorer
hs-source-dirs: app
build-depends: IntervalMap
- , aeson
- , base
+ , aeson
+ , base
, bytestring
, cereal
, directory
@@ -69,8 +69,8 @@ executable haskell-code-indexer
, uri-encode
, fast-logger
, monad-logger
- , zlib
- , haskell-code-explorer
+ , zlib
+ , haskell-code-explorer
default-language: Haskell2010
executable haskell-code-server
@@ -85,25 +85,25 @@ executable haskell-code-server
, cereal
, containers
, deepseq
- , directory
+ , directory
, filemanip
, filepath
- , blaze-html
- , text
- , unordered-containers
+ , blaze-html
+ , text
+ , unordered-containers
, hashable
, vector
, wai
, syb
, haddock-library
- , servant
+ , servant
, servant-server
, mime-types
, mtl
, wai-extra
, wai-middleware-static
, warp
- , http-types
+ , http-types
, http-api-data
, fast-logger
, monad-logger
@@ -118,7 +118,7 @@ executable haskell-code-server
, wreq
if impl(ghc >= 8.4.3)
build-depends: ghc-compact
-
+
test-suite test
default-language: Haskell2010
type: exitcode-stdio-1.0
@@ -136,7 +136,7 @@ test-suite test
, hspec
, text
, uniplate
- , unordered-containers
+ , unordered-containers
, monad-logger
, process
, vector
diff --git a/javascript/app/app.js b/javascript/app/app.js
index 9b24136..4f3fd63 100644
--- a/javascript/app/app.js
+++ b/javascript/app/app.js
@@ -6,7 +6,7 @@ import config from './config/environment';
var App;
App = Ember.Application.extend({
- modulePrefix: config.modulePrefix,
+ modulePrefix: config.modulePrefix,
Resolver: Resolver
});
diff --git a/javascript/app/components/bottom-panel.js b/javascript/app/components/bottom-panel.js
index 5d8b5bc..6415d0e 100644
--- a/javascript/app/components/bottom-panel.js
+++ b/javascript/app/components/bottom-panel.js
@@ -1,6 +1,6 @@
import Ember from 'ember';
-function show(component) {
+function show(component) {
const height = Math.floor(component.$containerElement.height() /2);
component.$().css({
"display":"block",
@@ -40,13 +40,13 @@ export default Ember.Component.extend({
}
});
});
- },
+ },
visibilityObserver : Ember.observer('visible',function () {
this.get('visible') ? show(this) : hide(this);
}),
actions : {
close () {
- this.set('visible',false);
+ this.set('visible',false);
}
}
});
diff --git a/javascript/app/components/file-tree.js b/javascript/app/components/file-tree.js
index d255229..7c5e112 100644
--- a/javascript/app/components/file-tree.js
+++ b/javascript/app/components/file-tree.js
@@ -10,7 +10,7 @@ const directoryTreeToJsTree = function (packageId,directoryTree) {
jsTreeNode.a_attr = {href:"/package/" + packageId + "/show/" + node.path};
}
if(node.tag === "Dir") {
- jsTreeNode.children = directoryTreeToJsTree(packageId,node);
+ jsTreeNode.children = directoryTreeToJsTree(packageId,node);
jsTreeNode.state = {"opened" : containsHaskellModule(node)};
} else {
if(node.isHaskellModule) {
@@ -25,8 +25,8 @@ const directoryTreeToJsTree = function (packageId,directoryTree) {
});
};
-const containsHaskellModule = function(node) {
- return node.contents.some((n) => {
+const containsHaskellModule = function(node) {
+ return node.contents.some((n) => {
if(n.tag === "File") {
return n.isHaskellModule;
} else {
@@ -35,9 +35,9 @@ const containsHaskellModule = function(node) {
});
}
-const fileExtension = function (filename) {
- const idx = filename.lastIndexOf('.');
- return (idx < 1) ? "" : filename.substr(idx + 1);
+const fileExtension = function (filename) {
+ const idx = filename.lastIndexOf('.');
+ return (idx < 1) ? "" : filename.substr(idx + 1);
}
export default Ember.Component.extend({
@@ -49,10 +49,10 @@ export default Ember.Component.extend({
});
}),
didInsertElement : function () {
- this._super(...arguments);
+ this._super(...arguments);
const element = this.element.getElementsByClassName('file-tree')[0];
const component = this;
-
+
const jstreeElement = Ember.$(element).jstree({
'core' : {
'data' : directoryTreeToJsTree(this.get('packageId'),this.get('directoryTree'))
@@ -69,16 +69,16 @@ export default Ember.Component.extend({
'sort' : function (a,b) {
const node1 = this.get_node(a).data;
const node2 = this.get_node(b).data;
- if(component.get("sortType") === "alphabetical") {
+ if(component.get("sortType") === "alphabetical") {
return node1.name > node2.name;
- } else {
+ } else {
const extendedName1 = (node1.tag === "Dir" ? "0" : "1") + fileExtension(node1.name) + node1.name;
- const extendedName2 = (node2.tag === "Dir" ? "0" : "1") + fileExtension(node2.name) + node2.name;
+ const extendedName2 = (node2.tag === "Dir" ? "0" : "1") + fileExtension(node2.name) + node2.name;
return extendedName1 > extendedName2;
}
}
});
-
+
jstreeElement.on("select_node.jstree",(event,data) => {
const file = data.node.data;
if(file.tag != "Dir") {
@@ -86,8 +86,8 @@ export default Ember.Component.extend({
}
});
- const jstree = jstreeElement.jstree(true);
-
+ const jstree = jstreeElement.jstree(true);
+
if(this.get('currentFile')) {
jstree.select_node(this.get('currentFile'));
const node = jstree.get_node(this.get('currentFile'),true)[0];
@@ -111,7 +111,7 @@ export default Ember.Component.extend({
}
}),
actions : {
- hide() {
+ hide() {
this.get('hide')();
}
}
diff --git a/javascript/app/components/haskell-module.js b/javascript/app/components/haskell-module.js
index 7084510..187e6c5 100644
--- a/javascript/app/components/haskell-module.js
+++ b/javascript/app/components/haskell-module.js
@@ -19,17 +19,17 @@ function compareLocations (p1,p2) {
}
}
-function buildSrcSpan(sourceCodeLines,start,end) {
+function buildSrcSpan(sourceCodeLines,start,end) {
if(sourceCodeLines[start.line] && sourceCodeLines[end.line]) {
if(start.line === end.line) {
return sourceCodeLines[start.line].slice(start.column-1,end.column-1);
- } else {
+ } else {
const firstLine = sourceCodeLines[start.line];
let middleLines = [];
- for(let i = start.line + 1; i < end.line;i ++) {
+ for(let i = start.line + 1; i < end.line;i ++) {
middleLines.push(sourceCodeLines[i]);
}
- const lastLine = sourceCodeLines[end.line];
+ const lastLine = sourceCodeLines[end.line];
const minOffset = Math.min(start.column,
(middleLines.concat([lastLine]))
.map((line) => line.search(/\S/))
@@ -52,7 +52,7 @@ function modifyClass(element,on) {
}
function highlightIdentifiers(parentElement,identifierElement,on) {
- if(identifierElement.id) {
+ if(identifierElement.id) {
const identifiers = Array.prototype.slice.call(parentElement.querySelectorAll("span[id='"+identifierElement.id+"']"));
identifiers.forEach((identifier) => {
modifyClass(identifier,on);
@@ -63,7 +63,7 @@ function highlightIdentifiers(parentElement,identifierElement,on) {
}
//divident is a string
-//divident may have any number of digits
+//divident may have any number of digits
function modulo(divident, divisor) {
return Array.from(divident).map(c => parseInt(c))
.reduce((acc, value) => {
@@ -82,12 +82,12 @@ function identifierStyle(identifierElement,
occurrences,
path,
colorTheme,
- moduleName) {
+ moduleName) {
const idOcc = occurrences[identifierElement.dataset.occurrence];
-
+
let color = colorTheme.defaultColor;
- let fontWeight;
-
+ let fontWeight;
+
if(idOcc) {
if(idOcc.sort.tag === 'TypeId') {
color = colorTheme.typeColor;
@@ -102,7 +102,7 @@ function identifierStyle(identifierElement,
const idInfo = identifiers[identifierElement.dataset.identifier];
if(idInfo) {
if(isDefinedInCurrentModule(moduleName,path,idInfo)) {
- color = colorTheme.topLevelIdFromCurrentModule;
+ color = colorTheme.topLevelIdFromCurrentModule;
} else if(idInfo.sort === "Internal" && idInfo.locationInfo.tag === "ExactLocation") {
const colorNumber = modulo(identifierElement.id,colorTheme.localIdentifierColor.length);
color = colorTheme.localIdentifierColor[colorNumber];
@@ -111,7 +111,7 @@ function identifierStyle(identifierElement,
}
}
}
-
+
return "color:"+color+";"
+(fontWeight ? "font-weight:" + fontWeight : "")+";"
+(idOcc.isBinder ? "text-decoration:underline;" : "");
@@ -122,16 +122,16 @@ function initializeIdentifiers (sourceCodeContainerElement,component) {
if(identifierElements.length > 0) {
const timeout = 250;//milliseconds
let timer = null;
-
+
identifierElements.forEach((identifierElement) => {
-
+
const cssText = identifierStyle(identifierElement,
component.get('identifiers'),
- component.get('occurrences'),
+ component.get('occurrences'),
component.get('path'),
component.get('colorTheme'),
component.get('name'));
-
+
identifierElement.style.cssText = cssText;
//go to definition
@@ -139,31 +139,31 @@ function initializeIdentifiers (sourceCodeContainerElement,component) {
if(timer) {
clearTimeout(timer);
}
-
+
if(!window.getSelection().isCollapsed) {
return;
}
- const identifierInfo = component.get('identifiers')[identifierElement.dataset.identifier];
+ const identifierInfo = component.get('identifiers')[identifierElement.dataset.identifier];
const idOccurrenceInfo = component.get('occurrences')[identifierElement.dataset.occurrence];
const currentLineNumber = parseInt(identifierElement.parentNode.dataset.line);
-
+
if(idOccurrenceInfo.sort.tag === "ModuleId") {
goToDefinition(component.get('store'),
idOccurrenceInfo.sort.contents,
event.which,
currentLineNumber);
}
- else {
- if(identifierInfo && (event.which === 1 || event.which === 2)) {
+ else {
+ if(identifierInfo && (event.which === 1 || event.which === 2)) {
if(!idOccurrenceInfo.isBinder) {
goToDefinition(component.get('store'),
identifierInfo.locationInfo,
event.which,
currentLineNumber);
} else {
- if(identifierInfo.sort === "External") {
+ if(identifierInfo.sort === "External") {
component.get('findReferences')(component.get('packageId'),
identifierInfo.externalId,
identifierInfo.demangledOccName,
@@ -173,7 +173,7 @@ function initializeIdentifiers (sourceCodeContainerElement,component) {
}
}
}
- }
+ }
identifierElement.onmouseover = () => {
highlightIdentifiers(sourceCodeContainerElement,identifierElement,true);
if(timer) {
@@ -185,27 +185,27 @@ function initializeIdentifiers (sourceCodeContainerElement,component) {
const identifierOccurrence = component.get('occurrences')[identifierElement.dataset.occurrence];
console.log(identifierOccurrence);
console.log(identifierInfo);
-
+
component.set('selectedIdentifier',identifierElement);
component.set('currentLineNumber',parseInt(identifierElement.parentNode.dataset.line) || 1);
component.set('identifierInfo',identifierInfo);
component.set('identifierOccurrence',identifierOccurrence);
component.set('hasSelectedExpression',false);
component.set('isHoveredOverIdentifier',true);
-
+
});
},timeout);
};
-
+
identifierElement.onmouseout = () => {
highlightIdentifiers(sourceCodeContainerElement,identifierElement,false);
-
+
if(timer) {
clearTimeout(timer);
}
-
+
timer = setTimeout (() => {
- Ember.run.next(component,() => {
+ Ember.run.next(component,() => {
component.set('isHoveredOverIdentifier',false);
});
},timeout);
@@ -224,19 +224,19 @@ function contains (node, other) {
function initializeExpressionInfo(sourceCodeContainerElement,component) {
const lineElements = Array.prototype.slice.call(sourceCodeContainerElement.querySelectorAll("td.line-content"));
if(lineElements.length > 0) {
-
+
//Line numbers start with 1
let sourceCodeLines = [""];
-
+
lineElements.forEach((el) => {
sourceCodeLines.push(el.textContent);
});
-
- const allowedNodeNames = ["#text","SPAN","TD"];
+
+ const allowedNodeNames = ["#text","SPAN","TD"];
let isLoading = false;
let shouldWait = false;
const timeout = 400;//milliseconds
-
+
const onmouseup = function() {
Ember.run.next(() => {
if(isLoading || shouldWait) {
@@ -244,14 +244,14 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
}
shouldWait = true;
setTimeout(() => {shouldWait = false;},timeout);
-
+
component.set('hasSelectedExpression',false);
-
- const selection = window.getSelection();
-
+
+ const selection = window.getSelection();
+
//Selection of multiple lines inside a table doesn't work in Firefox
//https://bugzilla.mozilla.org/show_bug.cgi?id=365900
-
+
if(!(selection.anchorNode && selection.focusNode)
|| !contains(sourceCodeContainerElement,selection.anchorNode)
|| !contains(sourceCodeContainerElement,selection.focusNode)
@@ -259,16 +259,16 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
|| (allowedNodeNames.indexOf(selection.focusNode.nodeName) === -1)
|| selection.isCollapsed) {
return;
- }
-
+ }
+
// Detects whether the selection is backwards
const detectionRange = document.createRange();
detectionRange.setStart(selection.anchorNode, selection.anchorOffset);
detectionRange.setEnd(selection.focusNode, selection.focusOffset);
const isBackward = detectionRange.collapsed;
-
+
let startNode,startNodeOffset,endNode,endNodeOffset;
-
+
if(isBackward) {
startNode = selection.focusNode;
startNodeOffset = selection.focusOffset;
@@ -283,8 +283,8 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
let lineStart,columnStart,lineEnd,columnEnd;
let infoWindowTargetElement;
-
-
+
+
//HTML inside source code container :
//<tr><td><span data-start="1" date-end="3">abc</span><span>...</span></td></tr>
//<tr>...</tr>
@@ -292,17 +292,17 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
const parent = startNode.parentNode;//<span>
columnStart = parseInt(parent.dataset.start) + startNodeOffset;
lineStart = parseInt(parent.parentNode.dataset.line);
-
+
if(startNodeOffset === startNode.textContent.length && parent.nextSibling === null) {
const tr = startNode.parentNode.parentNode.parentNode;// span -> td -> tr
-
+
//Skipping empty lines
- let nextLine = tr.nextSibling;
+ let nextLine = tr.nextSibling;
while(nextLine.children[1].textContent === "") {
nextLine = nextLine.nextSibling;
}
infoWindowTargetElement = nextLine.children[1].children[0];
-
+
} else {
if(!(startNodeOffset === 0) && (parent.nextSibling)) {
infoWindowTargetElement = parent.nextSibling;
@@ -320,7 +320,7 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
nextLine = nextLine.nextSibling;
}
infoWindowTargetElement = nextLine.children[1].children[0];
-
+
} else if(startNode.nodeName === "TD") {
if(startNodeOffset > 0) {
const child = startNode.children[startNodeOffset-1];
@@ -330,10 +330,10 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
}
lineStart = parseInt(startNode.id.slice(2));
infoWindowTargetElement = startNode.children[0];
- }
-
+ }
+
if(endNode.nodeName === "#text") {
- columnEnd = parseInt(endNode.parentNode.dataset.start) + endNodeOffset;
+ columnEnd = parseInt(endNode.parentNode.dataset.start) + endNodeOffset;
lineEnd = parseInt(endNode.parentNode.parentNode.dataset.line);
} else if(endNode.nodeName === "SPAN") {
columnEnd = 1;
@@ -341,22 +341,22 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
} else if(endNode.nodeName === "TD"){
if(endNodeOffset > 0) {
const child = endNode.children[endNodeOffset-1];
- columnEnd = parseInt(child.dataset.start);
+ columnEnd = parseInt(child.dataset.start);
} else {
columnEnd = 1;
}
lineEnd = parseInt(endNode.id.slice(2));
- }
-
+ }
+
const loadExprPromise = component.get('store').loadExpressions(
component.get('packageId'),
- component.get('path'),
+ component.get('path'),
lineStart,
columnStart,
lineEnd,
columnEnd);
isLoading = true;
-
+
loadExprPromise.then((expressions) => {
Ember.run.next(() => {
if(expressions && expressions.length > 0) {
@@ -368,7 +368,7 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
return 1;
}
});
-
+
const expressionsWithSourceCode = expressions.reduce((result,expression) => {
const object = Ember.copy(expression);
const srcSpan = buildSrcSpan(sourceCodeLines,
@@ -387,15 +387,15 @@ function initializeExpressionInfo(sourceCodeContainerElement,component) {
component.set('expressions',expressionsWithSourceCode);
component.set('currentLineNumber',parseInt(infoWindowTargetElement.parentNode.dataset.line) || 1);
component.set('hasSelectedExpression',true);
-
+
}
}
isLoading = false;
});
- });
+ });
});
};
-
+
sourceCodeContainerElement.addEventListener('mouseup',onmouseup);
component._onmouseup = onmouseup;
}
@@ -418,10 +418,10 @@ export default Ember.Component.extend({
this.set('filteredDeclarations',filteredDeclarations);
});
}, 300);
- }),
+ }),
identifierLocationInfo : Ember.computed('identifierInfo','identifierOccurrence',function() {
const idOcc = this.get('identifierOccurrence');
- const idInfo = this.get('identifierInfo');
+ const idInfo = this.get('identifierInfo');
if(idOcc) {
if(idOcc.sort.tag === "ModuleId") {
return idOcc.sort.contents;
@@ -470,10 +470,10 @@ export default Ember.Component.extend({
didReceiveAttrs() {
this.set('filteredDeclarations',this.get('declarations'));
},
- didInsertElement() {
+ didInsertElement() {
this._super(...arguments);
const sourceCodeContainerElement = this.element.querySelector('.source-code-container');
- sourceCodeContainerElement.innerHTML = this.get('html');
+ sourceCodeContainerElement.innerHTML = this.get('html');
this.sourceCodeContainerElement = sourceCodeContainerElement;
// Add links to Haskell language extensions docs
@@ -493,7 +493,7 @@ export default Ember.Component.extend({
}
i = i + 1;
}
-
+
this.element.parentNode.scrollTop = 0;
const declarations = this.element.querySelector('.declarations-content');
this.set('query','');
@@ -510,7 +510,7 @@ export default Ember.Component.extend({
this.cleanup();
},
actions : {
- goToLine(lineNumber) {
+ goToLine(lineNumber) {
window.location.hash = "L"+lineNumber;
},
toggleShowDeclarations() {
diff --git a/javascript/app/components/identifier-info.js b/javascript/app/components/identifier-info.js
index 0e870a2..79c35c6 100644
--- a/javascript/app/components/identifier-info.js
+++ b/javascript/app/components/identifier-info.js
@@ -1,7 +1,7 @@
import Ember from 'ember';
import {goToDefinition} from '../utils/go-to-definition';
-export default Ember.Component.extend({
+export default Ember.Component.extend({
store : Ember.inject.service('store'),
downloadedDocumentation : null,
didInsertElement () {
@@ -26,25 +26,25 @@ export default Ember.Component.extend({
this.element.removeEventListener('mouseup',this._onmouseup);
}
},
- //Naughty record selectors :
+ //Naughty record selectors :
//https://github.com/ghc/ghc/blob/ced2cb5e8fbf4493488d1c336da7b00d174923ce/compiler/typecheck/TcTyDecls.hs#L940-L961
isNaughtyRecSel : Ember.computed('identifierInfo',function () {
const idInfo = this.get('identifierInfo');
- return idInfo ? (idInfo.details === "RecSelIdNaughty") : false;
+ return idInfo ? (idInfo.details === "RecSelIdNaughty") : false;
}),
isExternalIdentifier : Ember.computed('identifierInfo',function () {
const idInfo = this.get('identifierInfo');
- return idInfo ? (idInfo.sort === "External") : false;
+ return idInfo ? (idInfo.sort === "External") : false;
}),
identifierObserver : Ember.observer('identifierInfo',function () {
this.set("downloadedDocumentation","");
const idInfo = this.get('identifierInfo');
- if(idInfo) {
+ if(idInfo) {
const locationInfo = idInfo.locationInfo;
if(locationInfo.tag === "ApproximateLocation") {
const packageId = locationInfo.packageId.name + "-" + locationInfo.packageId.version;
const currentIdentifier = idInfo;
-
+
this.get('store').loadDefinitionSite(packageId,
locationInfo.moduleName,
locationInfo.componentId,
@@ -52,10 +52,10 @@ export default Ember.Component.extend({
locationInfo.name)
.then((definitionSite) => {
Ember.run.next(this,() => {
- if(currentIdentifier === this.get('identifierInfo')) {
+ if(currentIdentifier === this.get('identifierInfo')) {
this.set('downloadedDocumentation',definitionSite.documentation);
}})
- }).catch(() => {
+ }).catch(() => {
this.get('store').loadHoogleDocs(packageId,
locationInfo.moduleName,
locationInfo.entity,
diff --git a/javascript/app/components/identifier-name.js b/javascript/app/components/identifier-name.js
index e0f8c3c..4b01b03 100644
--- a/javascript/app/components/identifier-name.js
+++ b/javascript/app/components/identifier-name.js
@@ -11,7 +11,7 @@ export default Ember.Component.extend({
}),
style : Ember.computed('identifierElement',function() {
const element = this.get('identifierElement');
- if(element) {
+ if(element) {
return new Ember.String.htmlSafe("color:"+element.style.color);
}
}),
@@ -44,7 +44,7 @@ export default Ember.Component.extend({
return (this.get('identifierInfo.sort') === "External");
}),
actions : {
- goToDefinition (event) {
+ goToDefinition (event) {
goToDefinition(this.get('store'),
this.get('locationInfo'),
event.which,
diff --git a/javascript/app/components/infinite-list.js b/javascript/app/components/infinite-list.js
index b73b6d4..02e1943 100644
--- a/javascript/app/components/infinite-list.js
+++ b/javascript/app/components/infinite-list.js
@@ -10,34 +10,34 @@ function initialize(component) {
pageNumber = 1;
}
-export default Component.extend({
+export default Component.extend({
renderedElements : [],
init() {
this._super(...arguments);
initialize(this);
},
- elementsObserver : observer('elements',function() {
+ elementsObserver : observer('elements',function() {
initialize(this);
const containerElement = document.getElementById(this.get('containerElementId'));
- if(containerElement) {
+ if(containerElement) {
containerElement.scrollTop = 0;
}
}),
didInsertElement() {
const containerElement = document.getElementById(this.get('containerElementId'));
if(containerElement) {
- const component = this;
+ const component = this;
containerElement.onscroll = function() {
const perPage = component.get('perPage');
const elements = component.get('elements');
-
+
if(!updating &&
(pageNumber * perPage < elements.length) &&
(containerElement.scrollTop + containerElement.offsetHeight
> component.element.offsetHeight - 100)) {
-
+
updating = true;
- run.next(component,() => {
+ run.next(component,() => {
const newElements = elements.slice(pageNumber * perPage,(pageNumber + 1) * perPage);
component.get('renderedElements').pushObjects(newElements);
pageNumber ++;
diff --git a/javascript/app/components/info-window.js b/javascript/app/components/info-window.js
index a011f99..da669f1 100644
--- a/javascript/app/components/info-window.js
+++ b/javascript/app/components/info-window.js
@@ -8,27 +8,27 @@ function updatePosition(component) {
if(targetElement) {
const infoWindowHeight = component.element.offsetHeight;
const targetElementHeight = targetElement.offsetHeight;
-
- const parent = targetElement.parentNode;//<td> element
- const containerElement = document.querySelector("#" + component.get('containerElementId'));
+
+ const parent = targetElement.parentNode;//<td> element
+ const containerElement = document.querySelector("#" + component.get('containerElementId'));
//getBoundingClientRect() returns the smallest rectangle which contains
//the entire element, with read-only left, top, right, bottom, x, y, width,
//and height properties describing the overall border-box in pixels. Properties
//other than width and height are relative to the top-left of the *viewport*.
const targetTopViewport = targetElement.getBoundingClientRect().top;
-
+
let containerTopViewport;
if (containerElement) {
containerTopViewport = containerElement.getBoundingClientRect().top;
} else {
containerTopViewport = 0;
}
-
+
let infoWindowTop;
if(targetTopViewport < infoWindowHeight + containerTopViewport) {
//offsetTop is the number of pixels from the top of the closest relatively
- //positioned parent element.
+ //positioned parent element.
infoWindowTop = targetElement.offsetTop + parent.offsetTop
+ targetElementHeight + 10 + "px";
} else {
@@ -37,7 +37,7 @@ function updatePosition(component) {
}
const infoWindowLeft = targetElement.offsetLeft + parent.offsetLeft + "px";
-
+
component.$().css({
top:infoWindowTop,
left:infoWindowLeft
@@ -54,16 +54,16 @@ export default Ember.Component.extend({
isFocused: false,
didInsertElement () {
const component = this;
-
+
const $headerElement = Ember.$(component.element.querySelector(".info-window-header"));
const $contentElement = Ember.$(component.element.querySelector(".info-window-content"));
const $infoWindowElement = Ember.$(component.element.querySelector(".info-window"));
const $infoWindowContainerElement = Ember.$(component.element);
-
+
this.$headerElement = $headerElement;
- this.$contentElement = $contentElement;
+ this.$contentElement = $contentElement;
- this.$().resizable({
+ this.$().resizable({
handles: "n,w",
minHeight: 80,
minWidth: 400,
@@ -74,10 +74,10 @@ export default Ember.Component.extend({
resizing = false;
},
resize : function() {
- const containerHeight = $infoWindowContainerElement.height();
+ const containerHeight = $infoWindowContainerElement.height();
$infoWindowElement.css({
"height": containerHeight + 2 + "px"
- });
+ });
$contentElement.css({
"max-height":(containerHeight - $headerElement.outerHeight(true)) + "px"
});
@@ -104,7 +104,7 @@ export default Ember.Component.extend({
const element = document.elementFromPoint(event.clientX,event.clientY);
if(element && element.classList.contains('link')) {
return;
- }
+ }
if(!resizing
&& !dragging
&& !this.get('isPinned')
@@ -122,7 +122,7 @@ export default Ember.Component.extend({
if (this.get('isPinned')
|| this.get('isFocused')
|| this.get('isHoveredOverIdentifier')
- || this.get('hasSelectedExpression')) {
+ || this.get('hasSelectedExpression')) {
return false;
} else {
return true;
diff --git a/javascript/app/components/input-with-autocomplete.js b/javascript/app/components/input-with-autocomplete.js
index 34abe7a..5960c46 100644
--- a/javascript/app/components/input-with-autocomplete.js
+++ b/javascript/app/components/input-with-autocomplete.js
@@ -1,14 +1,14 @@
import Ember from 'ember';
export default Ember.Component.extend({
- store : Ember.inject.service('store'),
+ store : Ember.inject.service('store'),
highlightedItemIndex: -1,
items : [],
query: null,
didInsertElement() {
const $input = Ember.$(this.element).find(".search-input");
- const $autocompleteContainer = Ember.$(this.element).find(".autocomplete-container");
- this.$input = $input;
- this.$autocompleteContainer = $autocompleteContainer;
+ const $autocompleteContainer = Ember.$(this.element).find(".autocomplete-container");
+ this.$input = $input;
+ this.$autocompleteContainer = $autocompleteContainer;
const width = $input.width() + 300;
$autocompleteContainer.css({
"width" : width+"px",
@@ -23,9 +23,9 @@ export default Ember.Component.extend({
this.onDown();
} else if(e.which === 38) {
this.onUp();
- }
+ }
});
- $input.focusin(() => {
+ $input.focusin(() => {
this.showAutocompleteList();
});
$input.focusout(() => {
@@ -105,7 +105,7 @@ export default Ember.Component.extend({
},
searchUrlObserver : Ember.observer('createSearchUrlFunction',function() {
this.notifyPropertyChange('query');
- }),
+ }),
queryObserver : Ember.observer("query",function() {
if(this.get('query')) {
const perPage = this.get('maxItems') ? this.get('maxItems') : 10;
diff --git a/javascript/app/components/instance-info.js b/javascript/app/components/instance-info.js
index a0e04ed..339d415 100644
--- a/javascript/app/components/instance-info.js
+++ b/javascript/app/components/instance-info.js
@@ -10,7 +10,7 @@ export default Ember.Component.extend({
return this.get('nestedLevel') + 1;
}),
actions : {
- goToDefinition (event) {
+ goToDefinition (event) {
goToDefinition(this.get('store'),
this.get('instance.location'),
event.which,
diff --git a/javascript/app/components/paginated-list.js b/javascript/app/components/paginated-list.js
index 9d85610..d4b6609 100644
--- a/javascript/app/components/paginated-list.js
+++ b/javascript/app/components/paginated-list.js
@@ -8,10 +8,10 @@ function loadItems(store,component,url) {
component.set('next',result.linkHeader.next);
component.set('prev',result.linkHeader.prev);
component.set('last',result.linkHeader.last);
-
+
const pageMatch = url.match(/(&|\?)page=(\d+)/);
const perPageMatch = url.match(/(&|\?)per_page=(\d+)/);
-
+
const page = pageMatch ? pageMatch[2] : 1;
const perPage = perPageMatch ? perPageMatch[2] : 20;
@@ -36,11 +36,11 @@ export default Ember.Component.extend({
}
},
urlObserver : Ember.observer('url',function () {
- loadItems(this.get('store'),this,this.get('url'));
- this.element.querySelector(".paginated-list-content").scrollTop = 0;
+ loadItems(this.get('store'),this,this.get('url'));
+ this.element.querySelector(".paginated-list-content").scrollTop = 0;
}),
actions : {
- update(url) {
+ update(url) {
this.element.querySelector(".paginated-list-content").scrollTop = 0;
loadItems(this.get('store'),this,url);
}
diff --git a/javascript/app/components/resizable-panel.js b/javascript/app/components/resizable-panel.js
index 20d781b..fe51ade 100644
--- a/javascript/app/components/resizable-panel.js
+++ b/javascript/app/components/resizable-panel.js
@@ -24,7 +24,7 @@ export default Ember.Component.extend({
hidden:false,
hiddenByUser:false,
didInsertElement : function () {
- this._super(...arguments);
+ this._super(...arguments);
Ember.run.next(this,() => {
const onresize = () => {
if(!this.get('hiddenByUser')) {
@@ -50,7 +50,7 @@ export default Ember.Component.extend({
}
});
this.$alsoResizeElement = $alsoResizeElement;
- if(window.innerWidth < 700) {
+ if(window.innerWidth < 700) {
this.set('hidden',true);
hide(this,false);
}
diff --git a/javascript/app/components/text-file.js b/javascript/app/components/text-file.js
index 05be31a..2239571 100644
--- a/javascript/app/components/text-file.js
+++ b/javascript/app/components/text-file.js
@@ -37,7 +37,7 @@ export default Ember.Component.extend({
}),
init() {
this._super(...arguments);
- this.markdownConverter = new showdown.Converter();
+ this.markdownConverter = new showdown.Converter();
},
didInsertElement() {
const sourceCodeContainerElement = this.element.querySelector('.source-code-container');
@@ -48,7 +48,7 @@ export default Ember.Component.extend({
this.cleanup();
},
cleanup() {
- if(this._onhashchange) {
+ if(this._onhashchange) {
window.removeEventListener('hashchange',this._onhashchange);
}
if(this._onkeydown) {
@@ -61,7 +61,7 @@ export default Ember.Component.extend({
pathObserver : Ember.observer('path',function() {
Ember.run.next(this,() => {
this.cleanup();
- this.didInsertElement();
+ this.didInsertElement();
});
})
});
diff --git a/javascript/app/components/type-signature-text.js b/javascript/app/components/type-signature-text.js
index e4eb200..ce33607 100644
--- a/javascript/app/components/type-signature-text.js
+++ b/javascript/app/components/type-signature-text.js
@@ -1,4 +1,4 @@
import Ember from 'ember';
export default Ember.Component.extend({
- tagName : "span"
+ tagName : "span"
});
diff --git a/javascript/app/components/type-signature.js b/javascript/app/components/type-signature.js
index ed1849c..8e7545f 100644
--- a/javascript/app/components/type-signature.js
+++ b/javascript/app/components/type-signature.js
@@ -1,11 +1,11 @@
import Ember from 'ember';
export default Ember.Component.extend({
- tagName : "span",
- expandTypeSynonyms: false,
+ tagName : "span",
+ expandTypeSynonyms: false,
expandTypeSynonymsLabel : Ember.computed('expandTypeSynonyms',function() {
return this.get('expandTypeSynonyms') ? "Show type synonyms" : "Expand type synonyms";
}),
- components : Ember.computed('type','expandTypeSynonyms',function() {
+ components : Ember.computed('type','expandTypeSynonyms',function() {
if(this.get('expandTypeSynonyms') && this.get('type.componentsExpanded')) {
return this.get('type.componentsExpanded');
} else {
@@ -14,7 +14,7 @@ export default Ember.Component.extend({
}),
typeObserver : Ember.observer('type',function() {
this.set('expandTypeSynonyms',false);
- }),
+ }),
actions : {
toggleExpandTypeSynonyms () {
this.toggleProperty('expandTypeSynonyms');
diff --git a/javascript/app/controllers/package.js b/javascript/app/controllers/package.js
index 666cacf..d986835 100644
--- a/javascript/app/controllers/package.js
+++ b/javascript/app/controllers/package.js
@@ -8,8 +8,8 @@ export default Ember.Controller.extend({
loadItemsFunction : null,
query : null,
searchMode : "currentPackage",
- createSearchUrlFunction : Ember.computed("searchMode","model",function() {
- const packageId = this.get('model.id');
+ createSearchUrlFunction : Ember.computed("searchMode","model",function() {
+ const packageId = this.get('model.id');
if(this.get('searchMode') === "currentPackage") {
return (query) => urls.identifierSearchUrl(packageId,query);
} else {
diff --git a/javascript/app/controllers/package/index.js b/javascript/app/controllers/package/index.js
index cd02416..dabb196 100644
--- a/javascript/app/controllers/package/index.js
+++ b/javascript/app/controllers/package/index.js
@@ -2,7 +2,7 @@ import Ember from 'ember';
export default Ember.Controller.extend({
modulesFiltered : Ember.computed('model','query',function () {
const query = this.get('query');
- const modules = Object.keys(this.get('model.modules')).sort();
+ const modules = Object.keys(this.get('model.modules')).sort();
if(query) {
const regExp = new RegExp(query,"i");
return modules.filter((p) => p.search(regExp) != -1);
diff --git a/javascript/app/controllers/package/search.js b/javascript/app/controllers/package/search.js
index 46f2efd..159b79a 100644
--- a/javascript/app/controllers/package/search.js
+++ b/javascript/app/controllers/package/search.js
@@ -4,7 +4,7 @@ import {goToDefinition} from '../../utils/go-to-definition';
export default Ember.Controller.extend({
store : Ember.inject.service('store'),
actions : {
- goToDefinition (locationInfo,event) {
+ goToDefinition (locationInfo,event) {
goToDefinition(this.get('store'),
locationInfo,
event.which,
diff --git a/javascript/app/controllers/packages.js b/javascript/app/controllers/packages.js
index 4bb10fc..5c34eb2 100644
--- a/javascript/app/controllers/packages.js
+++ b/javascript/app/controllers/packages.js
@@ -3,10 +3,10 @@ import {goToDefinition} from '../utils/go-to-definition';
export default Ember.Controller.extend({
store : Ember.inject.service('store'),
- queryObserver : Ember.observer("query",function() {
+ queryObserver : Ember.observer("query",function() {
Ember.run.debounce(this, () => {
const regExp = new RegExp(this.get('query'),"i");
- const packages = this.get('model').filter((p) => p.name.search(regExp) != -1);
+ const packages = this.get('model').filter((p) => p.name.search(regExp) != -1);
Ember.run.next(() => {
this.set('packages',packages);
});
diff --git a/javascript/app/controllers/search.js b/javascript/app/controllers/search.js
index 5d77770..7ba7d92 100644
--- a/javascript/app/controllers/search.js
+++ b/javascript/app/controllers/search.js
@@ -4,7 +4,7 @@ import {goToDefinition} from '../utils/go-to-definition';
export default Ember.Controller.extend({
store : Ember.inject.service('store'),
actions : {
- goToDefinition (locationInfo,event) {
+ goToDefinition (locationInfo,event) {
goToDefinition(this.get('store'),
locationInfo,
event.which,
diff --git a/javascript/app/router.js b/javascript/app/router.js
index 7fce17a..7b8df63 100644
--- a/javascript/app/router.js
+++ b/javascript/app/router.js
@@ -14,8 +14,8 @@ Router.map(function() {
});
});
this.route('search',{path:'/search/:query'});
- });
- this.route('bad-url', { path: '/*badurl' });
+ });
+ this.route('bad-url', { path: '/*badurl' });
});
export default Router;
diff --git a/javascript/app/routes/package.js b/javascript/app/routes/package.js
index e908ca4..6abc603 100644
--- a/javascript/app/routes/package.js
+++ b/javascript/app/routes/package.js
@@ -8,7 +8,7 @@ export default Ember.Route.extend({
.catch((e) => {console.log(e);this.transitionTo("/package-not-found");});
},
setupController(controller, model) {
- this._super(controller, model);
+ this._super(controller, model);
controller.set('bottomPanelVisible',false);
},
actions : {
diff --git a/javascript/app/routes/package/index.js b/javascript/app/routes/package/index.js
index e36abd5..15ff8a5 100644
--- a/javascript/app/routes/package/index.js
+++ b/javascript/app/routes/package/index.js
@@ -1,7 +1,7 @@
import Ember from 'ember';
-export default Ember.Route.extend({
- afterModel : function (model,transition) {
- transition.send("fileOpened",null);
+export default Ember.Route.extend({
+ afterModel : function (model,transition) {
+ transition.send("fileOpened",null);
}
});
diff --git a/javascript/app/routes/package/search.js b/javascript/app/routes/package/search.js
index 7bc711b..058f9ec 100644
--- a/javascript/app/routes/package/search.js
+++ b/javascript/app/routes/package/search.js
@@ -10,7 +10,7 @@ export default Ember.Route.extend({
url: urls.identifierSearchUrl(this.modelFor('package').id,params.query)+"?per_page=20"
};
},
- afterModel () {
+ afterModel () {
const onmouseup = (event) => {
// This makes links in documentation clickable
if(event.target.dataset.location) {
@@ -26,7 +26,7 @@ export default Ember.Route.extend({
}
};
this._onmouseup = onmouseup;
- document.addEventListener('mouseup',onmouseup);
+ document.addEventListener('mouseup',onmouseup);
},
deactivate() {
if(this._onmouseup) {
diff --git a/javascript/app/routes/package/show/file.js b/javascript/app/routes/package/show/file.js
index ead6ee8..568d288 100644
--- a/javascript/app/routes/package/show/file.js
+++ b/javascript/app/routes/package/show/file.js
@@ -3,25 +3,25 @@ import Ember from 'ember';
export default Ember.Route.extend({
store : Ember.inject.service(),
model : function (params) {
- const packageInfo = this.modelFor('package');
- if(packageInfo.modules[params.filePath]) {
+ const packageInfo = this.modelFor('package');
+ if(packageInfo.modules[params.filePath]) {
return this.get('store').loadHaskellModule(packageInfo.id,params.filePath)
- .catch((e) => {console.log(e);this.transitionTo("/not-found");});
+ .catch((e) => {console.log(e);this.transitionTo("/not-found");});
} else {
return this.get('store').loadFile(packageInfo.id,params.filePath)
- .then((result) => {
+ .then((result) => {
document.title = packageInfo.id;
return result;
})
.catch((e) => {console.log(e);this.transitionTo("/not-found");});
}
},
- afterModel (model) {
+ afterModel (model) {
document.title = model.id + " - " + this.modelFor('package').id;
},
actions : {
- didTransition : function () {
- this.send("fileOpened",this.currentModel.id);
- }
+ didTransition : function () {
+ this.send("fileOpened",this.currentModel.id);
+ }
}
});
diff --git a/javascript/app/routes/package/show/index.js b/javascript/app/routes/package/show/index.js
index e36abd5..15ff8a5 100644
--- a/javascript/app/routes/package/show/index.js
+++ b/javascript/app/routes/package/show/index.js
@@ -1,7 +1,7 @@
import Ember from 'ember';
-export default Ember.Route.extend({
- afterModel : function (model,transition) {
- transition.send("fileOpened",null);
+export default Ember.Route.extend({
+ afterModel : function (model,transition) {
+ transition.send("fileOpened",null);
}
});
diff --git a/javascript/app/routes/search.js b/javascript/app/routes/search.js
index c181c2f..3ad8905 100644
--- a/javascript/app/routes/search.js
+++ b/javascript/app/routes/search.js
@@ -11,12 +11,12 @@ export default Ember.Route.extend({
};
},
setupController(controller, model) {
- this._super(controller, model);
+ this._super(controller, model);
controller.set('createSearchUrlFunction',(query) => {
return urls.globalIdentifiersUrl(query);
});
},
- afterModel () {
+ afterModel () {
const onmouseup = (event) => {
// This makes links in documentation clickable
if(event.target.dataset.location) {
@@ -32,11 +32,11 @@ export default Ember.Route.extend({
}
};
this._onmouseup = onmouseup;
- document.addEventListener('mouseup',onmouseup);
+ document.addEventListener('mouseup',onmouseup);
},
deactivate() {
if(this._onmouseup) {
document.removeEventListener('mouseup',this._onmouseup);
}
- }
+ }
});
diff --git a/javascript/app/services/settings.js b/javascript/app/services/settings.js
index a79779a..8080890 100644
--- a/javascript/app/services/settings.js
+++ b/javascript/app/services/settings.js
@@ -14,7 +14,7 @@ export default Ember.Service.extend({
},
colorTheme : themes["darkTheme"],
settingsObserver : Ember.observer("colorTheme",function() {
- if(localStorage) {
+ if(localStorage) {
localStorage.setItem("colorThemeId",this.get('colorTheme').id);
}
})
diff --git a/javascript/app/services/store.js b/javascript/app/services/store.js
index 650ddcf..39a6f74 100644
--- a/javascript/app/services/store.js
+++ b/javascript/app/services/store.js
@@ -44,7 +44,7 @@ function parseLinkHeader(header) {
export default Ember.Service.extend({
- init() {
+ init() {
this.packages = {};
this.files = {};
this.haskellModules = {};
@@ -69,12 +69,12 @@ export default Ember.Service.extend({
},
loadFile(packageId,filePath) {
const fileId = packageId + "/" + filePath;
- const file = this.files[fileId];
+ const file = this.files[fileId];
if(file) {
return new RSVP.Promise((resolve) => {resolve(file);});
} else {
- const url = urls.fileUrl(packageId,filePath);
- return Ember.$.get({url:url,dataType:"text"}).then((text) => {
+ const url = urls.fileUrl(packageId,filePath);
+ return Ember.$.get({url:url,dataType:"text"}).then((text) => {
const file = {};
file.text = text;
file.packageId = packageId;
@@ -85,7 +85,7 @@ export default Ember.Service.extend({
});
}
},
- loadHaskellModule(packageId,filePath) {
+ loadHaskellModule(packageId,filePath) {
const moduleId = packageId + "/" + filePath ;
const module = this.haskellModules[moduleId];
if(module) {
@@ -93,7 +93,7 @@ export default Ember.Service.extend({
} else {
const url = urls.haskellModuleUrl(packageId,filePath);
return Ember.$.getJSON(url).then((module) => {
- module.packageId = packageId;
+ module.packageId = packageId;
module.isHaskellModule = true;
this.haskellModules[moduleId] = module;
return module;
@@ -112,23 +112,23 @@ export default Ember.Service.extend({
return definitionSite;
});
}
- },
+ },
loadExpressions(packageId,modulePath,lineStart,columnStart,lineEnd,columnEnd) {
const id = packageId + "/" + encodeURIComponent(modulePath)
+ "/" + lineStart + "/" + columnStart + "/" + lineEnd + "/" + columnEnd;
const exprs = this.expressions[id];
if(exprs) {
- return new RSVP.Promise((resolve)=>{resolve(exprs);});
+ return new RSVP.Promise((resolve)=>{resolve(exprs);});
} else {
- const url = urls.expressionsUrl(packageId,modulePath,lineStart,columnStart,lineEnd,columnEnd);
- return Ember.$.getJSON(url).then((exprs) => {
+ const url = urls.expressionsUrl(packageId,modulePath,lineStart,columnStart,lineEnd,columnEnd);
+ return Ember.$.getJSON(url).then((exprs) => {
this.expressions[id] = exprs;
return exprs;
- });
+ });
}
},
- loadFromUrlPaginated(url) {
- return Ember.$.getJSON(url).then((items,textStatus,jqXHR) => {
+ loadFromUrlPaginated(url) {
+ return Ember.$.getJSON(url).then((items,textStatus,jqXHR) => {
const linkHeaderText = jqXHR.getResponseHeader('Link');
const totalCountHeaderText = jqXHR.getResponseHeader('x-total-count');
const linkHeader = parseLinkHeader(linkHeaderText);
@@ -141,7 +141,7 @@ export default Ember.Service.extend({
});
},
loadGlobalReferences(externalId) {
- const globalReferences = this.globalReferences[externalId];
+ const globalReferences = this.globalReferences[externalId];
if(globalReferences) {
return new RSVP.Promise((resolve) => {resolve(globalReferences);});
} else {
diff --git a/javascript/app/styles/app.scss b/javascript/app/styles/app.scss
index b87c0d8..68fbe2a 100644
--- a/javascript/app/styles/app.scss
+++ b/javascript/app/styles/app.scss
@@ -45,14 +45,14 @@ li {
.documentation {
margin-top:10px;
li {
- list-style: disc outside none;
+ list-style: disc outside none;
}
ul {
padding-left:15px;
}
ol {
padding-left:15px;
- }
+ }
}
.flex-container {
@@ -73,7 +73,7 @@ li {
.header {
flex: none;
padding:5px;
- img {
+ img {
float:left;
}
}
@@ -140,7 +140,7 @@ li {
margin-top:20px;
}
-.package-header-filename {
+.package-header-filename {
white-space: nowrap;
margin-left: 35px;
}
@@ -184,13 +184,13 @@ ul.modules {
position:absolute;
top:0px;
right:-20px;
- z-index:2;
+ z-index:2;
width:20px;
- height:20px;
+ height:20px;
text-align:center;
vertical-align:middle;
a {
- text-decoration:none;
+ text-decoration:none;
}
opacity:0.6;
display:none;
@@ -218,10 +218,10 @@ ul.modules {
right : 0;
left : 300px;
overflow-x: auto;
- overflow-y: auto;
+ overflow-y: auto;
}
-.file-tree-container {
+.file-tree-container {
overflow-x: hidden;
overflow-y: auto;
position: absolute;
@@ -238,7 +238,7 @@ ul.modules {
right : 0;
left : 0;
overflow-x: auto;
- overflow-y: auto;
+ overflow-y: auto;
}
.bottom-panel {
@@ -248,7 +248,7 @@ ul.modules {
right : 0;
left : 0;
overflow-x: auto;
- overflow-y: auto;
+ overflow-y: auto;
z-index:4;
}
@@ -258,7 +258,7 @@ ul.modules {
right : 0;
left : 0;
height: 35px;
- padding: 5px;
+ padding: 5px;
}
.bottom-panel-content {
@@ -268,7 +268,7 @@ ul.modules {
right : 0;
left : 0;
overflow-x: auto;
- overflow-y: auto;
+ overflow-y: auto;
}
.bottom-panel-header-options {
@@ -279,9 +279,9 @@ ul.modules {
white-space:nowrap;
}
-.highlighted-identifier {
+.highlighted-identifier {
border-radius: 3px;
- box-shadow: 0 0 0 1px #B4B4B4;
+ box-shadow: 0 0 0 1px #B4B4B4;
}
.identifier {
@@ -312,7 +312,7 @@ td.line-content {
$source-code-font:Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
-.source-code {
+.source-code {
font-family: $source-code-font;
white-space:pre;
line-height:1.25;
@@ -332,12 +332,12 @@ code,pre {
}
.source-code-font {
- font-family: $source-code-font;
+ font-family: $source-code-font;
line-height:1.25;
}
.source-code-snippet {
- padding: 4px;
+ padding: 4px;
text-decoration:none !important;
display:block;
}
@@ -360,7 +360,7 @@ code,pre {
position:fixed;
top:150px;
right:15px;
- width: 450px;
+ width: 450px;
z-index:1;
div {
margin : 5px;
@@ -369,7 +369,7 @@ code,pre {
.declarations-header {
opacity:0.9;
- height:50px;
+ height:50px;
}
.declarations-content {
@@ -380,7 +380,7 @@ code,pre {
right:0px;
max-height:500px;
overflow-y:auto;
- overflow-x:hidden;
+ overflow-x:hidden;
}
@media screen and (max-width: 1500px) {
@@ -395,28 +395,28 @@ code,pre {
z-index:10;
}
-.info-window-header {
+.info-window-header {
margin:5px;
width: 100%;
cursor: move;
cursor: grab;
cursor: -moz-grab;
- cursor: -webkit-grab;
+ cursor: -webkit-grab;
}
-.info-window-content {
+.info-window-content {
max-height:200px;
overflow-x:auto;
- overflow-y:auto;
+ overflow-y:auto;
}
.info-window-options {
margin-right:10px;
margin-left:10px;
- float:right;
+ float:right;
}
-
+
.ui-draggable-dragging .info-window-header {
cursor: grabbing;
cursor: -moz-grabbing;
diff --git a/javascript/app/templates/bad-url.hbs b/javascript/app/templates/bad-url.hbs
index 6b36386..b7df9c5 100644
--- a/javascript/app/templates/bad-url.hbs
+++ b/javascript/app/templates/bad-url.hbs
@@ -1,4 +1,4 @@
-<div class="container">
+<div class="container">
<div style="margin-top:10px">
<h1>Not found</h1>
<div><a href="/">Main page</a></div>
diff --git a/javascript/app/templates/components/haskell-module.hbs b/javascript/app/templates/components/haskell-module.hbs
index 77b9df7..6f1d0f5 100644
--- a/javascript/app/templates/components/haskell-module.hbs
+++ b/javascript/app/templates/components/haskell-module.hbs
@@ -1,14 +1,14 @@
<div class="source-code-container"></div>
{{#if declarations}}
<div class="declarations">
- <div class="declarations-header">
+ <div class="declarations-header">
<div class="input-group">
{{input class="form-control" value=query placeholder="Identifier"}}<a class="hide-declarations" href="#" {{action "toggleShowDeclarations"}}>{{showDeclarationsLabel}}</a>
</div>
</div>
{{#if showDeclarations}}
- <div id="declarations-content" class="declarations-content">
- <ul>
+ <div id="declarations-content" class="declarations-content">
+ <ul>
{{#infinite-list containerElementId="declarations-content" elements=filteredDeclarations perPage=30 as |declaration|}}
<li class="declaration">
<div class="declaration">
diff --git a/javascript/app/templates/components/identifier-name.hbs b/javascript/app/templates/components/identifier-name.hbs
index ca16e23..4f7b764 100644
--- a/javascript/app/templates/components/identifier-name.hbs
+++ b/javascript/app/templates/components/identifier-name.hbs
@@ -2,7 +2,7 @@
<span class="source-code-font break-word identifier-menu-item" style={{style}}>{{#if identifierInfo.demangledOccName}}{{identifierInfo.demangledOccName}}{{else}}{{name}}{{/if}}</span>
{{#unless isBinder}}
{{#if location}}
- <span class="identifier-menu-item">{{location}}</span>
+ <span class="identifier-menu-item">{{location}}</span>
<span class="link identifier-menu-item" onmouseup={{action "goToDefinition"}}>Go to definition</span>
{{/if}}
{{/unless}}
diff --git a/javascript/app/templates/components/paginated-list.hbs b/javascript/app/templates/components/paginated-list.hbs
index 82d4eee..5184e07 100644
--- a/javascript/app/templates/components/paginated-list.hbs
+++ b/javascript/app/templates/components/paginated-list.hbs
@@ -1,4 +1,4 @@
-<div class="paginated-list-header">
+<div class="paginated-list-header">
<span>Found {{total}} {{{foundWhere}}}</span>
{{#if (or next prev)}}
&nbsp;
@@ -10,8 +10,8 @@
{{#if next}}<button button class="btn btn-outline-secondary btn-sm" {{action "update" next.href}}>&gt;</button>{{/if}}
{{#if last}}<button button class="btn btn-outline-secondary btn-sm" {{action "update" last.href}}>&gt;&gt;</button>{{/if}}
</span>
- {{/if}}
+ {{/if}}
</div>
<div class="paginated-list-content">
- {{yield items}}
+ {{yield items}}
</div>
diff --git a/javascript/app/templates/package.hbs b/javascript/app/templates/package.hbs
index 95dca05..d26ce34 100644
--- a/javascript/app/templates/package.hbs
+++ b/javascript/app/templates/package.hbs
@@ -1,6 +1,6 @@
<div class="flex-container">
<div class="package-header">
- <span class="package-header-package-name">{{#link-to 'package' model}}{{model.id}}{{/link-to}}</span>
+ <span class="package-header-package-name">{{#link-to 'package' model}}{{model.id}}{{/link-to}}</span>
<span class="package-header-input">
{{#input-with-autocomplete
onSubmit=(action 'searchIdentifier')
@@ -11,7 +11,7 @@
placeholder="Identifier" as |identifier|}}
<span class="source-code-font">{{identifier.demangledOccName}} :: {{type-signature-text components=identifier.idType.components}}</span>
<div class="module-name">
- <b>{{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}}</b>
+ <b>{{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}}</b>
{{#if identifier.locationInfo.modulePath}}
{{identifier.locationInfo.modulePath}}
{{else}}
@@ -29,7 +29,7 @@
value="allPackages"
groupValue=searchMode}}
<span>in all packages</span>
- {{/radio-button}}
+ {{/radio-button}}
{{#if currentFile}}
<span class="package-header-filename">
{{currentFile}}
@@ -66,7 +66,7 @@
</span>
{{/if}}
</div>
- <div class="references">
+ <div class="references">
{{#paginated-list url=referencesUrl foundWhere=(concat "in <b>" packageId "</b>") as |files|}}
<ul>
{{#each files as |file|}}
diff --git a/javascript/app/templates/package/index.hbs b/javascript/app/templates/package/index.hbs
index e9bc592..06ccd0d 100644
--- a/javascript/app/templates/package/index.hbs
+++ b/javascript/app/templates/package/index.hbs
@@ -1,12 +1,12 @@
<div class="package-modules">
<div class="module-search-input">
- {{input class="form-control" type="text" value=query placeholder="Module name"}}
- </div>
+ {{input class="form-control" type="text" value=query placeholder="Module name"}}
+ </div>
<ul class="modules">
{{#each modulesFiltered as |module|}}
<li>
<a href="/package/{{model.id}}/show/{{module}}">{{module}}</a>
</li>
{{/each}}
- </ul>
+ </ul>
</div>
diff --git a/javascript/app/templates/package/show/file.hbs b/javascript/app/templates/package/show/file.hbs
index b127fd7..0d356e5 100644
--- a/javascript/app/templates/package/show/file.hbs
+++ b/javascript/app/templates/package/show/file.hbs
@@ -1,11 +1,11 @@
-{{#if model.isHaskellModule}}
+{{#if model.isHaskellModule}}
{{haskell-module
path=model.id
name=model.name
packageId=model.packageId
componentId=model.componentId
html=model.sourceCodeHtml
- identifiers=model.identifiers
+ identifiers=model.identifiers
occurrences=model.occurrences
colorTheme=settings.colorTheme
declarations=model.declarations
diff --git a/javascript/app/templates/search.hbs b/javascript/app/templates/search.hbs
index 222919a..5a36913 100644
--- a/javascript/app/templates/search.hbs
+++ b/javascript/app/templates/search.hbs
@@ -1,6 +1,6 @@
<div class="flex-container container">
<div style="position:relative;height:100%">
- <div class="absolute-container">
+ <div class="absolute-container">
<div class="global-identifier-search-form">
{{#input-with-autocomplete
onSubmit=(action 'searchIdentifier')
diff --git a/javascript/app/utils/api-urls.js b/javascript/app/utils/api-urls.js
index 7dce1c3..5280720 100644
--- a/javascript/app/utils/api-urls.js
+++ b/javascript/app/utils/api-urls.js
@@ -15,13 +15,13 @@ function fixDots(string) {
}
}
-export const urls = {
+export const urls = {
packageInfoUrl : function(packageId) {
return config.APP.staticUrlPrefix+"/"+packageId+"/"+config.APP.haskellCodeExplorerDirectory+"/packageInfo.json";
},
fileUrl : function(packageId,filePath) {
return config.APP.staticUrlPrefix+"/"+packageId+"/"+filePath;
- },
+ },
haskellModuleUrl : function (packageId,filePath) {
return config.APP.staticUrlPrefix+"/"+packageId+"/"+config.APP.haskellCodeExplorerDirectory+"/"+encodeURIComponent(encodeURIComponent(filePath))+ ".json";
},
diff --git a/javascript/app/utils/color-themes.js b/javascript/app/utils/color-themes.js
index 13b5240..49eda64 100644
--- a/javascript/app/utils/color-themes.js
+++ b/javascript/app/utils/color-themes.js
@@ -1,6 +1,6 @@
function colorThemeToCss(colorTheme) {
const css = `
- body {
+ body {
color: ${colorTheme.defaultColor} !important;
background-color: ${colorTheme.backgroundColor} !important;
}
@@ -31,7 +31,7 @@ function colorThemeToCss(colorTheme) {
}
.declarations-header {
background-color: ${colorTheme.navigationPanelColor} !important;
- border: 1px solid ${colorTheme.borderColor} !important;
+ border: 1px solid ${colorTheme.borderColor} !important;
}
li.declaration {
border-bottom: 1px solid ${colorTheme.borderColor} !important;
@@ -73,19 +73,19 @@ function colorThemeToCss(colorTheme) {
border-left: 1px solid ${colorTheme.borderColor} !important;
border-right: 1px solid ${colorTheme.borderColor} !important;
}
- ul.autocomplete-items > li {
+ ul.autocomplete-items > li {
border-bottom: 1px solid ${colorTheme.borderColor} !important;
}
- ul.autocomplete-items > li:hover {
+ ul.autocomplete-items > li:hover {
background-color: ${colorTheme.highlightedLineColor} !important;
}
- ul.autocomplete-items > li.highlighted {
+ ul.autocomplete-items > li.highlighted {
background-color: ${colorTheme.highlightedLineColor} !important;
}
.source-code-snippet {
color: ${colorTheme.defaultColor} !important;
border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
+ }
.source-code-snippet:hover {
background-color: ${colorTheme.highlightedLineColor} !important;
}
@@ -94,7 +94,7 @@ function colorThemeToCss(colorTheme) {
border-top: 1px solid ${colorTheme.borderColor} !important;
}
.bottom-panel-header {
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
+ border-bottom: 1px solid ${colorTheme.borderColor} !important;
}
.paginated-list-header {
border-bottom: 1px solid ${colorTheme.borderColor} !important;
@@ -118,7 +118,7 @@ function colorThemeToCss(colorTheme) {
}
.references-packages {
border-right:1px solid ${colorTheme.borderColor} !important;
- }`;
+ }`;
return css;
}
@@ -150,14 +150,14 @@ const lightTheme = {
name: "Light theme",
description: "Light theme (Github based)",
defaultColor: "#24292e",
- backgroundColor: "#ffffff",
+ backgroundColor: "#ffffff",
typeColor: "#005cc5",
literalColor: "#032f62",
topLevelIdFromCurrentModule : "#6f42c1",
localIdentifierColor: ["#005C31",
"#2BCE48","#808080","#8F7C00",
"#C20088","#FFA405","#ffa8bb","#426600","#FF0010",
- "#09d7d8","#00998F","#990000","#FF5005"],
+ "#09d7d8","#00998F","#990000","#FF5005"],
menuColor: "#f2f4f8",
menuLinkColor : "#24292e",
infoWindowColor: "#f2f4f8",
@@ -171,7 +171,7 @@ function updateColorThemeCss (colorTheme) {
const newStyle = document.createElement('style');
newStyle.type = 'text/css';
newStyle.innerHTML = colorThemeToCss(colorTheme);
- newStyle.id = 'color-theme';
+ newStyle.id = 'color-theme';
const oldStyle = document.querySelector("style#color-theme");
if(oldStyle) {
oldStyle.parentElement.removeChild(oldStyle);
@@ -186,6 +186,6 @@ const themes = {
export {
updateColorThemeCss,
- colorThemeToCss,
- themes
+ colorThemeToCss,
+ themes
}
diff --git a/javascript/app/utils/go-to-definition.js b/javascript/app/utils/go-to-definition.js
index 6eac9c3..59b5dba 100644
--- a/javascript/app/utils/go-to-definition.js
+++ b/javascript/app/utils/go-to-definition.js
@@ -25,10 +25,10 @@ function openUrl(buttonId,url) {
return false;
}
-function saveCurrentLocation(currentLineNumber) {
+function saveCurrentLocation(currentLineNumber) {
if(currentLineNumber) {
- const url = window.location.origin + window.location.pathname + "#L" + currentLineNumber;
- if(location.href != url) {
+ const url = window.location.origin + window.location.pathname + "#L" + currentLineNumber;
+ if(location.href != url) {
window.location.hash = "#L" + currentLineNumber;
}
}
@@ -43,7 +43,7 @@ function goToDefinition(store,locationInfo,buttonId,currentLineNumber) {
openUrl(buttonId,url);
} else if((locationInfo.tag === "ApproximateLocation") &&
(locationInfo.moduleName.indexOf("Paths_") !== 0)) {
- const packageId = locationInfo.packageId.name+"-"+locationInfo.packageId.version;
+ const packageId = locationInfo.packageId.name+"-"+locationInfo.packageId.version;
if(locationInfo.entity === "Mod") {
store.loadDefinitionSite(packageId,
locationInfo.moduleName,
@@ -55,7 +55,7 @@ function goToDefinition(store,locationInfo,buttonId,currentLineNumber) {
openUrl(buttonId,"/package/" + packageId + "/show/" + defSite.location.modulePath);
}).catch(() => {
openUrl(buttonId,hackageUrl(packageId,locationInfo));
- });
+ });
} else {
store.loadDefinitionSite(packageId,
locationInfo.moduleName,
@@ -78,10 +78,10 @@ function goToDefinition(store,locationInfo,buttonId,currentLineNumber) {
saveCurrentLocation(currentLineNumber);
openUrl(buttonId,hackageUrl(packageId,locationInfo));
});
- }
+ }
} else {
alert('No location info');
- }
+ }
}
export {
diff --git a/javascript/app/utils/language-extensions.js b/javascript/app/utils/language-extensions.js
index bee90b6..f5e8b41 100644
--- a/javascript/app/utils/language-extensions.js
+++ b/javascript/app/utils/language-extensions.js
@@ -198,7 +198,7 @@ const extensions = {
"InterruptibleFFI": {
"description": "Enable interruptible FFI.",
"link": "https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#interruptible-foreign-calls"
- },
+ },
"KindSignatures": {
"description": "Allow an explicit kind signature giving the kind of types over which a type variable ranges.",
"link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XKindSignatures"
@@ -314,7 +314,7 @@ const extensions = {
"PatternGuards": {
"description": "Enable a form of guard which matches a pattern and binds variables.",
"link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternGuards"
- },
+ },
"PatternSynonyms": {
"description": "Allow giving names to and abstracting over patterns.",
"link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternSynonyms"
@@ -322,7 +322,7 @@ const extensions = {
"PolyKinds": {
"description": "Enable kind polymorphism.",
"link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPolyKinds"
- },
+ },
"PostfixOperators": {
"description": "Relax the interpretation of left operator sections to allow unary postfix operators.",
"link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPostfixOperators"
@@ -394,7 +394,7 @@ const extensions = {
"StarIsType": {
"description": "Have * refer to Type.",
"link":"https://ghc.haskell.org/trac/ghc/wiki/Migration/8.6#StarIsType"
-
+
},
"StaticPointers": {
"description": "Enable support for 'static pointers' (and the static keyword) to refer to globally stable names, even across different programs.",
@@ -497,7 +497,7 @@ const extensions = {
const regexp = new RegExp(Object.keys(extensions).join("|"),"g");
-function addLinksToLanguageExtensionsDocs(string) {
+function addLinksToLanguageExtensionsDocs(string) {
return string.replace(regexp, function(match) {
const extension = extensions[match];
if(extensions) {
diff --git a/javascript/app/utils/line-selection.js b/javascript/app/utils/line-selection.js
index d6d0976..d2e55e3 100644
--- a/javascript/app/utils/line-selection.js
+++ b/javascript/app/utils/line-selection.js
@@ -6,7 +6,7 @@ function initializeLineSelection(sourceCodeContainerElement,component) {
}
window.addEventListener("hashchange",onhashchange);
component._onhashchange = onhashchange;
-
+
let shiftPressed;
const onkeydown = function (event) {
if(event.keyCode === 16) { shiftPressed = true; }
@@ -14,12 +14,12 @@ function initializeLineSelection(sourceCodeContainerElement,component) {
const onkeyup = function (event) {
if(event.keyCode === 16) { shiftPressed = false; }
};
-
+
document.addEventListener('keydown',onkeydown);
document.addEventListener('keyup',onkeyup);
component._onkeydown = onkeydown;
component._onkeyup = onkeyup;
-
+
let selectedLine1,selectedLine2;
lineNumbers.forEach((lineNumberElement) => {
lineNumberElement.onclick = function() {
@@ -35,7 +35,7 @@ function initializeLineSelection(sourceCodeContainerElement,component) {
window.location.hash = "L"+selectedLine2+"-L"+selectedLine1;
}
}
- } else {
+ } else {
selectedLine1 = number;
selectedLine2 = null;
highlightLines(sourceCodeContainerElement,selectedLine1,selectedLine1);
@@ -43,11 +43,11 @@ function initializeLineSelection(sourceCodeContainerElement,component) {
}
}
});
- const lines = highlightSelectedLines(sourceCodeContainerElement);
+ const lines = highlightSelectedLines(sourceCodeContainerElement);
if(lines.length) {
selectedLine1 = lines[0];
selectedLine2 = lines[1];
- }
+ }
}
}
@@ -85,18 +85,18 @@ function highlightSelectedLines (sourceCodeContainerElement) {
function scrollLineIntoView(lineElement,sourceCodeContainerElement) {
lineElement.parentNode.scrollIntoView();
- const container = sourceCodeContainerElement.parentNode.parentNode;
+ const container = sourceCodeContainerElement.parentNode.parentNode;
const windowHeight = container.offsetHeight;
const fullHeight = sourceCodeContainerElement.offsetHeight;
- if(fullHeight - container.scrollTop > windowHeight) {
+ if(fullHeight - container.scrollTop > windowHeight) {
container.scrollTop = container.scrollTop - (windowHeight/2 - 20);
}
}
-function highlightLines(parentElement,startLine,endLine) {
+function highlightLines(parentElement,startLine,endLine) {
const lineElements = Array.prototype.slice.call(parentElement.querySelectorAll("td.line-content"));
- lineElements.forEach((lineElement) => {
+ lineElements.forEach((lineElement) => {
const number = parseInt(lineElement.id.substring(2)); //<td "id"="LC10">...</td>
if(number >= startLine && number <= endLine) {
lineElement.classList.add('highlighted-line');
diff --git a/javascript/config/environment.js b/javascript/config/environment.js
index a3772a5..250c03f 100644
--- a/javascript/config/environment.js
+++ b/javascript/config/environment.js
@@ -19,7 +19,7 @@ module.exports = function(environment) {
},
pace: {
theme: 'minimal',
- color: 'silver',
+ color: 'silver',
target: 'body',
elements: {
checkInterval: 100,
diff --git a/javascript/ember-cli-build.js b/javascript/ember-cli-build.js
index 0178882..8a2f7bc 100644
--- a/javascript/ember-cli-build.js
+++ b/javascript/ember-cli-build.js
@@ -12,7 +12,7 @@ module.exports = function(defaults) {
includePolyfill: true
}
});
- app.import('vendor/jquery-ui-1.12.1.custom/jquery-ui.min.js')// only draggable and resizable
+ app.import('vendor/jquery-ui-1.12.1.custom/jquery-ui.min.js')// only draggable and resizable
app.import('vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css')
app.import('node_modules/jstree/dist/jstree.min.js');
app.import('node_modules/jstree/dist/themes/default/style.min.css');
diff --git a/javascript/server/index.js b/javascript/server/index.js
index eadf932..330a75c 100644
--- a/javascript/server/index.js
+++ b/javascript/server/index.js
@@ -16,7 +16,7 @@ function usingProxy() {
module.exports = function(app) {
if (usingProxy()) { return; }
-
+
const globSync = require('glob').sync;
const mocks = globSync('./mocks/**/*.js', { cwd: __dirname }).map(require);
const proxies = globSync('./proxies/**/*.js', { cwd: __dirname }).map(require);
diff --git a/javascript/server/mocks/packages.js b/javascript/server/mocks/packages.js
index 5da80b2..0a60cf3 100644
--- a/javascript/server/mocks/packages.js
+++ b/javascript/server/mocks/packages.js
@@ -380,15 +380,15 @@ const testModuleInfo = {
module.exports = function(app) {
const express = require('express');
let packagesRouter = express.Router();
-
- packagesRouter.get('/api/packages', function(req, res) {
+
+ packagesRouter.get('/api/packages', function(req, res) {
res.send(packages);
- });
-
+ });
+
packagesRouter.get('/files/test-package-0.1.0.0/.haskell-code-explorer/packageInfo.json', function(req, res) {
res.send(testPackage);
});
-
+
packagesRouter.get('/files/test-package-0.1.0.0/.haskell-code-explorer/app%252FMain.hs.json', function(req, res) {
res.send(testModuleInfo);
});
diff --git a/javascript/testem.js b/javascript/testem.js
index d7710c2..d406673 100644
--- a/javascript/testem.js
+++ b/javascript/testem.js
@@ -5,7 +5,7 @@ module.exports = {
launch_in_ci: [
'Chrome'
],
- launch_in_dev: [
+ launch_in_dev: [
'Chrome'
],
browser_args: {
diff --git a/javascript/tests/acceptance/haskell-module-test.js b/javascript/tests/acceptance/haskell-module-test.js
index 939c0dd..4eab15d 100644
--- a/javascript/tests/acceptance/haskell-module-test.js
+++ b/javascript/tests/acceptance/haskell-module-test.js
@@ -5,17 +5,17 @@ import { setupApplicationTest } from 'ember-qunit';
module('Acceptance | haskell-module', function(hooks) {
setupApplicationTest(hooks);
-
+
//Test data is in 'server/mocks/packages.js'
test('visiting /package/test-package-0.1.0.0/show/app/Main.hs', async function(assert) {
await visit('/package/test-package-0.1.0.0/show/app/Main.hs');
-
+
assert.equal(currentURL(), '/package/test-package-0.1.0.0/show/app/Main.hs');
-
+
const lines = Array.from(find('tbody').children).map((tr) => {
return tr.children[1].innerText;
});
-
+
assert.deepEqual(lines,["module Main where",
"",
"import Lib",
diff --git a/javascript/tests/acceptance/package-test.js b/javascript/tests/acceptance/package-test.js
index bdb1fef..09b73f2 100644
--- a/javascript/tests/acceptance/package-test.js
+++ b/javascript/tests/acceptance/package-test.js
@@ -5,16 +5,16 @@ import { setupApplicationTest } from 'ember-qunit';
module('Acceptance | package', function(hooks) {
setupApplicationTest(hooks);
-
+
//Test data is in 'server/mocks/packages.js'
test('visiting /package/test-package-0.1.0.0', async function(assert) {
await visit('/package/test-package-0.1.0.0');
assert.equal(currentURL(), '/package/test-package-0.1.0.0');
-
+
const moduleNames = Array.from(find('ul.modules').children).map((li) => {
return [li.innerText,li.children[0].getAttribute('href')];
- });
-
+ });
+
assert.deepEqual(moduleNames,[["app/Main.hs","/package/test-package-0.1.0.0/show/app/Main.hs"],
["src/Lib.hs","/package/test-package-0.1.0.0/show/src/Lib.hs"],
["src/Types.hs","/package/test-package-0.1.0.0/show/src/Types.hs"],
diff --git a/javascript/tests/acceptance/packages-test.js b/javascript/tests/acceptance/packages-test.js
index 4c970b1..106e16a 100644
--- a/javascript/tests/acceptance/packages-test.js
+++ b/javascript/tests/acceptance/packages-test.js
@@ -4,7 +4,7 @@ import { setupApplicationTest } from 'ember-qunit';
module('Acceptance | packages', function(hooks) {
setupApplicationTest(hooks);
-
+
//Test data is in file 'server/mocks/packages.js'
test('visiting /', async function(assert) {
await visit('/');
diff --git a/javascript/tests/index.html b/javascript/tests/index.html
index 19f55cc..06bfc02 100644
--- a/javascript/tests/index.html
+++ b/javascript/tests/index.html
@@ -25,7 +25,7 @@
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/test-support.js"></script>
<script src="{{rootURL}}assets/haskell-code-explorer.js"></script>
- <script src="{{rootURL}}assets/tests.js"></script>
+ <script src="{{rootURL}}assets/tests.js"></script>
{{content-for "body-footer"}}
{{content-for "test-body-footer"}}
diff --git a/src/HaskellCodeExplorer/AST/RenamedSource.hs b/src/HaskellCodeExplorer/AST/RenamedSource.hs
index 68aeddb..1f42874 100644
--- a/src/HaskellCodeExplorer/AST/RenamedSource.hs
+++ b/src/HaskellCodeExplorer/AST/RenamedSource.hs
@@ -21,7 +21,7 @@ import GHC
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
#else
, DataFamInstDecl(..)
-#endif
+#endif
, FamilyDecl(..)
, FieldOcc(..)
, FixitySig(..)
@@ -33,7 +33,7 @@ import GHC
, HsPatSynDetails
#else
, HsPatSynDetails(..)
-#endif
+#endif
, HsRecField'(..)
, HsTupleSort(..)
, HsTyLit(..)
@@ -43,7 +43,7 @@ import GHC
, IE(..)
, LHsBindLR
, LHsExpr
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
#else
, LHsQTyVars(..)
#endif
@@ -52,7 +52,7 @@ import GHC
, LSig
, LTyClDecl
, Located
- , HsBracket(..)
+ , HsBracket(..)
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
, HsMatchContext(..)
, Match(..)
@@ -83,7 +83,7 @@ import HsExtension (GhcRn)
import HaskellCodeExplorer.GhcUtils (hsPatSynDetails, ieLocNames)
import Prelude hiding (span)
import TysWiredIn
- ( nilDataConName
+ ( nilDataConName
, tupleTyConName
, typeNatKind
, typeSymbolKind
@@ -97,7 +97,7 @@ import SrcLoc
, srcLocFile
, srcLocLine
, SrcSpan(..)
- )
+ )
data NameOccurrence
= NameOccurrence { locatedName :: Located (Maybe Name)
, description :: T.Text
@@ -125,7 +125,7 @@ namesFromRenamedSource =
tyFamilyEqNames `extQ`
tyFamilyDefEqNames `extQ`
dataFamInstDeclNames `extQ`
-#endif
+#endif
conDeclNames `extQ`
importNames `extQ`
hsTyVarBndrNames `extQ`
@@ -159,18 +159,18 @@ fieldOccName isBinder (FieldOcc (L span _) name) =
conDeclFieldNames :: ConDeclField GhcRn -> [NameOccurrence]
#else
conDeclFieldNames :: ConDeclField Name -> [NameOccurrence]
-#endif
+#endif
conDeclFieldNames ConDeclField {..} =
map (fieldOccName True . unLoc) cd_fld_names
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-conDeclFieldNames _ = []
-#endif
+conDeclFieldNames _ = []
+#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
hsRecFieldExprNames :: HsRecField' (FieldOcc GhcRn) (LHsExpr GhcRn) -> [NameOccurrence]
#else
hsRecFieldExprNames :: HsRecField' (FieldOcc Name) (LHsExpr Name) -> [NameOccurrence]
-#endif
+#endif
hsRecFieldExprNames HsRecField {..} = [fieldOccName False $ unLoc hsRecFieldLbl]
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
@@ -182,19 +182,19 @@ hsRecAmbFieldExprNames HsRecField {..} =
let (L span recField) = hsRecFieldLbl
mbName =
case recField of
- Ambiguous _ _ -> Nothing
+ Ambiguous _ _ -> Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,6,3,0)
Unambiguous name _ -> Just name
_ -> Nothing
#else
Unambiguous _ name -> Just name
-#endif
+#endif
in [ NameOccurrence
{ locatedName = L span mbName
, description = "AmbiguousFieldOcc"
, isBinder = False
}
- ]
+ ]
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
hsRecFieldPatNames :: HsRecField' (FieldOcc GhcRn) (LPat GhcRn) -> [NameOccurrence]
@@ -261,7 +261,7 @@ hsExprNames (L _span (HsRecFld (Ambiguous (L span _) _name))) =
, isBinder = False
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
hsExprNames (L span (HsRnBracketOut _ (VarBr _ quote name) _)) =
#else
hsExprNames (L span (HsRnBracketOut (VarBr quote name) _)) =
@@ -292,20 +292,20 @@ hsExprNames _ = []
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
matchGroupNames :: MatchGroup GhcRn (LHsExpr GhcRn) -> [NameOccurrence]
#else
-matchGroupNames :: MatchGroup Name (LHsExpr Name) -> [NameOccurrence]
+matchGroupNames :: MatchGroup Name (LHsExpr Name) -> [NameOccurrence]
#endif
matchGroupNames =
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
mapMaybe (fmap toNameOcc . matchContextName . m_ctxt . unLoc) .
#else
mapMaybe (fmap toNameOcc . matchFixityName . m_fixity . unLoc) .
#endif
unLoc . mg_alts
where
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
--matchContextName :: HsMatchContext Name -> Maybe (Located Name)
matchContextName (FunRhs name _ _bool) = Just name
- matchContextName _ = Nothing
+ matchContextName _ = Nothing
#else
--matchFixityName :: MatchFixity Name -> Maybe (Located Name)
matchFixityName NonFunBindMatch = Nothing
@@ -314,7 +314,7 @@ matchGroupNames =
--toNameOcc :: Located Name -> NameOccurrence
toNameOcc n =
NameOccurrence
- {locatedName = Just <$> n, description = "Match", isBinder = True}
+ {locatedName = Just <$> n, description = "Match", isBinder = True}
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
bindNames :: LHsBindLR GhcRn GhcRn -> [NameOccurrence]
@@ -384,7 +384,7 @@ patNames (L _span (ConPatIn name _)) =
, isBinder = False
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
patNames (L _span (AsPat _ name _)) =
#else
patNames (L _span (AsPat name _)) =
@@ -395,7 +395,7 @@ patNames (L _span (AsPat name _)) =
, isBinder = True
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
patNames (L _span (NPlusKPat _ name _ _ _ _)) =
#else
patNames (L _span (NPlusKPat name _ _ _ _ _)) =
@@ -428,9 +428,9 @@ sigNames (L _span (TypeSig names _)) =
, isBinder = False
})
names
-
+
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-sigNames (L _span (PatSynSig _ names _)) = map (\name -> NameOccurrence (Just <$> name) "PatSynSig" False) names
+sigNames (L _span (PatSynSig _ names _)) = map (\name -> NameOccurrence (Just <$> name) "PatSynSig" False) names
#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
sigNames (L _span (PatSynSig names _)) = map (\name -> NameOccurrence (Just <$> name) "PatSynSig" False) names
#else
@@ -490,7 +490,7 @@ sigNames (L _span (SpecSig name _ _)) =
, isBinder = False
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
sigNames (L _span (MinimalSig _ _ (L _ boolFormula))) =
#else
sigNames (L _span (MinimalSig _ (L _ boolFormula))) =
@@ -516,9 +516,9 @@ sigNames (L _ _) = []
hsTypeNames :: LHsType GhcRn -> [NameOccurrence]
#else
hsTypeNames :: LHsType Name -> [NameOccurrence]
-#endif
+#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-hsTypeNames (L _span (HsTyVar _ _promoted name)) =
+hsTypeNames (L _span (HsTyVar _ _promoted name)) =
#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
hsTypeNames (L _span (HsTyVar _promoted name)) =
#else
@@ -530,7 +530,7 @@ hsTypeNames (L _span (HsTyVar name)) =
, isBinder = False
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
hsTypeNames (L span (HsTyLit _ lit)) =
#else
hsTypeNames (L span (HsTyLit lit)) =
@@ -545,7 +545,7 @@ hsTypeNames (L span (HsTyLit lit)) =
, kind = kind
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
hsTypeNames (L _span (HsOpTy _ _ name _)) =
#else
hsTypeNames (L _span (HsOpTy _ name _)) =
@@ -556,7 +556,7 @@ hsTypeNames (L _span (HsOpTy _ name _)) =
, isBinder = False
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
hsTypeNames (L span (HsTupleTy _ tupleSort types))
#else
hsTypeNames (L span (HsTupleTy tupleSort types))
@@ -575,7 +575,7 @@ hsTypeNames (L span (HsTupleTy tupleSort types))
}
]
| otherwise = []
---https://ghc.haskell.org/trac/ghc/ticket/13737
+--https://ghc.haskell.org/trac/ghc/ticket/13737
--hsTypeNames (L span (HsExplicitListTy _kind types)) = ...
--hsTypeNames (L span (HsExplicitTupleTy _kind types)) = ...
hsTypeNames _ = []
@@ -586,18 +586,18 @@ hsTyVarBndrNames :: HsTyVarBndr GhcRn -> [NameOccurrence]
#else
hsTyVarBndrNames :: HsTyVarBndr Name -> [NameOccurrence]
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
hsTyVarBndrNames (UserTyVar _ n) =
#else
hsTyVarBndrNames (UserTyVar n) =
-#endif
+#endif
[ NameOccurrence
{ locatedName = Just <$> n
, description = "UserTyVar"
, isBinder = True
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
hsTyVarBndrNames (KindedTyVar _ n _) =
#else
hsTyVarBndrNames (KindedTyVar n _) =
@@ -610,14 +610,14 @@ hsTyVarBndrNames (KindedTyVar n _) =
]
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
hsTyVarBndrNames _ = []
-#endif
-
+#endif
+
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
tyClDeclNames :: LTyClDecl GhcRn -> [NameOccurrence]
#else
tyClDeclNames :: LTyClDecl Name -> [NameOccurrence]
-#endif
+#endif
tyClDeclNames (L _span DataDecl {..}) =
[ NameOccurrence
{ locatedName = Just <$> tcdLName
@@ -692,7 +692,7 @@ dataEqNames FamEqn {feqn_tycon = tyCon} =
dataEqNames _ = []
#endif
-#else
+#else
tyFamilyEqNames :: TyFamEqn Name (HsTyPats Name) -> [NameOccurrence]
tyFamilyEqNames TyFamEqn {tfe_tycon = tyCon} =
[ NameOccurrence
@@ -744,7 +744,7 @@ conDeclNames con =
, isBinder = True
}
]
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
_ -> []
#endif
@@ -752,7 +752,7 @@ conDeclNames con =
foreignDeclNames :: ForeignDecl GhcRn -> [NameOccurrence]
#else
foreignDeclNames :: ForeignDecl Name -> [NameOccurrence]
-#endif
+#endif
foreignDeclNames decl =
[ NameOccurrence
{ locatedName = Just <$> fd_name decl
@@ -766,7 +766,7 @@ roleAnnotationNames :: RoleAnnotDecl GhcRn -> [NameOccurrence]
#else
roleAnnotationNames :: RoleAnnotDecl Name -> [NameOccurrence]
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
roleAnnotationNames (RoleAnnotDecl _ n _) =
#else
roleAnnotationNames (RoleAnnotDecl n _) =
@@ -796,4 +796,4 @@ injectivityAnnotationNames (InjectivityAnn lhsName rhsNames) =
, description = "InjectivityAnn"
, isBinder = False
}
-
+
diff --git a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs
index 50ab061..4321469 100644
--- a/src/HaskellCodeExplorer/AST/TypecheckedSource.hs
+++ b/src/HaskellCodeExplorer/AST/TypecheckedSource.hs
@@ -92,7 +92,7 @@ import HsSyn
, ListPatTc (..)
, OverLitTc (..)
, MatchGroupTc (..)
- , NHsValBindsLR (..)
+ , NHsValBindsLR (..)
#endif
)
import HscTypes (TypeEnv, lookupTypeEnv)
@@ -119,7 +119,7 @@ import Type
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
, nonDetCmpTypes
#else
- , cmpTypes
+ , cmpTypes
#endif
, eqTypes
, eqType
@@ -202,10 +202,10 @@ exprSort (ExplicitTuple _ args _)
exprSort (ExplicitTuple args _)
#endif
| null args = Simple
- | otherwise = Composite
-exprSort (ExplicitList _ _ args)
+ | otherwise = Composite
+exprSort (ExplicitList _ _ args)
| null args = Simple
- | otherwise = Composite
+ | otherwise = Composite
exprSort _ = Composite
@@ -220,7 +220,7 @@ patSort (ListPat pats _ _)
#endif
| null pats = Simple
| otherwise = Composite
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
patSort (TuplePat _ pats _)
#else
patSort (TuplePat pats _ _)
@@ -247,7 +247,7 @@ splitFunTySafe srcSpan astNode typ =
modify'
(\st -> st {astStateTypeErrors = typeError : astStateTypeErrors st})
return Nothing
-
+
-- | Splits a type of a function of two arguments, adds
-- 'TypeError' to 'ASTState' in case of a failure.
splitFunTy2Safe ::
@@ -261,7 +261,7 @@ splitFunTy2Safe srcSpan astNode typ = do
Just (arg2, ty2) -> return $ Just (arg1, arg2, ty2)
Nothing -> return Nothing
Nothing -> return Nothing
-
+
-- | Returns result type of a function, adds 'TypeError' to
-- 'ASTState' in case of a failure.
funResultTySafe :: SrcSpan -> T.Text -> Type -> State ASTState (Maybe Type)
@@ -313,7 +313,7 @@ addExprInfo span mbType descr sort = do
, isBinder = False
, instanceResolution = Nothing
, idOccType =
- case mbHsWrapper of
+ case mbHsWrapper of
Just w -> mkType flags <$> (applyWrapper w <$> mbType)
Nothing -> mkType flags <$> mbType
, typeArguments = Nothing
@@ -380,7 +380,7 @@ instance Ord InstTypes where
compare (InstTypes ts1) (InstTypes ts2) = cmpTypes ts1 ts2
#endif
--- | Creates an instance resolution tree
+-- | Creates an instance resolution tree
traceInstanceResolution ::
Environment
-> Class
@@ -398,7 +398,7 @@ traceInstanceResolution environment c ts = go c ts S.empty
(take clsTyVarCount types) of
Right (inst, instTypes) ->
-- A successful match is a ClsInst, together with the types at which
- -- the dfun_id in the ClsInst should be instantiated
+ -- the dfun_id in the ClsInst should be instantiated
let instWithTypes = (is_dfun_name inst, InstTypes instTypes)
in if not $ S.member instWithTypes seenInstances
then let (typeVars, predTypes, _class, _types) =
@@ -481,8 +481,8 @@ mkIdentifierInfo environment identifier mbNameFromRenamedSource =
[ HCE.packageIdToText currentPackageId
, HCE.getHaskellModuleName moduleName
, case nameSpace of
- HCE.VarName -> T.pack $ show HCE.Val
- HCE.DataName -> T.pack $ show HCE.Val
+ HCE.VarName -> T.pack $ show HCE.Val
+ HCE.DataName -> T.pack $ show HCE.Val
_ -> T.pack $ show HCE.Typ
, nameToText name
]
@@ -493,7 +493,7 @@ mkIdentifierInfo environment identifier mbNameFromRenamedSource =
"|"
[ HCE.packageIdToText packageId
, HCE.getHaskellModuleName moduleName
- , T.pack $ show entity
+ , T.pack $ show entity
, n
]
_ -> Nothing
@@ -546,7 +546,7 @@ restoreHsWrapper action = do
wrapper <- astStateHsWrapper <$> get
res <- action
modify' $ \s -> s {astStateHsWrapper = wrapper}
- return res
+ return res
tidyIdentifier :: Id -> State ASTState (Id, Maybe (Type, [Type]))
tidyIdentifier identifier = do
@@ -575,7 +575,7 @@ tidyType typ = do
modify' (\s -> s {astStateTidyEnv = tidyEnv'})
return typ'
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldTypecheckedSource :: LHsBinds GhcTc -> State ASTState ()
#else
foldTypecheckedSource :: LHsBinds Id -> State ASTState ()
@@ -633,7 +633,7 @@ foldLHsExpr (L span (HsOverLit OverLit {ol_type})) =
then Simple
else Composite)
return $ Just typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span (HsLit _ lit)) =
#else
foldLHsExpr (L span (HsLit lit)) =
@@ -672,14 +672,14 @@ foldLHsExpr (L span expr@(HsLamCase _typ MG {..})) =
addExprInfo span (Just typ) "HsLamCase" (exprSort expr)
mapM_ foldLMatch $ unLoc mg_alts
return $ Just typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span expr@(HsApp _ fun arg)) = do
#else
foldLHsExpr (L span expr@(HsApp fun arg)) = do
#endif
funTy <- foldLHsExpr fun
_argTy <- foldLHsExpr arg
- typ <- maybe (return Nothing) (funResultTySafe span "HsApp") funTy
+ typ <- maybe (return Nothing) (funResultTySafe span "HsApp") funTy
addExprInfo span typ "HsApp" (exprSort expr)
return typ
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
@@ -691,18 +691,18 @@ foldLHsExpr (L span ex@(HsAppTypeOut expr _)) = do
typ <- foldLHsExpr expr
addExprInfo span typ "HsAppType" (exprSort ex)
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span expr@(OpApp _ left op right)) = do
#else
foldLHsExpr (L span expr@(OpApp left op _fixity right)) = do
#endif
opTyp <- foldLHsExpr op
- typ <- maybe (return Nothing) (funResultTy2Safe span "HsApp") opTyp
+ typ <- maybe (return Nothing) (funResultTy2Safe span "HsApp") opTyp
_ <- foldLHsExpr left
_ <- foldLHsExpr right
addExprInfo span typ "OpApp" (exprSort expr)
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span e@(NegApp _ expr _syntaxExp)) = do
#else
foldLHsExpr (L span e@(NegApp expr _syntaxExp)) = do
@@ -710,7 +710,7 @@ foldLHsExpr (L span e@(NegApp expr _syntaxExp)) = do
typ <- foldLHsExpr expr
addExprInfo span typ "NegApp" (exprSort e)
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L _span (HsPar _ expr)) = foldLHsExpr expr
#else
foldLHsExpr (L _span (HsPar expr)) = foldLHsExpr expr
@@ -722,7 +722,7 @@ foldLHsExpr (L span expr@(SectionL operand operator)) = do
#endif
opType <- foldLHsExpr operator
_ <- foldLHsExpr operand
- mbTypes <- maybe (return Nothing) (splitFunTy2Safe span "SectionL") opType
+ mbTypes <- maybe (return Nothing) (splitFunTy2Safe span "SectionL") opType
let typ =
case mbTypes of
Just (_arg1, arg2, res) -> Just $ mkFunTy arg2 res
@@ -736,7 +736,7 @@ foldLHsExpr (L span e@(SectionR operator operand)) = do
#endif
opType <- foldLHsExpr operator
_ <- foldLHsExpr operand
- mbTypes <- maybe (return Nothing) (splitFunTy2Safe span "SectionR") opType
+ mbTypes <- maybe (return Nothing) (splitFunTy2Safe span "SectionR") opType
let typ =
case mbTypes of
Just (arg1, _arg2, res) -> Just $ mkFunTy arg1 res
@@ -769,7 +769,7 @@ foldLHsExpr (L _span (ExplicitSum _ _ expr _types)) = do
#endif
-- TODO
_ <- foldLHsExpr expr
- return Nothing
+ return Nothing
#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span e@(HsCase _ expr (MG (MatchGroupTc {..}) mg_alts _))) =
@@ -798,7 +798,7 @@ foldLHsExpr (L span e@(HsMultiIf typ grhss)) =
addExprInfo span (Just typ') "HsMultiIf" (exprSort e)
mapM_ foldLGRHS grhss
return $ Just typ'
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span e@(HsLet _ (L _ binds) expr)) = do
#else
foldLHsExpr (L span e@(HsLet (L _ binds) expr)) = do
@@ -807,7 +807,7 @@ foldLHsExpr (L span e@(HsLet (L _ binds) expr)) = do
typ <- foldLHsExpr expr
addExprInfo span typ "HsLet" (exprSort e)
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span expr@(HsDo typ _context (L _ stmts))) =
#else
foldLHsExpr (L span expr@(HsDo _context (L _ stmts) typ)) =
@@ -843,12 +843,12 @@ foldLHsExpr (L span e@(RecordCon (L _ _) _conLike conExpr binds)) = do
addExprInfo span mbConType "RecordCon" (exprSort e)
_ <- foldHsRecFields binds
return mbConType
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span e@(RecordUpd (RecordUpdTc cons _inputTys outTys _wrapper) expr binds)) =
#else
foldLHsExpr (L span e@(RecordUpd expr binds cons _inputTys outTys _wrapper)) =
#endif
- restoreTidyEnv $ do
+ restoreTidyEnv $ do
-- cons is a non-empty list of DataCons that have all the upd'd fields
let typ = conLikeResTy (head cons) outTys
typ' <- tidyType typ
@@ -879,7 +879,7 @@ foldLHsExpr (L span e@(ArithSeq postTcExpr _mbSyntaxExpr seqInfo)) = do
addExprInfo span typ "ArithSeq" (exprSort e)
return typ
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-#else
+#else
foldLHsExpr (L span e@(PArrSeq postTcExpr _seqInfo)) = do
typ <- foldLHsExpr (L (UnhelpfulSpan $ mkFastString "PArrSeq") postTcExpr)
addExprInfo span typ "ArithSeq" (exprSort e)
@@ -914,7 +914,7 @@ foldLHsExpr (L span expr@(HsProc pat cmd)) = do
_ <- foldLHsCmdTop cmd
addExprInfo span Nothing "HsProc" (exprSort expr)
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
foldLHsExpr (L span e@(HsStatic _ expr)) = do
#else
foldLHsExpr (L span e@(HsStatic expr)) = do
@@ -932,7 +932,7 @@ foldLHsExpr (L span e@(HsTick _ expr)) = do
typ <- foldLHsExpr expr
addExprInfo span typ "HsTick" (exprSort e)
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span e@(HsBinTick _ _ _ expr)) = do
#else
foldLHsExpr (L span e@(HsBinTick _ _ expr)) = do
@@ -940,7 +940,7 @@ foldLHsExpr (L span e@(HsBinTick _ _ expr)) = do
typ <- foldLHsExpr expr
addExprInfo span typ "HsBinTick" (exprSort e)
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsExpr (L span e@(HsTickPragma _ _ _ _ expr)) = do
#else
foldLHsExpr (L span e@(HsTickPragma _ _ _ expr)) = do
@@ -962,7 +962,7 @@ foldLHsExpr (L span (HsWrap wrapper expr)) =
Simple -> modify' (\s -> s {astStateHsWrapper = Just wrapper})
Composite -> return () -- Not sure if it is possible
typ <- foldLHsExpr (L span expr)
- return $ applyWrapper wrapper <$> typ
+ return $ applyWrapper wrapper <$> typ
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldHsRecFields :: HsRecFields GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type)
@@ -977,12 +977,12 @@ foldHsRecFields HsRecFields {..} = do
mapM_ foldLHsRecField $ userWritten rec_flds
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLHsRecField :: LHsRecField GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type)
#else
foldLHsRecField :: LHsRecField Id (LHsExpr Id) -> State ASTState (Maybe Type)
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsRecField (L _span (HsRecField (L _idSpan (XFieldOcc _)) _ _)) = return Nothing
foldLHsRecField (L span (HsRecField (L idSpan (FieldOcc identifier _)) arg pun)) =
#else
@@ -995,7 +995,7 @@ foldLHsRecField (L span (HsRecField (L idSpan (FieldOcc _ identifier)) arg pun))
unless pun $ void (foldLHsExpr arg)
return . Just . varType $ identifier'
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLHsRecUpdField :: LHsRecUpdField GhcTc -> State ASTState (Maybe Type)
#else
foldLHsRecUpdField :: LHsRecUpdField Id -> State ASTState (Maybe Type)
@@ -1023,7 +1023,7 @@ data TupArg
| TupArgMissing
deriving (Show, Eq)
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLHsTupArg :: LHsTupArg GhcTc -> State ASTState (Maybe Type, TupArg)
#else
foldLHsTupArg :: LHsTupArg Id -> State ASTState (Maybe Type, TupArg)
@@ -1056,10 +1056,10 @@ foldLMatch (L _span Match {..}) = do
_ <- foldGRHSs m_grhss
return Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-foldLMatch (L _span _) = return Nothing
+foldLMatch (L _span _) = return Nothing
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLMatchCmd :: LMatch GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type)
#else
foldLMatchCmd :: LMatch Id (LHsCmd Id) -> State ASTState (Maybe Type)
@@ -1069,10 +1069,10 @@ foldLMatchCmd (L _span Match {..}) = do
_ <- foldGRHSsCmd m_grhss
return Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-foldLMatchCmd (L _span _) = return Nothing
+foldLMatchCmd (L _span _) = return Nothing
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldGRHSsCmd :: GRHSs GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type)
#else
foldGRHSsCmd :: GRHSs Id (LHsCmd Id) -> State ASTState (Maybe Type)
@@ -1082,8 +1082,8 @@ foldGRHSsCmd GRHSs {..} = do
_ <- foldHsLocalBindsLR (unLoc grhssLocalBinds)
return Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-foldGRHSsCmd (_) = return Nothing
-#endif
+foldGRHSsCmd (_) = return Nothing
+#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldGRHSs :: GRHSs GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type)
@@ -1095,7 +1095,7 @@ foldGRHSs GRHSs {..} = do
_ <- foldHsLocalBindsLR (unLoc grhssLocalBinds)
return Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-foldGRHSs (_) = return Nothing
+foldGRHSs (_) = return Nothing
#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
@@ -1120,7 +1120,7 @@ foldLStmtLR (L _span (BindStmt pat body _ _ _)) = do
_ <- foldLPat pat
_ <- foldLHsExpr body
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLStmtLR (L span (BodyStmt _ body _ _)) = do
#else
foldLStmtLR (L span (BodyStmt body _ _ _)) = do
@@ -1128,14 +1128,14 @@ foldLStmtLR (L span (BodyStmt body _ _ _)) = do
mbTyp <- foldLHsExpr body
addExprInfo span mbTyp "BodyStmt" Composite
return mbTyp
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLStmtLR (L _ (LetStmt _ (L _ binds))) = do
#else
foldLStmtLR (L _ (LetStmt (L _ binds))) = do
#endif
_ <- foldHsLocalBindsLR binds
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLStmtLR (L _ (ParStmt _ blocks _ _)) = do
#else
foldLStmtLR (L _ (ParStmt blocks _ _ _)) = do
@@ -1143,7 +1143,7 @@ foldLStmtLR (L _ (ParStmt blocks _ _ _)) = do
mapM_ foldParStmtBlock blocks
return Nothing
foldLStmtLR (L _ TransStmt {..}) = do
- mapM_ foldLStmtLR trS_stmts
+ mapM_ foldLStmtLR trS_stmts
_ <- maybe (return Nothing) foldLHsExpr trS_by
_ <- foldLHsExpr trS_using
return Nothing
@@ -1162,7 +1162,7 @@ foldLStmtLR (L span (ApplicativeStmt args _ typ)) =
return Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-foldApplicativeArg :: ApplicativeArg GhcTc -> State ASTState (Maybe Type)
+foldApplicativeArg :: ApplicativeArg GhcTc -> State ASTState (Maybe Type)
#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldApplicativeArg :: ApplicativeArg GhcTc GhcTc -> State ASTState (Maybe Type)
#else
@@ -1183,14 +1183,14 @@ foldApplicativeArg appArg =
_ <- foldLPat pat
_ <- foldLHsExpr expr
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
ApplicativeArgMany _ exprStmts _ pat -> do
#else
ApplicativeArgMany exprStmts _ pat -> do
#endif
mapM_ foldLStmtLR exprStmts
_ <- foldLPat pat
- return Nothing
+ return Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLStmtLRCmd ::
LStmtLR GhcTc GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type)
@@ -1214,7 +1214,7 @@ foldLStmtLRCmd (L _ (BindStmt pat body _ _ _)) = do
_ <- foldLPat pat
_ <- foldLHsCmd body
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLStmtLRCmd (L span (BodyStmt _ body _ _)) = do
#else
foldLStmtLRCmd (L span (BodyStmt body _ _ _)) = do
@@ -1222,14 +1222,14 @@ foldLStmtLRCmd (L span (BodyStmt body _ _ _)) = do
typ <- foldLHsCmd body
addExprInfo span typ "BodyStmt Cmd" Composite
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLStmtLRCmd (L _ (LetStmt _ (L _ binds))) = do
#else
foldLStmtLRCmd (L _ (LetStmt (L _ binds))) = do
#endif
_ <- foldHsLocalBindsLR binds
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLStmtLRCmd (L _ (ParStmt _ blocks _ _)) = do
#else
foldLStmtLRCmd (L _ (ParStmt blocks _ _ _)) = do
@@ -1253,14 +1253,14 @@ foldLStmtLRCmd (L span (ApplicativeStmt args _ typ)) =
typ' <- tidyType typ
mapM_ (foldApplicativeArg . snd) args
addExprInfo span (Just typ') "ApplicativeStmt Cmd" Composite
- return Nothing
+ return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLGRHS :: LGRHS GhcTc (LHsExpr GhcTc) -> State ASTState (Maybe Type)
#else
foldLGRHS :: LGRHS Id (LHsExpr Id) -> State ASTState (Maybe Type)
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLGRHS (L _span (XGRHS _)) = return Nothing
foldLGRHS (L _span (GRHS _ guards body)) = do
#else
@@ -1270,12 +1270,12 @@ foldLGRHS (L _span (GRHS guards body)) = do
mapM_ foldLStmtLR guards
return typ
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLGRHSCmd :: LGRHS GhcTc (LHsCmd GhcTc) -> State ASTState (Maybe Type)
#else
foldLGRHSCmd :: LGRHS Id (LHsCmd Id) -> State ASTState (Maybe Type)
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLGRHSCmd (L _span (XGRHS _)) = return Nothing
foldLGRHSCmd (L _span (GRHS _ guards body)) = do
#else
@@ -1283,14 +1283,14 @@ foldLGRHSCmd (L _span (GRHS guards body)) = do
#endif
typ <- foldLHsCmd body
mapM_ foldLStmtLR guards
- return typ
+ return typ
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldParStmtBlock :: ParStmtBlock GhcTc GhcTc -> State ASTState (Maybe Type)
#else
foldParStmtBlock :: ParStmtBlock Id Id -> State ASTState (Maybe Type)
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldParStmtBlock (XParStmtBlock _) = return Nothing
foldParStmtBlock (ParStmtBlock _ exprStmts _ids _syntaxExpr) = do
#else
@@ -1299,12 +1299,12 @@ foldParStmtBlock (ParStmtBlock exprStmts _ids _syntaxExpr) = do
mapM_ foldLStmtLR exprStmts
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldHsLocalBindsLR :: HsLocalBindsLR GhcTc GhcTc -> State ASTState (Maybe Type)
#else
foldHsLocalBindsLR :: HsLocalBindsLR Id Id -> State ASTState (Maybe Type)
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldHsLocalBindsLR (XHsLocalBindsLR _) = return Nothing
foldHsLocalBindsLR (HsValBinds _ binds) = do
#else
@@ -1315,26 +1315,26 @@ foldHsLocalBindsLR (HsValBinds binds) = do
foldHsLocalBindsLR HsIPBinds {} = return Nothing
foldHsLocalBindsLR EmptyLocalBinds {} = return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldHsValBindsLR :: HsValBindsLR GhcTc GhcTc -> State ASTState (Maybe Type)
#else
foldHsValBindsLR :: HsValBindsLR Id Id -> State ASTState (Maybe Type)
#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-foldHsValBindsLR (ValBinds _ _binds _) = do
+foldHsValBindsLR (ValBinds _ _binds _) = do
return Nothing
foldHsValBindsLR (XValBindsLR (NValBinds binds _)) = do
_ <- mapM_ (foldLHsBindsLR . snd) binds
- return Nothing
-#else
+ return Nothing
+#else
foldHsValBindsLR (ValBindsIn _ _) = return Nothing
foldHsValBindsLR (ValBindsOut binds _) = do
mapM_ (foldLHsBindsLR . snd) binds
return Nothing
-#endif
+#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLHsBindsLR :: LHsBinds GhcTc -> State ASTState ()
#else
foldLHsBindsLR :: LHsBinds Id -> State ASTState ()
@@ -1412,11 +1412,11 @@ foldLHsBindLR (L _ (PatSynBind PSB {..})) _ =
mapM_
(\(RecordPatSynField selId patVar) ->
addId selId >> addId patVar)
- recs
+ recs
#endif
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLPat :: LPat GhcTc -> State ASTState (Maybe Type)
#else
foldLPat :: LPat Id -> State ASTState (Maybe Type)
@@ -1436,7 +1436,7 @@ foldLPat (L span pat@(WildPat typ)) = do
typ' <- tidyType typ
addExprInfo span (Just typ') "WildPat" (patSort pat)
return $ Just typ'
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L span p@(LazyPat _ pat)) = do
#else
foldLPat (L span p@(LazyPat pat)) = do
@@ -1454,12 +1454,12 @@ foldLPat (L span p@(AsPat (L idSpan identifier) pat)) = do
addExprInfo span (Just . varType $ identifier') "AsPat" (patSort p)
_ <- foldLPat pat
return . Just . varType $ identifier'
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L _span (ParPat _ pat)) = foldLPat pat
#else
foldLPat (L _span (ParPat pat)) = foldLPat pat
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L span p@(BangPat _ pat)) = do
#else
foldLPat (L span p@(BangPat pat)) = do
@@ -1487,14 +1487,14 @@ foldLPat (L span pat@(TuplePat pats boxity types)) = do
mapM_ foldLPat pats
return $ Just typ'
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L _span (SumPat _ pat _ _)) = do
#else
foldLPat (L _span (SumPat pat _ _ _types)) = do
#endif
-- TODO
_ <- foldLPat pat
- return Nothing
+ return Nothing
#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
#else
@@ -1503,10 +1503,10 @@ foldLPat (L span pat@(PArrPat pats typ)) = do
addExprInfo span (Just typ') "PArrPat" (patSort pat)
mapM_ foldLPat pats
return $ Just typ'
-#endif
+#endif
foldLPat (L _span (ConPatIn _ _)) = return Nothing
foldLPat (L span pat@ConPatOut {..}) = do
- let (L idSpan conLike) = pat_con
+ let (L idSpan conLike) = pat_con
conId =
case conLike of
RealDataCon dc -> dataConWorkId dc
@@ -1518,7 +1518,7 @@ foldLPat (L span pat@ConPatOut {..}) = do
addExprInfo span (Just typ') "ConPatOut" (patSort pat)
_ <- foldHsConPatDetails pat_args
return . Just . varType $ identifier'
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L span p@(ViewPat typ expr pat)) = do
#else
foldLPat (L span p@(ViewPat expr pat typ)) = do
@@ -1529,7 +1529,7 @@ foldLPat (L span p@(ViewPat expr pat typ)) = do
_ <- foldLHsExpr expr
return $ Just typ'
foldLPat (L _ SplicePat {}) = return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L span (LitPat _ hsLit)) = do
#else
foldLPat (L span (LitPat hsLit)) = do
@@ -1543,7 +1543,7 @@ foldLPat (L span (LitPat hsLit)) = do
then Simple
else Composite)
return $ Just typ'
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L span pat@(NPat _ (L _spanLit (OverLit (OverLitTc {..}) _ _)) _ _)) = do
#else
foldLPat (L span pat@(NPat (L _spanLit OverLit {ol_type}) _ _ _)) = do
@@ -1573,15 +1573,15 @@ foldLPat (L span pat@(NPlusKPat (L idSpan identifier) (L litSpan OverLit {ol_typ
foldLPat (L _span (SigPat typ pat)) = do
typ' <- tidyType typ
_ <- foldLPat pat
- return $ Just typ'
+ return $ Just typ'
#else
-foldLPat (L _span (SigPatIn _ _)) = return Nothing
+foldLPat (L _span (SigPatIn _ _)) = return Nothing
foldLPat (L _span (SigPatOut pat typ)) = do
typ' <- tidyType typ
_ <- foldLPat pat
return $ Just typ'
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLPat (L span p@(CoPat _ _ pat typ)) = do
#else
foldLPat (L span p@(CoPat _ pat typ)) = do
@@ -1589,9 +1589,9 @@ foldLPat (L span p@(CoPat _ pat typ)) = do
typ' <- tidyType typ
addExprInfo span (Just typ') "CoPat" (patSort p)
_ <- foldLPat (L span pat)
- return Nothing
+ return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldHsConPatDetails
:: HsConPatDetails GhcTc
-> State ASTState (Maybe Type)
@@ -1599,7 +1599,7 @@ foldHsConPatDetails
foldHsConPatDetails
:: HsConPatDetails Id
-> State ASTState (Maybe Type)
-#endif
+#endif
foldHsConPatDetails (PrefixCon args) = do
mapM_ foldLPat args
return Nothing
@@ -1639,15 +1639,15 @@ foldLHsRecFieldPat (L _ (HsRecField (L idSpan (FieldOcc _ identifier)) arg pun))
unless pun $ void $ foldLPat arg
return . Just . varType $ identifier'
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
-foldLHsRecFieldPat (L _ (HsRecField (L _idSpan (XFieldOcc _)) _arg _pun)) = return Nothing
-#endif
+foldLHsRecFieldPat (L _ (HsRecField (L _idSpan (XFieldOcc _)) _arg _pun)) = return Nothing
+#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foldLHsCmdTop :: LHsCmdTop GhcTc -> State ASTState (Maybe Type)
#else
foldLHsCmdTop :: LHsCmdTop Id -> State ASTState (Maybe Type)
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmdTop (L _span (XCmdTop _)) = return Nothing
foldLHsCmdTop (L span (HsCmdTop _ cmd)) = do
#else
@@ -1662,7 +1662,7 @@ foldLHsCmd :: LHsCmd GhcTc -> State ASTState (Maybe Type)
#else
foldLHsCmd :: LHsCmd Id -> State ASTState (Maybe Type)
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmd (L _ (XCmd _)) = return Nothing
foldLHsCmd (L _ (HsCmdLam _ (XMatchGroup _))) = return Nothing
foldLHsCmd (L _ (HsCmdCase _ _ (XMatchGroup _))) = return Nothing
@@ -1674,7 +1674,7 @@ foldLHsCmd (L _ (HsCmdArrApp expr1 expr2 _ _ _)) = do
_ <- foldLHsExpr expr2
return Nothing
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmd (L _ (HsCmdArrForm _ expr _ _ topCmds)) = do
#else
foldLHsCmd (L _ (HsCmdArrForm expr _ _ topCmds)) = do
@@ -1700,7 +1700,7 @@ foldLHsCmd (L _ (HsCmdLam MG {..})) = do
#endif
mapM_ foldLMatchCmd $ unLoc mg_alts
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmd (L _ (HsCmdCase _ expr MG {..})) = do
#else
foldLHsCmd (L _ (HsCmdCase expr MG {..})) = do
@@ -1715,7 +1715,7 @@ foldLHsCmd (L _ (HsCmdPar cmd)) = do
#endif
_ <- foldLHsCmd cmd
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmd (L _ (HsCmdIf _ _ expr cmd1 cmd2)) = do
#else
foldLHsCmd (L _ (HsCmdIf _ expr cmd1 cmd2)) = do
@@ -1724,7 +1724,7 @@ foldLHsCmd (L _ (HsCmdIf _ expr cmd1 cmd2)) = do
_ <- foldLHsCmd cmd2
_ <- foldLHsExpr expr
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmd (L _ (HsCmdLet _ (L _ binds) cmd)) = do
#else
foldLHsCmd (L _ (HsCmdLet (L _ binds) cmd)) = do
@@ -1732,17 +1732,17 @@ foldLHsCmd (L _ (HsCmdLet (L _ binds) cmd)) = do
_ <- foldLHsCmd cmd
_ <- foldHsLocalBindsLR binds
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmd (L _ (HsCmdDo _ stmts)) = do
#else
foldLHsCmd (L _ (HsCmdDo stmts _)) = do
#endif
mapM_ foldLStmtLRCmd $ unLoc stmts
return Nothing
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
foldLHsCmd (L span (HsCmdWrap _ _ cmd)) = do
#else
foldLHsCmd (L span (HsCmdWrap _ cmd)) = do
-#endif
+#endif
_ <- foldLHsCmd (L span cmd)
return Nothing
diff --git a/src/HaskellCodeExplorer/GhcUtils.hs b/src/HaskellCodeExplorer/GhcUtils.hs
index 031f411..bb89832 100644
--- a/src/HaskellCodeExplorer/GhcUtils.hs
+++ b/src/HaskellCodeExplorer/GhcUtils.hs
@@ -20,7 +20,7 @@ module HaskellCodeExplorer.GhcUtils
, occNameNameSpace
, identifierKey
, nameKey
- , mbIdDetails
+ , mbIdDetails
-- * Syntax manipulation
, hsGroupVals
, hsPatSynDetails
@@ -32,18 +32,18 @@ module HaskellCodeExplorer.GhcUtils
, isHsBoot
, moduleLocationInfo
, nameLocationInfo
- , occNameLocationInfo
- , nameDocumentation
+ , occNameLocationInfo
+ , nameDocumentation
, srcSpanToLineAndColNumbers
-- * Type-related functions
- , tyThingToId
+ , tyThingToId
, tidyIdentifierType
, patSynId
, applyWrapper
- , wrapperTypes
- , tyVarsOfType
+ , wrapperTypes
+ , tyVarsOfType
, tyConsOfType
- , updateOccNames
+ , updateOccNames
, mkType
-- * Documentation processing
, collectDocs
@@ -80,7 +80,7 @@ import DynFlags ()
import FastString (mkFastString, unpackFS)
import GHC
( DynFlags
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
, HsDocString
#else
, HsDocString (..)
@@ -91,12 +91,12 @@ import GHC
, SrcSpan(..)
, RealSrcSpan(..)
, ClsInstDecl(..)
- , TyClDecl(..)
- , HsDataDefn(..)
+ , TyClDecl(..)
+ , HsDataDefn(..)
, NewOrData(..)
, Id
- , HsGroup(..)
- , HsBindLR(..)
+ , HsGroup(..)
+ , HsBindLR(..)
, HsValBindsLR(..)
#if MIN_VERSION_GLASGOW_HASKELL(8,4,1,0)
, HsPatSynDetails
@@ -104,18 +104,18 @@ import GHC
, HsPatSynDetails(..)
#endif
, Located
- , IE(..)
+ , IE(..)
, TyThing(..)
- , LHsDecl
+ , LHsDecl
, HsDecl(..)
- , DocDecl(..)
+ , DocDecl(..)
, ConDecl(..)
- , HsConDetails(..)
- , ConDeclField(..)
+ , HsConDetails(..)
+ , ConDeclField(..)
, DataFamInstDecl(..)
- , LSig
- , Sig(..)
- , ForeignDecl(..)
+ , LSig
+ , Sig(..)
+ , ForeignDecl(..)
, FixitySig(..)
, tcdName
, collectHsBindBinders
@@ -127,12 +127,12 @@ import GHC
, getConArgs
, unpackHDS
, NoExt(..)
- , extFieldOcc
+ , extFieldOcc
#else
, getConDetails
, selectorFieldOcc
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
, tyClGroupTyClDecls
, LIEWrappedName
, hsGroupInstDecls
@@ -157,10 +157,10 @@ import GHC
, isGoodSrcSpan
, isLocalId
, isDataFamilyDecl
- , tyFamInstDeclName
+ , tyFamInstDeclName
, idType
, hsib_body
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
#else
, tfe_pats
#endif
@@ -169,7 +169,7 @@ import GHC
import qualified HaskellCodeExplorer.Types as HCE
import HscTypes (TypeEnv, lookupTypeEnv)
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
import HsExtension (GhcRn,IdP)
#endif
import IdInfo (IdDetails(..))
@@ -232,8 +232,8 @@ import Type
, mkInvForAllTys
#if !MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
, mkNamedBinder
-#endif
- , piResultTy
+#endif
+ , piResultTy
, pprSigmaType
, splitFunTy_maybe
, tidyOpenType
@@ -355,8 +355,8 @@ tyClDeclPrefix tyClDecl =
ClassDecl {} -> "class "
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
XTyClDecl _ -> ""
-#endif
-
+#endif
+
demangleOccName :: Name -> T.Text
demangleOccName name
| isDerivedOccName (nameOccName name) =
@@ -382,7 +382,7 @@ demangleOccName name
| otherwise = occName
in removePrefix $ nameToText name
| otherwise = nameToText name
-
+
stringBufferToByteString :: StringBuffer -> BS.ByteString
stringBufferToByteString (StringBuffer buf len cur) =
BSI.fromForeignPtr buf cur len
@@ -392,12 +392,12 @@ nameSort n =
if isExternalName n
then HCE.External
else HCE.Internal
-
+
occNameNameSpace :: OccName -> HCE.NameSpace
occNameNameSpace n
| isDataConNameSpace (occNameSpace n) = HCE.DataName
| isTvNameSpace (occNameSpace n) = HCE.TvName
- | isValNameSpace (occNameSpace n) = HCE.VarName
+ | isValNameSpace (occNameSpace n) = HCE.VarName
| otherwise = HCE.TcClsName
-- Two 'Id''s may have different types even though they have the same 'Unique'.
@@ -431,7 +431,7 @@ mbIdDetails v
CoVarId -> Just HCE.CoVarId
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
JoinId _ -> Just HCE.JoinId
-#endif
+#endif
mbIdDetails _ = Nothing
--------------------------------------------------------------------------------
@@ -446,7 +446,7 @@ hsGroupVals :: HsGroup Name -> [GenLocated SrcSpan (HsBindLR Name Name)]
hsGroupVals hsGroup =
filter (isGoodSrcSpan . getLoc) $
case hs_valds hsGroup of
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
XValBindsLR (NValBinds binds _) -> concatMap (bagToList . snd) binds
#else
ValBindsOut binds _ -> concatMap (bagToList . snd) binds
@@ -457,7 +457,7 @@ hsPatSynDetails :: HsPatSynDetails a -> [a]
hsPatSynDetails patDetails =
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
case patDetails of
- InfixCon name1 name2 -> [name1, name2]
+ InfixCon name1 name2 -> [name1, name2]
PrefixCon fields -> fields
RecCon fields -> concatMap
(\field -> [recordPatSynSelectorId field, recordPatSynPatVar field])
@@ -494,7 +494,7 @@ ieLocNames :: IE Name -> [Located Name]
ieLocNames (XIE _) = []
ieLocNames (IEVar _ n) =
#else
-ieLocNames (IEVar n) =
+ieLocNames (IEVar n) =
#endif
[unwrapName n]
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
@@ -533,7 +533,7 @@ lookupIdInTypeEnv typeEnv name = do
| isExternalName name = lookupTypeEnv typeEnv name
| otherwise = Nothing
case mbTyThing of
- Just tyThing -> tyThingToId tyThing
+ Just tyThing -> tyThingToId tyThing
_ -> Nothing
lookupNameModuleAndPackage ::
@@ -568,7 +568,7 @@ lookupNameModuleAndPackage flags currentPackageId name =
--------------------------------------------------------------------------------
isHsBoot :: HCE.HaskellModulePath -> Bool
-isHsBoot = T.isSuffixOf "-boot" . HCE.getHaskellModulePath
+isHsBoot = T.isSuffixOf "-boot" . HCE.getHaskellModulePath
moduleLocationInfo ::
DynFlags
@@ -619,7 +619,7 @@ moduleLocationInfo flags moduleNameMap currentPackageId compId moduleName =
else HCE.ComponentId "lib")
Nothing -> currentPackageLocation
_ -> currentPackageLocation
-
+
isDefinedInCurrentModule ::
HCE.SourceCodeTransformation -> HCE.HaskellFilePath -> Bool
isDefinedInCurrentModule transformation file =
@@ -628,7 +628,7 @@ isDefinedInCurrentModule transformation file =
HCE.getHaskellModulePath $
HCE.filePath (transformation :: HCE.SourceCodeTransformation)
in HCE.getHaskellFilePath file == modPath || (file `elem` includedFiles)
-
+
nameLocationInfo ::
DynFlags
-> HCE.PackageId
@@ -660,7 +660,7 @@ nameLocationInfo flags currentPackageId compId transformation fileMap defSiteMap
eitherEnd =
HCE.fromOriginalLineNumber
transformation
- (filePath, srcSpanEndLine srcSpan)
+ (filePath, srcSpanEndLine srcSpan)
in case (,) eitherStart eitherEnd of
(Right startLine,Right endLine) ->
let modulePath = HCE.filePath (transformation :: HCE.SourceCodeTransformation)
@@ -739,7 +739,7 @@ mkLocatableEntity name mbInstanceHead
case occNameNameSpace . nameOccName $ name of
HCE.VarName -> HCE.Val
HCE.DataName -> HCE.Val
- _ -> HCE.Typ
+ _ -> HCE.Typ
occNameLocationInfo ::
DynFlags
@@ -823,9 +823,9 @@ lookupNameDocumentation name defSiteMap =
srcSpanToFilePath :: SrcSpan -> Maybe HCE.HaskellFilePath
srcSpanToFilePath (RealSrcSpan s) =
- Just . HCE.HaskellFilePath . T.pack . normalise . unpackFS . srcSpanFile $ s
+ Just . HCE.HaskellFilePath . T.pack . normalise . unpackFS . srcSpanFile $ s
srcSpanToFilePath (UnhelpfulSpan _) = Nothing
-
+
srcSpanToLineAndColNumbers ::
HCE.SourceCodeTransformation
-> SrcSpan
@@ -894,7 +894,7 @@ applyWrapper (WpEvLam v) t = mkFunTy (evVarPred v) t
applyWrapper (WpEvApp _ev) t = case splitFunTy_maybe t of
Just (_arg,res) -> res
Nothing -> t
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
applyWrapper (WpTyLam v) t = mkForAllTy v Required t
#else
applyWrapper (WpTyLam v) t = mkForAllTy (mkNamedBinder Invisible v) t
@@ -929,10 +929,10 @@ mkType flags typ =
else Nothing)
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
-typeToText :: DynFlags -> Type -> T.Text
+typeToText :: DynFlags -> Type -> T.Text
typeToText flags = T.pack . showSDoc flags . pprIfaceType . toIfaceType
#else
-typeToText :: DynFlags -> Type -> T.Text
+typeToText :: DynFlags -> Type -> T.Text
typeToText = toText
#endif
@@ -947,7 +947,7 @@ toTypeComponents flags typ =
updateOccNames
(\unique occName -> ";," ++ occName ++ "," ++ unique ++ ";")
typ
- -- Dirty but simple way to extract a list of TypeComponent from a type signature.
+ -- Dirty but simple way to extract a list of TypeComponent from a type signature.
-- Assumptions :
-- 1. Character ';' cannot appear anywhere in a type signature
-- 2. Character ',' cannot appear in an 'OccName'
@@ -984,11 +984,11 @@ updateOccNames update = everywhere (mkT updateType)
(occNameSpace oldOccName)
(update unique (occNameString oldOccName))
in mkInternalName (nameUnique oldName) newOccName (nameSrcSpan oldName)
-
+
-- | This function doesn't look through type synonyms
tyConsOfType :: Type -> [Id]
tyConsOfType =
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
nonDetEltsUniqSet . everything unionUniqSets (emptyVarSet `mkQ` tyCon)
#else
uniqSetToList . everything unionUniqSets (emptyVarSet `mkQ` tyCon)
@@ -999,7 +999,7 @@ tyConsOfType =
tyCon _ = emptyUniqSet
tyVarsOfType :: (Data a) => a -> [Id]
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
tyVarsOfType = nonDetEltsUniqSet . everything unionVarSet (emptyVarSet `mkQ` tyVar)
#else
tyVarsOfType = varSetElems . everything unionVarSet (emptyVarSet `mkQ` tyVar)
@@ -1027,7 +1027,7 @@ collectDocs = go Nothing []
| Nothing <- prev = go Nothing (str : docs) ds
| Just decl <- prev = finished decl docs (go Nothing [str] ds)
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
go prev docs (L _ (DocD _ (DocCommentPrev str)):ds) = go prev (str : docs) ds
#else
go prev docs (L _ (DocD (DocCommentPrev str)):ds) = go prev (str : docs) ds
@@ -1043,9 +1043,9 @@ ungroup :: HsGroup Name -> [LHsDecl Name]
#endif
ungroup group_ =
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
- mkDecls (tyClGroupTyClDecls . hs_tyclds) (TyClD NoExt) group_ ++
+ mkDecls (tyClGroupTyClDecls . hs_tyclds) (TyClD NoExt) group_ ++
#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
- mkDecls (tyClGroupTyClDecls . hs_tyclds) TyClD group_ ++
+ mkDecls (tyClGroupTyClDecls . hs_tyclds) TyClD group_ ++
#else
mkDecls (tyClGroupConcat . hs_tyclds) TyClD group_ ++
#endif
@@ -1054,17 +1054,17 @@ ungroup group_ =
mkDecls hs_derivds (DerivD NoExt) group_ ++
mkDecls hs_defds (DefD NoExt) group_ ++
mkDecls hs_fords (ForD NoExt) group_ ++
- mkDecls hs_docs (DocD NoExt) group_ ++
+ mkDecls hs_docs (DocD NoExt) group_ ++
#else
mkDecls hs_derivds DerivD group_ ++
mkDecls hs_defds DefD group_ ++
mkDecls hs_fords ForD group_ ++
mkDecls hs_docs DocD group_ ++
#endif
-
+
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
mkDecls hsGroupInstDecls (InstD NoExt) group_ ++
-#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
mkDecls hsGroupInstDecls InstD group_ ++
#else
mkDecls hs_instds InstD group_ ++
@@ -1076,17 +1076,17 @@ ungroup group_ =
#else
mkDecls (typesigs . hs_valds) SigD group_ ++
mkDecls (valbinds . hs_valds) ValD group_
-#endif
+#endif
+
-
where
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
typesigs (XValBindsLR (NValBinds _ sigs)) = filter isUserLSig sigs
#else
typesigs (ValBindsOut _ sigs) = filter isUserLSig sigs
#endif
typesigs _ = []
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
valbinds (XValBindsLR (NValBinds binds _)) = concatMap (bagToList . snd) binds
#else
valbinds (ValBindsOut binds _) = concatMap (bagToList . snd) binds
@@ -1107,7 +1107,7 @@ classDeclDocs :: TyClDecl Name -> [(LHsDecl Name, [HsDocString])]
classDeclDocs class_ = collectDocs . sortByLoc $ decls
where
decls = docs ++ defs ++ sigs ++ ats
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
docs = mkDecls tcdDocs (DocD NoExt) class_
defs = mkDecls (bagToList . tcdMeths) (ValD NoExt) class_
sigs = mkDecls tcdSigs (SigD NoExt) class_
@@ -1136,7 +1136,7 @@ selectorDocs :: ConDecl GhcRn -> [(Name, [HsDocString], SrcSpan)]
selectorDocs :: ConDecl Name -> [(Name, [HsDocString], SrcSpan)]
#endif
selectorDocs con =
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
case getConArgs con of
#else
case getConDetails con of
@@ -1159,7 +1159,7 @@ selectorDocs con =
flds
_ -> []
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
subordinateNamesWithDocs :: [GenLocated SrcSpan (HsDecl GhcRn)] -> [(Name, [HsDocString], SrcSpan)]
#else
subordinateNamesWithDocs :: [GenLocated SrcSpan (HsDecl Name)] -> [(Name, [HsDocString], SrcSpan)]
@@ -1189,14 +1189,14 @@ subordinateNamesWithDocs =
InstD (DataFamInstD DataFamInstDecl {..}) ->
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
concatMap (conDeclDocs . unLoc) . dd_cons . feqn_rhs . hsib_body $ dfid_eqn
#else
concatMap (conDeclDocs . unLoc) . dd_cons $ dfid_defn
#endif
_ -> [])
-
+
isUserLSig :: LSig name -> Bool
isUserLSig (L _ TypeSig {}) = True
isUserLSig (L _ ClassOpSig {}) = True
@@ -1239,8 +1239,8 @@ getMainDeclBinder (ForD ForeignExport {}) = []
getMainDeclBinder _ = []
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
-sigNameNoLoc :: Sig pass -> [IdP pass]
-#else
+sigNameNoLoc :: Sig pass -> [IdP pass]
+#else
sigNameNoLoc :: Sig name -> [name]
#endif
#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
@@ -1293,7 +1293,7 @@ hsDocsToDocH flags rdrEnv =
#else
. parseParas
#endif
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
. concatMap unpackHDS
#else
. concatMap (unpackFS . (\(HsDocString s) -> s))
@@ -1368,7 +1368,7 @@ rename dflags gre = rn
DocEmpty -> DocEmpty
DocString str -> DocString str
DocHeader (Header l t) -> DocHeader $ Header l (rn t)
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
DocTable t -> DocTable (rn <$> t)
#endif
@@ -1400,4 +1400,4 @@ makeAnchorId (f:r) = escape isAlpha f ++ concatMap (escape isLegal) r
isLegal ':' = True
isLegal '_' = True
isLegal '.' = True
- isLegal c = isAscii c && isAlphaNum c
+ isLegal c = isAscii c && isAlphaNum c
diff --git a/src/HaskellCodeExplorer/ModuleInfo.hs b/src/HaskellCodeExplorer/ModuleInfo.hs
index f449eee..fd8f61a 100644
--- a/src/HaskellCodeExplorer/ModuleInfo.hs
+++ b/src/HaskellCodeExplorer/ModuleInfo.hs
@@ -74,13 +74,13 @@ import HsDecls
, InstDecl
, TyClDecl
#endif
- , InstDecl(..)
+ , InstDecl(..)
, group_tyclds
, tyClDeclLName
, tcdName
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
, hsGroupInstDecls
-#endif
+#endif
)
import HsDoc(HsDocString)
import HsImpExp (IE(..), ImportDecl(..))
@@ -101,9 +101,9 @@ import Module(Module(..))
import Name (Name, OccName, getSrcSpan, nameOccName, nameSrcSpan, nameUnique)
import Prelude hiding(id,span)
import RdrName(GlobalRdrEnv)
-import SrcLoc (isOneLineSpan)
+import SrcLoc (isOneLineSpan)
import TcRnTypes (tcVisibleOrphanMods, tcg_inst_env, tcg_rdr_env, tcg_type_env)
-import qualified Text.Blaze.Html5 as H
+import qualified Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A
#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
import UniqDFM (eltsUDFM)
@@ -118,14 +118,14 @@ type ModuleDependencies
= ( HM.HashMap HCE.HaskellFilePath HCE.HaskellModulePath
, HM.HashMap HCE.HaskellModulePath HCE.DefinitionSiteMap
, HM.HashMap HCE.HaskellModuleName (HM.HashMap HCE.ComponentId HCE.HaskellModulePath))
-
+
type ModuleGhcData
= ( DynFlags
, TypecheckedModule
, HomePackageTable
, ExternalPackageState
, ModSummary)
-
+
createModuleInfo ::
ModuleDependencies -- ^ Modules that have already been indexed
-> ModuleGhcData -- ^ Data types from GHC
@@ -156,7 +156,7 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule,
currentModuleTyThings = typeEnvElts $ tcg_type_env tcGblEnv
homePackageTyThings =
concatMap (typeEnvElts . md_types . hm_details) $
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
eltsUDFM homePackageTable
#else
eltsUFM homePackageTable
@@ -182,7 +182,7 @@ createModuleInfo (fileMap, defSiteMap, moduleNameMap) (flags, typecheckedModule,
currentPackageId
compId
defSiteMap
- fileMap
+ fileMap
globalRdrEnv
transformation
modInfo
@@ -316,7 +316,7 @@ createDefinitionSiteMap ::
-> HCE.SourceCodeTransformation
-> ModuleInfo
-> [Name]
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
-> HsGroup GhcRn
#else
-> HsGroup Name
@@ -345,11 +345,11 @@ createDefinitionSiteMap flags currentPackageId compId defSiteMap fileMap globalR
mapMaybe
(\(L _n decl, docs) ->
case decl of
-#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)
InstD _ (ClsInstD _ inst) -> Just (clsInstDeclSrcSpan inst, docs)
-#else
+#else
InstD (ClsInstD inst) -> Just (clsInstDeclSrcSpan inst, docs)
-#endif
+#endif
_ -> Nothing) $
instanceDeclsWithDocs
nameLocation :: Maybe SrcSpan -> Name -> HCE.LocationInfo
@@ -432,7 +432,7 @@ createDefinitionSiteMap flags currentPackageId compId defSiteMap fileMap globalR
, map (\(n, _, _) -> n) allNamesWithDocumentation)
occNameToHtml ::
- DynFlags
+ DynFlags
-> HCE.PackageId
-> HCE.ComponentId
-> (ModuleName, OccName)
@@ -468,7 +468,7 @@ nameToHtml flags packageId compId transformation files defSiteMap name =
name
in H.span H.! H.dataAttribute "location" location H.! A.class_ "link" $
H.toHtml (nameToText name)
-
+
docWithNamesToHtml ::
DynFlags
-> HCE.PackageId
@@ -485,7 +485,7 @@ docWithNamesToHtml flags packageId compId transformation fileMap defSiteMap =
createDeclarations ::
DynFlags
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
-> HsGroup GhcRn
#else
-> HsGroup Name
@@ -507,9 +507,9 @@ createDeclarations flags hsGroup typeEnv exportedSet transformation =
Nothing -> Nothing
-- | Top-level functions
--------------------------------------------------------------------------------
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
valToDeclarations :: GenLocated SrcSpan (HsBindLR GhcRn GhcRn) -> [HCE.Declaration]
-#endif
+#endif
valToDeclarations (L loc bind) =
map
(\name ->
@@ -523,9 +523,9 @@ createDeclarations flags hsGroup typeEnv exportedSet transformation =
vals = concatMap valToDeclarations $ hsGroupVals hsGroup
-- | Data, newtype, type, type family, data family or class declaration
--------------------------------------------------------------------------------
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
tyClToDeclaration :: GenLocated SrcSpan (TyClDecl GhcRn) -> HCE.Declaration
-#endif
+#endif
tyClToDeclaration (L loc tyClDecl) =
HCE.Declaration
HCE.TyClD
@@ -539,9 +539,9 @@ createDeclarations flags hsGroup typeEnv exportedSet transformation =
hsGroup
-- | Instances
--------------------------------------------------------------------------------
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
instToDeclaration :: GenLocated SrcSpan (InstDecl GhcRn) -> HCE.Declaration
-#endif
+#endif
instToDeclaration (L loc inst) =
HCE.Declaration
HCE.InstD
@@ -550,7 +550,7 @@ createDeclarations flags hsGroup typeEnv exportedSet transformation =
True
(lineNumber loc)
insts =
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
map instToDeclaration . filter (isGoodSrcSpan . getLoc) . hsGroupInstDecls $
#else
map instToDeclaration . filter (isGoodSrcSpan . getLoc) . hs_instds $
@@ -558,10 +558,10 @@ createDeclarations flags hsGroup typeEnv exportedSet transformation =
hsGroup
-- | Foreign functions
--------------------------------------------------------------------------------
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
foreignFunToDeclaration ::
GenLocated SrcSpan (ForeignDecl GhcRn) -> HCE.Declaration
-#endif
+#endif
foreignFunToDeclaration (L loc fd) =
let name = unLoc $ fd_name fd
in HCE.Declaration
@@ -590,14 +590,14 @@ foldAST environment typecheckedModule =
-- - type signatures
-- - type/data/newtype declarations
-- - class declarations
-
+
-- Both typechecked source and renamed source are used to populate
-- 'IdentifierInfoMap' and 'IdentifierOccurrenceMap'
(idInfoMap, idOccMap) =
L.foldl'
(addIdentifierToMaps environment astStateIdSrcSpanMap)
(HM.empty, astStateIdOccMap)
- (namesFromRenamedSource renamed)
+ (namesFromRenamedSource renamed)
flags = envDynFlags environment
packageId = envPackageId environment
compId = envComponentId environment
@@ -619,7 +619,7 @@ foldAST environment typecheckedModule =
case mbExported of
Just lieNames ->
mapMaybe
-#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
(\(L span ie,_) ->
#else
(\(L span ie) ->
@@ -733,7 +733,7 @@ addIdentifierToMaps environment idSrcSpanMap idMaps@(idInfoMap, idOccMap) nameOc
lineNumber
startCol
endCol
- Nothing -> idMaps
+ Nothing -> idMaps
addIdentifierToMaps _ _ idMaps _ = idMaps
addNameToMaps ::
@@ -791,7 +791,7 @@ lookupIdByNameOccurrence ::
-> NameOccurrence
-> Maybe (Id, Maybe (Type, [Type]))
lookupIdByNameOccurrence environment idSrcSpanMap (NameOccurrence (L span mbName) _ _) =
- case M.lookup span idSrcSpanMap of
+ case M.lookup span idSrcSpanMap of
Just (identifier, mbTypes) -> Just (identifier, mbTypes)
Nothing ->
case mbName of
@@ -806,7 +806,7 @@ lookupIdByNameOccurrence environment idSrcSpanMap (NameOccurrence (L span mbName
Nothing -> Nothing
Nothing -> Nothing
lookupIdByNameOccurrence _ _ TyLitOccurrence {..} = Nothing
-
+
updateIdMap ::
Environment
-> [(Id, Maybe Name)]
diff --git a/src/HaskellCodeExplorer/PackageInfo.hs b/src/HaskellCodeExplorer/PackageInfo.hs
index dbfbfc7..5bc30b7 100644
--- a/src/HaskellCodeExplorer/PackageInfo.hs
+++ b/src/HaskellCodeExplorer/PackageInfo.hs
@@ -54,7 +54,7 @@ import Distribution.Helper
, packageId
, runQuery
, sourceDirs
- , compilerVersion
+ , compilerVersion
)
import DynFlags
( DynFlags(..)
@@ -86,7 +86,7 @@ import GHC
, topSortModuleGraph
, typecheckModule
, moduleNameString
- , moduleName
+ , moduleName
)
import GHC.Paths (libdir)
import GhcMonad (GhcT(..), liftIO)
@@ -98,7 +98,7 @@ import Outputable (PprStyle, SDoc, neverQualify, showSDocForUser)
import Packages (initPackages)
import Prelude hiding (id)
import System.Directory
- ( doesFileExist
+ ( doesFileExist
, findExecutable
, setCurrentDirectory
, getCurrentDirectory
@@ -116,7 +116,7 @@ import System.FilePath
, takeExtension
, takeBaseName
, takeDirectory
- , splitDirectories
+ , splitDirectories
)
import System.FilePath.Find (find,always,(==?),fileName)
import System.Process (readProcess)
@@ -158,7 +158,7 @@ createPackageInfo packageDirectoryPath mbDistDirRelativePath sourceCodePreproces
[ "GHC version mismatch. haskell-code-indexer: "
, T.pack $ showVersion ghcVersion
, ", package: "
- , T.pack $ showVersion packageCompilerVersion
+ , T.pack $ showVersion packageCompilerVersion
]
liftIO exitFailure
logInfoN $ T.append "Indexing " $ HCE.packageIdToText currentPackageId
@@ -270,10 +270,10 @@ ghcVersion = makeVersion [8, 6, 5, 0]
#elif MIN_VERSION_GLASGOW_HASKELL(8,6,4,0)
ghcVersion :: Version
ghcVersion = makeVersion [8, 6, 4, 0]
-#elif MIN_VERSION_GLASGOW_HASKELL(8,6,3,0)
+#elif MIN_VERSION_GLASGOW_HASKELL(8,6,3,0)
ghcVersion :: Version
ghcVersion = makeVersion [8, 6, 3, 0]
-#elif MIN_VERSION_GLASGOW_HASKELL(8,4,4,0)
+#elif MIN_VERSION_GLASGOW_HASKELL(8,4,4,0)
ghcVersion :: Version
ghcVersion = makeVersion [8, 4, 4, 0]
#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
@@ -286,7 +286,7 @@ ghcVersion = makeVersion [8, 2, 2, 0]
ghcVersion :: Version
ghcVersion = makeVersion [8, 0, 2, 0]
#endif
-
+
buildDirectoryTree :: FilePath -> [FilePath] -> (FilePath -> Bool) -> IO HCE.DirTree
buildDirectoryTree path ignoreDirectories isHaskellModule = do
(_dir DT.:/ tree) <- DT.readDirectoryWith (const . return $ ()) path
@@ -316,7 +316,7 @@ buildDirectoryTree path ignoreDirectories isHaskellModule = do
HCE.File name filePath (isHaskellModule filePath)
toDirTree (DT.Failed name err) =
HCE.File (name ++ " : " ++ show err) "" False
-
+
addTopLevelIdentifiersFromModule ::
HCE.Trie Char HCE.ExternalIdentifierInfo
-> HCE.ModuleInfo
@@ -327,8 +327,8 @@ addTopLevelIdentifiersFromModule trieIdInfo HCE.ModuleInfo {..} =
HCE.insertToTrie S.insert (T.unpack demangledOccName) idInfo trie)
trieIdInfo
externalIds
-
-addReferencesFromModule ::
+
+addReferencesFromModule ::
HM.HashMap HCE.ExternalId (S.Set HCE.IdentifierSrcSpan)
-> HCE.ModuleInfo
-> HM.HashMap HCE.ExternalId (S.Set HCE.IdentifierSrcSpan)
@@ -406,7 +406,7 @@ findDistDirectory packagePath = do
Left $
"Found multiple possible dist directories : \n" ++
show setupConfigPaths ++ " \nPlease specify --dist option"
-
+
eachIdentifierOccurrence ::
forall a.
a
@@ -450,7 +450,7 @@ ghandleSync onError =
case fromException ex of
Just (asyncEx :: SomeAsyncException) -> throw asyncEx
_ -> onError ex)
-
+
indexBuildComponent ::
HCE.SourceCodePreprocessing -- ^ Before or after preprocessor
-> HCE.PackageId -- ^ Current package id
@@ -588,7 +588,7 @@ indexBuildComponent sourceCodePreprocessing currentPackageId componentId deps@(f
return (indexedModules, (fileMap', defSiteMap', modNameMap')))
([], (fileMap, defSiteMap, modNameMap))
modSumWithPath
-
+
findHaskellModulePath ::
FilePath -> [FilePath] -> ModSummary -> IO (Maybe HCE.HaskellModulePath)
findHaskellModulePath buildDir srcDirs modSum =
@@ -603,7 +603,7 @@ findHaskellModulePath buildDir srcDirs modSum =
else path
_ -> path
in case removeTmpDir <$> L.stripPrefix buildDir modulePath of
- -- File is in the build directory
+ -- File is in the build directory
Just path
| takeExtension path == ".hs-boot" -> do
let possiblePaths = path : map (</> path) srcDirs
diff --git a/src/HaskellCodeExplorer/Preprocessor.hs b/src/HaskellCodeExplorer/Preprocessor.hs
index 8dcf548..d998976 100644
--- a/src/HaskellCodeExplorer/Preprocessor.hs
+++ b/src/HaskellCodeExplorer/Preprocessor.hs
@@ -19,7 +19,7 @@ import HaskellCodeExplorer.Types
, HaskellModulePath(..)
, LinePragma(..)
, SourceCodeTransformation(..)
- , haskellPreprocessorExtensions
+ , haskellPreprocessorExtensions
)
import System.FilePath (normalise,takeExtension,takeFileName)
@@ -86,13 +86,13 @@ createSourceCodeTransformation currentModulePath originalSourceCode sourceCodeAf
-- | Parses line pragma
linePragmaParser :: AT.Parser (Int, Maybe T.Text)
linePragmaParser = pragma1 <|> pragma2
- where
+ where
pragma1 :: AT.Parser (Int, Maybe T.Text)
pragma1 = parser "#" "line"
-
+
pragma2 :: AT.Parser (Int, Maybe T.Text)
pragma2 = parser "{-#" "LINE"
-
+
parser :: T.Text -> T.Text -> AT.Parser (Int, Maybe T.Text)
parser start line = do
_ <- AT.string start
@@ -103,9 +103,9 @@ linePragmaParser = pragma1 <|> pragma2
_ <- AT.takeWhile (== ' ')
mbName <- (Just <$> fileName) <|> return Nothing
return (num, mbName)
-
+
fileName :: AT.Parser T.Text
- fileName = AT.string "\"" *> AT.takeTill (== '\"') <* AT.string "\""
+ fileName = AT.string "\"" *> AT.takeTill (== '\"') <* AT.string "\""
data Line = FirstLine | LastLine Int | Pragma LinePragma deriving (Show,Eq)
diff --git a/src/HaskellCodeExplorer/Types.hs b/src/HaskellCodeExplorer/Types.hs
index a21a483..b42db87 100644
--- a/src/HaskellCodeExplorer/Types.hs
+++ b/src/HaskellCodeExplorer/Types.hs
@@ -36,7 +36,7 @@ import qualified Data.IntervalMap.Strict as IVM
import qualified Data.List as L
import Data.Maybe (fromMaybe, isJust)
import Data.Serialize (Get, Serialize(..))
-import qualified Data.Set as S
+import qualified Data.Set as S
import qualified Data.Text as T
import Data.Text.Encoding (decodeUtf8, encodeUtf8)
import Data.Text.Lazy (toStrict)
@@ -51,8 +51,8 @@ import Documentation.Haddock.Types
#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0)
, Table(..)
, TableCell(..)
- , TableRow(..)
-#endif
+ , TableRow(..)
+#endif
)
import GHC.Generics (Generic)
import Prelude hiding (id)
@@ -185,7 +185,7 @@ data ModuleInfo = ModuleInfo
-- ^ Information about each identifier in the module
, declarations :: [Declaration]
, definitionSiteMap :: DefinitionSiteMap
- -- ^ Definition site of each top-level value, type, and type class instance
+ -- ^ Definition site of each top-level value, type, and type class instance
, externalIds :: [ExternalIdentifierInfo]
} deriving (Show, Eq, Generic, Data)
@@ -226,7 +226,7 @@ haskellPreprocessorExtensions =
toCompactPackageInfo :: PackageInfo ModuleInfo -> PackageInfo CompactModuleInfo
toCompactPackageInfo PackageInfo {..} =
PackageInfo
- { id = id
+ { id = id
, moduleMap = HM.map toCompactModuleInfo moduleMap
, moduleNameMap = moduleNameMap
, directoryTree = directoryTree
@@ -322,11 +322,11 @@ instance Ord ExternalIdentifierInfo where
case compare (demangledOccName i1) (demangledOccName i2) of
GT -> GT
LT -> LT
- EQ ->
+ EQ ->
compare
(internalId (i1 :: IdentifierInfo))
(internalId (i2 :: IdentifierInfo))
-
+
data ExpressionInfo = ExpressionInfo
{ description :: T.Text
, exprType :: Maybe Type
@@ -372,7 +372,7 @@ data InstanceResolution =
, types :: [Type]
-- ^ Types at which type variables of a class are instantiated
, location :: LocationInfo
- , instances :: [InstanceResolution]
+ , instances :: [InstanceResolution]
}
| Stop
deriving (Show,Eq,Ord,Generic,Data)
@@ -426,7 +426,7 @@ fromOriginalLineNumber SourceCodeTransformation {fileIndex = index} (originalFil
, " in "
, T.pack $ show index
]
-
+
data Declaration = Declaration
{ sort :: DeclarationSort
, name :: T.Text
@@ -563,7 +563,7 @@ instance NFData SourceCodeTransformation
instance NFData IdentifierInfo
instance NFData InternalId
instance NFData ExternalId
-instance NFData ExternalIdentifierInfo
+instance NFData ExternalIdentifierInfo
instance NFData InstanceResolution
instance NFData IdDetails
instance NFData NameSpace
@@ -626,7 +626,7 @@ instance A.ToJSON ModuleInfo where
, ("occurrences", A.toJSON $ idOccurrencesHashMap idOccMap)
, ("declarations", A.toJSON declarations)
]
-
+
idOccurrencesHashMap ::
IM.IntMap [((Int, Int), IdentifierOccurrence)]
-> HM.HashMap T.Text IdentifierOccurrence
@@ -638,7 +638,7 @@ idOccurrencesHashMap =
(\((startCol, endCol), occ) ->
(occurrenceLocationToText lineNum startCol endCol, occ))
occs) .
- IM.toList
+ IM.toList
idOccurrenceList ::
IM.IntMap [((Int, Int), IdentifierOccurrence)]
@@ -651,7 +651,7 @@ idOccurrenceList =
(\((startCol, endCol), occ) ->
(occurrenceLocationToText lineNum startCol endCol, occ))
occs) .
- IM.toList
+ IM.toList
occurrenceLocationToText :: Int -> Int -> Int -> T.Text
occurrenceLocationToText lineNum startCol endCol =
@@ -710,7 +710,7 @@ tokenize
-> [((Int, Int), a)] -- ^ Identifier locations
-- The end position is defined to be the column /after/ the end of the
-- span. That is, a span of (1,1)-(1,2) is one character long, and a
- -- span of (1,1)-(1,1) is zero characters long.
+ -- span of (1,1)-(1,1) is zero characters long.
-> [(T.Text, (Int, Int), Maybe a)]
tokenize line =
L.reverse .
@@ -807,14 +807,14 @@ docToHtml modToHtml idToHtml = toStrict . renderHtml . toH
in Html.table $
Html.thead (mapM_ (tableRowToH Html.th) hs) >>
Html.tbody (mapM_ (tableRowToH Html.td) bs)
-#endif
-
+#endif
+
instance A.ToJSON HaskellModuleName where
toJSON (HaskellModuleName name) = A.String name
instance A.ToJSON HaskellModulePath where
toJSON (HaskellModulePath path) = A.String path
instance A.ToJSON HaskellFilePath where
- toJSON (HaskellFilePath path) = A.String path
+ toJSON (HaskellFilePath path) = A.String path
instance A.ToJSON LinePragma where
toJSON = A.genericToJSON omitNothingOptions
instance A.ToJSON FileLocation where
@@ -824,7 +824,7 @@ instance A.ToJSON IdentifierInfo where
instance A.ToJSON InternalId where
toJSON (InternalId text) = A.toJSON text
instance A.ToJSON ExternalId where
- toJSON (ExternalId text) = A.toJSON text
+ toJSON (ExternalId text) = A.toJSON text
instance A.ToJSON ExternalIdentifierInfo where
toJSON (ExternalIdentifierInfo info) = A.toJSON info
instance A.ToJSON InstanceResolution where
@@ -842,7 +842,7 @@ instance A.ToJSON IdDetails where
toJSON = A.genericToJSON omitNothingOptions
instance A.ToJSON NameSpace where
toJSON = A.genericToJSON omitNothingOptions
-instance A.ToJSON Declaration
+instance A.ToJSON Declaration
instance A.ToJSON NameSort
instance A.ToJSON OccName where
toJSON (OccName name) = A.String name
@@ -870,7 +870,7 @@ instance A.ToJSON Type where
toJSON = A.genericToJSON omitNothingOptions
instance A.ToJSON ExpressionInfo where
toJSON = A.genericToJSON omitNothingOptions
-instance A.ToJSON DirTree
+instance A.ToJSON DirTree
instance A.ToJSON DefinitionSite where
toJSON = A.genericToJSON omitNothingOptions
instance A.ToJSON IdentifierSrcSpan
diff --git a/test/Main.hs b/test/Main.hs
index bfe34cd..d080135 100644
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -106,7 +106,7 @@ packageInfoSpec currentDir = do
Just modInfo -> moduleInfoSpec modInfo
Nothing -> return ()
Left e -> runIO $ putStrLn e >> return ()
-
+
moduleInfoSpec :: ModuleInfo -> Spec
moduleInfoSpec modInfo =
describe "createModuleInfo" $ do
@@ -136,7 +136,7 @@ moduleInfoSpec modInfo =
HCE.source (modInfo :: HCE.ModuleInfo) `shouldBe` sourceCodeLines
it "returns valid map of expressions" $
HCE.exprInfoMap (modInfo :: HCE.ModuleInfo) `shouldBe` testExprInfoMap
-#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
+#if MIN_VERSION_GLASGOW_HASKELL(8,2,2,0)
it "returns valid map of identifiers " $
let removeLocationInfo :: HCE.LocationInfo -> HCE.LocationInfo
removeLocationInfo _ = HCE.UnknownLocation ""
@@ -148,9 +148,9 @@ moduleInfoSpec modInfo =
_ -> extId
cleanup :: HCE.IdentifierInfoMap -> HCE.IdentifierInfoMap
cleanup = U.transformBi removeLocationInfo . U.transformBi removePackageVersionFromExternalId
- in
+ in
cleanup (HCE.idInfoMap (modInfo :: HCE.ModuleInfo)) `shouldBe` cleanup testIdInfoMap
-#endif
+#endif
it "returns valid map of identifier occurrences" $
HCE.idOccMap (modInfo :: HCE.ModuleInfo) `shouldBe` testIdOccMap
@@ -208,7 +208,7 @@ buildAndIndexTestPackage currentDir = do
Nothing ->
return . Left $
"Cannot find stack executable. Stack executable is required to build the test package."
-
+
sourceCodeTransformationSpec :: FilePath -> Spec
sourceCodeTransformationSpec currentDir = do
sourceCodeAfterPreprocessor <-
@@ -258,12 +258,12 @@ sourceCodeTransformationSpec currentDir = do
in fileIndex sourceCodeTransformation `shouldBe` index
describe "fromOriginalLineNumber" $ do
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File.hs", 1) (Right 1)
- test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File.hs", 4) (Right 4)
+ test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File.hs", 4) (Right 4)
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File1.hs", 1) (Right 9)
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File1.hs", 2) (Right 10)
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File2.hs", 1) (Right 13)
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File2.hs", 3) (Right 15)
- test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File2.hs", 5) (Right 17)
+ test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File2.hs", 5) (Right 17)
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File1.hs", 15) (Right 19)
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File1.hs", 16) (Right 20)
test fromOriginalLineNumber sourceCodeTransformation (HaskellFilePath "File3.hs", 1) (Right 27)
@@ -663,7 +663,7 @@ testIdOccMap =
})
])
]
-
+
testIdInfoMap :: HM.HashMap InternalId IdentifierInfo
testIdInfoMap =
HM.fromList
diff --git a/test/test-package/test-package.cabal b/test/test-package/test-package.cabal
index 30f517d..e845fe5 100644
--- a/test/test-package/test-package.cabal
+++ b/test/test-package/test-package.cabal
@@ -26,8 +26,8 @@ test-suite test-package-test
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs:
- test
+ test
build-depends:
base >=4.7 && <5
- , test-package
+ , test-package
default-language: Haskell2010