@@ -12,20 +12,22 @@ spec :: Spec
12
12
spec = describe " document symbols" $ do
13
13
14
14
-- Some common ranges and selection ranges in Symbols.hs
15
- let fooSR = Range (Position 4 0 ) (Position 4 3 )
16
- fooR = Range (Position 4 0 ) (Position 6 43 )
17
- barSR = Range (Position 5 8 ) (Position 5 11 )
18
- barR = Range (Position 5 8 ) (Position 6 43 )
19
- dogSR = Range (Position 6 17 ) (Position 6 20 )
20
- dogR = Range (Position 6 16 ) (Position 6 43 )
21
- catSR = Range (Position 6 22 ) (Position 6 25 )
22
- catR = Range (Position 6 16 ) (Position 6 43 )
23
- myDataSR = Range (Position 8 5 ) (Position 8 11 )
24
- myDataR = Range (Position 8 0 ) (Position 9 22 )
25
- aSR = Range (Position 8 14 ) (Position 8 15 )
26
- aR = Range (Position 8 14 ) (Position 8 19 )
27
- bSR = Range (Position 9 14 ) (Position 9 15 )
28
- bR = Range (Position 9 14 ) (Position 9 22 )
15
+ let fooSR = Range (Position 5 0 ) (Position 5 3 )
16
+ fooR = Range (Position 5 0 ) (Position 7 43 )
17
+ barSR = Range (Position 6 8 ) (Position 6 11 )
18
+ barR = Range (Position 6 8 ) (Position 7 43 )
19
+ dogSR = Range (Position 7 17 ) (Position 7 20 )
20
+ dogR = Range (Position 7 16 ) (Position 7 43 )
21
+ catSR = Range (Position 7 22 ) (Position 7 25 )
22
+ catR = Range (Position 7 16 ) (Position 7 43 )
23
+ myDataSR = Range (Position 9 5 ) (Position 9 11 )
24
+ myDataR = Range (Position 9 0 ) (Position 10 22 )
25
+ aSR = Range (Position 9 14 ) (Position 9 15 )
26
+ aR = Range (Position 9 14 ) (Position 9 19 )
27
+ bSR = Range (Position 10 14 ) (Position 10 15 )
28
+ bR = Range (Position 10 14 ) (Position 10 22 )
29
+ testPatternSR = Range (Position 13 8 ) (Position 13 19 )
30
+ testPatternR = Range (Position 13 0 ) (Position 13 27 )
29
31
30
32
describe " 3.10 hierarchical document symbols" $ do
31
33
it " provides nested data types and constructors" $ runSession hieCommand fullCaps " test/testdata" $ do
@@ -48,6 +50,14 @@ spec = describe "document symbols" $ do
48
50
cat = DocumentSymbol " cat" (Just " " ) SkVariable Nothing catR catSR (Just mempty )
49
51
50
52
liftIO $ symbs `shouldContain` [foo]
53
+ it " provides pattern synonyms" $ runSession hieCommand fullCaps " test/testdata" $ do
54
+ doc <- openDoc " Symbols.hs" " haskell"
55
+ Left symbs <- getDocumentSymbols doc
56
+
57
+ let testPattern = DocumentSymbol " TestPattern"
58
+ (Just " " ) SkFunction Nothing testPatternR testPatternSR (Just mempty )
59
+
60
+ liftIO $ symbs `shouldContain` [testPattern]
51
61
52
62
-- TODO: Test module, imports
53
63
0 commit comments