1
1
mirror of https://github.com/github/semantic.git synced 2024-12-29 01:42:43 +03:00

Merge pull request #459 from github/zero-cool

Fix documentation for Source.Span.Pos.
This commit is contained in:
Patrick Thomson 2020-02-04 08:57:03 -05:00 committed by GitHub
commit 049f3ddf3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,6 @@
{-# LANGUAGE DeriveGeneric, OverloadedStrings, RankNTypes #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
-- | Source position and span information
--
-- Mostly taken from purescript's SourcePos definition.
@ -16,9 +18,9 @@ import Control.DeepSeq (NFData)
import Data.Aeson ((.:), (.=))
import qualified Data.Aeson as A
import Data.Hashable (Hashable)
import Data.Semilattice.Lower (Lower(..))
import Data.Semilattice.Lower (Lower (..))
import GHC.Generics (Generic)
import GHC.Stack (SrcLoc(..))
import GHC.Stack (SrcLoc (..))
-- | A Span of position information
data Span = Span
@ -56,7 +58,11 @@ spanFromSrcLoc :: SrcLoc -> Span
spanFromSrcLoc s = Span (Pos (srcLocStartLine s) (srcLocStartCol s)) (Pos (srcLocEndLine s) (srcLocEndCol s))
-- | Source position information (1-indexed)
-- | Source position information.
-- The 'Pos' values associated with ASTs returned from tree-sitter
-- 'Unmarshal' instances are zero-indexed. Unless you are displaying
-- span information to a user, you should write your code assuming
-- zero-indexing.
data Pos = Pos
{ line :: {-# UNPACK #-} !Int
, column :: {-# UNPACK #-} !Int