mirror of
https://github.com/unisonweb/unison.git
synced 2024-10-05 14:17:33 +03:00
stubbed out menu interface
This commit is contained in:
parent
38710c71e7
commit
0bc58352bb
57
parser-typechecker/src/Unison/Util/Menu.hs
Normal file
57
parser-typechecker/src/Unison/Util/Menu.hs
Normal file
@ -0,0 +1,57 @@
|
||||
module Unison.Util.Menu where
|
||||
|
||||
-- utility - command line menus
|
||||
|
||||
type Caption = String
|
||||
type Stylized = String -- todo upgrade this to a doc
|
||||
type Keyword = String
|
||||
type MetaChoice = String
|
||||
type Console = IO Char
|
||||
|
||||
{-
|
||||
<caption>
|
||||
|
||||
1 ping
|
||||
pong
|
||||
2 foo
|
||||
3 bar
|
||||
|
||||
[cancel]
|
||||
[help]
|
||||
|
||||
>> ping
|
||||
|
||||
-}
|
||||
menu1 :: Console
|
||||
-> Caption
|
||||
-> (a -> Stylized)
|
||||
-> (MetaChoice -> Stylized)
|
||||
-> [[(Keyword, a)]]
|
||||
-> [([Keyword], MetaChoice)]
|
||||
-> IO (Either MetaChoice [a])
|
||||
menu1 _console _caption _render _renderMeta _groups _metas = pure (Right [])
|
||||
|
||||
{-
|
||||
<caption>
|
||||
|
||||
1 ping
|
||||
pong
|
||||
2 foo
|
||||
3 bar
|
||||
|
||||
[all]
|
||||
[cancel]
|
||||
[help]
|
||||
|
||||
>> 1 3
|
||||
>> *
|
||||
|
||||
-}
|
||||
menuN :: Console
|
||||
-> Caption
|
||||
-> (a -> Stylized)
|
||||
-> (MetaChoice -> Stylized)
|
||||
-> [[(Keyword, a)]]
|
||||
-> [([Keyword], MetaChoice)]
|
||||
-> IO (Either MetaChoice [[a]])
|
||||
menuN _console _caption _render _renderMeta _groups _metas = pure (Right [])
|
@ -47,10 +47,10 @@ library
|
||||
Unison.Codebase.NameEdit
|
||||
Unison.Codebase.Runtime
|
||||
Unison.Codebase.Runtime.JVM
|
||||
Unison.Codebase.TermEdit
|
||||
Unison.Codebase.TypeEdit
|
||||
Unison.Codebase.Serialization
|
||||
Unison.Codebase.Serialization.V0
|
||||
Unison.Codebase.TermEdit
|
||||
Unison.Codebase.TypeEdit
|
||||
Unison.Codebase.Watch
|
||||
Unison.DataDeclaration
|
||||
Unison.FileParser
|
||||
@ -68,8 +68,8 @@ library
|
||||
Unison.PrettyPrint
|
||||
Unison.PrintError
|
||||
Unison.Reference
|
||||
Unison.Runtime.Rt0
|
||||
Unison.Result
|
||||
Unison.Runtime.Rt0
|
||||
Unison.Settings
|
||||
Unison.Symbol
|
||||
Unison.Term
|
||||
@ -80,14 +80,15 @@ library
|
||||
Unison.TypePrinter
|
||||
Unison.TypeVar
|
||||
Unison.Typechecker
|
||||
Unison.Typechecker.Context
|
||||
Unison.Typechecker.Components
|
||||
Unison.Typechecker.Context
|
||||
Unison.Typechecker.Extractor
|
||||
Unison.Typechecker.TypeError
|
||||
Unison.UnisonFile
|
||||
Unison.Util.AnnotatedText
|
||||
Unison.Util.ColorText
|
||||
Unison.Util.Logger
|
||||
Unison.Util.Menu
|
||||
Unison.Util.Monoid
|
||||
Unison.Util.PrettyPrint
|
||||
Unison.Util.Range
|
||||
|
Loading…
Reference in New Issue
Block a user