File tree Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Original file line number Diff line number Diff line change 1
1
module Code.FullyQualifiedNameSet exposing
2
2
( FQNSet
3
3
, empty
4
+ , fromList
5
+ , fromReference
6
+ , fromReferenceList
4
7
, insert
5
8
, member
6
9
, remove
10
+ , singleton
7
11
, size
8
12
, toList
9
13
, toggle
10
14
)
11
15
16
+ import Code.Definition.Reference as Reference exposing (Reference )
12
17
import Code.FullyQualifiedName as FQN exposing (FQN )
18
+ import Maybe.Extra as MaybeE
13
19
import Set exposing (Set )
14
20
import Set.Extra
15
21
@@ -32,6 +38,11 @@ empty =
32
38
FQNSet Set . empty
33
39
34
40
41
+ singleton : FQN -> FQNSet
42
+ singleton fqn =
43
+ FQNSet ( fqn |> FQN . toString |> Set . singleton)
44
+
45
+
35
46
insert : FQN -> FQNSet -> FQNSet
36
47
insert fqn ( FQNSet set) =
37
48
FQNSet ( Set . insert ( FQN . toString fqn) set)
@@ -47,6 +58,26 @@ member fqn (FQNSet set) =
47
58
Set . member ( FQN . toString fqn) set
48
59
49
60
61
+ fromList : List FQN -> FQNSet
62
+ fromList fqns =
63
+ FQNSet ( fqns |> List . map FQN . toString |> Set . fromList)
64
+
65
+
66
+ fromReference : Reference -> FQNSet
67
+ fromReference ref =
68
+ Reference . fqn ref
69
+ |> Maybe . map singleton
70
+ |> Maybe . withDefault empty
71
+
72
+
73
+ fromReferenceList : List Reference -> FQNSet
74
+ fromReferenceList refs =
75
+ refs
76
+ |> List . map Reference . fqn
77
+ |> MaybeE . values
78
+ |> fromList
79
+
80
+
50
81
toList : FQNSet -> List FQN
51
82
toList ( FQNSet set) =
52
83
set
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ module Code.Workspace exposing
2
2
( Model
3
3
, Msg
4
4
, OutMsg (..)
5
+ , currentlyOpenReferences
5
6
, init
6
7
, open
7
8
, replaceWorkspaceItemReferencesWithHashOnly
@@ -576,6 +577,15 @@ handleKeyboardShortcut model shortcut =
576
577
577
578
578
579
580
+ -- HELPERS
581
+
582
+
583
+ currentlyOpenReferences : Model -> List Reference
584
+ currentlyOpenReferences model =
585
+ WorkspaceItems . references model. workspaceItems
586
+
587
+
588
+
579
589
-- EFFECTS
580
590
581
591
You can’t perform that action at this time.
0 commit comments