Skip to content

Commit 3cd5719

Browse files
committed
Merge pull request #1 from aspidites/close
Added close function.
2 parents a712652 + 7639208 commit 3cd5719

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

docs/Node/ReadLine.md

+8
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,14 @@ createInterface :: forall eff. Completer eff -> Eff (console :: CONSOLE | eff) I
6363

6464
Create an interface with the specified completion function.
6565

66+
#### `close`
67+
68+
``` purescript
69+
close :: forall eff. Interface -> Eff (console :: CONSOLE | eff) Interface
70+
```
71+
72+
Close the specified `Interface`.
73+
6674
#### `noCompletion`
6775

6876
``` purescript

src/Node/ReadLine.js

+7
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,10 @@ exports.createInterface = function(completer) {
4646
});
4747
};
4848
};
49+
50+
exports.close = function(readline) {
51+
return function() {
52+
readline.close();
53+
return readline;
54+
};
55+
};

src/Node/ReadLine.purs

+3
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ foreign import setPrompt :: forall eff. String -> Int -> Interface -> Eff (conso
3333
-- | Create an interface with the specified completion function.
3434
foreign import createInterface :: forall eff. Completer eff -> Eff (console :: CONSOLE | eff) Interface
3535

36+
-- | Close the specified `Interface`.
37+
foreign import close :: forall eff. Interface -> Eff (console :: CONSOLE | eff) Interface
38+
3639
-- | A completion function which offers no completions.
3740
noCompletion :: forall eff. Completer eff
3841
noCompletion s = return { completions: [], matched: s }

test/Main.purs

+6-3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ main = do
1212

1313
setPrompt "> " 2 interface
1414
prompt interface
15-
setLineHandler interface $ \s -> do
16-
log $ "You typed: " ++ s
17-
prompt interface
15+
setLineHandler interface $ \s ->
16+
if s == "quit"
17+
then close interface
18+
else do
19+
log $ "You typed: " ++ s
20+
prompt interface

0 commit comments

Comments
 (0)