haskell-language-server-2.9.0.0: LSP server for GHC
Safe HaskellNone
LanguageGHC2021

Ide.Plugin.CodeRange.Rules

Contents

Synopsis

Documentation

data CodeRange #

A tree representing code ranges in a file. This can be useful for features like selection range and folding range

Constructors

CodeRange 

Fields

Instances

Instances details
NFData CodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Methods

rnf :: CodeRange -> () #

Generic CodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Associated Types

type Rep CodeRange 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep CodeRange = D1 ('MetaData "CodeRange" "Ide.Plugin.CodeRange.Rules" "haskell-language-server-2.9.0.0-7KkJNSYIcTsGEsKYGe9LR8-hls-code-range-plugin" 'False) (C1 ('MetaCons "CodeRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "_codeRange_range") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range) :*: (S1 ('MetaSel ('Just "_codeRange_children") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector CodeRange)) :*: S1 ('MetaSel ('Just "_codeRange_kind") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CodeRangeKind))))
Show CodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Eq CodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Ord CodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep CodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep CodeRange = D1 ('MetaData "CodeRange" "Ide.Plugin.CodeRange.Rules" "haskell-language-server-2.9.0.0-7KkJNSYIcTsGEsKYGe9LR8-hls-code-range-plugin" 'False) (C1 ('MetaCons "CodeRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "_codeRange_range") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range) :*: (S1 ('MetaSel ('Just "_codeRange_children") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector CodeRange)) :*: S1 ('MetaSel ('Just "_codeRange_kind") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CodeRangeKind))))

data CodeRangeKind #

CodeKind represents the kind of a code range

Constructors

CodeKindRegion

ordinary code

CodeKindImports

the group of imports

CodeKindComment

a comment

Instances

Instances details
NFData CodeRangeKind # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Methods

rnf :: CodeRangeKind -> () #

Generic CodeRangeKind # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Associated Types

type Rep CodeRangeKind 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep CodeRangeKind = D1 ('MetaData "CodeRangeKind" "Ide.Plugin.CodeRange.Rules" "haskell-language-server-2.9.0.0-7KkJNSYIcTsGEsKYGe9LR8-hls-code-range-plugin" 'False) (C1 ('MetaCons "CodeKindRegion" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CodeKindImports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CodeKindComment" 'PrefixI 'False) (U1 :: Type -> Type)))
Show CodeRangeKind # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Eq CodeRangeKind # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep CodeRangeKind # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep CodeRangeKind = D1 ('MetaData "CodeRangeKind" "Ide.Plugin.CodeRange.Rules" "haskell-language-server-2.9.0.0-7KkJNSYIcTsGEsKYGe9LR8-hls-code-range-plugin" 'False) (C1 ('MetaCons "CodeKindRegion" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CodeKindImports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CodeKindComment" 'PrefixI 'False) (U1 :: Type -> Type)))

data GetCodeRange #

Constructors

GetCodeRange 

Instances

Instances details
NFData GetCodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Methods

rnf :: GetCodeRange -> () #

Generic GetCodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Associated Types

type Rep GetCodeRange 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep GetCodeRange = D1 ('MetaData "GetCodeRange" "Ide.Plugin.CodeRange.Rules" "haskell-language-server-2.9.0.0-7KkJNSYIcTsGEsKYGe9LR8-hls-code-range-plugin" 'False) (C1 ('MetaCons "GetCodeRange" 'PrefixI 'False) (U1 :: Type -> Type))
Show GetCodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Eq GetCodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Hashable GetCodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep GetCodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

type Rep GetCodeRange = D1 ('MetaData "GetCodeRange" "Ide.Plugin.CodeRange.Rules" "haskell-language-server-2.9.0.0-7KkJNSYIcTsGEsKYGe9LR8-hls-code-range-plugin" 'False) (C1 ('MetaCons "GetCodeRange" 'PrefixI 'False) (U1 :: Type -> Type))
type RuleResult GetCodeRange # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

data Log #

Instances

Instances details
Show Log # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Methods

showsPrec :: Int -> Log -> ShowS #

show :: Log -> String #

showList :: [Log] -> ShowS #

Pretty Log # 
Instance details

Defined in Ide.Plugin.CodeRange.Rules

Methods

pretty :: Log -> Doc ann #

prettyList :: [Log] -> Doc ann #

Internal

removeInterleaving :: [CodeRange] -> Writer [Log] [CodeRange] #

Remove interleaving of the list of CodeRanges.

simplify :: CodeRange -> CodeRange #

Remove redundant nodes in CodeRange tree

crkToFrk :: CodeRangeKind -> FoldingRangeKind #

Maps type CodeRangeKind to FoldingRangeKind